cansend_producer.h 1.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. #ifndef CANSEND_PRODUCER_H
  2. #define CANSEND_PRODUCER_H
  3. #include <QObject>
  4. #include <QTimer>
  5. #include <QDateTime>
  6. #include <QThread>
  7. #include "modulecomm.h"
  8. #include "can_producer_consumer.h"
  9. #include "decode_cfg.h"
  10. #ifndef NUM_OF_SENSOR_MAX
  11. #define NUM_OF_SENSOR_MAX 12
  12. #endif
  13. class CANSend_Producer : public QThread
  14. {
  15. Q_OBJECT
  16. public:
  17. CANSend_Producer(CAN_Producer_Consumer *pBuf);
  18. ~CANSend_Producer();
  19. void Clear_CAN_PrivateTempVariable(void);
  20. public slots:
  21. void Enable_Ask_Slot(bool enableFlag,uint8_t sensorID,uint8_t distanceType);
  22. protected:
  23. void run();
  24. iv::can::canraw Trans_to_CANRaw(void);
  25. private:
  26. CAN_Producer_Consumer *pBuffer;
  27. uint32_t CAN_ID = 0x000u;
  28. uint8_t CAN_IDE = 0;
  29. uint8_t CAN_RTR = 0;
  30. uint8_t CAN_DLC = 0;
  31. uint8_t CAN_data[8] = {0};
  32. bool askEnableFlag = true;
  33. uint8_t askSensorID = 0;
  34. uint8_t askDistanceType = 0; //0 0.3-5.5m 1 0.2-4.5m 2 0.2-3m
  35. signals:
  36. void Enable_DecodeResult(bool enableFlag,uint8_t sensorID);
  37. };
  38. #endif // CANSEND_PRODUCER_H