#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; }