app_client.c 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. #include "system.h"
  2. #include "app_client.h"
  3. #include "hal_ble_client.h"
  4. #include "hal_ble_host.h"
  5. #include "bsp_time.h"
  6. #include "hal_led.h"
  7. #include "ble_gap.h"
  8. #include "app_host.h"
  9. #include "app_flash.h"
  10. #include "app_client_step.h"
  11. #include "app_client_infomation.h"
  12. #include "app_client_dataupdate.h"
  13. //>> 0xA1: 查询
  14. void cb_BLE_Client_R_UPDATE(void* handle)
  15. {
  16. BLE_Client_Rx_t *target = handle;
  17. uint8_t _cmd = target->pDat[0];
  18. switch(_cmd){
  19. case BLE_Client_R_UPDATE_BASEINFO:{
  20. //>> 0(设备基本信息): 开始时间ms(8)
  21. //<< 0(子命令): 设备型号(64)+左鞋蓝牙地址(6)+硬件版本(2)+软件版本(2)+右鞋蓝牙地址(6)+硬件版本(6)+软件版本(2)
  22. //>> AA 06 F9 A1 00 4A
  23. //<< AA 55 AA A1 00 53 4D 41 52 54 20 53 48 4F 45 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 C1 EB D0 E3 87 47 01 00 01 00 00 00 00 00 00 4F
  24. if(mFlash.isHost){
  25. if(1 != mFlash.mClient.isConfig) app_host_GetClientInfo(); //申请设备基本信息
  26. else app_client_infomation_Send();
  27. }
  28. else{
  29. app_client_infomation_Send();
  30. }
  31. break;}
  32. case BLE_Client_R_UPDATE_DATA:{
  33. //>> 1(设备数据)
  34. //<< 1(子命令): 左鞋电量(1)+左鞋温度(1)+左鞋压力(4)+左鞋步数(4)+右鞋电量(1)+右鞋温度(1)+右鞋压力(4)+右鞋步数(4)
  35. if(mFlash.isHost){
  36. app_host_GetClientData(20);
  37. }else{
  38. app_client_DataUpdate_Send();
  39. }
  40. break;}
  41. case BLE_Client_R_UPDATE_STEPNUM:{
  42. //>> 2(查询步数): 包序号[0全部](2)
  43. //<< 2(查询步数): +开始时间ms(8)+包的数量(2)+包序号(2)+每小时步数(4)+...
  44. app_client_SendStep(target);
  45. break;}
  46. case BLE_Client_R_UPDATE_STEPNUM_CLERA:{
  47. //>> 3(删除步数): 开始时间ms(8)+距离上一个整点的分钟数(1)
  48. //<< 3(删除步数): 开始时间ms(8)+距离上一个整点的分钟数(1)
  49. BLE_Client_Tx_Send(0,BLE_UPDATE,target->pDat,target->datLen);
  50. app_client_DeleteStep(target);
  51. break;}
  52. default:break;
  53. }
  54. }
  55. void app_client_Initialize(void)
  56. {
  57. BLE_Client_Rx_Regist(BLE_UPDATE,cb_BLE_Client_R_UPDATE);
  58. app_client_step_Initialize();
  59. }