Ev_Comm.h 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. #ifndef _EV_COMM_H_
  2. #define _EV_COMM_H_
  3. #include <stdbool.h>
  4. #include <stdint.h>
  5. //------------------------------------------------------------------------------
  6. //EV command address
  7. //------------------------------------------------------------------------------
  8. #define CMD_NONE (0)
  9. #define CMD_ADDR_ASSIGNMENT (0x00000200)
  10. #define CMD_GET_FW_VER (0x00000400)
  11. #define CMD_GET_HW_VER (0x00000500)
  12. #define CMD_CHARGING_PERMISSION (0x00000600)
  13. #define CMD_PRESENT_OUTPUT_POWER (0x00000700)
  14. #define CMD_PRESENT_OUTPUT_CAPABILITIES (0x00000800)
  15. #define CMD_GET_OUTPUT_REQ (0x00000900)
  16. #define CMD_GET_BATTERY_INFO (0x00000A00)
  17. #define CMD_EVSE_STOP_CHARGING (0x00000C00)
  18. #define CMD_GET_MISC_INFO (0x00000D00)
  19. #define CMD_DOWNLOAD_REQ (0x00000E00)
  20. #define CMD_START_BLOCK_TRANS (0x00000F00)
  21. #define CMD_DATA_TRANS (0x00001000)
  22. #define CMD_DOWNLOAD_FINISH (0x00001100)
  23. #define CMD_ISOLATION_STATUS (0x00001200)
  24. #define CMD_SYNC_RTC (0x00001400)
  25. #define CMD_EVSE_PRECHARGE (0x00001500)
  26. #define CMD_EVCCID_REQ (0x00001600)
  27. // 車端主動
  28. #define ADDRESS_REQ (0x080001FF)
  29. #define NOTIFICATION_EV_STATUS (0x08000300)
  30. #define NOTIFICATION_EV_STOP (0x08000B00)
  31. // 車端回應
  32. #define ACK_EV_FW_VERSION (0x08000400)
  33. #define ACK_EV_HW_VERSION (0x08000500)
  34. #define ACK_GET_OUTPUT_REQ (0x08000900)
  35. #define ACK_GET_EV_BATTERY_INFO (0x08000A00)
  36. #define ACK_GET_MISCELLANEOUS_INFO (0x08000D00)
  37. #define ACK_EVSE_ISOLATION_STATUS (0x08001200)
  38. #define ACK_EVSE_PRECHAGE_INFO (0x08001500)
  39. #define ACK_EVCCID_REQ (0x08001600)
  40. //------------------------------------------------------------------------------
  41. // Send msg to can-bus
  42. void SetTargetAddr(uint8_t *target_number, uint8_t index);
  43. void GetFirmwareVersion(uint8_t gunIndex, uint8_t toId);
  44. void GetHardwareVersion(uint8_t gunIndex, uint8_t toId);
  45. void SyncRtcInfo(uint8_t gunIndex, uint8_t toId, int epoch);
  46. void SetChargingPermission(uint8_t gunIndex, uint8_t permissionStatus, uint16_t aOutputPw, uint16_t aOutputVol, uint16_t aOutputCur, uint8_t toId);
  47. void SetPresentOutputPower(uint16_t outputVol_b1, uint16_t outputCur_b1, uint16_t outputVol_b2, uint16_t outputCur_b2);
  48. void SetPresentOutputCapacity(uint16_t aOutputPw_b1, uint16_t aOutputCur_b1, uint16_t aOutputPw_b2, uint16_t aOutputCur_b2);
  49. void GetOutputReq(uint8_t gunIndex, uint8_t toId);
  50. void GetEvBatteryInfo(uint8_t gunIndex, uint8_t toId);
  51. void GetMiscellaneousInfo(uint8_t gunIndex, uint8_t relayStatus, float power, float voltage, uint8_t toId);
  52. void SetIsolationStatus(uint8_t gunIndex, uint8_t result, uint8_t toId);
  53. void SetEvsePrechargeInfo(uint8_t gunIndex, uint8_t result, uint8_t toId);
  54. // 發送電樁主動停止充電結果及原因
  55. void EvseStopChargingEvent(uint8_t stopResult, uint8_t *stopReason, uint8_t toId);
  56. void GetEVCCIDReq(uint8_t gunIndex, uint8_t toId);
  57. #endif /* _EV_COMM_H_ */