sta.h 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125
  1. #ifndef __STA_H__
  2. #define __STA_H__
  3. #include "plt.h"
  4. enum sta_pow_dis_mode_t{
  5. PDMOD_SOC = 0,
  6. PDMOD_AVG,
  7. };
  8. enum sta_err_t{
  9. STAERR_NONE = 0,
  10. STAERR_NA,
  11. STAERR_NACK,
  12. /* launch */
  13. STAERR_LAUNCH_WAIT_ALL_CTN_STDBY_TIMEOUT,
  14. STAERR_LAUNCH_WAIT_ALL_METER_READY_TIMEOUT,
  15. /* stdby */
  16. STAERR_STDBY_OFFLINE_CTN_DETECTED,
  17. STAERR_STDBY_NOSTANDBY_CTN_DETECTED,
  18. STAERR_STDBY_NOT_READY_METER_DETECTED,
  19. STAERR_STDBY_WAIT_ALL_CTN_STOP_TIMEOUT,
  20. /* stop */
  21. STAERR_STOP_OFFLINE_CTN_DETECTED,
  22. STAERR_STOP_NOT_READY_METER_DETECTED,
  23. STAERR_STOP_WAIT_ALL_CTN_STDBY_TIMEOUT,
  24. STAERR_STOP_WAIT_ALL_CTN_READY_TIMEOUT,
  25. /* ready */
  26. STAERR_READY_NOT_READY_CTN_DETECTED,
  27. STAERR_READY_NOT_READY_METER_DETECTED,
  28. STAERR_READY_DISPOW_FAIL,
  29. STAERR_READY_WAIT_DHG_TIMEOUT,
  30. STAERR_READY_WAIT_CHG_TIMEOUT,
  31. STAERR_READY_WAIT_ALL_CTN_STOP_TIMEOUT,
  32. /* dhg */
  33. STAERR_DHG_DISPOW_FAIL,
  34. STAERR_DHG_WAIT_ALL_CTN_READY_TIMEOUT,
  35. STAERR_DHG_NOT_READY_METER_DETECTED,
  36. STAERR_DHG_ERR_CTN_DETECTED,
  37. STAERR_DHG_OFFLINE_CTN_DETECTED,
  38. /* chg */
  39. STAERR_CHG_DISPOW_FAIL,
  40. STAERR_CHG_WAIT_ALL_CTN_READY_TIMEOUT,
  41. STAERR_CHG_NOT_READY_METER_DETECTED,
  42. STAERR_CHG_ERR_CTN_DETECTED,
  43. STAERR_CHG_OFFLINE_CTN_DETECTED,
  44. };
  45. struct station_t{
  46. bool brunning;
  47. int chan_idx;
  48. char szinfo[64];
  49. char szprj_id[128];
  50. int time_zone;
  51. char sztime[32];
  52. int version[3];
  53. sqlite3* cfg_db;
  54. pthread_mutex_t cfg_db_mutex;
  55. int con_ap;
  56. int load_ap;
  57. int PloadMode;
  58. char szPloadMode[16];
  59. int PconMode;
  60. char szPconMode[16];
  61. struct power_t pow;
  62. struct statemachine_t sm;
  63. int cmd;
  64. int pdmode; // sta power distribution mode
  65. char szpdmode[32];
  66. };
  67. extern struct station_t sta;
  68. int sta_init( void );
  69. int sta_send_cmd( int cmd );
  70. int sta_set_aps(int val);
  71. int sta_get_ap( );
  72. int sta_get_aps( );
  73. double sta_get_soc( );
  74. int sta_chk_chg_stat( void );
  75. int sta_set_mode( int mod );
  76. int sta_chk_all_ctn_stat(int stat);
  77. int sta_chk_all_meter_stat(int stat);
  78. int sta_chk_any_meter_stat(int stat);
  79. int sta_send_all_ctn_cmd( int cmd );
  80. int sta_send_all_meter_cmd( int cmd );
  81. int sta_dis_pow( void );
  82. int sta_chk_dhg_stat(void);
  83. int sta_chk_chg_stat( void );
  84. char* sta_get_prjid( void );
  85. char* sta_get_stat_str();
  86. char* sta_get_err_str();
  87. void sta_set_dhgable( void );
  88. void sta_reset_dhgable( void );
  89. void sta_set_chgable( void );
  90. void sta_reset_chgable( void );
  91. int sta_get_dhgable( void );
  92. int sta_get_chgable( void );
  93. int sta_get_timezone();
  94. char* sta_get_state_str();
  95. char* sta_get_err_str();
  96. int sta_get_norm_cap();
  97. int sta_get_norm_pow();
  98. int sta_reset_aps();
  99. int sta_reset_cmd();
  100. int sta_is_aps_changed();
  101. int sta_aps_dis( void );
  102. int sta_get_tool_data(char* buf);
  103. void sta_set_state(int state, int err);
  104. int sta_set_pdmode( int val );
  105. #endif