Mike Bell
16bfa467ce
Reinitialize hardware after system clock change
2022-03-30 21:07:40 +01:00
ZodiusInfuser
8a36102c53
Merged in old motor implementation
2022-03-30 15:50:12 +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
3b8dcecd8e
Pico Graphics: Move bitmap fonts into generic library.
...
* Add bitmap font support into Badger 2040
2022-03-30 15:10:52 +01:00
Phil Howard
24819734b7
Separate Hershey Fonts into their own library.
2022-03-30 15:10:52 +01:00
ZodiusInfuser
5b46722a66
Updated Servo2040 description
2022-03-30 14:29:02 +01:00
ZodiusInfuser
1efa75a590
Renamed C++ Servo functions to match MP
2022-03-30 14:29:02 +01:00
ZodiusInfuser
c5be5be759
Made calibration C++ better match MP
2022-03-30 14:29:02 +01:00
ZodiusInfuser
e4bb26b081
Renamed LED_DAT to LED_DATA
2022-03-30 14:29:02 +01:00
ZodiusInfuser
852cfca7c5
readme fixes
2022-03-30 14:29:02 +01:00
ZodiusInfuser
93e7d476a2
Typo
2022-03-30 14:29:02 +01:00
ZodiusInfuser
d47326c33e
Fix some broken links
2022-03-30 14:29:02 +01:00
ZodiusInfuser
a64b5bf5ac
Finished off final sections of the documentation
2022-03-30 14:29:02 +01:00
ZodiusInfuser
b1b111a179
Added additional constants
2022-03-30 14:29:02 +01:00
ZodiusInfuser
00408d3b2b
Improved servocluster teardown
2022-03-30 14:29:02 +01:00
ZodiusInfuser
41d577f458
Finished most sections of readme off
2022-03-30 14:29:02 +01:00
ZodiusInfuser
9b66be4f3b
Updated readme for Servo class
2022-03-30 14:29:02 +01:00
ZodiusInfuser
44412365b8
Tidying up of calibration
2022-03-30 14:29:02 +01:00
ZodiusInfuser
09e69ff8d9
Improvements to calibration and a calib example
2022-03-30 14:29:02 +01:00
ZodiusInfuser
df217b69b5
Added current meter example, + some fixes
2022-03-30 14:29:02 +01:00
ZodiusInfuser
e41a8bd6e5
Added sensor reading example, with mux support
2022-03-30 14:29:02 +01:00
ZodiusInfuser
cc7179d6d0
Added LED bar example and exposed servo2040 constants
2022-03-30 14:29:02 +01:00
ZodiusInfuser
aee14e2d51
Added some initial Servo examples, and tweaked API
2022-03-30 14:29:02 +01:00
ZodiusInfuser
6f41834082
Various changes to handle class cleanup
2022-03-30 14:29:02 +01:00
ZodiusInfuser
77608249a6
Expanded readme TOC, and did some reordering
2022-03-30 14:29:02 +01:00
ZodiusInfuser
7ce4717684
Added main intro section for Servo readme
2022-03-30 14:29:02 +01:00
ZodiusInfuser
f83521d3ff
Expanded list/tuple support to more functions
2022-03-30 14:29:02 +01:00
ZodiusInfuser
2ef84ae286
Fixed a silly pointer bug
2022-03-30 14:29:02 +01:00
ZodiusInfuser
e1317f432b
Expanded options for enabling and disabling servos, and fixed some off-by-one errors.
2022-03-30 14:29:02 +01:00
ZodiusInfuser
d96db62353
Fix for frequency changes enabling servo PWM
2022-03-30 14:29:02 +01:00
ZodiusInfuser
3e9597e186
The start of some documentation
2022-03-30 14:29:02 +01:00
ZodiusInfuser
2819fb0020
Exposed servo value loading
2022-03-30 14:29:02 +01:00
ZodiusInfuser
6fe79d4ebc
Minor cleanup
2022-03-30 14:29:02 +01:00
ZodiusInfuser
cf810b7b7f
MP Calibrations are now copies of the servo's one, rather than references that could get GC'ed
2022-03-30 14:29:02 +01:00
ZodiusInfuser
59014f1e86
MP now supports assigning a new calibration to a servo
2022-03-30 14:29:02 +01:00
ZodiusInfuser
d6811e1173
MP fixes
2022-03-30 14:29:02 +01:00
ZodiusInfuser
176362a49b
Updated MP bindings to support latest servo features
2022-03-30 14:29:02 +01:00
ZodiusInfuser
e07e248d9e
Big refactor of clusters to reduce memory and improve usability
2022-03-30 14:29:02 +01:00
ZodiusInfuser
35bd03c02b
Improved Servo constructors
2022-03-30 14:29:02 +01:00
ZodiusInfuser
ec1f0a5ddc
ServoCluster states are now only created for the servos actually assigned
2022-03-30 14:29:02 +01:00
ZodiusInfuser
8fc1270404
Added additional PWM/ServoCluster constructors
2022-03-30 14:29:02 +01:00
ZodiusInfuser
d94a7c0718
Added set_frequency support to ServoCluster
2022-03-30 14:29:02 +01:00
ZodiusInfuser
aeb9705d15
Moved common PWM and MultiPWM out of servo driver, and renamed to cluster
2022-03-30 14:29:02 +01:00
ZodiusInfuser
55cbf23f45
Function rename
2022-03-30 14:28:17 +01:00
ZodiusInfuser
5a5282f099
Improved servo limits logic
2022-03-30 14:28:17 +01:00
ZodiusInfuser
d1238e802e
Added frequency limits
2022-03-30 14:28:17 +01:00
ZodiusInfuser
334ff4e9f9
Added frequency adjustment to Servo
2022-03-30 14:28:17 +01:00
ZodiusInfuser
93eafc4694
All current servo functionality now micropython bindings
2022-03-30 14:28:17 +01:00
ZodiusInfuser
196a5c6111
Much code refactoring and tidy up
2022-03-30 14:28:17 +01:00
ZodiusInfuser
413ef891ce
Partial hardware servo support added to MP
2022-03-30 14:28:17 +01:00
Mike Bell
179796b80f
Very Slow to 4MHz, fix linter error
2022-03-30 00:27:28 +01:00
Mike Bell
c1c1b9f1bc
Badger2040: Use new system speed call in examples and document it.
2022-03-29 23:16:18 +01:00
Mike Bell
9b5e4ecfac
Badger2040: Add system_speed call
2022-03-29 23:16:10 +01:00
Mike Bell
0a11a9f555
Comment why this works
2022-03-26 12:58:36 +00:00
Mike Bell
4061b446b3
Badger2040: Make wake state access methods static
2022-03-26 12:51:55 +00:00
Mike Bell
7720bbe602
Simplify Badger Wake on the C++ side, tidy up X_to_wake on the python interface
2022-03-26 12:45:25 +00:00
Mike Bell
e1a4d56993
Badger2040: Read the button state and enable 3v3 before initializing crystal
2022-03-26 11:55:56 +00:00
Mike Bell
be0f1358d1
Merge remote-tracking branch 'origin/MichaelBell-battery-improvements' into battery-improvements
2022-03-25 15:35:48 +00:00
Phil Howard
b497422bdb
Badger2040: Remove button release wait from clear.
2022-03-25 15:13:03 +00:00
Phil Howard
75d0112421
Badger2040: Wait for buttons to be released. Rename woken.
2022-03-25 14:55:08 +00:00
Mike Bell
1f1f9b00df
Badger2040: Light the act LED immediately on wake
2022-03-25 14:53:04 +00:00
Phil Howard
b8d5a3db75
Badger2040: Bring back clear pressed to wake.
2022-03-25 14:25:04 +00:00
Phil Howard
b1fd8936cf
Badger2040: Enforce minimum update blocking time.
2022-03-25 10:57:30 +00:00
Mike Bell
f332dcdf2e
Remove unused clear_pressed_to_wake method
2022-03-25 01:23:17 +00:00
Phil Howard
5bd13a5cd1
Badger2040: Create badger_os utils module.
2022-03-24 23:20:46 +00:00
Mike Bell
0ab44ef10a
Only record front button state at init time
2022-03-24 22:01:10 +00:00
Mike Bell
a7f2014309
Add woken method
2022-03-24 21:21:20 +00:00
Mike Bell
946de6ffa2
Take Gadgetoid's proposed change, reduce magic
2022-03-24 20:49:51 +00:00
Mike Bell
c41714c4c9
Actually enable 3v3 at startup
2022-03-24 00:24:26 +00:00
Mike Bell
78c11d220d
Enable battery power on wake, expose pressed_to_wake on Badger object
2022-03-23 21:41:49 +00:00
Mike Bell
51b0e472e1
Add ability to halt the Badger from Micropython and get wake button presses. Change badge app to halt when image displayed
2022-03-23 00:30:07 +00:00
Phil Howard
249f54fae4
ST7789: Create generic display driver for #299
2022-03-21 17:02:46 +00:00
Phil Howard
91bbf53662
PMW3901, PAA5100: Construct correct class for secret sauce.
2022-03-18 13:34:49 +00:00
Phil Howard
e83f315c29
PMW3901, PAA5100: bindings into single module for #301 .
2022-03-17 14:36:38 +00:00
Phil Howard
05c370abd4
PAA5100/PMW3901 Fix default float argument bug for #228
2022-03-16 17:35:45 +00:00
Phil Howard
d20af57dda
qrcode: Add to regular MicroPython build
2022-03-11 12:55:34 +00:00
Phil Howard
89172578ac
qrcode: Bind ECC and Mask controls
2022-03-11 12:52:29 +00:00
Phil Howard
087fd70276
Add QRCode MicroPython module
2022-03-11 12:52:29 +00:00
Phil Howard
2fd0330f63
CI: Move modules_py copy to CMake
2022-03-11 09:24:54 +00:00
helgibbons
dae16ea777
Update README.md
2022-03-08 17:47:10 +00:00
helgibbons
117c842fc0
Update README.md
2022-03-08 17:39:53 +00:00
Hel Gibbons
b01afbaac8
Update README.md
2022-03-08 17:36:35 +00:00
Hel Gibbons
613625776b
Update README.md
2022-03-08 17:28:57 +00:00
helgibbons
6d1a902adc
Update README.md
2022-03-08 17:25:46 +00:00
helgibbons
a5451f726f
Update README.md
2022-03-08 17:23:30 +00:00
Phil Howard
cbf330a1c7
Badger2040: Drop from regular MicroPython build
2022-03-04 15:27:28 +00:00
Phil Howard
e62b3a8fc8
Badger2040: Move assets & builtin tooling to examples dir
2022-03-04 15:26:00 +00:00
Phil Howard
e096e57566
Badger2040: Add missing boot.py
2022-03-04 11:32:11 +00:00
Phil Howard
e8d6d5930f
Badger2040: Rename e-reader and checklist to match builtins
2022-03-04 11:13:51 +00:00
Phil Howard
ef72098949
Badger2040: Build assets from source + CMake builtin copy
2022-03-04 11:06:42 +00:00
Philip Howard
273ca5c56d
Merge pull request #252 from pimoroni/badger2040-support
...
Support for Badger 2040
2022-02-25 16:25:22 +00:00
Phil Howard
f90559ed41
Badger2040: Add support for colour inverted mode
2022-02-25 14:49:28 +00:00
Phil Howard
169e332917
Badger2040: Add Medium speed, drop spicy super turbo
2022-02-25 13:37:35 +00:00
Phil Howard
2f8603e6b3
Badger2040: Add MicroPython README
2022-02-25 11:08:32 +00:00
Phil Howard
40616f9795
Badger2040: Attempt to power off on soft reset
2022-02-25 11:08:32 +00:00
Phil Howard
6585d6a670
MicroPython: Add missing Pico Graphics to LCD breakouts
2022-02-25 11:08:32 +00:00
Phil Howard
079e2397bf
Badger2040: Build badgerOS
2022-02-25 11:08:32 +00:00
ZodiusInfuser
c9bf201ff2
Added battery level example
2022-02-25 11:08:32 +00:00
Phil Howard
2c27296cc4
Badger2040: Add image & icon support
2022-02-25 11:08:32 +00:00
ZodiusInfuser
a346d4f2cf
Exposed text measure to MP and added Checklist example
2022-02-25 11:08:32 +00:00
Phil Howard
2820b62e8c
Badger2040: Fix MicroPython binding for led
2022-02-25 11:08:32 +00:00
Phil Howard
6ff5c39c1b
Badger2040: Bugfixes, danger LUTs, examples
2022-02-25 11:08:32 +00:00
Phil Howard
183dd5f8cb
Badger2040: Add text rotation to MicroPython
...
Bonus: Make rotation and scale arguments optional.
2022-02-25 11:08:32 +00:00
Phil Howard
1af63e583e
Badger2040: Add WIDTH/HEIGHT constants
2022-02-25 11:08:32 +00:00
Phil Howard
af230b5fd5
Badger2040: Refactor to fix MicroPython issues
...
Move busy wait logic into MicroPython bindings so that MICROPY_EVENT_POLL_HOOK can be called.
2022-02-25 11:08:32 +00:00
Phil Howard
5b084c1b9a
Badger2040: Add Fast/Slow LUTs, bugfix and tinkering helpers
2022-02-25 11:08:32 +00:00
Phil Howard
72d361fa74
Badger2040: Add text functions and input
2022-02-25 11:08:32 +00:00
Phil Howard
46d54072ce
Badger2040 MicroPython bindings
2022-02-25 11:08:32 +00:00
ZodiusInfuser
4b96817616
Possible fix for display glitch after first program run
2022-02-22 11:00:02 +00:00
ZodiusInfuser
e4afa6b6f2
Possible fix for display glitch after first program run
2022-02-14 12:56:40 +00:00
Philip Howard
ab602135b6
Merge pull request #232 from waveform80/rgbgrbrg
...
Fix ordering of tuple returned by WS2812.get
2022-01-25 11:10:49 +00:00
Philip Howard
9c05e69573
Merge pull request #235 from mozz100/patch-1
...
Fix "repeat_time" docs in README
2022-01-25 11:01:29 +00:00
Philip Howard
fcf7b47c31
Merge pull request #237 from pimoroni/patch-plasma-update
...
Plasma/MP: bind update method for #236
2022-01-25 10:56:13 +00:00
Philip Howard
553f3dee60
Merge pull request #174 from pimoroni/driver/scd4x
...
Driver for SCD4X series CO2 sensors
2022-01-25 10:29:28 +00:00
Phil Howard
52df22a16a
Plasma/MP: bind update method for #236
2022-01-07 16:04:46 +00:00
Richard Morrison
aea0756fb8
Update README.md
...
Fix documentation around `Button` class's `repeat_time` behaviour.
2022-01-04 22:09:38 +00:00
Dave Jones
1a66c9f6d6
Fix ordering of tuple returned by WS2812.get
...
(and types of numbers returned by both WS2812.get and APA102.get)
2021-12-23 00:39:22 +00:00
Hel Gibbons
fe80fb4788
tweak resources links
2021-12-21 14:51:06 +00:00
Phil Howard
6d6803612a
Add SCD41 MicroPython bindings
2021-12-16 11:39:34 +00:00
Philip Howard
c322717eb2
Merge pull request #193 from pimoroni/pure-cpp-i75
...
Pure C++ HUB75 example
2021-12-08 15:25:53 +00:00
Phil Howard
556d8cb57d
HUB75: Add expansion and feature pins
2021-12-06 14:37:04 +00:00
Phil Howard
580d8cf7a2
Plasma: Add WS2812 W suppot for #220
2021-12-03 10:50:06 +00:00
Phil Howard
1bb4383074
HUB75 Perf, C++ scrolling text, docs
2021-12-02 12:41:30 +00:00
Phil Howard
4dc3f9b9c4
HUB75 Scrolling wavy text and clock demo
2021-12-01 21:57:40 +00:00
Phil Howard
4d33649cd2
HUB75: More rational DMA/PIO setup/teardown, fixes reset bug
...
Defensively tear down DMA/PIO so it's in a known good state upon (soft)reset.
Issue was a race condition with DMA interrupts firing and not being achknowledged, leaving a stuck raised IRQ.
The blocking wait for DMA transactions also exacerbated this, turning a borken DMA interrupt and blank screen into an unrecoverable hardlock.
...not that the blank screen was recoverable without a soft reset anyway!
2021-11-25 17:52:44 +00:00
Phil Howard
e09ff78351
HUB75 Strobe invert and larger panel chaining support
2021-11-24 21:36:58 +00:00
Phil Howard
d4bf69324f
HUB75 tidyup, examples
2021-11-23 13:58:34 +00:00
Phil Howard
c07567f922
HUB75 Panel Types for FM6126A setup, fixes for 32x32
2021-11-23 11:29:41 +00:00
Phil Howard
eed7992127
HUB75 Fix intermittent display corruption issue
...
The FM6126A register write was causing some weirdness on soft reset where the pin state wasn't predictable.
Have twiddled some pins at startup to ensure everything works as expected.
Add set_hsv and set_all_hsv (since setting individual pixels with hsv is S L O W)
Made "flip()" blocking, it was easy to accidentally get a little tearing.
2021-11-22 16:34:56 +00:00
Phil Howard
66d25d2e9c
HUB75 Prevent stuck row on soft reset
...
TODO:
* Move this into drivers/ for C++ use too.
* Display still goes mighty weird sometimes!
2021-11-22 15:22:37 +00:00
Phil Howard
0e8c1228af
HUB75 MicroPython DMA and PIO
...
Switch MicroPython HUB75 driver over to DMA/PIO.
TODO:
* Move this into drivers for C++ use too
* Fix hitting "Stop" in Thonny causing rows to stick on the display (this is bad, and should not happen)
* Fix "Stop -> Start" in Thonny causing weird display issues (it's not memory offets, maybe DMA/PIO issues?)
2021-11-22 14:12:18 +00:00
Edd Hurst
47259c55e8
Fix documentation examples setting RGB LED
...
Update the examples using set_led function and replacing to use set_rgb
Fixes #221
2021-11-21 14:05:12 +00:00
Phil Howard
01f546aaf1
HUB75 MicroPython bindings
2021-11-18 12:51:43 +00:00
Philip Howard
e249113fea
Merge pull request #183 from pimoroni/driver/icp10125
...
Driver for the ICP10125 pressure & temperature sensor
2021-11-09 17:02:50 +00:00
Philip Howard
1a9e2802fe
Merge pull request #206 from pimoroni/driver/pwm3901
...
C++ and MP drivers and examples for Optical Flow sensors
2021-10-06 11:19:29 +01:00
Philip Howard
3c57cbcdef
Merge pull request #208 from pimoroni/picowireless-ppwhttp
...
PicoWireless: move HTTP code to ppwhttp library
2021-10-06 11:12:13 +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
ZodiusInfuser
27b74e140b
Finished drivers bindings and examples for flow sensors.
2021-09-13 21:58:11 +01:00
Phil Howard
759868e787
Python bindings & docs for ICP10125
2021-09-08 14:10:21 +01:00
ZodiusInfuser
9906fdec38
C class and MP bindings for PicoDisplay2
2021-09-08 13:56:03 +01:00
Phil Howard
5abdad05a8
Fix MicroPython alloc'd bytearray support in APA102 driver
...
A bytearray allocated in Python would point to uninitialised bytes, missing the SOF byte and brightness for APA102 pixels.
Add a blunt loop over the MicroPython buffer, calling "brightness" for each RGB element to ensure the SOF byte and brightness are initialized.
2021-08-25 22:00:12 +01:00
ZodiusInfuser
8a4c4d8af8
Exposed clear on rotary breakout
2021-08-24 15:35:14 +01:00
ZodiusInfuser
cf4b45acc7
Exposed Get to MP, and added I2C pin numbers
2021-08-24 15:21:14 +01:00
ZodiusInfuser
c8f90ea846
Changed default color order to GRB to match our strips
2021-08-23 17:18:34 +01:00
ZodiusInfuser
4976c90ab3
Updated readme with changes, and description of current sensing
2021-08-19 16:15:38 +01:00
ZodiusInfuser
7496e8c8ba
Renamed plasma mp directory to match module name
2021-08-19 15:25:12 +01:00
ZodiusInfuser
0faa312358
Updated micropython example to use working submodule
2021-08-19 15:16:40 +01:00
ZodiusInfuser
aac8c8d2fc
Test of sub module
2021-08-19 14:51:37 +01:00
ZodiusInfuser
823729dc24
Move apa and ws PIO into drivers so they can be easily used with more boards
2021-08-19 13:40:46 +01:00
ZodiusInfuser
281288a6f4
Added Dat and Clk defines
2021-08-19 12:58:13 +01:00