]> git.earman.xyz Git - sensor-watch.git/commitdiff
bump gossamer commit
authorjoeycastillo <joeycastillo@utexas.edu>
Mon, 7 Oct 2024 12:00:32 +0000 (08:00 -0400)
committerjoeycastillo <joeycastillo@utexas.edu>
Mon, 7 Oct 2024 12:00:32 +0000 (08:00 -0400)
gossamer
watch-library/simulator/watch/watch_extint.c
watch-library/simulator/watch/watch_gpio.c

index 17d34e56b7e34405ceb7e3512bd4f26d8b8c22f7..df3f69ed6ac8fc45b66385f3cae1517adcdca9ad 160000 (submodule)
--- a/gossamer
+++ b/gossamer
@@ -1 +1 @@
-Subproject commit 17d34e56b7e34405ceb7e3512bd4f26d8b8c22f7
+Subproject commit df3f69ed6ac8fc45b66385f3cae1517adcdca9ad
index 4c0dc7c02d9749b9984957f526c7eaf74119de36..55671b68c481af5e1fac5b55c66c4fe2f07adc5a 100644 (file)
@@ -153,20 +153,21 @@ void watch_disable_external_interrupts(void) {
 static EM_BOOL watch_invoke_interrupt_callback(const uint8_t button_id, eic_interrupt_trigger_t event) {
     watch_cb_t callback;
     eic_interrupt_trigger_t trigger;
-    uint8_t pin;
+    const bool level = (event & INTERRUPT_TRIGGER_RISING) != 0;
+
     switch (button_id) {
         case BTN_ID_MODE:
-            pin = HAL_GPIO_BTN_MODE_pin();
+            HAL_GPIO_BTN_MODE_write(level);
             callback = external_interrupt_mode_callback;
             trigger = external_interrupt_mode_trigger;
             break;
         case BTN_ID_LIGHT:
-            pin = HAL_GPIO_BTN_LIGHT_pin();
+            HAL_GPIO_BTN_LIGHT_write(level);
             callback = external_interrupt_light_callback;
             trigger = external_interrupt_light_trigger;
             break;
         case BTN_ID_ALARM:
-            pin = HAL_GPIO_BTN_ALARM_pin();
+            HAL_GPIO_BTN_ALARM_write(level);
             callback = external_interrupt_alarm_callback;
             trigger = external_interrupt_alarm_trigger;
             break;
@@ -174,7 +175,6 @@ static EM_BOOL watch_invoke_interrupt_callback(const uint8_t button_id, eic_inte
             return EM_FALSE;
     }
 
-    const bool level = (event & INTERRUPT_TRIGGER_RISING) != 0;
     EM_ASM({
         const classList = document.querySelector('#btn' + $0).classList;
         const highlight = 'highlight';
@@ -185,8 +185,6 @@ static EM_BOOL watch_invoke_interrupt_callback(const uint8_t button_id, eic_inte
         return EM_FALSE;
     }
 
-    watch_set_pin_level(pin, level);
-
     if (callback && (event & trigger) != 0) {
         callback();
         resume_main_loop();
index 4bea2c11ffb93427c4c5cdd2b87d591991a778fb..28cb71c01d38654b098e2e8f77dac9146da25b68 100644 (file)
@@ -24,8 +24,6 @@
 
 #include "watch_gpio.h"
 
-static bool pin_levels[UINT8_MAX];
-
 void watch_enable_digital_input(const uint8_t pin) {}
 
 void watch_disable_digital_input(const uint8_t pin) {}
@@ -35,7 +33,8 @@ void watch_enable_pull_up(const uint8_t pin) {}
 void watch_enable_pull_down(const uint8_t pin) {}
 
 bool watch_get_pin_level(const uint8_t pin) {
-    return pin_levels[pin];
+    /// WARNING: Pin levels are now tracked in gossamer. This function has been deprecated and will be removed in a future release.
+    return 0;
 }
 
 void watch_enable_digital_output(const uint8_t pin) {}
@@ -43,5 +42,4 @@ void watch_enable_digital_output(const uint8_t pin) {}
 void watch_disable_digital_output(const uint8_t pin) {}
 
 void watch_set_pin_level(const uint8_t pin, const bool level) {
-    pin_levels[pin] = level;
 }