|
|
@@ -38,7 +38,7 @@ static void on_error(n_rslt err_type)
|
|
|
|
|
|
static uint8_t send_frame_via_can(cbus_id_type id_type, uint32_t id, cbus_fr_format fr_fmt, uint8_t dlc, uint8_t *dt)
|
|
|
{
|
|
|
- //将数据通过can发送至对端设备.
|
|
|
+ //iso15765涓璫an鍙戦€佹帴鍙�
|
|
|
uint8_t can_id_type = 0;
|
|
|
uint32_t can_id = 0;
|
|
|
uint8_t payload_len = 0;
|
|
|
@@ -50,7 +50,7 @@ static uint8_t send_frame_via_can(cbus_id_type id_type, uint32_t id, cbus_fr_for
|
|
|
payload_len = dlc>8?8:dlc;
|
|
|
memset(payload, 0, 8);
|
|
|
memcpy(payload, dt, payload_len);
|
|
|
- DLOG_I("send can data:%d,data:%d", payload_len, SYS_Hex2str(payload, payload_len));
|
|
|
+ DLOG_I("send can data:%d,data:%s", payload_len, SYS_Hex2str(payload, payload_len));
|
|
|
|
|
|
ret = HAL_CanTxData(can_id_type, can_id, payload, payload_len);
|
|
|
return 0;
|
|
|
@@ -169,7 +169,7 @@ HANDLER_T data_process_handler_list[] = {
|
|
|
|
|
|
int MOD_CanIso15765ParseInit(void)
|
|
|
{
|
|
|
- //初始化15765解析句柄.
|
|
|
+ //鍒濆�鍖杋so15765瑙f瀽鍙ユ焺.
|
|
|
int init_ret = N_OK;
|
|
|
for (int i=0; i<sizeof(data_process_handler_list)/sizeof(HANDLER_T); i++)
|
|
|
{
|
|
|
@@ -185,7 +185,7 @@ int MOD_CanIso15765ParseInit(void)
|
|
|
|
|
|
void MOD_CanIso15765Parse(void)
|
|
|
{
|
|
|
- //处理队列中的数据.
|
|
|
+ //澶勭悊闃熷垪涓�殑鏁版嵁
|
|
|
for (int i=0; i<sizeof(data_process_handler_list)/sizeof(HANDLER_T); i++)
|
|
|
{
|
|
|
iso15765_process(data_process_handler_list[i].process_handler);
|
|
|
@@ -194,29 +194,29 @@ void MOD_CanIso15765Parse(void)
|
|
|
|
|
|
void MOD_CanPutDataToIso15765Parse(uint8_t* can_data, uint8_t data_len)
|
|
|
{
|
|
|
- //将can数据放入15765处理队列接口
|
|
|
+ //灏哻an鏁版嵁鏀惧叆15765澶勭悊闃熷垪鎺ュ彛
|
|
|
uint32_t can_id;
|
|
|
canbus_frame_t can_frame;
|
|
|
memcpy(&can_id, &can_data[1], 4);
|
|
|
|
|
|
- can_frame.id = can_id; //帧id
|
|
|
- can_frame.fr_format = CBUS_FR_FRM_STD; //帧格式
|
|
|
- can_frame.id_type = CBUS_ID_T_STANDARD; //帧类型
|
|
|
- can_frame.dlc = can_data[5]; //帧长度
|
|
|
+ can_frame.id = can_id; //帧甯�d
|
|
|
+ can_frame.fr_format = CBUS_FR_FRM_STD; //帧甯ф牸寮�
|
|
|
+ can_frame.id_type = CBUS_ID_T_STANDARD; //帧甯х被鍨�
|
|
|
+ can_frame.dlc = can_data[5]; //帧甯ч暱搴�
|
|
|
|
|
|
memset(&can_frame.dt, 0, 8);
|
|
|
- memcpy(&can_frame.dt, &can_data[6], can_frame.dlc); //帧数据
|
|
|
+ memcpy(&can_frame.dt, &can_data[6], can_frame.dlc); //帧甯ф暟鎹�
|
|
|
|
|
|
DLOG_I("put can to 15765 parse,can_id:0x%x,payload_len:%d,payload:%s",
|
|
|
can_id,
|
|
|
can_frame.dlc ,
|
|
|
SYS_Hex2str(can_frame.dt, can_frame.dlc));
|
|
|
|
|
|
- // //开始往队列中放入.
|
|
|
+ // //寮€濮嬪線闃熷垪涓�斁鍏ユ暟鎹�
|
|
|
// uint8_t find_frame_id_flag = 0;
|
|
|
// for(int i=0; i<sizeof(data_process_handler_list)/sizeof(HANDLER_T); i++)
|
|
|
// {
|
|
|
- // //先找下这个id有没有在这个列表里面.如果在的话就放进去,如果不在的话,就重新找新的放入.
|
|
|
+ // //鍏堟壘涓嬭繖涓猧d鏈夋病鏈夊湪鍒楄〃閲岄潰,濡傛灉鍦ㄧ殑璇濆氨鏀捐繘鍘�,濡傛灉涓嶅湪鐨勮瘽灏遍噸鏂版壘鏂扮殑鏀惧叆
|
|
|
// if(data_process_handler_list[i].frame_id == can_frame.id)
|
|
|
// {
|
|
|
// LOG_D("find frame_id");
|
|
|
@@ -226,7 +226,7 @@ void MOD_CanPutDataToIso15765Parse(uint8_t* can_data, uint8_t data_len)
|
|
|
// }
|
|
|
// if(0 == find_frame_id_flag)
|
|
|
// {
|
|
|
- // //这个frame_id不在之前发过的历史列表里面,那找个新的放进去.
|
|
|
+ // //杩欎釜frame_id涓嶅湪涔嬪墠鍙戣繃鐨勫巻鍙插垪琛ㄩ噷闈�,閭f壘涓�柊鐨勬斁杩涘幓
|
|
|
// for(int j=0; j<sizeof(data_process_handler_list)/sizeof(HANDLER_T); j++)
|
|
|
// {
|
|
|
// if(UINT32_DEFAULT_VAL == data_process_handler_list[j].frame_id)
|
|
|
@@ -244,10 +244,10 @@ void MOD_CanPutDataToIso15765Parse(uint8_t* can_data, uint8_t data_len)
|
|
|
|
|
|
|
|
|
/**********************************************
|
|
|
-* @brief: can发送接口
|
|
|
-* @param: data:指向要发送的数据组包buf
|
|
|
-* @param: len:数据长度
|
|
|
-* @return: 发送结果
|
|
|
+* @brief: can鍙戦€佹帴鍙�
|
|
|
+* @param: data:鎸囧悜瑕佸彂閫佺殑鏁版嵁缁勫寘buf
|
|
|
+* @param: len:鏁版嵁闀垮害
|
|
|
+* @return: 鍙戦€佺粨鏋�
|
|
|
* @warning: xxxxxxx
|
|
|
* 1.
|
|
|
**********************************************/
|
|
|
@@ -270,19 +270,20 @@ int MOD_CanTransferData(uint8_t* data, uint8_t len)
|
|
|
// SYS_Hex2str(payload, payload_len));
|
|
|
// return HAL_CanTxData(can_id_type, can_id, payload, payload_len);
|
|
|
|
|
|
- //iso15765库
|
|
|
- uint8_t tx_len = len>I15765_MSG_SIZE?I15765_MSG_SIZE:len;
|
|
|
+ // iso15765搴�
|
|
|
+ g_s_can_frame.msg_sz = len>I15765_MSG_SIZE?I15765_MSG_SIZE:len;
|
|
|
memset(&g_s_can_frame.msg, 0, I15765_MSG_SIZE);
|
|
|
- memcpy(&g_s_can_frame.msg, data, tx_len);
|
|
|
- DLOG_I("send can data to iso15765,size:%d,data:%d", tx_len, SYS_Hex2str(g_s_can_frame.msg, tx_len));
|
|
|
+ memcpy(&g_s_can_frame.msg, data, g_s_can_frame.msg_sz);
|
|
|
+
|
|
|
+ DLOG_I("send can data to iso15765,size:%d,data:%S", g_s_can_frame.msg_sz, SYS_Hex2str(g_s_can_frame.msg, g_s_can_frame.msg_sz));
|
|
|
|
|
|
- iso15765_send(&handler1, &g_s_can_frame); //使用这个接口将数据发送给协议库
|
|
|
+ iso15765_send(&handler1, &g_s_can_frame); //浣跨敤杩欎釜鎺ュ彛灏嗘暟鎹�彂閫佸埌鍗忚�搴�
|
|
|
}
|
|
|
|
|
|
/**********************************************
|
|
|
-* @brief: can接收接口,处理接收到的can数据
|
|
|
-* @param: data:接收到的数据缓存空间
|
|
|
-* @param: data_len:收到的数据长度
|
|
|
+* @brief: can鎺ユ敹鎺ュ彛,澶勭悊鎺ユ敹鍒扮殑can鏁版嵁
|
|
|
+* @param: data:鎺ユ敹鍒扮殑鏁版嵁缂撳瓨绌洪棿
|
|
|
+* @param: data_len:鏀跺埌鐨勬暟鎹�暱搴�
|
|
|
* @return: xxxxxxx
|
|
|
* @warning: xxxxxxx
|
|
|
* 1.
|