@@ -31,7 +31,7 @@ import (
3131
3232type  serialhub  struct  {
3333	// Opened serial ports. 
34- 	ports  map [* serport ] bool 
34+ 	ports  map [string ] * serport 
3535
3636	mu  sync.Mutex 
3737}
@@ -60,15 +60,15 @@ type SpPortItem struct {
6060var  serialPorts  SerialPortList 
6161
6262var  sh  =  serialhub {
63- 	ports : make (map [* serport ] bool ),
63+ 	ports : make (map [string ] * serport ),
6464}
6565
6666// Register serial ports from the connections. 
6767func  (sh  * serialhub ) Register (port  * serport ) {
6868	sh .mu .Lock ()
6969	//log.Print("Registering a port: ", p.portConf.Name) 
7070	h .broadcastSys  <-  []byte ("{\" Cmd\" :\" Open\" ,\" Desc\" :\" Got register/open on port.\" ,\" Port\" :\" "  +  port .portConf .Name  +  "\" ,\" Baud\" :"  +  strconv .Itoa (port .portConf .Baud ) +  ",\" BufferType\" :\" "  +  port .BufferType  +  "\" }" )
71- 	sh .ports [port ] =  true 
71+ 	sh .ports [port . portName ] =  port 
7272	sh .mu .Unlock ()
7373}
7474
@@ -77,7 +77,7 @@ func (sh *serialhub) Unregister(port *serport) {
7777	sh .mu .Lock ()
7878	//log.Print("Unregistering a port: ", p.portConf.Name) 
7979	h .broadcastSys  <-  []byte ("{\" Cmd\" :\" Close\" ,\" Desc\" :\" Got unregister/close on port.\" ,\" Port\" :\" "  +  port .portConf .Name  +  "\" ,\" Baud\" :"  +  strconv .Itoa (port .portConf .Baud ) +  "}" )
80- 	delete (sh .ports , port )
80+ 	delete (sh .ports , port . portName )
8181	close (port .sendBuffered )
8282	close (port .sendNoBuf )
8383	sh .mu .Unlock ()
@@ -86,15 +86,8 @@ func (sh *serialhub) Unregister(port *serport) {
8686func  (sh  * serialhub ) FindPortByName (portname  string ) (* serport , bool ) {
8787	sh .mu .Lock ()
8888	defer  sh .mu .Unlock ()
89- 
90- 	for  port  :=  range  sh .ports  {
91- 		if  strings .EqualFold (port .portConf .Name , portname ) {
92- 			// we found our port 
93- 			//spHandlerClose(port) 
94- 			return  port , true 
95- 		}
96- 	}
97- 	return  nil , false 
89+ 	port , ok  :=  sh .ports [portname ]
90+ 	return  port , ok 
9891}
9992
10093// List broadcasts a Json representation of the ports found 
0 commit comments