Program Listing for File LevelMeter6_3Module.hpp¶
↰ Return to documentation for file (/home/asunye/wd/dev/emod_docs/emod_controller/build_x86/install/include/LevelMeter6_3Module.hpp
)
#ifndef LEVELMETER6_3MODULE_HPP_
#define LEVELMETER6_3MODULE_HPP
#include "Module.hpp"
#include "LevelMeterParameters.hpp"
// Forward declaration
class LevelMeterFunctions;
class AnalogInputFunctions;
typedef void (*LevelMeter6_3ModuleCallback_Type) (const uint8_t meter_num, const uint8_t new_status, void* const ctx);
class LevelMeter6_3Module : public Module
{
friend class LevelMeter6_3Napi;
protected:
LevelMeterFunctions* levelMeters;
static void rawControllerCallback(const uint8_t* data, const uint16_t data_len, const uint8_t id_function, void* const ctx);
LevelMeter6_3ModuleCallback_Type callback;
std::vector<int> callback_input_status;
EmodRet initFunctions();
public:
// Constants
static constexpr int kNumResistiveSensors = 6;
static constexpr int kNumCurrentSensors = 3;
static constexpr int kNumAnalogInputs = 1;
// Constructor, destructor and init methods
LevelMeter6_3Module();
~LevelMeter6_3Module();
EmodRet init( const LevelMeter6_3ModuleCallback_Type callback_func = nullptr, void* const callback_context = nullptr, const uint8_t variant = 1 );
EmodRet init( const uint8_t variant );
EmodRet setResistiveSensorThreshold( const uint8_t meter_num,
const DetectResistance detect_resistance,
const RefillResistance refill_resistance );
EmodRet setAllResistiveSensorThreshold( const DetectResistance detect_resistance,
const RefillResistance refill_resistance );
EmodRet setCurrentSensorType( const uint8_t meter_num, const LevelMeterType type );
EmodRet setAllCurrentSensorType( const LevelMeterType type );
EmodRet getLevelStatus( const uint16_t meter_num, uint8_t* status );
EmodRet getAllLevelStatus( uint8_t status[kNumResistiveSensors + kNumCurrentSensors + 1] );
EmodRet getAnalogInputCurrent( float* data );
EmodRet configEventOnNewData();
EmodRet resetEventConfig( void );
};
#endif // LEVELMETER6_3MODULE_HPP