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.2 KiB

2 years ago
  1. #include "basic.hpp"
  2. using namespace iflytop;
  3. using namespace std;
  4. uint16_t CanPacketRxBuffer::get_packetindex() {
  5. Cmdheader_t *cmdheader = (Cmdheader_t *)rxdata;
  6. return cmdheader->packetindex;
  7. }
  8. uint16_t CanPacketRxBuffer::get_cmdid() {
  9. Cmdheader_t *cmdheader = (Cmdheader_t *)rxdata;
  10. return cmdheader->cmdid;
  11. }
  12. uint8_t CanPacketRxBuffer::get_subcmdid() {
  13. Cmdheader_t *cmdheader = (Cmdheader_t *)rxdata;
  14. return cmdheader->subcmdid;
  15. }
  16. uint8_t CanPacketRxBuffer::get_packetType() {
  17. Cmdheader_t *cmdheader = (Cmdheader_t *)rxdata;
  18. return cmdheader->packetType;
  19. }
  20. uint8_t *CanPacketRxBuffer::get_data() {
  21. Cmdheader_t *cmdheader = (Cmdheader_t *)rxdata;
  22. return cmdheader->data;
  23. }
  24. uint16_t CanPacketRxBuffer::get_datalen() {
  25. Cmdheader_t *cmdheader = (Cmdheader_t *)rxdata;
  26. return rxdataSize - sizeof(Cmdheader_t);
  27. }
  28. bool CanPacketRxBuffer::iscmd(CmdID_t id) {
  29. Cmdheader_t *cmdheader = (Cmdheader_t *)rxdata;
  30. uint16_t maincmdid = ((uint32_t)id >> 8) & 0xFFFF;
  31. uint8_t subcmdId = ((uint32_t)id) & 0xFF;
  32. return cmdheader->cmdid == maincmdid && cmdheader->subcmdid == subcmdId;
  33. }
  34. Cmdheader_t *CanPacketRxBuffer::get_cmdheader() {
  35. Cmdheader_t *cmdheader = (Cmdheader_t *)rxdata;
  36. return cmdheader;
  37. }