7#include "Loom_Manager.h"
17 AnalogMapping(
int pinNumber,
const char* name,
float analog,
float analog_mv){
18 this->pinNumber = pinNumber;
20 this->analog = analog;
21 this->analog_mv = analog_mv;
33 void power_up()
override {};
34 void power_down()
override {};
35 void initialize()
override {};
40 void measure()
override;
41 void package()
override;
49 template<
typename T,
typename... Args>
51 get_variadic_parameters(firstPin, additionalPins...);
56 analogReadResolution(12);
69 pinMappings.push_back(
new AnalogMapping(firstPin, pinNumberToName(firstPin), 0, 0));
74 analogReadResolution(12);
89 analogReadResolution(12);
104 float getMV(
int pin);
120 T get_variadic_parameters(T v) {
122 pinMappings.push_back(
new AnalogMapping(v, pinNumberToName(v), 0, 0));
126 template<
typename T,
typename... Args>
127 T get_variadic_parameters(T first, Args... args) {
128 pinMappings.push_back(
new AnalogMapping(first, pinNumberToName(first), 0, 0));
129 return get_variadic_parameters(args...);
132 float analogToMV(
int analog);
133 char* pinNumberToName(
int pin);
136 std::vector<AnalogMapping*> pinMappings;
Definition: Loom_Analog.h:30
float getAnalog(int pin)
Definition: Loom_Analog.cpp:82
Loom_Analog(Manager &man)
Definition: Loom_Analog.h:84
float getBatteryVoltage()
Definition: Loom_Analog.cpp:45
Loom_Analog(Manager &man, T firstPin)
Definition: Loom_Analog.h:68
Loom_Analog(Manager &man, T firstPin, Args... additionalPins)
Definition: Loom_Analog.h:50
float getMV(int pin)
Definition: Loom_Analog.cpp:72
Definition: Loom_Manager.h:18
void registerModule(Module *module)
Definition: Loom_Manager.cpp:13
Definition: Loom_Analog.h:10