From a55506ba721610388545ff868d291caffe95f49f Mon Sep 17 00:00:00 2001 From: Florent Duchon Date: Wed, 16 May 2012 17:15:50 +0200 Subject: digital/beacon: Improve deconnection/reconnection state machine --- digital/beacon/src/network.c | 11 ++--------- 1 file changed, 2 insertions(+), 9 deletions(-) (limited to 'digital') diff --git a/digital/beacon/src/network.c b/digital/beacon/src/network.c index 51cb1ea2..eb334a89 100644 --- a/digital/beacon/src/network.c +++ b/digital/beacon/src/network.c @@ -144,7 +144,6 @@ void network_leave(void) ZDO_MgmtLeaveReq_t *zdpLeaveReq = &leaveReq.req.reqPayload.mgmtLeaveReq; APS_UnregisterEndpointReq_t unregEndpoint; - appState = APP_NETWORK_LEAVING_STATE; unregEndpoint.endpoint = endpointParams.simpleDescriptor->endpoint; APS_UnregisterEndpointReq(&unregEndpoint); @@ -164,9 +163,6 @@ void network_leave(void) /* Leave network response */ void zdpLeaveResp(ZDO_ZdpResp_t *zdpResp) { - // Try to rejoin the network - appState = APP_NETWORK_JOIN_REQUEST; - (void)zdpResp; } @@ -199,11 +195,7 @@ void ZDO_MgmtNwkUpdateNotf(ZDO_MgmtNwkUpdateNotf_t *nwkParams) break; case ZDO_NETWORK_LOST_STATUS: { - APS_UnregisterEndpointReq_t unregEndpoint; - unregEndpoint.endpoint = endpointParams.simpleDescriptor->endpoint; - APS_UnregisterEndpointReq(&unregEndpoint); - - // try to rejoin the network + network_leave(); appState = APP_NETWORK_JOIN_REQUEST; break; } @@ -269,6 +261,7 @@ void APS_DataConf(APS_DataConf_t* confInfo) if (MAX_RETRIES_BEFORE_REJOIN == retryCounter) { network_leave(); + appState = APP_NETWORK_JOIN_REQUEST; } else { -- cgit v1.2.3