Phil Howard
8e1e9df002
ST7789: Refactor and Bugfixes
...
* Make ST7789 accept only full config with SPI pins
* Make Generic ST7789 wrapper library handle "slot"
* Update Round LCD and 240x240 Square LCD
* Remove Python Round LCD and 240x240 LCD modules (we need the space!)
* Remove C++ Round LCD and 240x240 LCD libraries (they're a little redundant!)
* Fix garbage collected framebuffer bug in Python ST7789
* Deprecate "flip" in favour of "configure_display"
* Tidy up ST7789, remove dead/unused/commented code
2022-05-12 18:58:33 +01:00
ZodiusInfuser
305462d33c
Merge branch 'main' into motor-and-encoder
2022-05-12 17:02:50 +01:00
Phil Howard
813b7a401a
ST7789: Support rotation for PD and PD2.
2022-05-12 12:04:55 +01:00
ZodiusInfuser
b26d13bab1
Fix for motor duty cycle not obeying direction
2022-05-10 18:34:59 +01:00
ZodiusInfuser
b782287c63
Added readme for encoder
2022-05-05 16:54:02 +01:00
ZodiusInfuser
71a7a80218
Finalise motor API
2022-04-29 13:02:00 +01:00
ZodiusInfuser
22f29743c1
Missing brace
2022-04-29 00:27:27 +01:00
ZodiusInfuser
898e4bace4
Finalised motor cluster frequency, and disabled loading zone
2022-04-29 00:09:19 +01:00
ZodiusInfuser
15e5eaa890
Finished C++ examples and tweaked MP examples
2022-04-28 21:23:18 +01:00
Phil Howard
3afead416a
VL53L5CX: Bringup Motion and add example.
2022-04-28 14:38:34 +01:00
ZodiusInfuser
415a1e559a
Setup and partial implementations of C++ examples
2022-04-26 23:15:13 +01:00
ZodiusInfuser
0efe210c4c
Added in PH_EN motor driver, and zeropoint support
2022-04-25 16:16:02 +01:00
ZodiusInfuser
7608e3f293
Encoder driver finalising
2022-04-25 12:28:42 +01:00
ZodiusInfuser
2eb6a0cf3e
Changed encoder folder and gave it a namespace
2022-04-22 16:23:45 +01:00
ZodiusInfuser
ba076ccc7b
Renamed Snapshot back to Capture
2022-04-22 16:06:54 +01:00
ZodiusInfuser
652612fc31
Removed old C++ motor implementation
2022-04-22 13:59:40 +01:00
Phil Howard
4b86faaf12
VL53L5CX: Fix memory leak. Add get_resolution.
2022-04-20 19:18:53 +01:00
ZodiusInfuser
8ef0d33f0c
Finalised more examples
2022-04-20 18:55:39 +01:00
Phil Howard
fcd4914cbb
VL53L5CX: MicroPython bindings.
2022-04-20 14:33:00 +01:00
Phil Howard
f79b2efa9e
VL53L5CX: Fix 32k runtime allocation in platform i2c WrMulti
2022-04-20 14:32:13 +01:00
Phil Howard
637f6d18ca
VL53L5CX: Class wrapper
2022-04-19 17:24:06 +01:00
ZodiusInfuser
180df9e085
Merge branch 'motor-pio' into motor-and-encoder
2022-04-19 16:28:12 +01:00
ZodiusInfuser
9472a1f109
Fix for hard lock when taking many snapshots
2022-04-19 15:44:31 +01:00
Phil Howard
6028bc16b6
VL53L5CX: Initial bringup
2022-04-19 13:01:54 +01:00
ZodiusInfuser
0bbd07164d
Removed unneeded include
2022-04-17 16:52:16 +01:00
ZodiusInfuser
90fd4b8fb9
Encoder mostly implemented, now with MP support
2022-04-17 16:16:59 +01:00
ZodiusInfuser
70b589d431
Fixed inability to use more than one encode, plus other things
2022-04-13 20:12:44 +01:00
ZodiusInfuser
a5572e5e44
Fixes post rebase
2022-04-13 11:29:40 +01:00
ZodiusInfuser
55ee058d3e
Created a quadrature encoder reader using the Pico's PIO
2022-04-13 10:46:38 +01:00
ZodiusInfuser
5f6e4a3096
Finalised C++ motor implementation
2022-04-11 13:35:53 +01:00
ZodiusInfuser
f3c0a305f2
Improvements to MotorState
2022-04-09 01:41:42 +01:00
ZodiusInfuser
ac3edafbf4
Contined motor dev
2022-04-05 16:53:36 +01:00
ZodiusInfuser
9a9c3832a2
Various motor work
2022-04-04 20:00:03 +01:00
ZodiusInfuser
e59bdc34c4
Added initial structure of new motor classes
2022-03-30 15:50:12 +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
ZodiusInfuser
2e2b2002c3
Fix for CI compiler error
2022-03-30 14:52:53 +01:00
ZodiusInfuser
5f3ac9411b
Minor internal function rename, and var assignment
2022-03-30 14:29:02 +01:00
ZodiusInfuser
5192e8bc87
Tidied up some debug code
2022-03-30 14:29:02 +01:00
ZodiusInfuser
8d0ae57f2a
Changed type to uint8_t
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
f9a1979d8d
Added AnalogMux to C++
2022-03-30 14:29:02 +01:00
ZodiusInfuser
1b79e85be7
Added offset parameter to Analog, and fixed it not switching between ADC pins
2022-03-30 14:29:02 +01:00
ZodiusInfuser
00408d3b2b
Improved servocluster teardown
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
6f41834082
Various changes to handle class cleanup
2022-03-30 14:29:02 +01:00
ZodiusInfuser
6c16611e88
Much optimisation of PWM generation code
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
e1317f432b
Expanded options for enabling and disabling servos, and fixed some off-by-one errors.
2022-03-30 14:29:02 +01:00
ZodiusInfuser
c352a795a8
Fix for servo cluster frequency being inaccurate at the upper end
2022-03-30 14:29:02 +01:00
ZodiusInfuser
65268098c6
Fix for pulse width bug when changing from high to low frequencies if there was an overrun
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
2819fb0020
Exposed servo value loading
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
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
72516b2ecc
Added support for servo phase adjustment
2022-03-30 14:29:02 +01:00
ZodiusInfuser
7f90d3c529
Fixed a bug in the overrun code when load_pwm() is called multiple times between DMA reads
2022-03-30 14:29:02 +01:00
ZodiusInfuser
0838483d2b
Added support for pulses with large offsets that cross the wrap level
2022-03-30 14:29:02 +01:00
ZodiusInfuser
c4e39fd426
Added solution for PWMCluster not being able to reach 100% with "loading zone"
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
06c272916c
Fix for incorrect ServoCluster duty
2022-03-30 14:28:17 +01:00
ZodiusInfuser
55cbf23f45
Function rename
2022-03-30 14:28:17 +01:00
ZodiusInfuser
565553b3a1
Added an additional case for out-of-bounds values
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
ZodiusInfuser
f5836e56df
Raised servo functions to a base class, and added ServoCluster which uses the PIO PWM.
2022-03-30 14:28:17 +01:00
ZodiusInfuser
d4012a271e
Improvements to servo calibration and usage
2022-03-30 14:28:17 +01:00
ZodiusInfuser
2e58841b5e
Started a hardware PWM servo class, with calibration support
2022-03-30 14:28:17 +01:00
ZodiusInfuser
5957304a46
Adding more PWM functionality
2022-03-30 14:28:17 +01:00
ZodiusInfuser
24aefc16bf
Tidied up PIO implementation + commenting
2022-03-30 14:28:17 +01:00
ZodiusInfuser
de3cb52931
More progress on Servo PIO
2022-03-30 14:28:17 +01:00
ZodiusInfuser
aca98ca747
current WIP code for PIO based PWM
2022-03-30 14:28:17 +01:00
Mike Bell
eb95636bca
Better if update_time is an underestimate
2022-03-29 23:16:18 +01:00
Mike Bell
d96a584ddd
Badger2040: Improve performance of some large frame buffer writes
2022-03-29 23:15:43 +01:00
Phil Howard
b1fd8936cf
Badger2040: Enforce minimum update blocking time.
2022-03-25 10:57:30 +00:00
Phil Howard
249f54fae4
ST7789: Create generic display driver for #299
2022-03-21 17:02:46 +00:00
Phil Howard
8ca91f8e23
PMW3901: Drop print from init.
2022-03-18 13:35:14 +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
6ff5c39c1b
Badger2040: Bugfixes, danger LUTs, examples
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
607320c4b6
Badger2040: Fix broken display on reset
...
Display configuration wasn't applied properly upon reset. Add additional delay to reset and configure busy_wait pulls.
2022-02-25 11:08:32 +00:00
Phil Howard
46d54072ce
Badger2040 MicroPython bindings
2022-02-25 11:08:32 +00:00
Phil Howard
5f52626a4f
Add partial update support
2022-02-25 11:08:32 +00:00
Jonathan Williamson
f7d61b587a
added support for badger2040
2022-02-25 11:08:31 +00:00
ZodiusInfuser
95142ffeb5
Fix for display glitch during screen initialisation
2022-02-14 12:57:34 +00:00
Phil Howard
c105d111af
ICP10125: Fix block indefinitely on repeated start
...
Should fix pimoroni/icp10125-python#2
2022-02-10 12:28:57 +00:00