aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGabriel Hart2022-04-13 10:13:45 -0500
committerGabriel Hart2022-04-13 10:13:45 -0500
commit7d383475d5b7c0edaabce3665dd880425d51a24d (patch)
tree229ab9ae0d045bb30791f8cdd58aa3a2bc301c9a
parentAdded FUSES section to SP10 Pro for building ELF file with BOD Active fuse se... (diff)
downloadanduril-7d383475d5b7c0edaabce3665dd880425d51a24d.tar.gz
anduril-7d383475d5b7c0edaabce3665dd880425d51a24d.tar.bz2
anduril-7d383475d5b7c0edaabce3665dd880425d51a24d.zip
Created LED_DISABLE_DELAY option and enabled it for SP10 Pro to hopefully eliminate flashes when turning off at certain levels
Diffstat (limited to '')
-rw-r--r--hwdef-Sofirn_SP10-Pro.h1
-rw-r--r--spaghetti-monster/anduril/version.h2
-rw-r--r--spaghetti-monster/fsm-ramping.c4
3 files changed, 6 insertions, 1 deletions
diff --git a/hwdef-Sofirn_SP10-Pro.h b/hwdef-Sofirn_SP10-Pro.h
index aea46e1..7d0d7f5 100644
--- a/hwdef-Sofirn_SP10-Pro.h
+++ b/hwdef-Sofirn_SP10-Pro.h
@@ -53,6 +53,7 @@ PA1 : Boost Enable
#define LED_ENABLE_PIN PIN1_bp
#define LED_ENABLE_PORT PORTA_OUT
+#define LED_DISABLE_DELAY 4
#define USE_VOLTAGE_DIVIDER // use a dedicated pin, not VCC, because VCC input is flattened
#define DUAL_VOLTAGE_FLOOR 21 // for AA/14500 boost drivers, don't indicate low voltage if below this level
diff --git a/spaghetti-monster/anduril/version.h b/spaghetti-monster/anduril/version.h
index 9f811f4..4e20d1d 100644
--- a/spaghetti-monster/anduril/version.h
+++ b/spaghetti-monster/anduril/version.h
@@ -1 +1 @@
-#define VERSION_NUMBER "20220411"
+#define VERSION_NUMBER "20220413"
diff --git a/spaghetti-monster/fsm-ramping.c b/spaghetti-monster/fsm-ramping.c
index 1f575fd..2e6901d 100644
--- a/spaghetti-monster/fsm-ramping.c
+++ b/spaghetti-monster/fsm-ramping.c
@@ -93,6 +93,10 @@ void set_level(uint8_t level) {
TINT1_LVL = 0;
TINT2_LVL = 0;
#endif
+ // for drivers with a slow regulator chip (eg, boost converter, delay before turning off to prevent flashes
+ #ifdef LED_DISABLE_DELAY
+ delay_4ms(LED_DISABLE_DELAY/4);
+ #endif
// disable the power channel, if relevant
#ifdef LED_ENABLE_PIN
LED_ENABLE_PORT &= ~(1 << LED_ENABLE_PIN);