You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
58 lines
1.1 KiB
58 lines
1.1 KiB
#pragma once
|
|
#include <stdint.h>
|
|
|
|
namespace iflytop {
|
|
namespace zscanprotocol {
|
|
|
|
#pragma pack(1)
|
|
|
|
/**
|
|
* @brief 消息格式 12bit from,1bit emergency
|
|
* H L
|
|
* [1] [4bit] [8bit] [8bit] [4bit/4bit]
|
|
* , from to frameNum/frameId
|
|
*/
|
|
|
|
// 数值越大优先级越低
|
|
|
|
typedef enum {
|
|
kcmd,
|
|
kreceipt,
|
|
kerror_receipt,
|
|
kreport,
|
|
} packet_type_t;
|
|
|
|
typedef enum {
|
|
kpriority_emergency_report = 7,
|
|
kpriority_cmd = 8,
|
|
kpriority_receipt = 9,
|
|
kpriority_report = 10,
|
|
} priority_t;
|
|
|
|
typedef struct {
|
|
uint8_t frameNumAndFrameId;
|
|
uint8_t to;
|
|
uint8_t from;
|
|
uint8_t pad;
|
|
} zcanid_t;
|
|
|
|
typedef struct {
|
|
uint8_t ptype;
|
|
uint8_t index;
|
|
uint16_t function_id;
|
|
uint8_t params[];
|
|
} zcanbus_packet_t;
|
|
|
|
typedef enum {
|
|
kerr_noerror = 0,
|
|
kerr_overtime = 1,
|
|
kerr_invalid_param = 2,
|
|
kerr_invalid_param_num = 3,
|
|
kerr_subdevice_offline = 4,
|
|
kerr_function_not_support = 5,
|
|
|
|
} common_ecode_t;
|
|
#pragma pack()
|
|
|
|
} // namespace zscanprotocol
|
|
} // namespace iflytop
|