Commit Graph

2121 Commits

Author SHA1 Message Date
Neradoc
eabe8b971a list extensions instead of macros names ("bin,uf2" not BIN_UF2)
the modules_support_matrix usees a dictionnary per board instead of a list
optionally include the frozen modules URLs in it
2022-07-26 18:15:59 +02:00
Neradoc
d021d9ae4a Move build extensions to board directories
- define CIRCUITPY_BUILD_EXTENSIONS to predefined values
- set CIRCUITPY_BUILD_EXTENSIONS in port and board config
- reuse the support matrix "get_settings_from_makefile" to get it
- move the existing port and board specific values
- remove the C3 specific board values because it's not the default
- update build_release_files.py to use get_settings_from_makefile
2022-07-26 18:15:50 +02:00
Dan Halbert
bb47484cb1 Merge remote-tracking branch 'adafruit/main' into from_bytes-check-parameters 2022-07-19 17:18:26 -04:00
Dan Halbert
51f2253cef no Russian font for SAMD21; adjust unix build warnings 2022-07-19 14:07:18 -04:00
Scott Shawcroft
ac460dd1e1
Merge branch 'main' into esp32 2022-07-13 15:30:53 -07:00
Dan Halbert
9d77a36fbf update samd-peripherals submodule 2022-07-08 22:47:36 -04:00
Dan Halbert
c316b950c7 merge from adafruit/main 2022-07-08 15:42:19 -04:00
Jeff Epler
ab3e786611
disable additional module on matrixportal_m4 2022-07-07 20:00:12 -05:00
Jeff Epler
601eb91b89
Disable gifio on matrixportal to reclaim flash space 2022-07-07 17:00:00 -05:00
Dan Halbert
4c20b3cb63
Merge pull request #6564 from adafruit/7.3.x
7.3.x
2022-07-06 15:25:24 -04:00
Dan Halbert
131d70cebd restore traceback to matrixportal build 2022-06-28 16:10:55 -04:00
Dan Halbert
02069eb0b5 wip 2022-06-23 15:59:06 -04:00
Dan Halbert
feb1d903f7 merge 7.3.1 to main 2022-06-23 09:07:49 -04:00
Neradoc
7f968f18c0 move frozen adafruit_circuitplayground to express subdirectory 2022-06-20 16:55:10 -04:00
Dan Halbert
f0bf14094b Update samd-peripherals to fix SPI DMA problem 2022-06-17 10:59:59 -04:00
Dan Halbert
6e090c96a5 squeeze some specialized builds 2022-06-10 16:24:52 -04:00
Dan Halbert
80ae14202a
Merge pull request #6416 from FoamyGuy/display_brightness_pwm
display brightness pwm 500hz frequency
2022-06-05 23:52:42 -04:00
foamyguy
260994d16e Merge branch 'main' into display_brightness_pwm 2022-06-04 11:32:15 -05:00
foamyguy
cbff9dd8e3 add new argument for all boards with built-in display 2022-06-04 11:08:20 -05:00
Scott Shawcroft
be6936c8ec
Shrink MatrixPortal M4 build 2022-06-03 18:57:01 -07:00
Scott Shawcroft
be67067809
Merge remote-tracking branch 'adafruit/main' into translate_header 2022-06-03 15:18:18 -07:00
Dan Halbert
3ff7ed75c6
Merge pull request #6346 from Neradoc/cpx-frozen-lite
Move frozen adafruit_circuitplayground to CPX subdirectory
2022-06-01 21:15:46 -04:00
Scott Shawcroft
09c61efcff
Split partition from LTO enable 2022-06-01 11:12:14 -07:00
Scott Shawcroft
6d3698848c
Fix PDMIn.c formatting 2022-06-01 11:04:33 -07:00
Scott Shawcroft
7fc0aa5791
Fix windows and two samd builds 2022-05-31 14:48:41 -07:00
foamyguy
ffc451b338 argument for backlight_pwm_frequency and use it in pyportal titano build 2022-05-28 12:01:05 -05:00
Scott Shawcroft
9d10a3da66
Conditionalize LTO 2022-05-27 12:59:54 -07:00
Scott Shawcroft
dc5565a5ce
Merge pull request #6436 from dhalbert/judicious-lto
LTO: Use -flto and -flto-partition only as needed
2022-05-27 10:31:06 -07:00
Dan Halbert
ca085150ee disable traceback on samd21; re-enable onewireio on Metro m0 2022-05-26 15:33:04 -04:00
Dan Halbert
95fc7e4713 harmless change to force all ports to build 2022-05-26 11:52:58 -04:00
Dan Halbert
d74193c298 Use -flto and -flto-partition only as needed 2022-05-26 11:36:41 -04:00
George White
8539d6518e flip CTS and RTS pinmux to match RX and TX 2022-05-26 00:06:00 +00:00
George White
99b23b96d9 fix comment typo and mention datasheet 2022-05-26 00:03:46 +00:00
George White
fb3077ccc2 Implement UART hardware flow control on SAMD chips 2022-05-25 21:34:06 +00:00
Dan Halbert
38f91539dc
Merge pull request #6432 from CytronTechnologies/add-maker-zero-samd21
Add new board: Cytron Maker Zero SAMD21
2022-05-25 13:58:33 -04:00
Dan Halbert
1fb210bd40
Merge pull request #5491 from pypewpew/remove-gamepadshift
Remove gamepadshift module
2022-05-25 13:58:06 -04:00
Luqmanul Hakim Zulkifli
aef5bc40fb
Deleted white spaces 2022-05-26 00:13:27 +08:00
Luqmanul Hakim Zulkifli
9ed71f0c09
Add Cytron Maker Zero SAMD21 2022-05-25 10:09:30 +08:00
Luqmanul Hakim Zulkifli
0b99967839
Add Cytron Maker Zero SAMD21 2022-05-25 10:08:58 +08:00
Luqmanul Hakim Zulkifli
46f4fcc42f
Add Cytron Maker Zero SAMD21 2022-05-25 10:08:17 +08:00
Luqmanul Hakim Zulkifli
9385f793dc
Add Cytron Maker Zero SAMD21 2022-05-25 10:07:33 +08:00
Luqmanul Hakim Zulkifli
6fa552e257
Delete board.c 2022-05-25 10:04:06 +08:00
Luqmanul Hakim Zulkifli
5453b331f7
Delete mpconfigboard.h 2022-05-25 10:03:53 +08:00
Luqmanul Hakim Zulkifli
8806f5b5d8
Delete mpconfigboard.mk 2022-05-25 10:03:45 +08:00
Luqmanul Hakim Zulkifli
9649d80ea3
Delete pins.c 2022-05-25 10:03:34 +08:00
Luqmanul Hakim Zulkifli
4e467b7f34
Add Cytron Maker Zero SAMD21 2022-05-25 09:46:20 +08:00
Radomir Dopieralski
c0152e7dab Remove gamepadshift module
Everything should be using the keypad module instead.

Note: there are several boards that still had gamepadshift enabled. I
did not contact their authors to make sure they already switched to
keypad in their code and documentation. We should probably wait with
merging this for their go ahead.
2022-05-25 00:48:55 +02:00
Dan Halbert
791064a934
Merge pull request #6427 from dhalbert/8.0.0-onewireio
Remove busio.OneWire and bitbangio.OneWire in favor of onewireio.OneWire
2022-05-24 15:32:33 -04:00
Dan Halbert
ecd30d2338
Merge pull request #6428 from dhalbert/8.0.0-restore-rainbowio
restore rainbowio to small builds
2022-05-24 15:32:08 -04:00
Dan Halbert
335c93c044 restore rainbowio to small builds 2022-05-24 12:34:08 -04:00
Dan Halbert
74c92ffe9e Remove busio.OneWire and bitbangio.OneWire 2022-05-24 12:26:33 -04:00
Paint Your Dragon
eefba16644
Correctly scale analog reading per issue #4794 2022-05-24 08:40:51 -07:00
Neradoc
3179db4ef4 move frozen adafruit_circuitplayground to express subdirectory 2022-05-23 22:11:26 +02:00
Dan Halbert
9c643aa907 Merge branch '7.3.x' into merge-7.3.0-rc.1-to-main 2022-05-21 12:57:46 -04:00
Dan Halbert
338e14d9d4 shrink arduino_mkr1300 2022-05-21 10:21:59 -04:00
Dan Halbert
309dab4c75 merge 7.3.0-rc.1 changes to main 2022-05-20 15:37:56 -04:00
Dan Halbert
f63b26c534 address jepler's comments and further squeezes 2022-05-20 10:10:55 -04:00
Dan Halbert
a01dec1df9 message consolidation and more use of validators 2022-05-19 15:38:37 -04:00
Neradoc
8987bf18d0 Add Winbond flash substitute to boards 2022-05-16 22:39:25 +02:00
Dan Halbert
624a00ac45 shrink circuitplayground_express_displayio 2022-05-14 08:54:46 -04:00
Dan Halbert
9028bf213d
Merge pull request #6331 from pypewpew/pewpew_lcd
Add new board pewpew_lcd
2022-05-13 12:33:08 -04:00
Radomir Dopieralski
e7735a3631 Add new board pewpew_lcd 2022-05-10 22:25:32 +02:00
Dan Halbert
5edc59f070
Merge pull request #6337 from jepler/property-storage
Optimize flash storage of properties
2022-05-06 09:55:18 -04:00
Dan Halbert
98ae047525 Compile more SAMD things conditionallly 2022-05-04 11:41:48 -04:00
Dan Halbert
b181caaefc add board.LED to Metro M4 AirLift LIte and PyRuler 2022-05-03 16:08:01 -04:00
Jeff Epler
510890b207
Enable squeezing property storage in flash
.. and enable it on atmel-samd and raspberrypi. On trinket_m0 this saves
96 net bytes of flash. There are 216 bytes actually saved by reducing
the flash storage size of the property descriptors, but added code in
several paths takes back over half of the 'raw savings'.

By organizing the "get-only" and "get-set" (but no delete) properties
each in a different section, we can represent then more efficiently.

Testing performed: that a get-only property can still be gotten but
can't be set or deleted; that a get-set property can sill be gotten or
set but can't be deleted.  Tested on pygamer.

Because this requires linker file support, I only enabled it on two of
the ports.
2022-05-03 08:48:53 -05:00
Jeff Epler
78cf0a90af
Make MP_PROPERTY_GETTER / _GETSET fully declare the property
This will enable setting data attributes, namely, the section of the
symbol.
2022-05-03 08:48:53 -05:00
Jeff Epler
31da335cac
Introduce, use MP_PROPERTY_GETTER, _GETSET
Later, these can be changed in cunning ways to save flash storage.
2022-05-03 08:48:52 -05:00
Dan Halbert
816a26e8b7
Merge pull request #6321 from dhalbert/samd21-ticks-for-display
Preserve ticks for displays across VMs
2022-04-28 09:37:21 -04:00
Michael Wisslead
e63a327107 Bound PulseIn start indexes to maxlen. 2022-04-28 02:28:34 +00:00
Dan Halbert
b25d810af9 Preserve ticks for displays across VMs 2022-04-27 20:06:47 -04:00
Dan Halbert
b7541088f4 shrink circuitplayground_express_crickit 2022-04-26 17:51:47 -04:00
Dan Halbert
7a77aae4be shrink feather_m0_supersized 2022-04-26 16:52:43 -04:00
Dan Halbert
6b25ccf1a4 remove stray space 2022-04-26 14:26:42 -04:00
Dan Halbert
63abd9a9cf
Merge pull request #6312 from dhalbert/adjust-neopixel-timings
test and adjust NeoPixel timings on multiple ports
2022-04-26 13:18:47 -04:00
Dan Halbert
3a8fb4e956
Merge pull request #5852 from jepler/floppy
Add floppyio
2022-04-26 11:40:19 -04:00
Dan Halbert
4eeaf41edc test and adjust NeoPixel timings on multiple products 2022-04-25 23:12:24 -04:00
Dan Halbert
0642917cf7
Merge pull request #6270 from FoamyGuy/tilegrid_bitmap_property
adding bitmap property to TileGrid
2022-04-25 09:09:28 -04:00
Dan Halbert
76d54ca8ad shrink sparkfun_redboard_turbo 2022-04-21 12:58:46 -04:00
George White
3b5171c4ff Move hook implementation to supervisor 2022-04-18 14:09:36 +00:00
George White
32fc084b39 Removed compiler flag in favor of MP_WEAK implementation 2022-04-18 13:10:12 +00:00
George White
0ba93b20e5 Setup flash pins on Sparkfun SAMD51 Micromod 2022-04-18 13:10:12 +00:00
foamyguy
948040f1f0 disable onewire instead of displayio on boards without room 2022-04-10 10:00:37 -05:00
foamyguy
7ad5fa511e disable displayio for some boards 2022-04-09 16:24:06 -05:00
Jeff Epler
766bf8f671
disable floppyio on kicksat-sprite 2022-04-07 10:57:37 -05:00
Jeff Epler
f7be4345d9
Merge remote-tracking branch 'origin/main' into floppy 2022-04-07 08:37:46 -05:00
Dan Halbert
2693a4cfe1
Merge pull request #6069 from gamblor21/uzlib-module
zlib Module
2022-04-06 12:06:44 -04:00
Mark
8ed7b114cd
Merge branch 'main' into uzlib-module 2022-04-03 11:48:37 -05:00
gamblor21
9d67e62f4d Removed from small board 2022-04-03 11:47:19 -05:00
Jeff Epler
372306411a
samd: Don't rely on RTC interrupt
I instrumented RTC_Handler and determined that on SAMD51 it was possible
for the interrupt to be delivered well before the actual overflow of the
RTC COUNT register (e.g., a value as small as 0xffff_fffd could be seen
at the time of overflow)

Rather than depending on the overflow interrupt coming in at the same time
as COUNT overflows (exactly), rely only on observed values of COUNT in
_get_count, overflowing when it wraps around from a high value to a low
one.

With this change, PLUS a second change so that it is possible to warp
the RTC counter close to an overflow and test in 20ms instead of 3 days,
there was no problem detected over 20000+ overflows. Before, a substantial
fraction (much greater than 10%) of overflows failed.

Fixes #5985

Change to common-hal/rtc/RTC.c for time warping (plus make rtc_old_count non-static):
```patch
 void common_hal_rtc_set_calibration(int calibration) {
+
+    common_hal_mcu_disable_interrupts();
+
+        RTC->MODE0.COUNT.reg = 0xffffff00;
+        rtc_old_count = 0;
+        do {
+        while ((RTC->MODE0.SYNCBUSY.reg & (RTC_MODE0_SYNCBUSY_COUNTSYNC | RTC_MODE0_SYNCBUSY_COUNT)) != 0) { }
+    }
+    while(RTC->MODE0.COUNT.reg < 0xffffff00);
+    common_hal_mcu_enable_interrupts();
+
+    mp_printf(&mp_plat_print, "Warping RTC in calibration setter count=%08x rtc_old_count=%08x\n", RTC->MODE0.COUNT.reg, rtc_old_count);
```

Test program:
```python
import time
from rtc import RTC

i = 0
while True:
    RTC().calibration = 1 # Warps to ~16ms before overflow, with patch to RTC code
    t0 = time.monotonic_ns()
    et = t0 + 20_000_000 # 20ms
    while (t1 := time.monotonic_ns()) < et: pass
    i += 1
    print(f"{i:6d}: duration {t1-t0}")
    if t1-t0 > 200_000_000: break
    print()
```
2022-03-25 14:48:03 -05:00
Jeff Epler
d91ca7369c
Merge remote-tracking branch 'origin/main' into revamp-duplicate-usb-check 2022-03-24 09:44:41 -05:00
Jeff Epler
a07ac72cc5
Improve the USB vid:pid duplicate checker
To me, it made more sense to track which boards go together in a cluster;
when reviewing a request to actually use a duplicate vid/pid, you want
to know what board(s) it is aliasing.

I also revamped the detection of non-USB boards so that a board .mk file
that couldn't be parsed by the code here would raise a problem instead
of just being skipped for the purposes of checking.

There were some lines with comments on the end, and some variation in
capitalization of the IDs. These are all normalized and a (sometimes
unfriendly!) error printed when it's incorrect.

Before this, here were some ways to trick the duplicate vid/pid checker:
```
USB_PID = 0XABCD
USB_PID = 0xAbCd
USB_PID = 0xABCD # harmless comment?
```
None of these things were ever done on purpose.
2022-03-24 09:42:11 -05:00
Scott Shawcroft
4363361c87
Board definition clean up
Removes:
* AUTORESET_DELAY_MS which never did anything but was introduced
  somehow.
* CIRCUITPY_BOOT_BUTTON in all but one ESP board because they all have
  them. There is a default based on the strapping pins.
* BOARD_USER_SAFE_MODE_ACTION because it was all the same for boards
  with boot buttons. Now the safe mode code manages the message.
2022-03-21 17:58:43 -07:00
Scott Shawcroft
c098474854
Disable aesio and traceback on matrixportal to save space 2022-03-16 10:41:17 -07:00
Scott Shawcroft
dcc3ec171e
Merge remote-tracking branch 'adafruit/7.2.x' into merge_7.2.2 2022-03-15 13:56:11 -07:00
Scott Shawcroft
f602296e59
Re-enable BLE on MatrixPortal. Remove PortalBase
We have a guide that uses it. It was removed in #6043 without
realizing that.

Fixes #6152
2022-03-14 17:04:46 -07:00
Dan Halbert
f13d218749
Merge pull request #6125 from tannewt/usb_host
Start of USB host API
2022-03-11 21:41:28 -05:00
Scott Shawcroft
7cb66dd316
Merge pull request #6142 from dhalbert/7.2.x-autoreload-fake-sleep
7.2.x autoreload rework (again)
2022-03-11 16:46:04 -08:00
Dan Halbert
e4cd9690f1 rework auto-reload delay logic 2022-03-11 14:03:04 -05:00
Dan Halbert
19e7647f3d turn off MIDI on sensebox_mcu for sapce 2022-03-10 18:20:04 -05:00