8#ifndef SRC_ANALOGAXISPROCESSING_H_
9#define SRC_ANALOGAXISPROCESSING_H_
27 int32_t
max = -0x7fff;
60 for(uint8_t i = 0; i < std::min<uint32_t>(size, this->
axisAmount); i++){
61 uint16_t bufMin,bufMax;
62 if(
Flash_Read(minMaxAddresses[i].first, &bufMin) &&
Flash_Read(minMaxAddresses[i].second, &bufMax)){
73 void saveMinMaxValues(
const std::array<std::pair<uint16_t,uint16_t>,size>& minMaxAddresses){
77 for(uint8_t i = 0; i < std::min<uint32_t>(size, this->
axisAmount); i++){
AnalogProcessingConfig conf
std::vector< int32_t > rawValues
std::vector< MinMaxPair > minMaxVals
const uint32_t waitFilterSamples
const uint32_t axisAmount
void saveMinMaxValues(const std::array< std::pair< uint16_t, uint16_t >, size > &minMaxAddresses)
AnalogAxisProcessing(const uint32_t axisAmount, AnalogSource *analogSource, CommandHandler *cmdHandler=nullptr, bool allowFilters=true, bool allowAutoscale=true, bool allowRawValues=false, bool allowManualScale=false)
void processAxes(std::vector< int32_t > &buf)
static AnalogProcessingConfig decodeAnalogProcessingConfFromInt(uint16_t val)
AnalogProcessingConfig & getAnalogProcessingConfig()
CommandStatus command(const ParsedCommand &cmd, std::vector< CommandReply > &replies)
void restoreMinMaxValues(const std::array< std::pair< uint16_t, uint16_t >, size > &minMaxAddresses)
AnalogSource * analogSource
static uint16_t encodeAnalogProcessingConfToInt(AnalogProcessingConfig &conf)
std::vector< Biquad > filters
virtual ~AnalogAxisProcessing()
const struct AnalogAxisProcessing::AnalogProcessingMode modes
AnalogAxisProcessing_commands
void setAnalogProcessingConfig(AnalogProcessingConfig conf)
bool Flash_Write(uint16_t adr, uint16_t dat)
bool Flash_Read(uint16_t adr, uint16_t *buf, bool checkempty=true)