@@ -25,21 +25,24 @@ func handleEvent() {
25
25
switch id {
26
26
case C .BLE_GAP_EVT_CONNECTED :
27
27
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
+ }
29
32
switch connectEvent .role {
30
33
case C .BLE_GAP_ROLE_PERIPH :
31
34
if debug {
32
35
println ("evt: connected in peripheral role" )
33
36
}
34
37
currentConnection .handle .Reg = uint16 (gapEvent .conn_handle )
35
- DefaultAdapter .connectHandler (address , true )
38
+ DefaultAdapter .connectHandler (device , true )
36
39
case C .BLE_GAP_ROLE_CENTRAL :
37
40
if debug {
38
41
println ("evt: connected in central role" )
39
42
}
40
43
connectionAttempt .connectionHandle = gapEvent .conn_handle
41
44
connectionAttempt .state .Set (2 ) // connection was successful
42
- DefaultAdapter .connectHandler (address , true )
45
+ DefaultAdapter .connectHandler (device , true )
43
46
}
44
47
case C .BLE_GAP_EVT_DISCONNECTED :
45
48
if debug {
@@ -62,7 +65,10 @@ func handleEvent() {
62
65
// necessary.
63
66
C .sd_ble_gap_adv_start (defaultAdvertisement .handle , C .BLE_CONN_CFG_TAG_DEFAULT )
64
67
}
65
- DefaultAdapter .connectHandler (Address {}, false )
68
+ device := Device {
69
+ connectionHandle : gapEvent .conn_handle ,
70
+ }
71
+ DefaultAdapter .connectHandler (device , false )
66
72
case C .BLE_GAP_EVT_CONN_PARAM_UPDATE :
67
73
if debug {
68
74
// Print connection parameters for easy debugging.
0 commit comments