8 changed files with 309 additions and 32 deletions
@ -0,0 +1,86 @@ |
|||
#include "../app/task_w600_ptc.h" |
|||
#include "../app/task_w600.h" |
|||
|
|||
|
|||
U8 constructor_QueryTaskPkg() |
|||
{ |
|||
_s_task_w600_para.querytaskpkg.filter[0] = 0xAA; |
|||
_s_task_w600_para.querytaskpkg.filter[1] = 0xBB; |
|||
_s_task_w600_para.querytaskpkg.num = 0x07; |
|||
_s_task_w600_para.querytaskpkg.cmd = 0xA1; |
|||
_s_task_w600_para.querytaskpkg.did[0] = G.mcu_id[3]; |
|||
_s_task_w600_para.querytaskpkg.did[1] = G.mcu_id[4]; |
|||
_s_task_w600_para.querytaskpkg.did[2] = G.mcu_id[5]; |
|||
_s_task_w600_para.querytaskpkg.did[3] = G.mcu_id[6]; |
|||
_s_task_w600_para.querytaskpkg.crc[0] = 0xCC; |
|||
_s_task_w600_para.querytaskpkg.crc[1] = 0xDD; |
|||
|
|||
//CRC
|
|||
// crc16(_s_task_w600_para.crc, &_s_task_w600_para.cmder, num - 2);
|
|||
return _s_task_w600_para.querytaskpkg.num + 3; |
|||
} |
|||
|
|||
U8 constructor_SubmitTaskPkg() |
|||
{ |
|||
_s_task_w600_para.submittaskpkg.filter[0] = 0xAA; |
|||
_s_task_w600_para.submittaskpkg.filter[1] = 0xBB; |
|||
_s_task_w600_para.submittaskpkg.num = 0x11; |
|||
_s_task_w600_para.submittaskpkg.cmd = 0xA3; |
|||
_s_task_w600_para.submittaskpkg.did[0] = G.mcu_id[3]; |
|||
_s_task_w600_para.submittaskpkg.did[1] = G.mcu_id[4]; |
|||
_s_task_w600_para.submittaskpkg.did[2] = G.mcu_id[5]; |
|||
_s_task_w600_para.submittaskpkg.did[3] = G.mcu_id[6]; |
|||
// 其他属性在游戏完成时赋值
|
|||
_s_task_w600_para.submittaskpkg.cmd[0] = 0xCC; |
|||
_s_task_w600_para.submittaskpkg.crc[1] = 0xDD; |
|||
|
|||
//CRC
|
|||
// crc16(_s_task_w600_para.crc, &_s_task_w600_para.cmder, num - 2);
|
|||
return _s_task_w600_para.submittaskpkg.num + 3; |
|||
|
|||
} |
|||
|
|||
U8 parse_QueryAckPkg(U8* d,U8 num) |
|||
{ |
|||
if (num != 0x0F) |
|||
{ |
|||
return 0; |
|||
} |
|||
_s_task_w600_para.queryackpkg.filter[0] = d[0]; |
|||
_s_task_w600_para.queryackpkg.filter[1] = d[1]; |
|||
|
|||
if ( _s_task_w600_para.queryackpkg.filter[0] != 0xAA || |
|||
_s_task_w600_para.queryackpkg.filter[1] != 0xBB ) |
|||
{ |
|||
return 0; |
|||
} |
|||
_s_task_w600_para.queryackpkg.num = d[2]; |
|||
_s_task_w600_para.queryackpkg.cmd = d[3]; |
|||
_s_task_w600_para.queryackpkg.did[0] = d[4]; |
|||
_s_task_w600_para.queryackpkg.did[1] = d[5]; |
|||
_s_task_w600_para.queryackpkg.did[2] = d[6]; |
|||
_s_task_w600_para.queryackpkg.did[3] = d[7]; |
|||
_s_task_w600_para.queryackpkg.Plan_ID[0] = d[8]; |
|||
_s_task_w600_para.queryackpkg.Plan_ID[1] = d[9]; |
|||
_s_task_w600_para.queryackpkg.Game_ID[0] = d[10]; |
|||
_s_task_w600_para.queryackpkg.Game_ID[1] = d[11]; |
|||
_s_task_w600_para.queryackpkg.Tranning_Status = d[12]; |
|||
// 其他属性在游戏完成时赋值
|
|||
_s_task_w600_para.queryackpkg.crc[0] = d[13]; |
|||
_s_task_w600_para.queryackpkg.crc[1] = d[14]; |
|||
|
|||
if ( _s_task_w600_para.queryackpkg.crc[0] != 0xCC || |
|||
_s_task_w600_para.queryackpkg.crc[1] != 0xDD ) |
|||
{ |
|||
return 0; |
|||
} |
|||
//CRC
|
|||
// crc16(_s_task_w600_para.crc, &_s_task_w600_para.cmder, num - 2);
|
|||
return 1; |
|||
|
|||
|
|||
|
|||
|
|||
} |
|||
|
|||
|
@ -0,0 +1,102 @@ |
|||
////////////////////////////////////////////////////////////////////////////
|
|||
///@copyright Copyright (c) 2018, 传控科技 All rights reserved.
|
|||
///-------------------------------------------------------------------------
|
|||
/// @file bsp_gc6133.c.h
|
|||
/// @brief bsp @ driver config
|
|||
///-------------------------------------------------------------------------
|
|||
/// @version 1.0
|
|||
/// @author CC
|
|||
/// @date 20180331
|
|||
/// @note cc_AS_stc02
|
|||
|
|||
//////////////////////////////////////////////////////////////////////////////
|
|||
|
|||
#ifndef _app_task_w600_TPC_H |
|||
#define _app_task_w600_TPC_H |
|||
|
|||
#include "../clib/type.h" |
|||
|
|||
typedef struct { |
|||
//起始码
|
|||
U8 filter[2]; |
|||
//长度
|
|||
U8 num; |
|||
//Cmd
|
|||
U8 cmd; |
|||
//设备ID
|
|||
U8 did[4]; |
|||
//校验
|
|||
U8 crc[2]; |
|||
}QueryTaskPkg; |
|||
|
|||
typedef struct { |
|||
//起始码
|
|||
U8 filter[2]; |
|||
//长度
|
|||
U8 num; |
|||
//Cmd
|
|||
U8 cmd; |
|||
//设备ID
|
|||
U8 did[4]; |
|||
//训练方案编号
|
|||
U8 Plan_ID[2]; |
|||
//游戏ID
|
|||
U8 Game_ID[2]; |
|||
//训练完成情况
|
|||
U8 Tranning_Status; //0正常训练;1今日训练完成;2今日无训练任务
|
|||
//校验
|
|||
U8 crc[2]; |
|||
}QueryAckPkg; |
|||
|
|||
typedef struct { |
|||
//起始码
|
|||
U8 filter[2]; |
|||
//长度
|
|||
U8 num; |
|||
//Cmd
|
|||
U8 cmd; |
|||
//设备ID
|
|||
U8 did[4]; |
|||
//训练方案编号
|
|||
U8 Plan_ID[2]; |
|||
//游戏ID
|
|||
U8 Game_ID[2]; |
|||
//游戏时长
|
|||
U8 Second[2]; |
|||
//错误次数
|
|||
U8 Error_Time[2]; |
|||
//得分
|
|||
U8 Score[2]; |
|||
//校验
|
|||
U8 crc[2]; |
|||
}SubmitTaskPkg; |
|||
|
|||
|
|||
extern U8 constructor_QueryTaskPkg(void); |
|||
extern U8 constructor_SubmitTaskPkg(void); |
|||
extern U8 parse_QueryAckPkg(void); |
|||
|
|||
|
|||
|
|||
#endif |
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
Loading…
Reference in new issue