差气压计的蓝牙协议
This commit is contained in:
@ -101,6 +101,7 @@ extern void SC7U22_static_calibration(void);
|
||||
extern void create_process(u16* pid, const char* name, void *priv, void (*func)(void *priv), u32 msec);
|
||||
extern void close_process(u16* pid,char* name);
|
||||
extern void start_collect_fuc(void);
|
||||
extern void BLE_send_fuc(void);
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
/*
|
||||
* 模式状态机, 通过start_app()控制状态切换
|
||||
@ -225,51 +226,55 @@ void le_user_app_event_handler(struct sys_event* event){
|
||||
if (SL_SC7U22_Config() == 0) {
|
||||
send2_0[4] = 0x00; //初始化失败
|
||||
SC7U22_init = 0;
|
||||
send_data_to_ble_client(&send2_0,strlen(send2_0));
|
||||
break;
|
||||
send_data_to_ble_client(&send2_0,5);
|
||||
return;
|
||||
}
|
||||
create_process(&SC7U22_calibration_id,"SC7U22_calibration",NULL,SC7U22_static_calibration,10);
|
||||
}else if(event->u.app.buffer[4] == 0x02){ //地磁
|
||||
if(mmc5603nj_init() == 0){
|
||||
MMC5603nj_init = 0;
|
||||
break;
|
||||
send2_0[4] = 0x02; //地磁初始化失败
|
||||
send_data_to_ble_client(&send2_0,5);
|
||||
return;
|
||||
}
|
||||
MMC5603nj_init = 1;
|
||||
send2_0[4] = 0x03; //地磁初始化失败
|
||||
send_data_to_ble_client(&send2_0,strlen(send2_0));
|
||||
send2_0[4] = 0x03; //地磁初始化成功
|
||||
send_data_to_ble_client(&send2_0,5);
|
||||
}
|
||||
break;
|
||||
case 0x01: //数据包类型为:获取指定传感器初始化状态
|
||||
u8 send2_1[5] = {0xBB,0xBE,0x02,0x01,0x00};
|
||||
u8 send2_1[5] = {0xBB,0xBE,0x02,0x00,0x00};
|
||||
if(event->u.app.buffer[4] == 0x01){ //六轴
|
||||
send2_1[4] = SC7U22_init;
|
||||
}else if(event->u.app.buffer[4] == 0x02){ //地磁
|
||||
send2_1[4] = MMC5603nj_init + 2;
|
||||
}
|
||||
send_data_to_ble_client(&send2_1,strlen(send2_1));
|
||||
send_data_to_ble_client(&send2_1,5);
|
||||
break;
|
||||
case 0x02: //开始/停止滑雪计算
|
||||
case 0x02: //开始/停止滑雪计算
|
||||
if(event->u.app.buffer[4] == 0x01){ //开始滑雪计算
|
||||
if(SC7U22_init == 0 || MMC5603nj_init == 0){ //传感器未进行初始化
|
||||
u8 send2_2[5] = {0xBB,0xBE,0x02,0x01,0x00};
|
||||
send_data_to_ble_client(&send2_2,strlen(send2_2));
|
||||
u8 send2_2[5] = {0xBB,0xBE,0x02,0x00,0x00};
|
||||
send_data_to_ble_client(&send2_2,5);
|
||||
send2_2[4] = 0x02;
|
||||
send_data_to_ble_client(&send2_2,strlen(send2_2));
|
||||
send_data_to_ble_client(&send2_2,5);
|
||||
return;
|
||||
}
|
||||
create_process(&start_collect_fuc_id,"start_collect",NULL,start_collect_fuc,10);
|
||||
create_process(&BLE_send_fuc_id,"BLE_send_fuc",NULL,BLE_send_fuc,1);
|
||||
}else if(event->u.app.buffer[4] == 0x02){ //停止滑雪计算
|
||||
close_process(&start_collect_fuc_id,"start_collect");
|
||||
close_process(&BLE_send_fuc_id,"BLE_send_fuc");
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
break;
|
||||
break;
|
||||
|
||||
default:
|
||||
xlog("%d\n",event->type);
|
||||
break;
|
||||
xlog("%d\n",event->type);
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user