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.
 
 

38 lines
1.3 KiB

#include "basic.hpp"
using namespace iflytop;
using namespace std;
uint16_t CanPacketRxBuffer::get_packetindex() {
zcr_cmd_header_t *cmdheader = (zcr_cmd_header_t *)rxdata;
return cmdheader->packetindex;
}
uint16_t CanPacketRxBuffer::get_cmdid() {
zcr_cmd_header_t *cmdheader = (zcr_cmd_header_t *)rxdata;
return CMDID(cmdheader->cmdmoduleid, cmdheader->subcmdid);
}
uint8_t CanPacketRxBuffer::get_subcmdid() {
zcr_cmd_header_t *cmdheader = (zcr_cmd_header_t *)rxdata;
return cmdheader->subcmdid;
}
uint8_t CanPacketRxBuffer::get_packetType() {
zcr_cmd_header_t *cmdheader = (zcr_cmd_header_t *)rxdata;
return cmdheader->packetType;
}
uint8_t *CanPacketRxBuffer::get_data() {
zcr_cmd_header_t *cmdheader = (zcr_cmd_header_t *)rxdata;
return cmdheader->data;
}
uint16_t CanPacketRxBuffer::get_datalen() {
return rxdataSize - sizeof(zcr_cmd_header_t);
}
bool CanPacketRxBuffer::iscmd(int32_t id) {
zcr_cmd_header_t *cmdheader = (zcr_cmd_header_t *)rxdata;
uint16_t maincmdid = ((uint32_t)id >> 8) & 0xFFFF;
uint8_t subcmdId = ((uint32_t)id) & 0xFF;
return cmdheader->cmdmoduleid == maincmdid && cmdheader->subcmdid == subcmdId;
}
zcr_cmd_header_t *CanPacketRxBuffer::get_cmdheader() {
zcr_cmd_header_t *cmdheader = (zcr_cmd_header_t *)rxdata;
return cmdheader;
}