summaryrefslogtreecommitdiff
path: root/esp8266/modpyb.h
diff options
context:
space:
mode:
authorDamien George <damien.p.george@gmail.com>2016-02-11 11:41:58 +0000
committerPaul Sokolovsky <pfalcon@users.sourceforge.net>2016-03-24 11:07:41 +0200
commit7059c8c23c85f91475a40cf9af2563df144b0f64 (patch)
tree3add59c37ab0d4e8cceb1043bca697ff3b280ad7 /esp8266/modpyb.h
parenta1d072df81396349cdb949333e4aad2df1eda306 (diff)
esp8266: Expose pin object as a public structure for use as C pin API.
This is an initial attempt at making a simple C pin API for writing things like I2C drivers in C.
Diffstat (limited to 'esp8266/modpyb.h')
-rw-r--r--esp8266/modpyb.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/esp8266/modpyb.h b/esp8266/modpyb.h
index e4eaacbb2..095bc019b 100644
--- a/esp8266/modpyb.h
+++ b/esp8266/modpyb.h
@@ -2,6 +2,15 @@ extern const mp_obj_type_t pyb_pin_type;
extern const mp_obj_type_t pyb_adc_type;
extern const mp_obj_type_t pyb_rtc_type;
+typedef struct _pyb_pin_obj_t {
+ mp_obj_base_t base;
+ uint16_t pin_id;
+ uint16_t phys_port;
+ uint32_t periph;
+ uint16_t func;
+} pyb_pin_obj_t;
+
uint mp_obj_get_pin(mp_obj_t pin_in);
+pyb_pin_obj_t *mp_obj_get_pin_obj(mp_obj_t pin_in);
int pin_get(uint pin);
void pin_set(uint pin, int value);