summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
-rw-r--r--stm/led.c46
-rw-r--r--stm/usrsw.c7
2 files changed, 28 insertions, 25 deletions
diff --git a/stm/led.c b/stm/led.c
index 044a91f0c1..1692eaea74 100644
--- a/stm/led.c
+++ b/stm/led.c
@@ -8,10 +8,10 @@
#include "led.h"
/* LED numbers, used internally */
-#define PYB_LED_1 (1)
-#define PYB_LED_2 (2)
-#define PYB_LED_3 (3)
-#define PYB_LED_4 (4)
+#define PYB_LED_1 (0)
+#define PYB_LED_2 (1)
+#define PYB_LED_3 (2)
+#define PYB_LED_4 (3)
#if defined(PYBOARD)
#define PYB_LED1_PORT (GPIOA)
@@ -86,22 +86,22 @@ void led_state(pyb_led_t led, int state) {
switch (led) {
case PYB_LED_1:
- pin = PYB_LED1_PIN;
- port = PYB_LED1_PORT;
+ pin = PYB_LED1_PIN;
+ port = PYB_LED1_PORT;
break;
case PYB_LED_2:
- pin = PYB_LED2_PIN;
- port = PYB_LED2_PORT;
+ pin = PYB_LED2_PIN;
+ port = PYB_LED2_PORT;
break;
case PYB_LED_3:
- pin = PYB_LED3_PIN;
- port = PYB_LED3_PORT;
+ pin = PYB_LED3_PIN;
+ port = PYB_LED3_PORT;
break;
case PYB_LED_4:
- pin = PYB_LED4_PIN;
- port = PYB_LED4_PORT;
+ pin = PYB_LED4_PIN;
+ port = PYB_LED4_PORT;
break;
- default:
+ default:
return;
}
@@ -120,27 +120,27 @@ void led_toggle(pyb_led_t led) {
switch (led) {
case PYB_LED_1:
- pin = PYB_LED1_PIN;
- port = PYB_LED1_PORT;
+ pin = PYB_LED1_PIN;
+ port = PYB_LED1_PORT;
break;
case PYB_LED_2:
- pin = PYB_LED2_PIN;
- port = PYB_LED2_PORT;
+ pin = PYB_LED2_PIN;
+ port = PYB_LED2_PORT;
break;
case PYB_LED_3:
- pin = PYB_LED3_PIN;
- port = PYB_LED3_PORT;
+ pin = PYB_LED3_PIN;
+ port = PYB_LED3_PORT;
break;
case PYB_LED_4:
- pin = PYB_LED4_PIN;
- port = PYB_LED4_PORT;
+ pin = PYB_LED4_PIN;
+ port = PYB_LED4_PORT;
break;
- default:
+ default:
return;
}
if (!(port->ODR & pin)) {
- // turn LED off
+ // turn LED off
PYB_LED_OFF(port, pin);
} else {
// turn LED on (output low)
diff --git a/stm/usrsw.c b/stm/usrsw.c
index 1feb271733..9d1ee50ffb 100644
--- a/stm/usrsw.c
+++ b/stm/usrsw.c
@@ -12,6 +12,7 @@
#if defined (PYBOARD)
#define USRSW_PORT (GPIOA)
#define USRSW_PIN (GPIO_Pin_13)
+ #define USRSW_PUPD (GPIO_PuPd_UP)
#define USRSW_EXTI_PIN (EXTI_PinSource13)
#define USRSW_EXTI_PORT (EXTI_PortSourceGPIOA)
#define USRSW_EXTI_LINE (EXTI_Line13)
@@ -20,18 +21,20 @@
#elif defined (STM32F4DISC)
#define USRSW_PORT (GPIOA)
#define USRSW_PIN (GPIO_Pin_0)
+ #define USRSW_PUPD (GPIO_PuPd_NOPULL)
#define USRSW_EXTI_PIN (EXTI_PinSource0)
#define USRSW_EXTI_PORT (EXTI_PortSourceGPIOA)
#define USRSW_EXTI_LINE (EXTI_Line0)
#define USRSW_EXTI_IRQN (EXTI0_IRQn)
#define USRSW_EXTI_EDGE (EXTI_Trigger_Falling)
-#endif
+#endif
+
void switch_init(void) {
// make it an input with pull-up
GPIO_InitTypeDef GPIO_InitStructure;
GPIO_InitStructure.GPIO_Pin = USRSW_PIN;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN;
- GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL; /* allow external pull up/down */
+ GPIO_InitStructure.GPIO_PuPd = USRSW_PUPD;
GPIO_Init(USRSW_PORT, &GPIO_InitStructure);
// the rest does the EXTI interrupt