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.

53 lines
1.5 KiB

1 year ago
5 months ago
1 year ago
5 months ago
1 year ago
5 months ago
1 year ago
5 months ago
1 year ago
5 months ago
1 year ago
5 months ago
1 year ago
5 months ago
1 year ago
  1. #include "basic.hpp"
  2. #include <stdio.h>
  3. #include <string.h>
  4. using namespace iflytop;
  5. using namespace std;
  6. uint16_t CanPacketRxBuffer::get_packetindex() {
  7. zcr_cmd_header_t *cmdheader = (zcr_cmd_header_t *)rxdata;
  8. return cmdheader->index;
  9. }
  10. uint16_t CanPacketRxBuffer::get_cmdid() {
  11. zcr_cmd_header_t *cmdheader = (zcr_cmd_header_t *)rxdata;
  12. return cmdheader->cmdid;
  13. }
  14. uint8_t CanPacketRxBuffer::get_packetType() {
  15. zcr_cmd_header_t *cmdheader = (zcr_cmd_header_t *)rxdata;
  16. return cmdheader->packetType;
  17. }
  18. uint8_t *CanPacketRxBuffer::get_params() {
  19. zcr_cmd_header_t *cmdheader = (zcr_cmd_header_t *)rxdata;
  20. return (cmdheader->data);
  21. }
  22. uint16_t CanPacketRxBuffer::get_params_len() {
  23. zcr_cmd_header_t *cmdheader = (zcr_cmd_header_t *)rxdata;
  24. return cmdheader->datalen;
  25. }
  26. void CanPacketRxBuffer::clear() {
  27. id = 0;
  28. memset(&m_canPacket, 0, sizeof(m_canPacket)); // fix
  29. m_canPacketNum = 0;
  30. m_npacket = 0;
  31. memset(rxdata, 0, sizeof(rxdata));
  32. rxdataSize = 0;
  33. dataIsReady = false;
  34. isOnReceive = false;
  35. isUsed = false;
  36. lostpacket = false;
  37. }
  38. bool CanPacketRxBuffer::iscmd(int32_t id) {
  39. zcr_cmd_header_t *cmdheader = (zcr_cmd_header_t *)rxdata;
  40. return cmdheader->cmdid == id;
  41. }
  42. zcr_cmd_header_t *CanPacketRxBuffer::get_cmdheader() {
  43. zcr_cmd_header_t *cmdheader = (zcr_cmd_header_t *)rxdata;
  44. return cmdheader;
  45. }
  46. uint8_t *CanPacketRxBuffer::get_rx_raw() { return rxdata; }
  47. uint16_t CanPacketRxBuffer::get_rx_raw_len() { return rxdataSize; }