summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorDamien George <damien.p.george@gmail.com>2016-10-03 16:44:34 +1100
committerDamien George <damien.p.george@gmail.com>2016-10-03 16:44:34 +1100
commit077dbf4a86bfab65247b7bc856134539ead7452d (patch)
tree1ac0f6363fc4b6576d395829f6e94c67d413f6ca
parentd434ce3fca088959c4a4bf525b9d730ec9bdb7b4 (diff)
downloadmicropython-077dbf4a86bfab65247b7bc856134539ead7452d.tar.gz
micropython-077dbf4a86bfab65247b7bc856134539ead7452d.zip
stmhal/mphalport: Implement mp_hal_pin_{input,output,write}.
-rw-r--r--stmhal/mphalport.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/stmhal/mphalport.h b/stmhal/mphalport.h
index b155d9616e..7045f30c48 100644
--- a/stmhal/mphalport.h
+++ b/stmhal/mphalport.h
@@ -45,7 +45,10 @@ void mp_hal_set_interrupt_char(int c); // -1 to disable
#include "stmhal/pin.h"
#define mp_hal_pin_obj_t pin_obj_t*
#define mp_hal_get_pin_obj(o) (pin_obj_t*)pin_find(o)
+#define mp_hal_pin_input(p) mp_hal_gpio_config((p)->gpio, (p)->pin, 0, 0, 0)
+#define mp_hal_pin_output(p) mp_hal_gpio_config((p)->gpio, (p)->pin, 1, 0, 0)
#define mp_hal_pin_open_drain(p) mp_hal_gpio_config((p)->gpio, (p)->pin, 5, 0, 0)
#define mp_hal_pin_od_low(p) GPIO_clear_pin((p)->gpio, (p)->pin_mask)
#define mp_hal_pin_od_high(p) GPIO_set_pin((p)->gpio, (p)->pin_mask)
#define mp_hal_pin_read(p) GPIO_read_pin((p)->gpio, (p)->pin)
+#define mp_hal_pin_write(p, v) do { if (v) { GPIO_set_pin((p)->gpio, (p)->pin); } else { GPIO_clear_pin((p)->gpio, (p)->pin); } } while (0)