Commit graph

149 commits

Author SHA1 Message Date
ea0a1d3ce3 clang-format demands whitespace 2021-03-01 14:35:14 -06:00
c982a053cd rp2040: circuitpython: Actually make dynamic PWM allocation work
My initial testing was always done with PWM slice 0, so it didn't
matter that _PM_pwm_slice was never set to a nonzero value.  Limor tested
with the first pin as GPIO6, which led to use of slice 3 and after that
everything got sad really quickly.

Since Arduino doesn't use _PM_pwm_slice now, this means that
_PM_timerInit's implementation becomes unshared; because _PM_timerInit
nees to refer to _PM_PWM_ISR or _PM_timerISR, those newly require forward
(static) declarations.  That makes this change look bigger than it is.
The only "real" change is intended to be something like
```c
 #ifdef CIRCUITPYTHON
+void _PM_timerInit(void *tptr) {
+#if _PM_CLOCK_PWM
+  _PM_pwm_slice = (int)tptr & 0xff;
```
2021-03-01 08:59:07 -06:00
Phillip Burgess
632cfcede2 Dynamic refresh rate put back in, prior notes weren't entirely correct 2021-02-12 22:12:15 -08:00
Paint Your Dragon
1086f5e28f
Merge pull request #33 from jepler/rp2040-cp
Changes needed to let the code work on CircuitPython & RP2040
2021-02-12 12:47:09 -08:00
Jeff Epler
c3cccab105 Changes needed to let the code work on CircuitPython & RP2040
These changes are tested along with https://github.com/adafruit/circuitpython/pull/4186 and work on a 32x32 matrix.
2021-02-12 14:39:31 -06:00
Paint Your Dragon
d7e92f0b55
Merge pull request #34 from adafruit/pb-rp2040
RP2040 support (sorta)
2021-02-12 12:37:16 -08:00
Phillip Burgess
59e1d949cf Update notes on bitplane timing 2021-02-12 12:27:49 -08:00
Phillip Burgess
9d80b0d6a6 Add _PM_timerGetCount() to STM32 2021-02-11 11:44:48 -08:00
Phillip Burgess
ab56e7e88f Fix animated_gif example 2021-02-09 11:50:23 -08:00
Phillip Burgess
e3b1c14d0d Updated "Notes to Future Self" at end of core.c 2021-02-02 12:42:08 -08:00
Phillip Burgess
e80c101557 Further tweaks to the dynamic refresh rate 2021-02-01 15:52:55 -08:00
Phillip Burgess
6a9a307f3a Change rounding math in bit zero timing 2021-01-31 15:58:07 -08:00
Phillip Burgess
39de313d7e Fix dynamic throttling in core, add compile-time setting on RP2040 for PWM or alarm for timekeeping 2021-01-31 15:47:08 -08:00
Phillip Burgess
f2d0cde4e0 Restore timing "initial guesstimate" math. 2021-01-29 22:11:32 -08:00
Phillip Burgess
d3cda46436 RP2040 working (using PWM periph for interval timing) 2021-01-29 21:57:25 -08:00
Phillip Burgess
d116005b60 RP2040 starting to work 2021-01-29 17:54:48 -08:00
Phillip Burgess
c0c6413430 core.c: fix 32-bit-only no-toggle PEW 2021-01-29 13:23:51 -08:00
Phillip Burgess
846d95aac1 RP2040: fix _PM_pinOutput() 2021-01-29 13:04:38 -08:00
Phillip Burgess
19dc9058cd RP2040 WIP — not working yet (but not crashing either) 2021-01-29 12:51:35 -08:00
Phillip Burgess
97e0929a17 Bump version # for tiling support 2021-01-27 15:21:54 -08:00
Paint Your Dragon
e8018dd935
Merge pull request #32 from jepler/circuitpython-build-fixes
Circuitpython build fixes
2021-01-26 08:15:05 -08:00
5e925cea7a clang-format 2021-01-26 09:07:38 -06:00
9e71254732 core: Const-qualify pointers
This fixes diagnostics similar to `core.c:947:20: error: assignment discards 'const' qualifier from pointer target type [-Werror=discarded-qualifiers]`
2021-01-26 09:00:04 -06:00
092066ecc2 core: Include declaration for abs()
This fixes diagnostics such as `core.c:937:7: error: declaration of non-variable 'abs' in 'for' loop initial declaration`
2021-01-26 08:59:33 -06:00
Paint Your Dragon
75965eb640
Merge pull request #31 from adafruit/pb-tile
Matrix tiling support
2021-01-21 20:20:09 -08:00
Phillip Burgess
473c5dc3b4 Remove unused vars 2021-01-21 19:48:03 -08:00
Phillip Burgess
560ad3e2de Grand Central notes in simple example 2021-01-21 19:17:31 -08:00
Phillip Burgess
689f61c506 Word and long converters adapted for tiling but not extensively tested 2021-01-14 21:25:14 -08:00
Phillip Burgess
eacbdfdef4 Row tiling seems to work (for single chain, not for parallel chains) 2021-01-14 19:31:18 -08:00
Phillip Burgess
63240eb990 Tiling kinda starting to sorta work 2021-01-13 21:30:17 -08:00
Phillip Burgess
7dd3ad3fec Tiling WIP, not working 2021-01-13 14:47:12 -08:00
Phillip Burgess
020427f66a Initial tiling support WIP 2021-01-12 11:58:24 -08:00
Limor "Ladyada" Fried
b041e58718
Merge pull request #29 from aocole/fix-gifopenfile-signature
Fix signature of GIFOpenFile
2020-11-09 12:51:31 -05:00
Andrew Cole
c1d99cf422 Fix signature of GIFOpenFile 2020-11-06 13:51:51 -08:00
Phillip Burgess
902c16f491 animated_gif example bugfixes & changes 2020-11-02 10:36:43 -08:00
Phillip Burgess
9880ee62d9 Rename doublebuffer example to doublebuffer_scrolltext
Also, extra comments explaining some of the calls required for scrolling text like this.
2020-10-20 19:17:18 -07:00
Phillip Burgess
db208212f3 Move color565() from examples into Adafruit_Protomatter (not core) 2020-10-19 20:12:52 -07:00
Phillip Burgess
7fd87fa56b Merge branch 'master' of https://github.com/adafruit/Adafruit_Protomatter 2020-10-19 16:18:17 -07:00
Phillip Burgess
b9b663e87a Remove pixeldust_64x64 example, single demo can handle both with 1-line edit 2020-10-19 16:18:14 -07:00
Jeff Epler
864cc77c62
Merge pull request #25 from jepler/resume-pin-state
core: _PM_resume: put address pins in known state
2020-10-19 15:47:38 -05:00
b0c261b2e6 Merge remote-tracking branch 'origin/master' into resume-pin-state 2020-10-19 15:44:11 -05:00
Phillip Burgess
4193bfaea1 Overhaul examples - clean up, better comments, rename "protomatter" example to "simple", etc. 2020-10-19 13:28:33 -07:00
Limor "Ladyada" Fried
9651720252
Merge pull request #26 from jepler/fix-ci-python38
github actions: fix CI by requesting python verson 3.9
2020-10-19 14:05:26 -04:00
273aba770d github actions: fix CI by requesting python verson 3.9
this is the same fix used in Adafruit_Learning_System_Guides
2020-10-19 12:50:55 -05:00
b58c78c9d2 core: _PM_resume: put address pins in known state
Before this, using the "brightness" property in CircuitPython would cause the display to become jumbled.  Reproducer script for matrixportal:
```
import sys
import time
import random
from adafruit_matrixportal.matrix import Matrix

MATRIX = Matrix(bit_depth=1)
DISPLAY = MATRIX.display

sys.stdout.write("JUMBLED\nTEXT")
time.sleep(3)

while True:
    DISPLAY.brightness = 0
    DISPLAY.brightness = 1
    time.sleep(random.random())
```

After the fix there is only a slight flicker due to the time the display spends with zero brightness.

Thanks to @firepixie for the report!
2020-10-19 11:33:37 -05:00
Paint Your Dragon
de6b7704c5
Merge pull request #23 from adafruit/pb-gamma
Reorganize source, minor fixes
2020-10-09 11:01:04 -07:00
Phillip Burgess
92be2a6863 clang-format fixes 2020-10-09 10:53:51 -07:00
Phillip Burgess
df57adc40b Minor version bump 2020-10-09 10:38:25 -07:00
Phillip Burgess
6dfe2ed3a0 animated_gif example: fix misplaced #endif, add comment about supported boards 2020-10-08 21:56:40 -07:00
Phillip Burgess
1257af6e90 Clean up comments, redundant declarations, loose ends 2020-10-08 20:29:24 -07:00