diff options
Diffstat (limited to 'api_layers/firmware/esp32_stringPot/esp32_stringPot.ino')
| -rw-r--r-- | api_layers/firmware/esp32_stringPot/esp32_stringPot.ino | 38 |
1 files changed, 21 insertions, 17 deletions
diff --git a/api_layers/firmware/esp32_stringPot/esp32_stringPot.ino b/api_layers/firmware/esp32_stringPot/esp32_stringPot.ino index 63d4349..236f728 100644 --- a/api_layers/firmware/esp32_stringPot/esp32_stringPot.ino +++ b/api_layers/firmware/esp32_stringPot/esp32_stringPot.ino @@ -36,13 +36,26 @@ */ #include <EEPROM.h> +// EEPROM-persisted configuration +#define EEPROM_SIZE 64 +#define EEPROM_MAGIC 0xC1 + const int sensorPin = A0; const unsigned long sampleInterval = 2000; unsigned long lastSampleTime = 0; -// EEPROM-persisted configuration -#define EEPROM_SIZE 64 -#define EEPROM_MAGIC 0xC1 +// Calibration (mirrors cfg, kept as separate globals for fast access in loop()) +float calibration_factor = 1.0; +float calibration_offset = 0.0; + +// 2nd-order Butterworth low-pass (biquad, direct form II transposed) +const float butterworth_sampleHz = 1000000.0 / sampleInterval; +float butter_b0, butter_b1, butter_b2, butter_a1, butter_a2; +float butter_z1 = 0.0, butter_z2 = 0.0; + +String serialLine; +bool streamingEnabled = true; +bool calibPointSet[2] = {false, false}; struct StoredConfig { uint8_t magic; @@ -58,19 +71,6 @@ StoredConfig cfg = { 0.5 }; -// Calibration (mirrors cfg, kept as separate globals for fast access in loop()) -float calibration_factor = 1.0; -float calibration_offset = 0.0; - -// 2nd-order Butterworth low-pass (biquad, direct form II transposed) -const float butterworth_sampleHz = 1000000.0 / sampleInterval; -float butter_b0, butter_b1, butter_b2, butter_a1, butter_a2; -float butter_z1 = 0.0, butter_z2 = 0.0; - -String serialLine; -bool streamingEnabled = true; -bool calibPointSet[2] = {false, false}; - void setup() { Serial.begin(115200); @@ -93,8 +93,11 @@ void loop() { lastSampleTime = currentTime; float filtered_displacement = butterworthLowPass(readCalibratedPosition()); + float raw_displacement = readCalibratedPosition(); if (streamingEnabled) { - Serial.println(filtered_displacement, 2); + Serial.print(filtered_displacement, 2); + Serial.print(", "); + Serial.println(raw_displacement, 2); } } @@ -231,6 +234,7 @@ void printConfig() { Serial.println(calibration_offset, 6); Serial.print("Butterworth cutoff (Hz):\t"); Serial.println(cfg.butterworth_cutoffHz, 3); + interruptibleDelay(10000); } void printHelp() { |
