summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--firmware/target/arm/as3525/sansa-clipv2/button-clip.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/firmware/target/arm/as3525/sansa-clipv2/button-clip.c b/firmware/target/arm/as3525/sansa-clipv2/button-clip.c
index c14d67c..1356bfb 100644
--- a/firmware/target/arm/as3525/sansa-clipv2/button-clip.c
+++ b/firmware/target/arm/as3525/sansa-clipv2/button-clip.c
@@ -130,8 +130,19 @@ bool button_hold(void)
#ifndef BOOTLOADER
static bool hold_button_old = false;
#endif
+
+ GPIOA_DIR |= 1<<7;
+ GPIOA_PIN(7) = 1<<7;
+
+ int delay = 50;
+ while(delay--)
+ asm("nop");
+
bool hold_button = (GPIOA_PIN(3) != 0);
+ GPIOA_PIN(7) = 0;
+ GPIOA_DIR &= ~(1<<7);
+
#ifndef BOOTLOADER
/* light handling */
if (hold_button != hold_button_old)