can_task.h 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. #ifndef __CAN_TASK_H
  2. #define __CAN_TASK_H
  3. #ifdef __cplusplus
  4. extern "C" {
  5. #endif
  6. #ifdef __CAN_TASK_H_GLOBAL
  7. #define __CAN_TASK_H_EXTERN
  8. #else
  9. #define __CAN_TASK_H_EXTERN extern
  10. #endif
  11. /************************************************************************************************
  12. * Version *
  13. ************************************************************************************************/
  14. /************************************************************************************************
  15. * How to use *
  16. ************************************************************************************************/
  17. /************************************************************************************************
  18. * Enable config *
  19. ************************************************************************************************/
  20. /************************************************************************************************
  21. * Includes *
  22. ************************************************************************************************/
  23. #include "can_interface.h"
  24. /************************************************************************************************
  25. * Defines *
  26. ************************************************************************************************/
  27. #define CAN_PGN_PF 0xFFFF00
  28. #define CAN_PGN_PS 0xFF00
  29. /************************************************************************************************
  30. * Typedefs *
  31. ************************************************************************************************/
  32. typedef struct
  33. {
  34. uint32_t id;
  35. void (*p_func)(pdu_tag);
  36. } can_rx_tab;
  37. extern uint8_t recv_can_id;
  38. /************************************************************************************************
  39. * Interfaces *
  40. ************************************************************************************************/
  41. void can_rx_callback(CanRxMsg rx_message);
  42. void can_tx_callback(void);
  43. void can_process(void);
  44. void can_network_init(void);
  45. uint8_t push_can_message_to_queue(uint32_t id, uint8_t len, uint8_t *p_data);
  46. #ifdef __cplusplus
  47. };
  48. #endif
  49. #endif // __CAN_TASK_H