Skip to content

Commit 9cb7d9d

Browse files
authored
Merge pull request #21 from RoboMaster/icra2019_dev
BUG:修复一个协议接口初始化值错误导致的重复解包
2 parents 651a7c3 + 05f2e25 commit 9cb7d9d

File tree

4 files changed

+18
-7
lines changed

4 files changed

+18
-7
lines changed

MDK-ARM/bin/infantry.bin

40 Bytes
Binary file not shown.

MDK-ARM/infantry.uvprojx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@
5454
<CreateLib>0</CreateLib>
5555
<CreateHexFile>0</CreateHexFile>
5656
<DebugInformation>1</DebugInformation>
57-
<BrowseInformation>0</BrowseInformation>
57+
<BrowseInformation>1</BrowseInformation>
5858
<ListingPath>..\build\</ListingPath>
5959
<HexFormatSelection>1</HexFormatSelection>
6060
<Merge32K>0</Merge32K>

application/infantry_cmd.h

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626

2727
#include "sys.h"
2828

29-
#define FIRMWARE_VERSION_0 5u
29+
#define FIRMWARE_VERSION_0 6u
3030
#define FIRMWARE_VERSION_1 1u
3131
#define FIRMWARE_VERSION_2 0u
3232
#define FIRMWARE_VERSION_3 1u
@@ -37,6 +37,8 @@
3737
#define CHASSIS_ADDRESS 0x01
3838
#define GIMBAL_ADDRESS 0x02
3939

40+
/* cmd id can not be set 0xffff */
41+
4042
#define CMD_MANIFOLD2_HEART (0x0001u)
4143
#define CMD_REPORT_VERSION (0x0002u)
4244

application/protocol/protocol.c

Lines changed: 14 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -161,12 +161,21 @@ uint32_t protocol_local_init(uint8_t address)
161161
}
162162

163163
MUTEX_INIT(protocol_local_info.mutex_lock);
164-
164+
165165
memset(protocol_local_info.route_table, 0xFF, PROTOCOL_ROUTE_TABLE_MAX_NUM);
166-
memset(protocol_local_info.interface, 0, sizeof(protocol_local_info.interface));
167-
memset(&boardcast_object, 0, sizeof(boardcast_object_t));
168-
memset(&protocol_local_info.send_cmd_info, 0, sizeof(protocol_local_info.send_cmd_info));
169-
memset(&protocol_local_info.rcv_cmd_info, 0, sizeof(protocol_local_info.rcv_cmd_info));
166+
167+
for(int i; i < PROTOCOL_INTERFACE_MAX; i++)
168+
{
169+
/* initalization user data is 0xFF */
170+
memset(&protocol_local_info.interface[i].user_data, 0xFF, sizeof(union interface_user_data));
171+
}
172+
173+
for(int i; i < PROTOCOL_CMD_MAX_NUM; i++)
174+
{
175+
/* initalization cmd is 0xFF */
176+
memset(&protocol_local_info.send_cmd_info[i].cmd, 0xFFFF, 2);
177+
memset(&protocol_local_info.rcv_cmd_info[i].cmd, 0xFFFF, 2);
178+
}
170179

171180
protocol_local_info.address = address;
172181
protocol_local_info.rcv_nor_callBack = protocol_rcv_pack_handle;

0 commit comments

Comments
 (0)