#ifndef __E3KS_H__ #define __E3KS_H__ #define E3KS_NBR_MAX 1 enum e3ks_cmd_t{ CMD_E3KS_SET_DEVACTIVEPSET = 0, CMD_E3KS_SET_STARTCMD, CMD_E3KS_SET_STOPCMD, }; enum e3ks_status_t{ E3KS_STATUS_LINE = 0, E3KS_STATUS_BAT, E3KS_STATUS_UNKNOWN, }; struct e3ks_t{ //int chan_idx; char szinfo[32]; char szmodel[32]; int model; //int adr; // modbus rtu addr, by cfg struct power_t pow; struct comm_t comm; struct statemachine_t sm; int cmd; double input_voltage; // V double output_voltage; // v int load_occupy; // % int bat_v; /* battery voltage */ int temp; /* ups temperature */ int status; char szstatus[32]; int line; /* 220v input */ int line_fault; int bat_low; int ups_fault; int dbg; int recv_st; int recv_cnt; char recv_buf[128]; }; extern struct e3ks_t e3ks[E3KS_NBR_MAX + 1]; int e3ks_init(); int e3ks_get_cmd( int idx); void e3ks_reset_cmd( int idx); int e3ks_send_sm_cmd( int idx, int cmd ); int e3ks_send_sm_cmd_all( int cmd ); int e3ks_chk_state( int idx, int stat ); int e3ks_reset_tick( int idx ); int e3ks_get_batv( int idx ); int e3ks_get_temp( int idx ); int e3ks_get_status( int idx ); char* e3ks_get_status_str( int idx ); int e3ks_get_line( int idx ); int e3ks_get_state(int idx); int e3ks_set_dbg(int idx, int val); int e3ks_get_ups_fault( int idx ); int e3ks_get_bat_low( int idx ); int e3ks_get_line_fault( int idx ); char* e3ks_get_info_str(int idx); int e3ks_get_chan_idx(int idx); int e3ks_get_adr(int idx); int e3ks_get_tick(int idx); char* e3ks_get_state_str(int idx); int e3ks_get_comm_state(int idx); char* e3ks_get_comm_state_str(int idx); int e3ks_get_tool_data(int idx,char* buf); int e3ks_get_tbmqtt_data(int idx,char* buf); int e3ks_get_cloud_data(int ctn_idx,int idx,char* buf); int e3ks_get_bkds_data(int idx,char* buf); #endif