Commit Graph

16 Commits

Author SHA1 Message Date
Phil Howard a45eeb1623 Pico Wireless: Use tracked alloc. 2023-03-16 13:25:19 +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 732e59b314 Pico Wireless: Driver Rewrite
* Use a single common function prototype for all (but two) commands
* Remove "last param" from every param, in favour of an "end_cmd"
* Rename "send_cmd" to "start_cmd" to better reflect what it does
* Replace hard-coded param counts with macro (sizeof(params) / sizeof(inParam))
* Eliminate common causes of bugs
* Try to document some functions
* Correct some types (wl_enc_type, peek as bool)
* Handle timeouts & sleep states
* Successful command exits sleep
2022-03-30 15:30:11 +01:00
Phil Howard 71058bca1e PicoWireless: use strnlen for fwver and SSIDs
Avoid going through std::string and instead uses strnlen to get string length.

Prevents extra null chars leaking into the Python string.
2021-10-04 16:16:19 +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 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
ZodiusInfuser a406bb5e11 Added final missing functions from wifi api 2021-04-20 12:05:29 +01:00
ZodiusInfuser 15ccd8f001 Added digital_read and analog_read functions 2021-04-19 16:44:11 +01:00
Phil Howard c748437d60 Make set_dns more idiomatic of Python
Now accepts either one or two DNS servers and uses n_args to figure out how many you supplied and pass it on.
2021-04-15 10:11:16 +01:00
Phil Howard d3829e73a8 Use tuples for IP address
Passing interchangably as int/bytes was weird, and due to Python's signedness on int resulted in a heck of a bug-hunt.

I've switched IP address to converting from/to a tuple internally, so Python code doesn't have to be weird.
2021-04-15 10:11:16 +01:00
Phil Howard 9e2f0ebf09 Fix get_data_buf to request *some* data
Uses an arbitrarily sized, dynamically alloc'd buffer. This should *probably* do the legwork to get the whole buffer and give it to Python without needing multiple calls.
2021-04-15 10:11:16 +01:00
ZodiusInfuser 6ac8ea1db0 Added set_led and is_pressed functions to PicoWireless MP 2021-04-15 10:11:16 +01:00
ZodiusInfuser 72aee2d202 Fix for string object not being identified correctly 2021-04-15 10:11:16 +01:00
ZodiusInfuser 47bfada0d9 Fixes for picowireless not showing in Micropython 2021-04-15 10:11:16 +01:00
ZodiusInfuser 971ac565dd Finished micropython bindings for current C++ class implementation 2021-04-15 10:11:16 +01:00
ZodiusInfuser d1b3e4d768 Added partial micropython bindings for C++ class implementation 2021-04-15 10:11:16 +01:00