diff options
author | Paul Sokolovsky <pfalcon@users.sourceforge.net> | 2015-11-14 16:13:58 +0200 |
---|---|---|
committer | Paul Sokolovsky <pfalcon@users.sourceforge.net> | 2015-11-14 16:14:08 +0200 |
commit | 16d42368a64cca3927ceac26b33015f73d501427 (patch) | |
tree | 55781462f9dd459a2238f4f736c180707a5e52b8 /stmhal/modmachine.c | |
parent | 908f5159cf9f0ef5b07de243a76b6cfab88b3f0f (diff) |
stmhal/modmachine: Initial attempt to add I2C & SPI classes.
In new hardware API, these classes implement master modes of interfaces,
and "mode" parameter is not accepted. Trying to implement new HW API
in terms of older pyb module leaves variuos corner cases:
In new HW API, I2C(1) means "I2C #1 in master mode" (? depends on
interpretation), while in old API, it means "I2C #1, with no settings
changes".
For I2C class, it's easy to make mode optional, because that's last
positional param, but for SPI, there's "baudrate" after it (which
is inconsistent with I2C, which requires "baudrate" to be kwonly-arg).
Diffstat (limited to 'stmhal/modmachine.c')
-rw-r--r-- | stmhal/modmachine.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/stmhal/modmachine.c b/stmhal/modmachine.c index 6a0c4a9fc..c495573fb 100644 --- a/stmhal/modmachine.c +++ b/stmhal/modmachine.c @@ -39,6 +39,8 @@ #include "pin.h" #include "timer.h" #include "usb.h" +#include "i2c.h" +#include "spi.h" // machine.info([dump_alloc_table]) // Print out lots of information about the board. @@ -417,8 +419,12 @@ STATIC const mp_map_elem_t machine_module_globals_table[] = { #if 0 { MP_OBJ_NEW_QSTR(MP_QSTR_RTC), (mp_obj_t)&pyb_rtc_type }, { MP_OBJ_NEW_QSTR(MP_QSTR_ADC), (mp_obj_t)&pyb_adc_type }, +#endif + // TODO: Per new API, both types below, if called with 1 arg (ID), should still + // initialize master mode on the peripheral. { MP_OBJ_NEW_QSTR(MP_QSTR_I2C), (mp_obj_t)&pyb_i2c_type }, { MP_OBJ_NEW_QSTR(MP_QSTR_SPI), (mp_obj_t)&pyb_spi_type }, +#if 0 { MP_OBJ_NEW_QSTR(MP_QSTR_UART), (mp_obj_t)&pyb_uart_type }, { MP_OBJ_NEW_QSTR(MP_QSTR_Timer), (mp_obj_t)&pyb_timer_type }, { MP_OBJ_NEW_QSTR(MP_QSTR_WDT), (mp_obj_t)&pyb_wdt_type }, |