From bb51ab436367fdabaa7933415ab4444a7cb7720d Mon Sep 17 00:00:00 2001
From: Davide Mor <davide.mor@skywarder.eu>
Date: Fri, 9 Aug 2024 12:29:50 +0200
Subject: [PATCH] [Biscotto] Added expulsion sense pull-up

---
 .../stm32f767zi_lyra_biscotto/interfaces-impl/bsp.cpp |  6 ++++--
 .../interfaces-impl/hwmapping.h                       | 11 +++++------
 2 files changed, 9 insertions(+), 8 deletions(-)

diff --git a/src/bsps/stm32f767zi_lyra_biscotto/interfaces-impl/bsp.cpp b/src/bsps/stm32f767zi_lyra_biscotto/interfaces-impl/bsp.cpp
index 22099866e..ba299ab90 100644
--- a/src/bsps/stm32f767zi_lyra_biscotto/interfaces-impl/bsp.cpp
+++ b/src/bsps/stm32f767zi_lyra_biscotto/interfaces-impl/bsp.cpp
@@ -289,7 +289,6 @@ void IRQbspInit()
 
     interfaces::adcs::adc12in8::mode(Mode::INPUT_ANALOG);
     interfaces::adcs::adc12in9::mode(Mode::INPUT_ANALOG);
-    interfaces::adcs::adc123in11::mode(Mode::INPUT_ANALOG);
 
     sensors::ADS131M08::cs::mode(Mode::OUTPUT);
     sensors::ADS131M08::cs::high();
@@ -331,7 +330,10 @@ void IRQbspInit()
     sense::detachPayload::mode(Mode::INPUT);
     sense::detachMain::mode(Mode::INPUT);
     sense::detachRamp::mode(Mode::INPUT);
-    sense::expulsionSense::mode(Mode::INPUT);
+    // Expulsion needs a pull up due to the way the "forcella" works
+    // It's normally floating, pulling down the line when it feels something
+    sense::expulsionSense::mode(Mode::INPUT_PULL_UP);
+    sense::cutterSense::mode(Mode::INPUT);
 
     gpios::mainDeploy::mode(Mode::OUTPUT);
     gpios::mainDeploy::low();
diff --git a/src/bsps/stm32f767zi_lyra_biscotto/interfaces-impl/hwmapping.h b/src/bsps/stm32f767zi_lyra_biscotto/interfaces-impl/hwmapping.h
index 8ca41066c..499caf94b 100644
--- a/src/bsps/stm32f767zi_lyra_biscotto/interfaces-impl/hwmapping.h
+++ b/src/bsps/stm32f767zi_lyra_biscotto/interfaces-impl/hwmapping.h
@@ -134,9 +134,8 @@ using tim9ch1 = Gpio<GPIOA_BASE, 2>;
 
 namespace adcs
 {
-using adc12in8   = Gpio<GPIOB_BASE, 0>;
-using adc12in9   = Gpio<GPIOB_BASE, 1>;
-using adc123in11 = Gpio<GPIOC_BASE, 1>;
+using adc12in8 = Gpio<GPIOB_BASE, 0>;
+using adc12in9 = Gpio<GPIOB_BASE, 1>;
 }  // namespace adcs
 
 }  // namespace interfaces
@@ -211,9 +210,8 @@ using nrst = Gpio<GPIOE_BASE, 4>;
 
 namespace adcs
 {
-using vbat        = miosix::interfaces::adcs::adc12in8;
-using camVbat     = miosix::interfaces::adcs::adc12in9;
-using cutterSense = miosix::interfaces::adcs::adc123in11;
+using vbat    = miosix::interfaces::adcs::adc12in8;
+using camVbat = miosix::interfaces::adcs::adc12in9;
 }  // namespace adcs
 
 namespace sense
@@ -222,6 +220,7 @@ using detachPayload  = Gpio<GPIOC_BASE, 3>;
 using detachMain     = Gpio<GPIOA_BASE, 4>;
 using detachRamp     = Gpio<GPIOB_BASE, 11>;
 using expulsionSense = Gpio<GPIOA_BASE, 3>;
+using cutterSense    = Gpio<GPIOC_BASE, 1>;
 }  // namespace sense
 
 namespace gpios
-- 
GitLab