Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
TASTE
uPython-mirror
Commits
6b0b4a0c
Commit
6b0b4a0c
authored
Jan 05, 2014
by
Damien George
Browse files
stm: pull-up usr switch on pyboard (fixes regression).
parent
568a6c9d
Changes
2
Hide whitespace changes
Inline
Side-by-side
stm/led.c
View file @
6b0b4a0c
...
...
@@ -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)
...
...
stm/usrsw.c
View file @
6b0b4a0c
...
...
@@ -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
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment