Program Listing for File EnergyMeter3Module.h

Return to documentation for file (/home/asunye/wd/dev/emod_docs/emod_controller/build_x86/install/include/EnergyMeter3Module.h)

#ifndef ENERGYMETER3_MODULE_H_
#define ENERGYMETER3_MODULE_H_

#include "EmodRet.hpp"
#include "EnergyMeterParameters.hpp"

#ifdef __cplusplus
extern "C" {
#endif

struct EnergyMeter3ModuleStruct;
typedef struct EnergyMeter3ModuleStruct EnergyMeter3Module_t;
typedef void (*EnergyMeter3ModuleCallback_Type) (const uint8_t* data, uint16_t datalen, uint8_t idFunction, void* ctx);

EnergyMeter3Module_t * EnergyMeter3Module_create();
void EnergyMeter3Module_destroy(EnergyMeter3Module_t *i);

EmodRet EnergyMeter3Module_init( EnergyMeter3Module_t *i, const EnergyMeter3ModuleCallback_Type callback_func = nullptr, void* callback_context = nullptr, const uint8_t variant = 1 );
EmodRet EnergyMeter3Module_configCurrentFullScale( EnergyMeter3Module_t *i, const float full_current_L1, const float full_current_L2, const float full_current_L3 );
EmodRet EnergyMeter3Module_configVoltageFullScale( EnergyMeter3Module_t *i, const float full_voltage_L1, const float full_voltage_L2, const float full_voltage_L3 );
EmodRet EnergyMeter3Module_configWorkMode( EnergyMeter3Module_t *i, const uint16_t mode );
EmodRet EnergyMeter3Module_configMeteringStandard( EnergyMeter3Module_t *i, const uint16_t standard );
EmodRet EnergyMeter3Module_resetAllEnergyMeter( EnergyMeter3Module_t *i );
EmodRet EnergyMeter3Module_getCurrentFullScale( EnergyMeter3Module_t *i, float* full_current_L1, float* full_current_L2, float* full_current_L3 );
EmodRet EnergyMeter3Module_getVoltageFullScale( EnergyMeter3Module_t *i, float* full_voltage_L1, float* full_voltage_L2, float* full_voltage_L3 );
EmodRet EnergyMeter3Module_getWorkMode( EnergyMeter3Module_t *i, uint16_t* mode );
EmodRet EnergyMeter3Module_getMeteringStandard( EnergyMeter3Module_t *i, uint16_t* standard );
EmodRet EnergyMeter3Module_getPowerParameters_L1( EnergyMeter3Module_t *i, PhasePowerParameters* parameters );
EmodRet EnergyMeter3Module_getPowerParameters_L2( EnergyMeter3Module_t *i, PhasePowerParameters* parameters );
EmodRet EnergyMeter3Module_getPowerParameters_L3( EnergyMeter3Module_t *i, PhasePowerParameters* parameters );
EmodRet EnergyMeter3Module_getPowerParameters_L123Combined( EnergyMeter3Module_t *i, CombinedPowerParameters* parameters );
EmodRet EnergyMeter3Module_getEnergyParameters_L1( EnergyMeter3Module_t *i, EnergyParameters* parameters );
EmodRet EnergyMeter3Module_getEnergyParameters_L2( EnergyMeter3Module_t *i, EnergyParameters* parameters );
EmodRet EnergyMeter3Module_getEnergyParameters_L3( EnergyMeter3Module_t *i, EnergyParameters* parameters );
EmodRet EnergyMeter3Module_getEnergyParameters_L123Combined( EnergyMeter3Module_t *i, EnergyParameters* parameters );

// Callback methods
EmodRet EnergyMeter3Module_configEventAtTimeInterval( EnergyMeter3Module_t *i, const uint32_t time_interval );
EmodRet EnergyMeter3Module_EnergyMeter3Module_resetEventConfig( EnergyMeter3Module_t *i );

#ifdef __cplusplus
};
#endif

#endif // ENERGYMETER3_MODULE_H_