Skip to content

Commit

Permalink
Merge pull request Lora-net#761 from iotfreaks/Datarate_revert
Browse files Browse the repository at this point in the history
Added datarate revert mechanism after time synchronization request
  • Loading branch information
mluis1 authored Jul 8, 2019
2 parents 6266229 + d0b9947 commit ef9f88c
Showing 1 changed file with 11 additions and 0 deletions.
11 changes: 11 additions & 0 deletions src/apps/LoRaMac/common/LmHandler/packages/LmhpClockSync.c
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,7 @@ typedef struct LmhpClockSyncState_s
bool AppTimeReqPending;
bool AdrEnabledPrev;
uint8_t NbTransPrev;
uint8_t DataratePrev;
}LmhpClockSyncState_t;

typedef enum LmhpClockSyncMoteCmd_e
Expand Down Expand Up @@ -201,6 +202,11 @@ static void LmhpClockSyncOnMcpsConfirm( McpsConfirm_t *mcpsConfirm )
mibReq.Param.ChannelsNbTrans = LmhpClockSyncState.NbTransPrev;
LoRaMacMibSetRequestConfirm( &mibReq );

// Revert data rate setting
mibReq.Type = MIB_CHANNELS_DATARATE;
mibReq.Param.ChannelsDatarate = LmhpClockSyncState.DataratePrev;
LoRaMacMibSetRequestConfirm( &mibReq );

LmhpClockSyncState.AppTimeReqPending = false;
}
}
Expand Down Expand Up @@ -315,6 +321,11 @@ LmHandlerErrorStatus_t LmhpClockSyncAppTimeReq( void )
mibReq.Param.ChannelsNbTrans = 1;
LoRaMacMibSetRequestConfirm( &mibReq );

// Store data rate
mibReq.Type = MIB_CHANNELS_DATARATE;
LoRaMacMibGetRequestConfirm( &mibReq );
LmhpClockSyncState.DataratePrev = mibReq.Param.ChannelsDatarate;

// Add DeviceTimeReq MAC command.
// In case the network server supports this more precise command
// this package will use DeviceTimeAns answer as clock synchronization
Expand Down

0 comments on commit ef9f88c

Please sign in to comment.