@@ -25,21 +25,24 @@ func handleEvent() {
2525 switch id {
2626 case C .BLE_GAP_EVT_CONNECTED :
2727 connectEvent := gapEvent .params .unionfield_connected ()
28- address := Address {makeMACAddress (connectEvent .peer_addr )}
28+ device := Device {
29+ Address : Address {makeMACAddress (connectEvent .peer_addr )},
30+ connectionHandle : gapEvent .conn_handle ,
31+ }
2932 switch connectEvent .role {
3033 case C .BLE_GAP_ROLE_PERIPH :
3134 if debug {
3235 println ("evt: connected in peripheral role" )
3336 }
3437 currentConnection .handle .Reg = uint16 (gapEvent .conn_handle )
35- DefaultAdapter .connectHandler (address , true )
38+ DefaultAdapter .connectHandler (device , true )
3639 case C .BLE_GAP_ROLE_CENTRAL :
3740 if debug {
3841 println ("evt: connected in central role" )
3942 }
4043 connectionAttempt .connectionHandle = gapEvent .conn_handle
4144 connectionAttempt .state .Set (2 ) // connection was successful
42- DefaultAdapter .connectHandler (address , true )
45+ DefaultAdapter .connectHandler (device , true )
4346 }
4447 case C .BLE_GAP_EVT_DISCONNECTED :
4548 if debug {
@@ -62,7 +65,10 @@ func handleEvent() {
6265 // necessary.
6366 C .sd_ble_gap_adv_start (defaultAdvertisement .handle , C .BLE_CONN_CFG_TAG_DEFAULT )
6467 }
65- DefaultAdapter .connectHandler (Address {}, false )
68+ device := Device {
69+ connectionHandle : gapEvent .conn_handle ,
70+ }
71+ DefaultAdapter .connectHandler (device , false )
6672 case C .BLE_GAP_EVT_CONN_PARAM_UPDATE :
6773 if debug {
6874 // Print connection parameters for easy debugging.
0 commit comments