123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 |
- /*********************************************************************
- * INCLUDES
- */
- #include "ble_comm.h"
- #include "app_flash.h"
- #include "app_safe.h"
- #include "hal_ble_client.h"
- #include "hal_ble_host.h"
- static void app_safe_Process(void)
- {
- static uint8_t cnt =0;
- if(mBackup.ErrStartCnt >0){
- cnt++;
- if(cnt >=6){//一分钟后清空标志位
- mBackup.ErrStartCnt =0;
- if(Flash_SaveBackup() != ZONE_OP_SUCCESS)Except_TxError(EXCEPT_Power,"save ErrStartCnt fail");
- DEBUG_LOG("clear mBackup.ErrorStartFlag\n");
- }
- }
-
- if(mBackup.RestartCnt > 1){
- char buff[40]={0};
- memset(buff,0,sizeof(buff));
- if(mFlash.isHost){
- sprintf(buff,"left shoes restart:%d",mBackup.RestartCnt);
- }else{
- sprintf(buff,"right shoes restart:%d",mBackup.RestartCnt);
- }
- if(0 == Except_TxError(EXCEPT_Power,(const char*)buff)){
- mBackup.RestartCnt =0;
- }
- }
- }
- //恢复出厂设置
- static void cb_BLE_RESTSETTING(void* handle)
- {
- Flash_DeleteAllInfor();
- Flash_DeleteAllStep();
- Flash_DeleteAllBackup();
-
- BLE_Client_Rx_t* target = handle;
- uint8_t cmd = target->pDat[0];
-
- BLE_Host_Tx_Send(0,BLE_RESTSETTING,&cmd,1);
-
- nrf_delay_ms(500);
-
- NVIC_SystemReset();
- }
- void app_safe_Init(void)
- {
- mBackup.RestartCnt++;
- Process_Start(10000,"app_safe_Process",app_safe_Process);
-
- BLE_Client_Rx_Regist(BLE_RESTSETTING,cb_BLE_RESTSETTING);
- }
-
|