hal_module_adapter.h 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164
  1. #ifndef HAL_MODULE_ADAPTER_H
  2. #define HAL_MODULE_ADAPTER_H
  3. #ifdef __cplusplus
  4. extern "C" {
  5. #endif
  6. #include "commontypedef.h"
  7. #include "sensor.h"
  8. #include "can.h"
  9. #define GPS_DATA_RECV_BUFFER_SIZE (1024)
  10. #define I2C_INT1_REQ_BITMAP (0x1)
  11. #define I2C_INT2_REQ_BITMAP (0x2)
  12. #define ADC_REQ_BITMAP_VBAT (0x01)
  13. #define ADC_REQ_BITMAP_TEMP (0x02)
  14. #define ADC_REQ_BITMAP_CH1 (0x04)
  15. #define ADC_REQ_BITMAP_CH2 (0x08)
  16. #define ADC_REQ_BITMAP_CH3 (0x10)
  17. #define ADC_REQ_BITMAP_CH4 (0x20)
  18. #define ADC_REQ_BITMAP_CH5 (0x40)
  19. #define ADC_GET_RESULT_TIMOUT (2000)
  20. typedef enum _ntc_channel
  21. {
  22. NTC_Channel1 ,
  23. NTC_Channel2 ,
  24. NTC_Channel3 ,
  25. NTC_Channel4 ,
  26. NTC_Channel5 ,
  27. NTC_ChannelMax
  28. } ntc_channel_t;
  29. typedef enum{
  30. LED_SOC_0,
  31. LED_SOC_1,
  32. LED_SOC_2,
  33. LED_SOC_3,
  34. LED_MAX_INX
  35. }ledInx_t;
  36. typedef enum
  37. {
  38. AON_IO = 0,
  39. NORMAL_IO = 1,
  40. }IOType;
  41. typedef enum{
  42. LED_TURN_ON,
  43. LED_TURN_OFF
  44. }ledStaus_t;
  45. typedef struct
  46. {
  47. UINT32 request;
  48. UINT32 param[5];
  49. }adcReqMsg;
  50. typedef struct
  51. {
  52. void * dataPtr;
  53. UINT32 len;
  54. }gpsReqMsg;
  55. typedef struct
  56. {
  57. UINT32 event;
  58. UINT32 value;
  59. } i2c_recv_msgqueue_obj_t;
  60. typedef struct _led_pin_config
  61. {
  62. INT32 pinPort;
  63. INT32 pinInx;
  64. INT32 padInx;
  65. pad_mux_t padMutex;
  66. } led_pin_config_t;
  67. typedef enum
  68. {
  69. STD_PACK ,
  70. EXT_PACK ,
  71. PACK_MAX
  72. }PackType;
  73. typedef struct _can_initType
  74. {
  75. INT32 baudrate;
  76. INT16 mode;
  77. INT8 TxStdIDH;
  78. /*
  79. std : sid0 - sid2 ->bit5-bit7
  80. ext :eid17: bit1
  81. ext: eid16 :bit0
  82. */
  83. INT8 TxStdIDL;
  84. INT8 TxExtIDH;
  85. INT8 TxExtIDL;
  86. INT8 RxStdIDH[6];
  87. INT8 RxStdIDL[6];
  88. INT8 RxExtIDH[6];
  89. INT8 RxExtIDL[6];
  90. PackType packType; //0 STID; 1 EXTID;
  91. }Can_InitType;
  92. typedef struct _Can_TxMsgType
  93. {
  94. UINT16 stdIDH;
  95. UINT16 stdIDL;
  96. UINT8 DLC;
  97. UINT8 Data[8];
  98. }Can_TxMsgType;
  99. typedef struct _GPS_INFO
  100. {
  101. uint8_t timedata[6];
  102. uint8_t status;
  103. uint8_t satellite_num;
  104. uint16_t direction;
  105. uint16_t speed;
  106. uint16_t altitude;
  107. uint32_t latitude;
  108. uint32_t longitude;
  109. }GPS_INFO;
  110. typedef void (*posGGACallBack )(UINT8 res, UINT8 * params);
  111. void PowerPinConfig(IOType iotype);
  112. INT32 posGGAServiceStart( posGGACallBack callBack);
  113. void posGGAServiceStop( void);
  114. void posGGAReset(void);
  115. void NetSocDisplay(ledInx_t Inx , ledStaus_t status);
  116. void FaultDisplay(ledStaus_t status);
  117. INT32 AdcSendReq(UINT32 req,UINT32 * param , UINT8 len ,UINT32 timeout);
  118. INT32 AdcTaskInit(void);
  119. void CanSPIHandler(ARM_SPI_SignalEvent_t cb_event,UINT8 mode,UINT8 dataBits, UINT32 spiRate );
  120. #if 1
  121. UINT8 CanTriggerEvtInit(void);
  122. void CanWaitEvt(UINT32 timeout);
  123. void CanTiggerEvt(UINT8 cmd);
  124. #endif
  125. INT32 CAN_WriteReg(UINT8 addr, UINT8 value);
  126. INT32 CAN_ReadReg(UINT8 reg, UINT8 len, UINT8 *buf);
  127. void HAL_Can_Init(Can_InitType param);
  128. INT32 HAL_Can_Reset(void);
  129. INT32 HAL_Can_Transmit(Can_TxMsgType Can_TxMsg);
  130. UINT8 HAL_Can_Receive(UINT8 *CAN_RX_Buf);
  131. #ifdef __cplusplus
  132. }
  133. #endif
  134. #endif /* HAL_MODULE_ADAPTER_H */