12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788 |
- /*Includes ----------------------------------------------*/
- #include "system.h"
- #include "ble_comm.h"
- #include "bsp_time.h"
- #include "hal_ble_host.h"
- #include "hal_ble_client.h"
- #include "hal_ble_common.h"
- #include "hal_ser_imu_mode_manage.h"
- #include "app_flash.h"
- #include "app_game.h"
- #include "app_data_transfer.h"
-
- /*Local Functions ------------------------------------------------------------------------------------------------------------------------------------*/
- static void app_data_transfer_Process(void)
- {
- static uint32_t tim = 0;
- static uint32_t tim2 = 0;
- static uint8_t flag = 0;
-
- if(hal_ser_imu_mode_manage_get_ready(HAL_SER_IMU_MODE_MANAGE_GAME) != -1 || \
- hal_ser_imu_mode_manage_get_ready(HAL_SER_IMU_MODE_MANAGE_REALSTEP) != -1)
- {
- if(!flag){
- Process_SetHoldOn(app_data_transfer_Process,1);
- flag =1;
- }
- if(TIME_GetTicks()-tim>=500){tim = TIME_GetTicks();
- if( 0 == slave_isconnect()){
- SEGGER_RTT_printf(0,"app_data_transfer_Process advertising_start\r\n");
- advertising_stop();
- advertising_start();
- }
- if(mFlash.isHost && 0 == host_isconnect())scan_start();
- }
- if(TIME_GetTicks()-tim2>=3){tim2 = TIME_GetTicks();
- IMU_Dtalige();
- }
- }
- else{
- if(flag){
- Process_SetHoldOn(app_data_transfer_Process,0);
- flag =0;
- }
- }
- }
- /*API -------------------------------------------------------*/
- /**
- @brief 将旧版本的IMU_SetSlaveData(uint8_t* pdat,uint8_t len)写在这里
- @param pdat 略
- @param len 略
- @return 无
- */
- void app_data_transfer_set_SlaveData(uint8_t* pdat,uint8_t len)
- {
- if(pdat[3]==BLE_TRACK){
- IMU_Rec_data(pdat,len);
-
- }
- app_game_SetClientGameMode();
- }
- /**
- @brief 初始化数据传输应用
- @param 无
- @return 错误代码 - [out] -1失败,0成功
- */
- int app_data_transfer_Init(void)
- {
- //设置数据传输线程
- Process_Start(0,"app_data_transfer_Process",app_data_transfer_Process);
-
- BLE_Host_Rx_Regist_Game(app_data_transfer_set_SlaveData);
-
- return 0;
- }
- void send_protocol(uint8_t index,uint8_t cmd,uint8_t* p,uint8_t datLen)
- {
- BLE_Client_Tx_Send(0,(BLE_CMD_n)cmd,p,datLen);
- }
|