#ifndef __CESS2000_H__ #define __CESS2000_H__ struct cess2000_t{ int idx_in_ess; int chan_idx; //int sn; char szinfo[32]; //char szmodel[32]; //int model; int adr; int modbus_tcp_slave_port; int modbus_tcp_slave_port_EMA; char sztime[32]; int cmd; unsigned short cmdpara[4]; //int rawState; int cell_otp; // over temp protect int cell_utp; // under temp protect double socc; double socd; struct tick_t bsytik; /* ctn and sta */ struct tick_t pcstik; /* pcs and ctn */ struct power_t pow; struct statemachine_t sm; }; extern struct cess2000_t cess2000[CESS2000_NBR_MAX + 1]; int cess2000_init( void ); int cess2000_send_cmd( int idx, int cmd ); int cess2000_set_aps(int idx, int P); int cess2000_reset_aps(int idx); int cess2000_get_ap(int idx); int cess2000_get_aps(int idx); int cess2000_get_last_aps(int idx); double cess2000_get_soc(int idx); void cess2000_set_state(int idx, int state, int err); int cess2000_get_state( int idx ); char* cess2000_get_state_str( int idx ); char* cess2000_get_err_str( int idx ); int cess2000_enable_bsytikchk(int idx); int cess2000_disable_bsytikchk(int idx); int cess2000_get_bsytikchk_timeout(int idx); int cess2000_get_bsytikchk_from_host(int idx); int cess2000_get_bsytikchk_en(int idx); int cess2000_enable_pcs_bsytiksnd(int idx); int cess2000_disable_pcs_bsytiksnd(int idx); int cess2000_get_pcs_bsytiksnd_en(int idx); int cess2000_get_norm_cap( int idx ); int cess2000_get_norm_pow( int idx ); int cess2000_get_min_pow(int idx); int cess2000_get_cmd( int idx ); void cess2000_reset_cmd(int idx); int cess2000_get_dhgable(int idx); int cess2000_get_chgable(int idx); void cess2000_set_dhgable(int idx, int val); void cess2000_set_chgable(int idx, int val); int cess2000_is_aps_changed(int idx); int cess2000_set_socd(int idx, double val); int cess2000_set_socc(int idx, double val); double cess2000_get_socd(int idx); double cess2000_get_socc(int idx); int cess2000_get_cell_otp(int idx); int cess2000_get_cell_utp(int idx); int cess2000_get_step( int idx ); int cess2000_get_tick( int idx ); double cess2000_get_tick_ave( int idx ); double cess2000_get_tick_cur( int idx ); double cess2000_get_tick_max( int idx ); int cess2000_cfg_save_socd(int idx); int cess2000_cfg_save_socc(int idx); int cess2000_get_err( int idx ); int cess2000_get_tool_data(int idx,char* buf); unsigned short cess2000_get_cmd_param1(int idx); unsigned short cess2000_get_cmd_param2(int idx); unsigned short cess2000_get_cmd_param3(int idx); unsigned short cess2000_get_cmd_param4(int idx); int cess2000_set_cmd(int idx,int cmd); int cess2000_set_cmd_param1(int idx,unsigned short param); int cess2000_set_cmd_param2(int idx,unsigned short param); int cess2000_set_cmd_param3(int idx,unsigned short param); int cess2000_set_cmd_param4(int idx,unsigned short param); int cess2000_set_bsytikchk_from_host(int idx,unsigned char tick); #endif