#ifndef METER_H #define METER_H #include "misc.h" #include "dlt645_api_07.h" #include "chan.h" enum metererr_t { METERERR_NONE = 0, METERERR_NA, }; enum metercmd_t { METERCMD_DONE = 0, METERCMD_OFFLINE, METERCMD_STDBY, }; enum meter_recvst_t { MRECV_WAIT4STX = 0, MRECV_ADDR, MRECV_STX2, MRECV_CTRL, MRECV_DL, MRECV_D, MRECV_CS, MRECV_ETX, }; struct meter_t{ char szinfo[4][32]; char szmodel[4][32]; int model[4]; int model_nbr; //int idx; }; int meter_init(); char* meter_get_state_string(int model, int idx); int meter_send_sm_cmd(int model, int idx, int cmd ); int meter_set_dev_pt(int model, int idx, int val ); int meter_set_dev_ct(int model, int idx, int val ); int meter_send_sm_cmd_all(int cmd ); int* meter_get_model(); int meter_chk_state_all(int model, int stat); int meter_get_com_ap(int model, int idx ); double meter_get_com_ae(int model, int idx ); double meter_get_pos_ae(int model, int idx ); double meter_get_neg_ae(int model, int idx ); double meter_get_ua(int model, int idx ); double meter_get_ub(int model, int idx ); double meter_get_uc(int model, int idx ); double meter_get_ia(int model, int idx ); double meter_get_ib(int model, int idx ); double meter_get_ic(int model, int idx ); int meter_get_comm_st(int model, int idx ); int meter_set_dac_param_en(int model, int idx, int val ); int meter_get_nbr(int model); double meter_get_power_factor(int model, int idx ); double meter_get_THDUa(int model, int idx ); double meter_get_THDUb(int model, int idx ); double meter_get_THDUc(int model, int idx ); double meter_get_THDIa(int model, int idx ); double meter_get_THDIb(int model, int idx ); double meter_get_THDIc(int model, int idx ); double meter_get_total_fund_ap(int model, int idx ); double meter_get_total_fund_rp(int model, int idx ); double meter_get_total_harm_ap(int model, int idx ); double meter_get_total_harm_rp(int model, int idx ); int meter_get_state(int model, int idx); char* meter_get_info_str(int model,int idx); int meter_get_sm_step(int model,int idx); char* meter_get_sm_err_str(int model,int idx); int meter_get_chan_idx(int model,int idx); int meter_get_adr(int model,int idx); int meter_get_tick(int model,int idx); char* meter_get_comm_state_str(int model,int idx); int meter_get_PT(int model,int idx); int meter_get_CT(int model,int idx); double meter_get_pratio(int model,int idx); double meter_get_vratio(int model,int idx); double meter_get_cratio(int model,int idx); double meter_get_freq(int model, int idx ); int meter_get_tool_data(char* buf); int meter_get_tbmqtt_data(char* buf); int meter_get_cloud_data(int ctn_idx,char* buf); int meter_chk_state(int stat); int meter_get_bkds_data(char* buf); int meter_get_ctn_ap(double *ap); int meter_get_ctn_pos_ae(double *pos_ae); int meter_get_ctn_neg_ae(double *neg_ae); int meter_get_ctn_com_ae(double *com_ae); int meter_get_ctn_meter_state(int* state); int meter_get_aux_ap(double *ap); int meter_get_aux_pos_ae(double *pos_ae); int meter_get_aux_neg_ae(double *neg_ae); int meter_get_aux_com_ae(double *com_ae); int meter_get_aux_meter_state(int* state); int meter_chk_all_state(int state); int meter_get_init_data(int ctn_idx, char *buf); int meter_get_modbus_data(int model,int idx,unsigned short* data); #endif /* METER_H */