Files
miliohm_meter/MilliOhmMeter_FW/src/gain_control.h

54 lines
913 B
C++

#pragma once
#include "Arduino.h"
#include "measure_mode.h"
#include "board.h"
#include <vector>
#define UCCONTROLIO 6
class c_gainControl
{
const e_measureMode _mode;
bool _uc[UCCONTROLIO];
uint8_t _ucPin[UCCONTROLIO] = {UC01, UC02, UC03, UC04, UC05, UC06};
bool state = false;
public:
c_gainControl(e_measureMode mode, bool uc01, bool uc02, bool uc03, bool uc04, bool uc05, bool uc06) : _mode(mode)
{
_uc[0] = uc01;
_uc[1] = uc02;
_uc[02] = uc03;
_uc[03] = uc04;
_uc[04] = uc05;
_uc[05] = uc06;
}
void activate(void)
{
for(int i = 0; i < UCCONTROLIO-1;i++)
{
digitalWrite(_ucPin[i], _uc[i]);
}
state = true;
}
void deactivate(void)
{
state = false;
}
e_measureMode getMode(void)
{
return _mode;
}
};
void initGainControl(void);
void handleGainControl(void);
void resetGain(void);
bool setGain(e_measureMode mode);