/* * megatec.h * * Created on: 22.05.2017 * Author: balbekova */ #ifndef MEGATEC_H_ #define MEGATEC_H_ #include #include #include //#define UPS_BUZZER_OFF #define K_EFFICIENCY 0.9 #define AKB_VOLTAGE 12 #define AKB_NUM_CELL 6 #define VOLTRONIC_OUTPUT_RATED_LENGTH 7 #define VOLTRONIC_MODEL_LENGTH 15 #define KSTAR_MODEL_LENGTH 10 #define VOLTRONIC_VERSION_LENGTH 10 #define VOLTRONIC_SN_LENGTH 14 typedef enum{ ups_status_req, ups_test_10sec, ups_test_low_bat, ups_test_time, ups_beep, ups_shutdown, ups_shutdown_restore, ups_cancel_shut_down, ups_cancel_test, ups_info, ups_rating_info, ups_remain_time_reg, ups_general_status_req, ups_akb_info, ups_model_req, ups_version_req, ups_version2_req, ups_serial_req, ups_protocol_id_req, ups_offline_status_req, ups_passw_req, ups_buzzer_cntrl, ups_mode_req, ups_remote_turn_on, MegaTec_cmd_max } cmdMegaTecEnums_t; typedef struct{ float Freq_in; float VAC_in; float VAC_out; float Temp; float Vcell_curr; float Vakb_curr; uint8_t Load; uint8_t SOC; uint16_t work_time; uint32_t akb_work_time; uint32_t Alarm; uint8_t Status; uint8_t Mode; uint8_t Test_Status; char model[16]; char vertion[22]; char serial[15]; uint8_t cnt_err_ups; bool Present; bool Flag_Present; }UPS_value_t; extern UPS_value_t UPS; extern uint16_t TimeParam; extern uint16_t TimeParam2; extern float TimeParamFloat; int ups_metac_service_pdu(cmdMegaTecEnums_t command); void ups_megatec_init(void); void UPSReadTestStatus(void); float voltage_bat_average(void); float power_load_average(void); #endif /* MEGATEC_H_ */