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.
56 lines
1.8 KiB
56 lines
1.8 KiB
#include "basic.hpp"
|
|
|
|
#include <stdio.h>
|
|
#include <string.h>
|
|
|
|
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->cmdMainId, cmdheader->cmdSubId);
|
|
}
|
|
uint8_t CanPacketRxBuffer::get_cmdSubId() {
|
|
zcr_cmd_header_t *cmdheader = (zcr_cmd_header_t *)rxdata;
|
|
return cmdheader->cmdSubId;
|
|
}
|
|
uint8_t CanPacketRxBuffer::get_packetType() {
|
|
zcr_cmd_header_t *cmdheader = (zcr_cmd_header_t *)rxdata;
|
|
return cmdheader->packetType;
|
|
}
|
|
uint8_t *CanPacketRxBuffer::get_params() {
|
|
zcr_cmd_header_t *cmdheader = (zcr_cmd_header_t *)rxdata;
|
|
return cmdheader->data;
|
|
}
|
|
uint16_t CanPacketRxBuffer::get_params_len() { return rxdataSize - sizeof(zcr_cmd_header_t); }
|
|
void CanPacketRxBuffer::clear() {
|
|
id = 0;
|
|
memset(&m_canPacket, 0, sizeof(m_canPacket) / sizeof(m_canPacket[0]));
|
|
m_canPacketNum = 0;
|
|
m_npacket = 0;
|
|
memset(rxdata, 0, sizeof(rxdata));
|
|
rxdataSize = 0;
|
|
|
|
dataIsReady = false;
|
|
isOnReceive = false;
|
|
isUsed = false;
|
|
lostpacket = false;
|
|
}
|
|
|
|
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 cmdSubId = ((uint32_t)id) & 0xFF;
|
|
return cmdheader->cmdMainId == maincmdid && cmdheader->cmdSubId == cmdSubId;
|
|
}
|
|
zcr_cmd_header_t *CanPacketRxBuffer::get_cmdheader() {
|
|
zcr_cmd_header_t *cmdheader = (zcr_cmd_header_t *)rxdata;
|
|
return cmdheader;
|
|
}
|
|
|
|
uint8_t *CanPacketRxBuffer::get_rx_raw() { return rxdata; }
|
|
uint16_t CanPacketRxBuffer::get_rx_raw_len() { return rxdataSize; }
|