e3ks.h 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. #ifndef __E3KS_H__
  2. #define __E3KS_H__
  3. #define E3KS_NBR_MAX 1
  4. enum e3ks_cmd_t{
  5. CMD_E3KS_SET_DEVACTIVEPSET = 0,
  6. CMD_E3KS_SET_STARTCMD,
  7. CMD_E3KS_SET_STOPCMD,
  8. };
  9. enum e3ks_status_t{
  10. E3KS_STATUS_LINE = 0,
  11. E3KS_STATUS_BAT,
  12. E3KS_STATUS_UNKNOWN,
  13. };
  14. struct e3ks_t{
  15. //int chan_idx;
  16. char szinfo[32];
  17. char szmodel[32];
  18. int model;
  19. //int adr; // modbus rtu addr, by cfg
  20. struct power_t pow;
  21. struct comm_t comm;
  22. struct statemachine_t sm;
  23. int cmd;
  24. double input_voltage; // V
  25. double output_voltage; // v
  26. int load_occupy; // %
  27. int bat_v; /* battery voltage */
  28. int temp; /* ups temperature */
  29. int status;
  30. char szstatus[32];
  31. int line; /* 220v input */
  32. int line_fault;
  33. int bat_low;
  34. int ups_fault;
  35. int dbg;
  36. int recv_st;
  37. int recv_cnt;
  38. char recv_buf[128];
  39. };
  40. extern struct e3ks_t e3ks[E3KS_NBR_MAX + 1];
  41. int e3ks_init();
  42. int e3ks_get_cmd( int idx);
  43. void e3ks_reset_cmd( int idx);
  44. int e3ks_send_sm_cmd( int idx, int cmd );
  45. int e3ks_send_sm_cmd_all( int cmd );
  46. int e3ks_chk_state( int idx, int stat );
  47. int e3ks_reset_tick( int idx );
  48. int e3ks_get_batv( int idx );
  49. int e3ks_get_temp( int idx );
  50. int e3ks_get_status( int idx );
  51. char* e3ks_get_status_str( int idx );
  52. int e3ks_get_line( int idx );
  53. int e3ks_get_state(int idx);
  54. int e3ks_set_dbg(int idx, int val);
  55. int e3ks_get_ups_fault( int idx );
  56. int e3ks_get_bat_low( int idx );
  57. int e3ks_get_line_fault( int idx );
  58. char* e3ks_get_info_str(int idx);
  59. int e3ks_get_chan_idx(int idx);
  60. int e3ks_get_adr(int idx);
  61. int e3ks_get_tick(int idx);
  62. char* e3ks_get_state_str(int idx);
  63. int e3ks_get_comm_state(int idx);
  64. char* e3ks_get_comm_state_str(int idx);
  65. int e3ks_get_tool_data(int idx,char* buf);
  66. int e3ks_get_tbmqtt_data(int idx,char* buf);
  67. int e3ks_get_cloud_data(int ctn_idx,int idx,char* buf);
  68. int e3ks_get_bkds_data(int idx,char* buf);
  69. #endif