25 lines
528 B
C++
25 lines
528 B
C++
|
/** \File SingleAxis.cpp
|
||
|
* \copyright (c) 2025 len0rd
|
||
|
* \date 2025-01-14
|
||
|
*/
|
||
|
#include "SingleAxis.hpp"
|
||
|
|
||
|
LinearSingleAxis::LinearSingleAxis(uint8_t analogPin)
|
||
|
: m_pin{analogPin},
|
||
|
m_cal{
|
||
|
.min = 0,
|
||
|
.max = 1 << 10,
|
||
|
} {}
|
||
|
|
||
|
uint16_t LinearSingleAxis::readRaw() {
|
||
|
return analogRead(m_pin);
|
||
|
}
|
||
|
|
||
|
uint8_t LinearSingleAxis::readPercent() {
|
||
|
return map(readRaw(), m_cal.min, m_cal.max, 0, 100);
|
||
|
}
|
||
|
|
||
|
void LinearSingleAxis::applyCalibration(const LinearAnalogCalibration& cal) {
|
||
|
m_cal = cal;
|
||
|
}
|