Skip to content

Commit 2fd9078

Browse files
committed
Added raw value buffer for ads111x
1 parent b622569 commit 2fd9078

2 files changed

Lines changed: 4 additions & 1 deletion

File tree

Firmware/FFBoard/UserExtensions/Inc/ADS111X.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -103,6 +103,7 @@ class ADS111X_AnalogSource : public ADS111X, public AnalogSource, public Command
103103
uint8_t lastAxis = 0;
104104
uint32_t lastSuccess = 0;
105105
bool differentialMode = false;
106+
std::vector<int32_t> rawbuf;
106107
volatile ADS111X_AnalogSource_state state = ADS111X_AnalogSource_state::none;
107108
};
108109
#endif

Firmware/FFBoard/UserExtensions/Src/ADS111X.cpp

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -293,7 +293,7 @@ void ADS111X_AnalogSource::i2cRxCompleted(I2CPort* port){
293293
if(!differentialMode){
294294
sampleBuffer = (clip<int16_t,int16_t>(sampleBuffer,0,0x7fff) - 0x3fff) * 2 - 1; // Shift because we can't go below GND anyways
295295
}
296-
buf[lastAxis] = (int16_t)sampleBuffer;
296+
rawbuf[lastAxis] = (int16_t)sampleBuffer;
297297
lastAxis++;
298298
state = ADS111X_AnalogSource_state::beginSampling; // Begin next sample or go idle
299299
}
@@ -328,6 +328,7 @@ std::vector<int32_t>* ADS111X_AnalogSource::getAxes(){
328328
state = ADS111X_AnalogSource_state::none;
329329
Notify();
330330
}
331+
buf = rawbuf;
331332
AnalogAxisProcessing::processAxes(buf); // Do processing every call to keep filter samplerate steady
332333
return &this->buf;
333334
}
@@ -336,6 +337,7 @@ void ADS111X_AnalogSource::setAxes(uint8_t axes,bool differential){
336337
differentialMode = differential;
337338
this->axes = clip<uint16_t,uint16_t>(axes,1,differentialMode ? 2 : 4);
338339
this->buf.resize(this->axes,0);
340+
this->rawbuf.resize(this->axes,0);
339341
}
340342

341343
CommandStatus ADS111X_AnalogSource::command(const ParsedCommand& cmd,std::vector<CommandReply>& replies){

0 commit comments

Comments
 (0)