From 6618f35f7d874082fde64678715ce25b670e8ce2 Mon Sep 17 00:00:00 2001 From: pyr0ball Date: Wed, 25 Sep 2019 13:18:47 -0700 Subject: [PATCH] restructured AVR firmware directory for vscode/PIO #changelog --- .../{ => src}/LightChrono.cpp | 0 .../{ => src}/LightChrono.h | 0 .../Pyr0_Piezo_Sensor_V2.x.x.cpp} | 0 .../src/pP_config.cpp | 80 +++++++++++++++++++ .../{ => src}/pP_config.h | 0 .../{ => src}/pP_function.h | 0 .../{ => src}/pP_i2c.cpp | 0 .../{ => src}/pP_i2c.h | 0 .../{ => src}/pP_pins.h | 0 .../{ => src}/pP_serial.h | 0 .../{ => src}/pP_volatile.h | 0 11 files changed, 80 insertions(+) rename firmware/AVR-Source/Pyr0_Piezo_Sensor_v2.x.x/{ => src}/LightChrono.cpp (100%) rename firmware/AVR-Source/Pyr0_Piezo_Sensor_v2.x.x/{ => src}/LightChrono.h (100%) rename firmware/AVR-Source/Pyr0_Piezo_Sensor_v2.x.x/{Pyr0_Piezo_Sensor_v2.x.x.ino => src/Pyr0_Piezo_Sensor_V2.x.x.cpp} (100%) create mode 100644 firmware/AVR-Source/Pyr0_Piezo_Sensor_v2.x.x/src/pP_config.cpp rename firmware/AVR-Source/Pyr0_Piezo_Sensor_v2.x.x/{ => src}/pP_config.h (100%) rename firmware/AVR-Source/Pyr0_Piezo_Sensor_v2.x.x/{ => src}/pP_function.h (100%) rename firmware/AVR-Source/Pyr0_Piezo_Sensor_v2.x.x/{ => src}/pP_i2c.cpp (100%) rename firmware/AVR-Source/Pyr0_Piezo_Sensor_v2.x.x/{ => src}/pP_i2c.h (100%) rename firmware/AVR-Source/Pyr0_Piezo_Sensor_v2.x.x/{ => src}/pP_pins.h (100%) rename firmware/AVR-Source/Pyr0_Piezo_Sensor_v2.x.x/{ => src}/pP_serial.h (100%) rename firmware/AVR-Source/Pyr0_Piezo_Sensor_v2.x.x/{ => src}/pP_volatile.h (100%) diff --git a/firmware/AVR-Source/Pyr0_Piezo_Sensor_v2.x.x/LightChrono.cpp b/firmware/AVR-Source/Pyr0_Piezo_Sensor_v2.x.x/src/LightChrono.cpp similarity index 100% rename from firmware/AVR-Source/Pyr0_Piezo_Sensor_v2.x.x/LightChrono.cpp rename to firmware/AVR-Source/Pyr0_Piezo_Sensor_v2.x.x/src/LightChrono.cpp diff --git a/firmware/AVR-Source/Pyr0_Piezo_Sensor_v2.x.x/LightChrono.h b/firmware/AVR-Source/Pyr0_Piezo_Sensor_v2.x.x/src/LightChrono.h similarity index 100% rename from firmware/AVR-Source/Pyr0_Piezo_Sensor_v2.x.x/LightChrono.h rename to firmware/AVR-Source/Pyr0_Piezo_Sensor_v2.x.x/src/LightChrono.h diff --git a/firmware/AVR-Source/Pyr0_Piezo_Sensor_v2.x.x/Pyr0_Piezo_Sensor_v2.x.x.ino b/firmware/AVR-Source/Pyr0_Piezo_Sensor_v2.x.x/src/Pyr0_Piezo_Sensor_V2.x.x.cpp similarity index 100% rename from firmware/AVR-Source/Pyr0_Piezo_Sensor_v2.x.x/Pyr0_Piezo_Sensor_v2.x.x.ino rename to firmware/AVR-Source/Pyr0_Piezo_Sensor_v2.x.x/src/Pyr0_Piezo_Sensor_V2.x.x.cpp diff --git a/firmware/AVR-Source/Pyr0_Piezo_Sensor_v2.x.x/src/pP_config.cpp b/firmware/AVR-Source/Pyr0_Piezo_Sensor_v2.x.x/src/pP_config.cpp new file mode 100644 index 0000000..b2909b4 --- /dev/null +++ b/firmware/AVR-Source/Pyr0_Piezo_Sensor_v2.x.x/src/pP_config.cpp @@ -0,0 +1,80 @@ +#include "pP_config.h" +#include + +int GAIN_FACTOR = GAIN_FACTOR_DEFAULT; // Gain adjustment factor. 0=3x, 1=3.5x, 2=4.33x, 3=6x, 4=11x +int followerThrs = FOLLOWER_THRESHOLD_DEFAULT; +int compThrs = COMP_THRESHOLD_DEFAULT; +int LOOP_DUR = LOOP_DUR_DEFAULT; // duration of time between ADC checks and other loop functions +int TRG_DUR = TRG_DUR_DEFAULT; // duration of the Z-axis pulse sent, in ms +int Hyst = HYST_DEFAULT; // Hysteresis value for ADC measurements +int Debug = 0; +long voltMeterConstant = 1125300L; // For fine tuning input voltage sense +#ifdef I2C_INPUT + byte pP_i2c_address = 0xa0; // I2C Bus Address +#endif + +void resetEEPROM() { + resetConfig(); + EEPROM.put(GAIN_FACTOR_ADDRESS, GAIN_FACTOR); + EEPROM.put(FOLLOWER_THRESHOLD_ADDRESS, followerThrs); + EEPROM.put(COMP_THRESHOLD_ADDRESS, compThrs); + EEPROM.put(LOOP_DUR_ADDRESS, LOOP_DUR); + EEPROM.put(TRG_DUR_ADDRESS, TRG_DUR); + EEPROM.put(HYST_ADDRESS, Hyst); +} + +// Restore config from EEPROM, otherwise reset config and write to EEPROM +void restoreConfig() { + int temp; + + EEPROM.get(GAIN_FACTOR_ADDRESS, temp); + if (temp < 0 || temp > 4) { + resetEEPROM(); + } else { + GAIN_FACTOR = temp; + } + + EEPROM.get(FOLLOWER_THRESHOLD_ADDRESS, temp); + if (temp < 0 || temp > 5000) { + resetEEPROM(); + } else { + followerThrs = temp; + } + + EEPROM.get(COMP_THRESHOLD_ADDRESS, temp); + if (temp < 0 || temp > 5000) { + resetEEPROM(); + } else { + compThrs = temp; + } + + EEPROM.get(LOOP_DUR_ADDRESS, temp); + if (temp < 0 && temp > 1000) { + resetEEPROM(); + } else { + LOOP_DUR = temp; + } + + EEPROM.get(TRG_DUR_ADDRESS, temp); + if (temp < 0 || temp > 1000) { + resetEEPROM(); + } else { + TRG_DUR = temp; + } + + EEPROM.get(HYST_ADDRESS, temp); + if (temp < 0 || temp > 1000) { + resetEEPROM(); + } else { + Hyst = temp; + } +} + +void resetConfig() { + GAIN_FACTOR = GAIN_FACTOR_DEFAULT; + followerThrs = FOLLOWER_THRESHOLD_DEFAULT; + compThrs = COMP_THRESHOLD_DEFAULT; + LOOP_DUR = LOOP_DUR_DEFAULT; + TRG_DUR = TRG_DUR_DEFAULT; + Hyst = HYST_DEFAULT; +} \ No newline at end of file diff --git a/firmware/AVR-Source/Pyr0_Piezo_Sensor_v2.x.x/pP_config.h b/firmware/AVR-Source/Pyr0_Piezo_Sensor_v2.x.x/src/pP_config.h similarity index 100% rename from firmware/AVR-Source/Pyr0_Piezo_Sensor_v2.x.x/pP_config.h rename to firmware/AVR-Source/Pyr0_Piezo_Sensor_v2.x.x/src/pP_config.h diff --git a/firmware/AVR-Source/Pyr0_Piezo_Sensor_v2.x.x/pP_function.h b/firmware/AVR-Source/Pyr0_Piezo_Sensor_v2.x.x/src/pP_function.h similarity index 100% rename from firmware/AVR-Source/Pyr0_Piezo_Sensor_v2.x.x/pP_function.h rename to firmware/AVR-Source/Pyr0_Piezo_Sensor_v2.x.x/src/pP_function.h diff --git a/firmware/AVR-Source/Pyr0_Piezo_Sensor_v2.x.x/pP_i2c.cpp b/firmware/AVR-Source/Pyr0_Piezo_Sensor_v2.x.x/src/pP_i2c.cpp similarity index 100% rename from firmware/AVR-Source/Pyr0_Piezo_Sensor_v2.x.x/pP_i2c.cpp rename to firmware/AVR-Source/Pyr0_Piezo_Sensor_v2.x.x/src/pP_i2c.cpp diff --git a/firmware/AVR-Source/Pyr0_Piezo_Sensor_v2.x.x/pP_i2c.h b/firmware/AVR-Source/Pyr0_Piezo_Sensor_v2.x.x/src/pP_i2c.h similarity index 100% rename from firmware/AVR-Source/Pyr0_Piezo_Sensor_v2.x.x/pP_i2c.h rename to firmware/AVR-Source/Pyr0_Piezo_Sensor_v2.x.x/src/pP_i2c.h diff --git a/firmware/AVR-Source/Pyr0_Piezo_Sensor_v2.x.x/pP_pins.h b/firmware/AVR-Source/Pyr0_Piezo_Sensor_v2.x.x/src/pP_pins.h similarity index 100% rename from firmware/AVR-Source/Pyr0_Piezo_Sensor_v2.x.x/pP_pins.h rename to firmware/AVR-Source/Pyr0_Piezo_Sensor_v2.x.x/src/pP_pins.h diff --git a/firmware/AVR-Source/Pyr0_Piezo_Sensor_v2.x.x/pP_serial.h b/firmware/AVR-Source/Pyr0_Piezo_Sensor_v2.x.x/src/pP_serial.h similarity index 100% rename from firmware/AVR-Source/Pyr0_Piezo_Sensor_v2.x.x/pP_serial.h rename to firmware/AVR-Source/Pyr0_Piezo_Sensor_v2.x.x/src/pP_serial.h diff --git a/firmware/AVR-Source/Pyr0_Piezo_Sensor_v2.x.x/pP_volatile.h b/firmware/AVR-Source/Pyr0_Piezo_Sensor_v2.x.x/src/pP_volatile.h similarity index 100% rename from firmware/AVR-Source/Pyr0_Piezo_Sensor_v2.x.x/pP_volatile.h rename to firmware/AVR-Source/Pyr0_Piezo_Sensor_v2.x.x/src/pP_volatile.h