Commit Graph

18 Commits

Author SHA1 Message Date
Phil Howard 77a5edc83f MicroPython: Update to support new slots mp_obj_type_t.
Follows the lead from: 662b9761b3

Update to support MP_DEFINE_CONST_OBJ_TYPE with backwards compatibility.
2023-01-11 09:46:45 +00:00
Phil Howard 6a3ba0d421 MicroPython: Shim MP_REGISTER_MODULE for >1.18 compat.
MicroPython has changed MP_REGISTER_MODULE to use only *two* args and now runs the preprocessing stage on files before running makemoduledefs.py.

This change avoids the build exploding, since the new regex matches the last two args as a single argument and generates a malformed module defs include.

The pattern here exploits the fact that 1.18 and below do not preprocess files, so *both* MP_REGISTER_MODULE lines are included in the source, but *only* the three arg version is matched by regex.

In >1.18 the files will be processed and the three arg version removed before makemoduledefs.py processes it.
2022-06-14 12:08:47 +01:00
Phil Howard a9eb58a3ce MicroPython: Fix Class name QSTRs. 2022-06-13 20:06:39 +01:00
Phil Howard ff5d175eb2 AS7262: Optimize function types. Saves 600 bytes. 2022-06-13 19:21:21 +01:00
Phil Howard 8d638e2744 MicroPython: Drop redundant Print. Saves 4K. 2022-06-13 18:59:51 +01:00
Phil Howard bc0390b86c MicroPython: Use placement new to alloc classes on GC_HEAP 2022-05-23 15:34:49 +01:00
Phil Howard 1feefde00c MicroPython: Promote machine.I2C() to PimoroniI2C.
Create a new PimoroniI2C object internally if a "machine.I2C()" object is supplied in constructors.
2022-05-18 13:20:33 +01:00
Phil Howard 225d5e024f Append CMAKE_MODULE_PATHs to simplify micropython.cmake, drop .mk files
This change appends the list dir and project root dir to CMAKE_MODULE_PATH so that it doesn't need prepended to each "include" directive.

All .mk files have been deleted, since these are completely redundant.
2021-05-21 11:34:52 +01:00
Phil Howard 66f6983290 Port remaining modules to PimoroniI2C, update examples 2021-05-18 11:18:41 +01:00
Phil Howard 77839e2a6a Tidy up constructors, drop unused variables, const single addr
Removes i2c_inst_t from constructors since it's ignored, and updated the Python bindings not to supply this argument. Instance is inferred from the supplied pins.
2021-05-17 14:50:49 +01:00
Phil Howard 445737088f Switch drivers over to I2C class, tidy up common include
Removes all driver-specific SDA/SCL pin definitions and defaults.
Pin type is "uint" everywhere, but "PIN_UNUSED" is *int*_max for MicroPython compat. That's still a lot of pins!
Adds baudrate to the I2C class, and allows a driver (like Trackball) to check the baudrate is supported
2021-05-17 11:46:12 +01:00
ZodiusInfuser 1ee5101826 Fix for i2c select 2021-05-14 18:00:26 +01:00
ZodiusInfuser f2ee2a4f8d Better solution to keywords and constructors. Just for I2C for now 2021-05-14 17:14:07 +01:00
ZodiusInfuser 8cbc290de2 Fix for keyworks not always working in MP class constructors of breakouts (and removed some whitespaces) 2021-05-14 14:30:08 +01:00
Phil Howard 37cac5940b Remove relative include paths
This change removes file-relative include paths and adds the project root as a global include path.

* Project root added to CMakeLists.txt so that all targets can find includes
* Project root added micropython.cmake so that targets used by the MicroPython build can find includes

Note: pico-boilerplate projects must set this include path
2021-05-13 12:06:01 +01:00
Phil Howard ae489873ee AS7262 add set_integration_time 2021-05-12 16:04:50 +01:00
ZodiusInfuser a6c738d018 Finished micropython bindings for AS7262, and added example 2021-05-12 16:04:50 +01:00
ZodiusInfuser 5af43311f4 Micropython bindings and minor tweaks for AS7262 2021-05-12 16:04:50 +01:00