Commit Graph

3919 Commits

Author SHA1 Message Date
Dan Halbert 98469322b7
Merge pull request #3276 from xiongyihui/main
support to change ble mac address
2020-08-14 11:14:36 -04:00
Yihui Xiong 52990a332d fix 2020-08-14 17:48:15 +08:00
Dan Halbert a28d0f6c80
Merge pull request #3273 from jepler/ja-firmware-size
Squeeze firmwares to fit the new ja translation
2020-08-13 12:19:28 -04:00
Dan Halbert 329f4fb2e6
Update mpconfigboard.mk
The stm boards default to `-O2`. Changing to `-Os` brings it back to ~43kB (!) free even for ja.
2020-08-13 10:09:46 -04:00
Jeff Epler 42b860e91a stm: meowbit_v121: remove _pixelbuf to fit ja translation 2020-08-13 07:49:45 -05:00
Yihui Xiong e7da652711 able to change ble mac address 2020-08-13 16:54:29 +08:00
Dan Halbert 44c9c43cd1 ble_uart_echo_test works 2020-08-13 00:03:39 -04:00
Jeff Epler 239c8ff87f metro_m0_express: put back audiobusio
this now fits locally (though it's very close to capacity);
let's see what the CI says.

```
make BOARD=metro_m0_express clean && make BOARD=metro_m0_express  TRANSLATION=ja
...
253448 bytes used, 248 bytes free in flash firmware space out of 253696 bytes (247.75kB).
```
2020-08-12 19:11:33 -05:00
Scott Shawcroft 7ffa2a103c
Merge pull request #3269 from jepler/sharpdisplay-v2
Sharp Memory Display displayio support (v2)
2020-08-12 16:53:09 -07:00
Jeff Epler aa0b4f7045 cpx_display: Put back AUDIOBUSIO, take away ROTARYIO
AUDIOBUSIO is needed for the on-board mic using PDMIn
2020-08-12 16:17:48 -05:00
Jeff Epler ea8e9b8cef metro_m0_express: Put back GAMEPAD, take away AUDIOBUSIO
Dan notes that this is more frequently the solution we've chosen
2020-08-12 16:17:13 -05:00
Jeff Epler 299894025a stringcar_m0_express: make ja translation fit 2020-08-12 13:47:10 -05:00
Jeff Epler f08ee0db20 itsybitsy_m0_express: make ja translation fit again 2020-08-12 13:44:00 -05:00
Jeff Epler 7bd42244c9 snekboard: make ja translation fit 2020-08-12 13:34:36 -05:00
Jeff Epler 45f6bc1f3e serpente: make ja translation fit 2020-08-12 13:32:08 -05:00
Jeff Epler 36bfbaae69 feather_radiofruit_zigbee: make ja translation fit 2020-08-12 13:28:30 -05:00
Jeff Epler 58a1361d3e Merge remote-tracking branch 'origin/main' into ja-firmware-size 2020-08-12 13:26:12 -05:00
Jeff Epler 06f6cd067d nrf: Improve commenting about disabled warnings 2020-08-12 12:59:48 -05:00
Jeff Epler 813dcd1b73 trinket_m0_haxpress: make ja translation fit 2020-08-12 12:44:17 -05:00
Jeff Epler 88f222f1a1 metro_m0_express: make ja translation fit 2020-08-12 12:38:17 -05:00
Jeff Epler ba91023fff itsybitsy_m0_express: make ja translation fit 2020-08-12 12:35:29 -05:00
Jeff Epler 6b9f7c9047 hallowing_m0_express: make ja translation fit 2020-08-12 12:29:30 -05:00
Jeff Epler 58afda342d feather_m0_supersized: make ja translation fit 2020-08-12 11:53:34 -05:00
Jeff Epler 27c2eb1869 feather_m0_express: make ja translation fit 2020-08-12 11:51:56 -05:00
Jeff Epler 8865e4ca97 circuitplayground_express_displayio: make ja translation fit 2020-08-12 11:46:52 -05:00
Jeff Epler f3748fe20d circuitbrains_basic_m0: Use optimization flags to let ja translation fit 2020-08-12 11:46:31 -05:00
Jeff Epler f9d1d9d114 atmel-samd: disable FRAMEBUFFERIO on samd21
.. this disables SHARPMEMORY as well.
2020-08-12 11:15:34 -05:00
Jeff Epler 454e616d13 atmel-samd: disable FRAMEBUFFERIO on samd21
.. this disables SHARPMEMORY as well.
2020-08-12 10:46:56 -05:00
Scott Shawcroft 3197c579e0
Merge pull request #3262 from tannewt/fix_fs_corruption
Fix writing sector 0 as the first write.
2020-08-12 08:14:55 -07:00
Jeff Epler 32fc8b0676 nrf: reset_pin_number: reset pin clears never-reset, mirroring samd 2020-08-12 07:32:18 -05:00
Jeff Epler 760a171903 nrf: Make port build with -Werror=undef
.. build-tested on particle_xenon
2020-08-12 07:32:18 -05:00
bleeptrack 49407b6c06 trailing spaces fix 2020-08-12 13:42:45 +02:00
bleeptrack e34fac6645
Whitespace and Newline fix 2020-08-11 23:59:32 +02:00
Dan Halbert 06f3b4048a fix #3228 for nrf; still needs to be fixed for HCI; tested 2020-08-11 16:21:16 -04:00
bleeptrack 228d9b5a12
Fixing indentation 2020-08-11 22:18:15 +02:00
bleeptrack 22ae1dbac8
Removing unnecessary pin ignored 2020-08-11 22:17:17 +02:00
bleeptrack 00676ff5a9
PicoPlanet 2020-08-11 21:49:52 +02:00
Scott Shawcroft 8488b31aa0
Init directly 2020-08-11 11:19:40 -07:00
Scott Shawcroft bbac68e77c
Merge pull request #3232 from hierophect/esp32-neopixel
ESP32-S2: Add Neopixel support
2020-08-11 11:04:39 -07:00
Scott Shawcroft 87c78be8f4
Fix writing sector 0 as the first write.
This was the FS issue I saw when debugging wifi and only happens
when the first write is to sector 0. It causes issues because it
blanks all of sector 0 after the first block.

Fixes #3133
2020-08-10 17:14:49 -07:00
Jeff Epler 807f049dc3
Merge pull request #3244 from xiongyihui/main
add an option to turn off QSPI when sleep
2020-08-10 16:06:57 -05:00
Jeff Epler 1cf3762392 Merge remote-tracking branch 'origin/main' into stm32-sdioio 2020-08-10 12:54:12 -05:00
Lucian Copeland d47bd5529c Fix neopixel macro issue, set default neopixel color 2020-08-10 13:16:20 -04:00
Dan Halbert 0f4b969d62 discovery of Nordic UART service working 2020-08-08 00:29:37 -04:00
Jerry Needell 1d980d527e Merge remote-tracking branch 'upstream/main' into jerryn_rfm9x 2020-08-07 12:48:41 -04:00
Yihui Xiong af1291ec28 dynamically enable or disable QSPI by default 2020-08-07 16:23:42 +08:00
Jerry Needell f7961b96a9 update comment 2020-08-06 10:05:18 -04:00
Jerry Needell c42ffb8f3d remove usb_hid 2020-08-06 05:44:26 -04:00
Yihui Xiong d8257380d7 add qspi_disable() 2020-08-06 09:56:05 +08:00
Lucian Copeland 78d049d0f1 Fix pwm reset spew, protect against null reference in led status 2020-08-05 14:05:53 -04:00
Jerry Needell 432f43a472 freeze rfm9x and BusDevice, remove many built-in modules 2020-08-05 11:37:57 -04:00
root c7b6e66426 Fixes for pulsein tick handling 2020-08-05 10:03:20 -05:00
Yihui Xiong 7854625c4e avoid using the RGB LEDs to save energy 2020-08-05 16:08:13 +08:00
Yihui Xiong dbe47a6a2a adjust 2020-08-05 16:07:18 +08:00
Jeff Epler 93b373d617 "pop from empty %q"
Saves 12 bytes code on trinket m0
2020-08-04 18:42:09 -05:00
Lucian Copeland 14b3b51c58 Rework build flags, prevent idf errors 2020-08-04 18:40:24 -04:00
Dan Halbert ac95106b88 service discovery works; need to work on char and descriptor discovery 2020-08-04 18:24:37 -04:00
Jeff Epler c849b781c0 Combine 'index out of range' messages 2020-08-04 14:45:45 -05:00
Jeff Epler 89797fd3f9 various: Use mp_obj_get_type_qstr more widely
This removes runtime allocations of the cstring version of the qstring.

It is not a size improvement
2020-08-04 14:45:45 -05:00
Jeff Epler dddd25a776 Combine similar strings to reduce size of translations
This is a slight trade-off with code size, in places where a "_varg"
mp_raise variant is now used.  The net savings on trinket_m0 is
just 32 bytes.

It also means that the translation will include the original English
text, and cannot be translated.  These are usually names of Python
types such as int, set, or dict or special values such as "inf" or
"Nan".
2020-08-04 13:34:29 -05:00
Yihui Xiong 6dc0f4f1b6 add an option to turn off QSPI when sleep 2020-08-05 01:10:58 +08:00
Jeff Epler 0e2d231445 Merge remote-tracking branch 'origin/main' into stm32-sdioio 2020-08-03 21:01:53 -05:00
Dan Halbert a995a5c58f wip: partial discovery responses; compiles; not tested 2020-08-03 21:02:57 -04:00
DavePutz d7eedc5e38
Merge pull request #20 from adafruit/main
Update from main
2020-08-03 13:14:01 -05:00
root 9203a77804 Turn off interrupts while in handler 2020-08-03 11:31:12 -05:00
Lucian Copeland 4900668778 Merge remote-tracking branch 'upstream/main' into esp32-neopixel 2020-08-03 12:26:37 -04:00
sabas1080 0e30fe1cc5 Update VID & PID codes 2020-08-02 19:54:11 -05:00
Dan Halbert 0a60aee3e4 wip: compiles 2020-08-02 11:36:38 -04:00
sabas1080 b074f8a161 update for build test 2020-08-02 00:42:36 -05:00
sabas1080 fea1cad02c add support for Bast Wifi Electronic Cats 2020-08-01 17:51:45 -05:00
root 12b81618a3 Changes for getting supervisor ticks 2020-08-01 13:27:02 -05:00
Dan Halbert 1771858f4a add RELEASE_NEEDS_CLEAN_BUILD for lang-specific CFLAGS_INLINE_LIMIT changes 2020-08-01 13:20:46 -04:00
Dan Halbert 4b71831d8b
SUPEROPT_VM = 0 for de_DE 2020-08-01 12:36:20 -04:00
Lucian Copeland 94b2561860 Fix include error 2020-08-01 09:22:18 -04:00
Lucian Copeland 1c1df053d5 Add neopixel support 2020-07-31 15:34:12 -04:00
Jeff Epler 27c6ffb9a2 atmel-samd: gemma, trinket: Make space for de_DE translation 2020-07-30 11:29:47 -05:00
Jeff Epler d69f081c04 Merge remote-tracking branch 'origin/main' into blm_badge 2020-07-30 07:24:48 -05:00
Jeff Epler 531c1e046c
Merge pull request #3226 from joeycastillo/main
Small updates to Open Book board
2020-07-30 07:21:50 -05:00
Jeff Epler f175a49444 stm: sdioio: include header for common_hal_mcu_pin_claim 2020-07-30 07:18:12 -05:00
Jeff Epler b57e6e9856 stm: sdioio: call common_hal_mcu_pin_claim 2020-07-30 07:18:12 -05:00
Jeff Epler d73505a027 stm: fix if-guard of conditional code 2020-07-30 07:18:12 -05:00
Jeff Epler 60dd5a8d7d stm: sdioio: remove unused code related to "SD Card detect pin"
.. this probably came from the examples that I studied at the beginning
of implementation.

The card detection feature is unused.  As a "detect pin" is not
sent from the shared-bindings, there is no way to get the correct pin
anyway.  Instead, if code needs to detect the insertion state it can
directly use the pin as GPIO in Python code.
2020-07-30 07:18:02 -05:00
Jeff Epler ccd3013396 stm: stioio: correctly claim pins 2020-07-30 07:18:02 -05:00
Jeff Epler 3cf1258c87 stm: sdioio: Get rid of debug code and useless comments 2020-07-30 07:18:02 -05:00
Jeff Epler 6a99a7b551 stm: Use 'Invalid %q pin selection' more places 2020-07-30 07:18:02 -05:00
Jeff Epler 92d2f47503 feather_stm32f405_express: sdio_data_tuple should be static 2020-07-30 07:18:02 -05:00
Jeff Epler 4adbd23b75 stm: Add sdioio support for feather_stm32f405_express
Currently, only the bus specs of the stm32f405xx have been coded.
Other stm-family chips need (at a minimum) the specs added in their
periph.[ch] files.
2020-07-30 07:18:02 -05:00
Jeff Epler d30f11163c stm: enable SD module in HAL 2020-07-30 07:18:02 -05:00
Jeff Epler af135a7560 atmel-samd: move samd-specific script 2020-07-30 07:18:02 -05:00
Joey Castillo 8acec2ca35 add descriptive pin names 2020-07-29 13:49:08 -04:00
Joey Castillo ea9bc9b4b6 set screen orientation to portrait 2020-07-29 13:46:10 -04:00
hathach b2ec77e554 Merge remote-tracking branch 'adafruit/main' into improve-highspeed-usb 2020-07-29 23:14:52 +07:00
hathach b6724e843c
update CDC/MIDI bufsize to at least 512 for highspeed port 2020-07-29 16:22:27 +07:00
hathach 6063828279 replace USB_MSC_MAX_PACKET_SIZE with USB_HIGHSPEED in descriptor gen tool 2020-07-29 15:38:55 +07:00
Dan Halbert ca9eae8eea
Merge pull request #3209 from pewpew-game/fluff-m0-pins
fluff_m0: add pin aliases
2020-07-28 15:15:15 -04:00
Dan Halbert 824a57c6f4
Merge pull request #3218 from tannewt/use_gcc10_peripherals
Use samd peripherals fixed for gcc 10
2020-07-28 15:14:20 -04:00
Scott Shawcroft b30d89131b
Merge pull request #3215 from ansonhe97/main
Added display QSTR to Wio Terminal
2020-07-28 11:53:17 -07:00
Dan Halbert aa97ea2501 Merge remote-tracking branch 'adafruit/main' into blm_badge 2020-07-28 14:15:02 -04:00
Scott Shawcroft 92216d6417
Use samd peripherals fixed for gcc 10 2020-07-28 11:14:25 -07:00
Dan Halbert e5e132a364 add blm_badge; add CIRCUITPY_AUDIOBUSIOIO_I2SOUT 2020-07-28 11:49:54 -04:00
ansonhe97 e15bcebb6e Added display QSTR to Wio Terminal 2020-07-28 17:31:17 +08:00
sabas1080 d37326326d init bastwifi 2020-07-28 00:56:37 -05:00
Jerry Needell 945736e9bb add adjustments for crickit and displayio variants of CPX 2020-07-27 22:13:04 -04:00
Jerry Needell 2bdd62220e adjust stack for SAMD21 to accomodate larger pystack -- update frozen module adafruit_busdevice 2020-07-27 21:50:36 -04:00
Scott Shawcroft debbf1028a
Merge pull request #3196 from IkigaiSense/ikigaisense_vita
add-ikigaisense_vita-nRF52840
2020-07-27 16:10:57 -07:00
Scott Shawcroft f4f2018952
Merge pull request #3101 from ndGarage/ndgarage_ndbit6_v2
ndgGarage ndbit6 v2
2020-07-27 15:51:23 -07:00
Scott Shawcroft 7be9837f73
Merge pull request #3193 from ciscorn/type-annotations
More type hints
2020-07-27 14:26:54 -07:00
Taku Fukada d356581651 Fix several type hints 2020-07-27 18:05:13 +09:00
Radomir Dopieralski b2c4b0bcfa fluff_m0: don't exclude portb pins explicitly 2020-07-26 17:26:32 +02:00
Radomir Dopieralski b1b253c012 fluff_m0: add pin aliases
Add aliases for SDI, SDO and EN, so that pin names match the text on the
PCB to avoid confusion.

Also disable all pins from port B, because that package of SAMD21
doesn't have port B.
2020-07-26 13:39:42 +02:00
Dan Halbert 7ab5c520e6
Merge pull request #3190 from DavePutz/opt-test
Changes to allow different compiler optimizations per board
2020-07-25 17:03:10 -04:00
Dan Halbert b7e6bf959e
Merge pull request #3205 from burtyb/commander-2
Add GamePad to Commander board
2020-07-25 16:57:58 -04:00
Chris Burton c4a5297ee2 Add GamePad to Commander 2020-07-25 17:53:27 +00:00
ikigaisense 6696915801 fix-ndbit6-for-ndbit6_v2 2020-07-25 10:07:33 -06:00
root c4817968ee Merge branch 'opt-test' of https://github.com/DavePutz/circuitpython into opt-test 2020-07-24 23:28:41 -05:00
DavePutz 3dfed3c4aa
Merge pull request #15 from adafruit/main
update from main
2020-07-24 20:29:53 -05:00
root 739981b34e update for pewpew 2020-07-24 17:27:25 -05:00
DavePutz a14101cd13
Use current mpconfigboard.mk with optimization change 2020-07-24 14:09:09 -05:00
Lucian Copeland 356b1a8d6d Finish common-hal pin API 2020-07-24 12:29:18 -04:00
hierophect c735dceed5
Merge pull request #3099 from hierophect/stm32-timer-allocator
STM32: Add timer allocator, PulseIO adjustments
2020-07-24 11:16:39 -04:00
root b9cdf195e2 board mk file changes 2020-07-24 10:00:42 -05:00
root 204cdada7c remove unnecessary mk files parameters 2020-07-24 09:53:40 -05:00
Taku Fukada 54a342a7f5 Add and correct some type hints 2020-07-24 18:20:03 +09:00
root ce37a442e8 format fix 2020-07-23 19:35:04 -05:00
root c937fa1760 fix formatting 2020-07-23 19:29:57 -05:00
root 778e8bfda9 Changes to optimization option 2020-07-23 19:27:02 -05:00
ikigaisense 703fb9d4a1 update-ndGarage_ndbit6_v2 2020-07-23 16:08:30 -06:00
Scott Shawcroft 060ab8a1f0
Merge pull request #3194 from tannewt/gcc10
Prep for GCC10
2020-07-23 14:39:21 -07:00
ikigaisense 1ee8a09da2 add-ikigaisense_vita-nRF52840 2020-07-23 14:39:59 -06:00
Scott Shawcroft 6a46fd5b91
Merge pull request #3185 from hierophect/esp32-pulseio
ESP32-S2: PWMOut
2020-07-23 13:11:33 -07:00
Lucian Copeland cf0a4d208e Fix unintended timer reset, style changes 2020-07-23 14:01:10 -04:00
Scott Shawcroft 2bd6d05663
Add externs. GCC10 complains about duplicate defines 2020-07-22 16:26:46 -07:00
Lucian Copeland 61a2e4f94b Add PWMOut 2020-07-22 16:34:18 -04:00
Lucian Copeland c1f731d62e Claim USB pins at startup to prevent overwrites 2020-07-22 14:22:05 -04:00
hierophect e232ec10ce
Merge branch 'main' into stm32-timer-allocator 2020-07-22 13:59:39 -04:00
Lucian Copeland 138189bad1 Free timers when modules de-init 2020-07-22 13:58:57 -04:00
root d83a4ac72d Changes to add compiler optimization option 2020-07-22 12:44:41 -05:00
DavePutz 39e01c3938
Merge pull request #14 from adafruit/main
update from main
2020-07-22 11:30:49 -05:00
Scott Shawcroft 8ff2846bb2
Disable countio on circuitbrains basic 2020-07-21 16:21:49 -07:00
root db5c3c9676 dded optimization for esp32s2 2020-07-21 17:54:47 -05:00
Scott Shawcroft cb7df2e1ed
Merge pull request #3160 from tannewt/enable_pystack
Enable PYSTACK to keep function state out of the heap
2020-07-21 13:38:52 -07:00
Scott Shawcroft 5e3a853db4
Turn off GC opt on uchip board 2020-07-21 12:51:59 -07:00
Scott Shawcroft 678faff464
Be more aggressive with uChip build 2020-07-21 11:02:23 -07:00
root 49decf90c9 Add option for higher optimization levels 2020-07-21 10:11:08 -05:00
Scott Shawcroft 0c6935e336
Merge branch 'main' into disable_network 2020-07-20 16:28:22 -07:00
Scott Shawcroft 12edb57aac
Merge pull request #3166 from theacodes/bhb-adc
Add _bhb user module for Big Honking Button
2020-07-20 16:24:36 -07:00
Thea Flowers 7ba89f5330 Add _bhb user module for Big Honking Button
BHB needs better accuracy from the ADC readings. To avoid changing the ADC configuration for all boards or adding complexity to AnalogIn, I implemented a custom user module to allow the BHB to talk to the ADC in the way that it needs to. I'm open to other approaches here, but this seemed like the least invasive and complex option.
2020-07-18 22:45:08 -07:00
Radomir Dopieralski 11ef43b071 pewpew_m4: Disable USB_HID back
German translation fails to build, so I have to disabled USB_HID after
all.
2020-07-18 20:09:30 +02:00
Radomir Dopieralski 8d692f33a8 pewpew_m4: Enable analogio and usb_hid
The newest version for the Stage library for PewPewM4 no longer contains
embedded graphics, which frees enough space in flash to enabled back
AnalogIO and also add USB_HID. There is still ~192 bytes left free.

If new additions to CircuitPython make it grow further, we can disable
USB_HID again.
2020-07-18 19:30:40 +02:00
Scott Shawcroft 610e0171aa
Disable existing native networking.
We're moving towards a co-processor model and a Wiznet library is
already available.

New native APIs will replace these for chips with networking like the
ESP32S2 but they won't be these.
2020-07-17 17:43:02 -07:00
Lucian Copeland 207369ec09 Add boilerplate, create basic PWMOut test 2020-07-17 17:28:23 -04:00
Jeff Epler 9cdf5e148a
Merge pull request #2879 from jepler/background-callback
Use a linked list of background tasks to perform
2020-07-17 15:46:03 -05:00
Jeff Epler 6912d31560 uchip: reclaim some flash space 2020-07-17 14:32:05 -05:00
Dan Halbert 6494bbdc64 snapshot 2020-07-16 23:14:49 -04:00
Lucian Copeland dc6902a33e Exclude timers from H7 builds 2020-07-16 17:11:24 -04:00
Lucian Copeland 6a49766df0 Fix pulseIO reset and frequency issues, remove IRQ conflict 2020-07-16 15:45:18 -04:00
Scott Shawcroft 72f6d7ee21
Merge pull request #3155 from jepler/esp32s2-parallel-build
esp32s2: Take care to invoke the sub-build-system only once
2020-07-16 11:26:53 -07:00
Scott Shawcroft 7bb508bf43
Merge pull request #3157 from tinkeringtech/tinkeringtech-scoutmakes-azul
Addition of Tinkeringtech ScoutMakes Azul nRF52840 based platform to CircuitPython
2020-07-16 11:03:31 -07:00
TinkeringTech 49fcfd14d2 Added the TinkeringTech ScoutMakes Azul platform to CircuitPython 2020-07-15 21:49:34 -04:00
Jeff Epler 1df48176ce supervisor: factor supervisor_background_tasks from sundry ports 2020-07-15 11:49:44 -05:00
Jeff Epler 6160d11c5a supervisor: factor out, Handle USB via background callback 2020-07-15 11:49:44 -05:00
Jeff Epler a2919a6fb2 esp32s2: Use the device's EUI-48 address as unique ID
On my hardware, esptool reports
    MAC: 7c:df:a1:02:6c:b8
after this change, the USB descriptor says SerialNumber: 7CDFA1026CB8
and microcontroller.cpu.id has
    >>> "".join("%02x" % byte for byte in microcontroller.cpu.uid)
    'c7fd1a20c68b'

Note that the nibble-swapping between USB and cpu.uid is typical.
For instance, an stm32 board has USB SerialNumber
24002500F005D42445632302 but hex-converted microcontroller.cpu.id
420052000f504d4254363220.
2020-07-15 11:45:13 -05:00
Jeff Epler 910f69c42b esp32s2: Take care to invoke the sub-build-system only once
This allows "make -j" in the outer build system to function properly,
with a potentially large decrease in build times on high end desktop
systems.
2020-07-15 10:30:07 -05:00
Jeff Epler 742aa740f6 samd: audio: Move to background callback
Testing performed: Played half of the Bartlebeats album :) :)
2020-07-15 09:26:47 -05:00
Jeff Epler dc74ae83da nRF: Always use sd_nvic_critical_region calls
The motivation for doing this is so that we can allow
common_hal_mcu_disable_interrupts in IRQ context, something that works
on other ports, but not on nRF with SD enabled.  This is because
when SD is enabled, calling sd_softdevice_is_enabled in the context
of an interrupt with priority 2 or 3 causes a HardFault.  We have chosen
to give the USB interrupt priority 2 on nRF, the highest priority that
is compatible with SD.

Since at least SoftDevice s130 v2.0.1, sd_nvic_critical_region_enter/exit
have been implemented as inline functions and are safe to call even if
softdevice is not enabled.  Reference kindly provided by danh:
 https://devzone.nordicsemi.com/f/nordic-q-a/29553/sd_nvic_critical_region_enter-exit-missing-in-s130-v2

Switching to these as the default/only way to enable/disable interrupts
simplifies things, and fixes several problems and potential problems:
 * Interrupts at priority 2 or 3 could not call common_hal_mcu_disable_interrupts
   because the call to sd_softdevice_is_enabled would HardFault
 * Hypothetically, the state of sd_softdevice_is_enabled
   could change from the disable to the enable call, meaning the calls
   would not match (__disable_irq() could be balanced with
   sd_nvic_critical_region_exit).

This also fixes a problem I believe would exist if disable() were called
twice when SD is enabled.  There is a single "is_nested_critical_region"
flag, and the second call would set it to 1.  Both of the enable()
calls that followed would call critical_region_exit(1), and interrupts
would not properly be reenabled.  In the new version of the code,
we use our own nesting_count value to track the intended state, so
now nested disable()s only call critical_region_enter() once, only
updating is_nested_critical_region once; and only the second enable()
call will call critical_region_exit, with the right value of i_n_c_r.

Finally, in port_sleep_until_interrupt, if !sd_enabled, we really do
need to __disable_irq, rather than using the common_hal_mcu routines;
the reason why is documented in a comment.
2020-07-15 09:26:47 -05:00
Lucian Copeland 818b96ae61 Fix IRQ enum protections 2020-07-14 16:33:36 -04:00
Scott Shawcroft 90ad9beff5
Merge pull request #3136 from xiongyihui/master
Add 2 boards nRF52840 M.2 devkit and M60 Keyboard
2020-07-13 17:14:18 -07:00
Scott Shawcroft 51c888d4be
Merge pull request #3003 from Flameeyes/master
License tagging according to REUSE specifications.
2020-07-13 16:28:49 -07:00
Scott Shawcroft d712d1281c
Merge branch 'main' into master 2020-07-13 15:53:44 -07:00
Dan Halbert 3fcd999130
Merge pull request #3130 from pewpew-game/brownout-level
SAMD: make the brownout detection level configurable per board
2020-07-13 16:26:11 -04:00
Lucian Copeland b8910676db Add missing enum preprocessor protection 2020-07-13 11:52:30 -04:00
Dan Halbert f6869c69c5 wip: advertising; not tested 2020-07-12 19:45:23 -04:00
Yihui Xiong c8752ff93e use RGB LEDs as status indicators 2020-07-11 21:25:32 +08:00
Yihui Xiong 8e26fdc0e9 add LED status, remove unused macros 2020-07-11 10:51:31 +08:00
Radomir Dopieralski 742f9cfdb0 Fluff M0: additional pins on version 1.3 of the board 2020-07-10 20:40:58 +02:00
Yihui Xiong 7ff499046b use VID & PIDs granted by Seeed 2020-07-11 00:37:45 +08:00
Lucian Copeland eb86010176 Enable RGB Matrix 2020-07-10 11:06:12 -04:00
Scott Shawcroft 0068c76fa6
Merge pull request #3135 from arms22/bless_dev_board_multi_sensor
Add new board BLE-SS dev board Multi Sensor
2020-07-09 10:29:57 -07:00
Lucian Copeland edc48a505f Complete F405 pin and periph definitions 2020-07-09 13:10:18 -04:00
Lucian Copeland 2bcc5c06c2 Fix advanced claimed pin/package timer search 2020-07-09 11:42:37 -04:00
Yihui Xiong 678f266394 fix pre-commit check 2020-07-09 10:25:46 +00:00
Radomir Dopieralski e0733d153e SAMD: configurable brownout, separate the variables 2020-07-09 12:17:07 +02:00
Yihui Xiong 96f6ce222c add makerdiary m60 keyboard
Signed-off-by: Yihui Xiong <yihui.xiong@hotmail.com>
2020-07-09 10:02:27 +00:00
Yihui Xiong e81d22cd67 add makerdiary nrf52840 m.2 devkit
Signed-off-by: Yihui Xiong <yihui.xiong@hotmail.com>
2020-07-09 10:01:04 +00:00
arms22 bb5cdcf954 Add new board BLE-SS dev board Multi Sensor 2020-07-09 11:26:45 +09:00
Lucian Copeland 9c38f5dcb1 Merge remote-tracking branch 'upstream/main' into stm32-timer-allocator 2020-07-08 16:03:12 -04:00
Scott Shawcroft ce214e82a5
Merge pull request #3127 from Arudinne/Raytac_MDBT50Q-DB-40
Add new board Raytac MDBT50Q-DB-40
2020-07-08 11:34:56 -07:00
Radomir Dopieralski 83a27edd20 SAMD: make the brownout detection level configurable per board
Not all boards have external flash or other components that make them
require 2.7V -- sometimes we can get considerably longer battery life
by decreasing this requirement.

In particular, pewpew10 and pewpew_m4 are powered directly from
battery, with no LDO, and should work fine down to 1.6V.
2020-07-08 19:59:53 +02:00
Arudinne 768149fb01 modified: ports/nrf/boards/raytac_mdbt50q-db-40/pins.c 2020-07-08 10:36:41 -05:00
Arudinne 5a9aac472a modified: ports/nrf/boards/raytac_mdbt50q-db-40/pins.c 2020-07-07 14:37:59 -05:00
Jeff Epler 57ab4f1329 stm: SPI: revamp pin search code
I discussed with Hierophect on Discord about how to "de-nest" the code
for configuring SPI objects on STM, because the problems with one
nesting level per pin becomes unmanageable with the up to 10 pins of
SDIO.

This code (which is only compile-tested so far) demonstrates the concept
we discussed.

The SCK pin is always required.  Loop over all possibilities of the SCK
pin.  When we are considering a particular item in the mcu_spi_sck_list
we have now become committed to using a particular periph_index.  If all
the other pins can be satisfied by that periph_index, then we have a
working combination.  Once we have a working combination that is not
reserved, we can return that combination.  On reaching the end, we have
checked all the possible possibilities and can give the same errors as
before: One if there was a possibility that worked but was reserved;
and another if no possibility worked.
2020-07-07 14:37:50 -05:00
Arudinne dc2f729d19 modified: ports/nrf/boards/raytac_mdbt50q-db-40/mpconfigboard.mk
modified:   ports/nrf/boards/raytac_mdbt50q-db-40/pins.c
2020-07-07 14:37:08 -05:00
Arudinne b5af05cd31 new file: ports/nrf/boards/raytac_mdbt50q-db-40/board.c
new file:   ports/nrf/boards/raytac_mdbt50q-db-40/bootloader/6.0.0/pca10056_bootloader_6.0.0_s140.zip
	new file:   ports/nrf/boards/raytac_mdbt50q-db-40/mpconfigboard.h
	new file:   ports/nrf/boards/raytac_mdbt50q-db-40/mpconfigboard.mk
	new file:   ports/nrf/boards/raytac_mdbt50q-db-40/pins.c
2020-07-07 12:27:23 -05:00
Scott Shawcroft 965a4961ce
Merge pull request #3120 from DavePutz/issue#3049
Issue#3049 -PulseIn not working in CP5.4
2020-07-07 08:59:22 -07:00
DavePutz 0932b64ae7
Correct for SAMD51 build 2020-07-06 23:25:33 -05:00
DavePutz 1b3cb17abd
Corrected file for SAMD51 build 2020-07-06 21:47:11 -05:00
DavePutz ab4a453006
Made requested changes 2020-07-06 21:40:38 -05:00
Scott Shawcroft a7844205bd
Merge pull request #3123 from kamtom480/sdk2.0
spresense: update SDK to 2.0.1
2020-07-06 15:09:46 -07:00
Scott Shawcroft 846f01b2c8
Merge pull request #3113 from ansonhe97/main
ADD: Added Wio Terminal's functional pins and LCD driver to board init
2020-07-06 14:50:47 -07:00
Diego Elio Pettenò 34b4993d63 Add license to some obvious files. 2020-07-06 19:16:25 +01:00
Radomir Dopieralski 2f80460a2f Fluff M0: additional pins on version 1.3 of the board 2020-07-06 19:15:41 +01:00
Kamil Tomaszewski 97355f8fb7 spresense: update SDK to 2.0.1 2020-07-06 17:13:28 +02:00
DavePutz ac33c3fe2c
Implementation of continuous synchronization of RTC during pulsein
Flags and code to implement continuous synchronization of RTC during pulsein
2020-07-04 21:17:19 -05:00
DavePutz 94d90742dd
Implementation of RTC continuous synchronization during pulsein
Flags and code to implement RTC continuous synchronization during pulsein
2020-07-04 21:15:38 -05:00
ndgarage e514782cc6 update-with-new-usb-PID 2020-07-04 10:39:21 -06:00
ansonhe97 36ef3476de Fix depreciate terminology 2020-07-04 11:21:58 +08:00
Lucian Copeland c72e3536f1 Merge remote-tracking branch 'upstream/main' into stm32-timer-allocator 2020-07-03 09:50:05 -04:00
ansonhe97 2ecb46f192 Fix CI 2020-07-03 13:42:27 +08:00
ansonhe97 2a92cf8d8b ADD: Added LCD driver to board init 2020-07-03 12:44:20 +08:00
ansonhe97 49aacc8596 ADD: Fixed wrong SPI pins and added more functional pins 2020-07-03 12:43:21 +08:00
Scott Shawcroft 4d7b9cde33
Merge pull request #3109 from pewpew-game/fluff_m0
Fluff M0: additional pins on version 1.3 of the board
2020-07-02 15:43:32 -07:00
Radomir Dopieralski fce35c3481 Fluff M0: additional pins on version 1.3 of the board 2020-07-02 22:57:58 +02:00
Scott Shawcroft 4a21426377
Merge pull request #3103 from hierophect/stm32-simplex-spi-fix
STM32: add debug flags, fix hang in simplex SPI
2020-07-02 13:42:08 -07:00
Lucian Copeland 4b66483757 Update submodule, revert direction change 2020-07-02 15:38:37 -04:00
Kamil Tomaszewski f4a2474447 spresense: Add support for sdioio 2020-07-02 15:26:59 +02:00
Jeff Epler fcddfd0f39
Merge pull request #3083 from tannewt/esp32s2_busio
Add busio support for the ESP32-S2
2020-07-01 21:02:08 -05:00
Lucian Copeland 87d58b3b0a STM32: add debug flags, fix hang in simplex SPI 2020-07-01 17:48:10 -04:00
Scott Shawcroft 367d3800fc
Return false if we already have the lock 2020-07-01 14:35:25 -07:00
ndgarage 0537f4e775 restore-ndgarage_ndbit6-to-original 2020-07-01 14:12:52 -06:00
ndgarage c759c9a2aa add-ndgarage_ndbit6_v2-update 2020-07-01 13:58:07 -06:00
svgops b80dbb4b2c add-ndgarage_ndbit6_v2 2020-07-01 12:06:59 -06:00
Lucian Copeland ab9a64eafa Add timer allocator, adjust pulsio to use general purpose timers 2020-07-01 10:35:49 -04:00
Jeff Epler 3a17a79bf2
Merge pull request #3094 from kamtom480/mkspk
spresense: add elf32.h for mkspk
2020-07-01 06:58:40 -05:00
ansonhe97 d4e28dd233 ADD: added more special pins on Wio Terminal 2020-07-01 17:06:26 +08:00
Dan Halbert 11cb3e3b4b hci skeleton done; not working yet 2020-06-30 23:19:40 -04:00
Scott Shawcroft 5028804878
Remove fixed pointers and check UART return 2020-06-30 15:29:42 -07:00
Scott Shawcroft 74ad5e80ce
Merge pull request #3089 from ansonhe97/main
Add: added Seeed's Wio Terminal Board Support
2020-06-30 10:58:24 -07:00
Scott Shawcroft 69b3d47564
Fix other esp builds 2020-06-29 18:21:53 -07:00
Scott Shawcroft 965a40b6a1
Fix cxd56 function signature 2020-06-29 17:17:46 -07:00
Scott Shawcroft 111f7ddf69
Merge pull request #2863 from jepler/sdcard-in-core
Sdcard in core
2020-06-29 16:49:58 -07:00
ansonhe97 4613f80d7a Fix end of line 2020-06-29 17:41:48 +08:00
ansonhe97 0dd17f4418 Add: Added Seeed Wio Terminal board support 2020-06-29 16:22:41 +08:00
jerryneedell bbedd43273 change CMake verision requirement 2020-06-27 13:27:42 -04:00
Scott Shawcroft 7f6bef3251
Remove debug prints 2020-06-26 16:56:17 -07:00
Scott Shawcroft 08749630a2
Fix SPI RX and remove debug prints 2020-06-26 16:30:24 -07:00
Scott Shawcroft 2d579cc995
Use NULL for deinited DigitalInOut
This fixes a Display issue where no backlight pin is given but it's
still deinitialized.
2020-06-26 12:33:50 -07:00
Scott Shawcroft a9f257bcd6
Store host_id so that never reset works 2020-06-26 12:32:56 -07:00
Jeff Epler c5db97c50f atmel-sam: sdio: disable debug prints by default 2020-06-26 13:16:16 -05:00
Scott Shawcroft 0f074fb956
Merge pull request #3072 from PTS93/patch-2
Update minimum required cmake to 3.16
2020-06-26 10:02:24 -07:00
Jeff Epler f496c0b58d atmel-samd: Add SDIO SD card interface 2020-06-26 11:50:42 -05:00
Jeff Epler d4b9458512 samd: sdio: Add needed files from atmel start 2020-06-26 11:50:41 -05:00
Jeff Epler 57fde2e07b sdcardio: implement new library for SD card I/O
Testing performed: That a card is successfully mounted on Pygamer with
the built in SD card slot

This module is enabled for most FULL_BUILD boards, but is disabled for
samd21 ("M0"), litex, and pca10100 for various reasons.
2020-06-26 11:50:23 -05:00
Scott Shawcroft 9ec9644928
Merge pull request #3071 from jgillick/jeremy/stm-nvm-flash
STM32 (ThunderPack) - Move NVM sector to increase program size.
2020-06-26 09:45:26 -07:00
Dan Halbert 3e616ccead update submodules 2020-06-26 12:21:57 -04:00
jgillick 017c188ab5 Move NVM block to increase program size. 2020-06-25 21:46:15 -07:00
Dan Halbert 759929c24a hci early wip; refactor supervisor bluetooth.c for nrf: tested 2020-06-25 20:57:17 -04:00
Timon a80d7479d0
Update minimum required cmake to 3.16
Earliest tested version that compiles.
Failed with version 3.10
2020-06-26 02:04:14 +02:00
Timon 0a41b86f6b
Fix typo inserting IDF_PATH variable 2020-06-26 01:36:03 +02:00
Lucian Copeland 6c91af7d56 WIP 2020-06-25 17:27:01 -04:00
Jeff Epler 103ad9966a remove machine_i2c, machine_spi
This micropython code is not used in circuitpython
2020-06-25 11:44:21 -05:00
Jeff Epler 1d2cc0b968 I2CPeripheral: Rename class and its module
This is an incompatible change.
2020-06-25 11:44:19 -05:00
Jeff Epler 07eb7d653c
Merge pull request #3042 from kamtom480/gnss
Add gnss module
2020-06-25 11:08:40 -05:00
Jeff Epler 076a96ccc6
Merge pull request #3046 from jepler/same51
Add basic SAM E54  support and SAM E54 Xplained board
2020-06-25 06:55:27 -05:00
Kamil Tomaszewski 436b15e558 spresense: add elf32.h for mkspk 2020-06-25 10:26:33 +02:00
Scott Shawcroft d768d4d37a
Merge branch 'main' into gnss 2020-06-24 17:17:43 -07:00
Scott Shawcroft 03e5043af4
Turn off Idle WDT and speed up CPU 2020-06-24 13:10:31 -07:00
Scott Shawcroft ed6e81d688
Switch SPI to polling DMA and enable displayio 2020-06-24 13:10:08 -07:00
Scott Shawcroft 496e16d99b
Handle memory (hopefully). Short TX works 2020-06-24 12:47:59 -07:00
Scott Shawcroft c5fa9730a8
Compiles! 2020-06-24 12:47:59 -07:00
Scott Shawcroft fc9c0ba573
Initial SPI implementation. Almost certainly doesn't compile 2020-06-24 12:47:59 -07:00
Scott Shawcroft f52f60b17d
Add UF2 build target 2020-06-24 12:47:59 -07:00
Scott Shawcroft 7b56617f8e
Turn off stub so flash works over native usb 2020-06-24 12:47:58 -07:00
Scott Shawcroft a26102607e
Add UART support 2020-06-24 12:47:58 -07:00
Scott Shawcroft 6f050d7af3
Add pull up testing, proper us delay and stop supporting 45 and 46 for I2C 2020-06-24 12:47:58 -07:00
Scott Shawcroft ae52d052cb
Fix I2C thanks to Mark! 2020-06-24 12:47:58 -07:00
Scott Shawcroft d0401f02a9
Add initial I2C support, not quite working fully though 2020-06-24 12:47:58 -07:00
Jeff Epler 87835c77e8
Merge pull request #3038 from jepler/compute-usb-devices
Compute USB_DEVICES instead of requiring it to be specified
2020-06-24 13:31:56 -05:00
Kamil Tomaszewski ab4c09cea7 gnss: Add timestamp 2020-06-24 11:14:44 +02:00
Kamil Tomaszewski 3509dad5b3 gnss: Remove start and stop 2020-06-24 11:14:44 +02:00
Kamil Tomaszewski 343f093ead spresense: Add support for GNSS 2020-06-24 11:14:44 +02:00
Jeff Epler f232aef786 supervisor.mk: Compute USB_DEVICES; remove from boards and ports
Since Actions passed on the previous commit, where this computed value
was checked against the specified value (if any), this is no net change,
except that we no longer need to specify it for particular boards or
ports.
2020-06-23 12:59:01 -05:00
Scott Shawcroft f67b307371
Merge pull request #3045 from k0d/stm32_alignment_issue
Fixes issue with memory alignment in STM32
2020-06-23 10:54:08 -07:00
Jeff Epler 93d3629da2 stm: Sort configuration options and make them all conditional
This makes them all overridable on the board level, tersely
2020-06-23 11:02:38 -05:00
Jeff Epler 0110463811 stm: Disable USB MIDI and most USB HID
.. it was not in the USB descriptors anyway (lack of enough endpoints?)
2020-06-23 11:01:36 -05:00
Jeff Epler 3f112d28e3 mimxrt10xx: Disable USB MIDI
.. it was not in the USB descriptors anyway (lack of enough endpoints?)
2020-06-23 10:57:32 -05:00
Jeff Epler 458eef052e esp32s2: Disable USB MIDI
.. it was not in the USB descriptors anyway (lack of enough endpoints?)
2020-06-23 10:57:25 -05:00
Jeff Epler 38659b566c atmel-samd: Finish disabling USB MIDI and/or HID on certain boards 2020-06-23 10:56:27 -05:00
Jeff Epler d5074220a8 atmel-samd: Add SAM E54 Xplained board
Few peripherals are actually tested.  However, USB, I2C and GPIO seem to work.

Most pins are silkscreened with the "PX00" style, so the board module
only includes the small number that are screened differently.

The default SPI, I2C, and UART are the ones on the EXT2 header.  This is
arbitrary, but the I2C on this connector is shared with the on-board I2C
devices and the PCC header, making it the most versatile.
2020-06-23 10:41:48 -05:00
Jeff Epler da733c01da atmel-samd: Add support for SAM E54 family MCUs
This introduces the new macro SAM_D5X_E5X.  This is mostly the same
as SAMD51 before, except in a few places where a special case for
SAME54 is required
2020-06-23 10:41:48 -05:00
Scott Shawcroft 0b99baccb8
Merge pull request #3050 from florin-trutiu/loc-ber-m4-base-board
PID request for a new board configuration
2020-06-22 15:09:42 -07:00
Scott Shawcroft 54b66d9484
Merge pull request #3052 from dhalbert/samd51-voltage-check-delay
delay 1ms on SAMD51 when reading processor voltage
2020-06-22 14:29:43 -07:00
Jeff Epler d43449a6d6 sparkfun samd51 thing plus: Fix board.I2C()
This had the SDA and SCL pins transposed, so nothing worked.
2020-06-22 10:45:27 -05:00
Jeff Epler a770b5a919 never_reset_pin: Move pin validity check before first use of pin number 2020-06-22 10:45:27 -05:00
Jeff Epler 6638bc32c3 samd: Makefile: Regularize whitespace 2020-06-22 10:45:27 -05:00
Jeff Epler 8a760b0657 stm: Pin.c: Compute GPIO_PORT_COUNT instead of specifying manually 2020-06-22 10:45:27 -05:00
Jeff Epler a580f0f1c4 _pew: move to common-hal
I noticed that this code was referring to samd-specific functionality,
and isn't enabled except in one samd board (pewpew10).  Move it.

There is incomplte support for _pew in mimxrt10xx which then caused build
errors; adding a #if guard to check for _pew being enabled fixes it.
The _pew module is not likely to be important on mimxrt but I'll leave the
choice to remove it to someone else.
2020-06-22 10:45:27 -05:00
Jeff Epler 5a3a0a5092 stm: Makefile: sort files in SRC_STM32 2020-06-22 10:45:23 -05:00
Dan Halbert 1687c8b1e3 delay 1ms on SAMD51 when reading processor voltage 2020-06-19 15:25:04 -04:00
Florin Trutiu b316549590 Added the new assigned VID/PID pair 2020-06-19 19:26:29 +03:00
Florin Trutiu 178be2e3c9 loc_ber_m4_base_board 2020-06-19 18:56:20 +03:00
Mark Olsson 23da0fa99c Fixes issue with memory alignment in STM32
When compiling with optimizations on, an issue occurs where the claimed_pins/never_reset_pins memory location is shared with another variable. This causes some bad memory read, so the USB pins ended up being reset. Setting these to have an alignment of 4 bytes resolves this.

Tested on nucleo_f746zg
2020-06-18 00:51:04 +02:00
Scott Shawcroft a345223dac
Merge pull request #3031 from jepler/improve-shared-bindings-links
docs: Improve 5.0.x <-> main branch doc linkrot
2020-06-16 11:49:27 -07:00
Lucian Copeland fd4aafacbe Add port D to LQFP64 2020-06-16 12:33:15 -04:00
Jeff Epler 9d5ccccf7d cxd56: Disable HID and MIDI
These are already disabled via the USB_DEVICES setting, but the code is
included anyway.
2020-06-15 15:22:45 -05:00
Jeff Epler a9614bb964 cxd56: Sort the configuration settings 2020-06-15 15:22:45 -05:00
Lucian Copeland 2aac3cbdce Revert I2C timing overrides, reduce scope to module only 2020-06-15 13:51:09 -04:00
Jeff Epler 3c3cad5ae6 docs: Improve 5.0.x <-> main branch doc linkrot
This improves, but does not entirely fix, the broken links that result
from the autoapi change.  It fixes module-level links, but class links
still do not work (e.g., /shared-bindings/displayio/Palette.html (5.0.x)
is now just /shared-bindings/displayio/#displayio.Palette).
2020-06-14 11:12:35 -05:00
Scott Shawcroft e27f68ffe7
Merge pull request #3025 from hierophect/stm32-f7-startup
STM32: Add DTCM and ITCM support to F7 series
2020-06-11 11:03:48 -07:00
Lucian Copeland 724637faa3 Move I2C speed to clock-style definition 2020-06-11 11:17:51 -04:00
Lucian Copeland c08702414e Add macros for setting correct F7 and H7 I2C timing 2020-06-10 16:36:44 -04:00
Lucian Copeland bf3a5afca1 Merge branch 'stm32-f7-startup' into stm32-i2cspeed 2020-06-10 16:16:15 -04:00
Lucian Copeland c88a8e66c6 Minor comment fix 2020-06-10 13:22:21 -04:00
Lucian Copeland 7cc8b784c3 Add missing openmv definitions 2020-06-10 10:31:24 -04:00
Lucian Copeland b414f82669 Add DTCM and ITCM support to F7 series 2020-06-09 18:01:52 -04:00
Scott Shawcroft 9b8d648986
Merge pull request #3020 from DavePutz/issue2958
Issue #2958 Correct calculation of subticks being returned from port_get_raw_ticks() for esp32s2
2020-06-09 12:41:18 -07:00
DavePutz ec7a3feeba
Redid formula for calculating subticks
changed subticks calculation to give a range from 0 to 32767.
2020-06-09 10:08:49 -05:00
Scott Shawcroft 0ba541d498
Merge pull request #3017 from Nicell/nice_nano
Add nice!nano board support
2020-06-08 14:47:22 -07:00
DavePutz d8bb2d7c6d
Correct ticks being returned from port_get_raw_ticks()
Issue #2958 . Correct calculation of usec back to ticks in port_get_raw_ticks().
2020-06-08 10:52:27 -05:00
Scott Shawcroft 004d644184
Merge pull request #3009 from hierophect/stm32-LSE-startup-fix
STM32: Rework LSE clock init, allow clock overrides
2020-06-07 22:37:53 -07:00
Nick 33496e9c68 Add nice!nano board support 2020-06-05 19:58:54 -05:00
Lucian Copeland 93cffaa87e Fix pin macros typo, add extra flash protection 2020-06-05 16:43:08 -04:00
Lucian Copeland ad0971fb25 Override HAL_Delay and HAL_GetTick 2020-06-05 13:56:32 -04:00
Scott Shawcroft 6400113bb9
Merge pull request #3001 from hierophect/mimxrt-teensy-boot
mimxrt10xx: Disable pin_reset on 1060 boards
2020-06-05 10:28:53 -07:00
Lucian Copeland a0977cac7b Merge remote-tracking branch 'upstream/master' into stm32-LSE-startup-fix 2020-06-04 16:15:38 -04:00
Lucian Copeland 74effeeefd Add temporary fix warning 2020-06-04 13:30:07 -04:00
Lucian Copeland d14e34449b Rework LSE clock init, allow clock overrides 2020-06-04 13:21:29 -04:00
Lucian Copeland c93ccd1e91 Disable pin resets on the 1060 2020-06-03 12:07:08 -04:00
Diego Elio Pettenò dd5d7c86d2 Fix up end of file and trailing whitespace.
This can be enforced by pre-commit, but correct it separately to make it easier to review.
2020-06-03 10:56:35 +01:00
Lucian Copeland b5b9a56918 Update teensy 4.0/4.1 pin protections 2020-06-02 18:05:59 -04:00
Scott Shawcroft db04fd1725
Merge pull request #2933 from simmel-project/wdt-nrf
Add Watchdog timer and add support for NRF watchdog
2020-06-02 10:33:24 -07:00
Sean Cross ed8a52d1db litex: remove call to `board_init()`
These calls were all moved into `main.c`, however this call was not
removed from litex. As a result, litex was calling `board_init()` twice.

This is currently not a problem, as `fomu` is able to be initialized
twice without issue, however future boards may have issue with this.

This fixes #2991.

Signed-off-by: Sean Cross <sean@xobs.io>
2020-06-02 10:19:40 +08:00
Scott Shawcroft 959f7297da
Merge remote-tracking branch 'adafruit/master' into wdt-nrf 2020-06-01 17:01:16 -07:00
Scott Shawcroft 4146d6f872
Merge pull request #2890 from jepler/nrf-audio-tick
nrf: put supervisor enable/disable tick in place
2020-06-01 15:51:22 -07:00
Scott Shawcroft dd2cd6f002
Merge pull request #2979 from hierophect/stm32-remove-crystals
STM32: Set correct crystal settings on Discovery boards
2020-06-01 15:21:39 -07:00
Scott Shawcroft 323cca8910
Merge remote-tracking branch 'adafruit/master' into wdt-nrf 2020-06-01 15:18:12 -07:00
Lucian Copeland 75eb44f234 Note temporary issue with Nucleo boards 2020-06-01 12:26:08 -04:00
Kamil Tomaszewski ce337eaa27 Fix port_get_raw_ticks 2020-06-01 11:35:46 +02:00
Dan Halbert 4667d4de8c
Merge pull request #2975 from dhalbert/aesio-nrf52840
enable aesio on all nRF52840 boards
2020-05-29 14:07:30 -04:00
Lucian Copeland 0fe7efdf36 Set correct crystal settings on Discovery boards 2020-05-29 14:01:34 -04:00
Scott Shawcroft ddcae19254
Merge pull request #2964 from hierophect/mimxrt-busio-cleanup
mimxrt10xx: Busio cleanup and bugfixes
2020-05-29 10:42:16 -07:00
Scott Shawcroft 2fd7a43f2f
Merge remote-tracking branch 'adafruit/master' into wdt-nrf 2020-05-29 10:16:24 -07:00
Lucian Copeland fe75c7793c Fix SWO/Analog overlap, style changes 2020-05-29 12:19:37 -04:00
Dan Halbert 0d2fee95e2 enable aesio on all nRF52840 boards 2020-05-29 11:06:30 -04:00
Scott Shawcroft 2fb4fa3289
Spill registers before scanning the stack.
From the change:

    // xtensa has more registers than an instruction can address. The 16 that
    // can be addressed are called the "window". When a function is called or
    // returns the window rotates. This allows for more efficient function calls
    // because ram doesn't need to be used. It's only used if the window wraps
    // around onto itself. At that point values are "spilled" to empty spots in
    // the stack that were set aside. When the window rotates back around (on
    // function return), the values are restored into the register from ram.

    // So, in order to read the values in the stack scan we must make sure all
    // of the register values we care about have been spilled to RAM. Luckily,
    // there is a HAL call to do it. There is a bit of a race condition here
    // because the register value could change after it's been restored but that
    // is unlikely to happen with a heap pointer while we do a GC.

Fixes #2907
2020-05-28 18:34:14 -07:00
Scott Shawcroft 796373b8be
A number of small ESP32S2 fixes:
* Fix flash writes that don't end on a sector boundary. Fixes #2944
* Fix enum incompatibility with IDF.
* Fix printf output so it goes out debug UART.
* Increase stack size to 8k.
* Fix sleep of less than a tick so it doesn't crash.
2020-05-28 15:43:55 -07:00
Scott Shawcroft a9419b5d46
Update ESP IDF 2020-05-28 15:38:48 -07:00
Lucian Copeland 9ee278d2ac Merge remote-tracking branch 'upstream/master' into mimxrt-busio-cleanup 2020-05-28 12:24:37 -04:00
Lucian Copeland fd00bb8b7f Fix pin reset flash conflict error 2020-05-28 12:15:21 -04:00
Scott Shawcroft 9380c34cf7
Merge remote-tracking branch 'adafruit/master' into wdt-nrf 2020-05-27 10:47:08 -07:00
Scott Shawcroft 0db8b888d3
Merge pull request #2934 from hierophect/mimxrt-uart-oneway
mimxrt10xx: add one-directional UART
2020-05-27 10:38:00 -07:00
Lucian Copeland a59798ed49 Merge branch 'mimxrt-uart-oneway' into mimxrt-busio-cleanup 2020-05-27 12:31:16 -04:00
Lucian Copeland 9f5520135c translations 2020-05-27 11:54:52 -04:00
Lucian Copeland a25e10ed59 Merge branch 'mimxrt-uart-oneway' of https://github.com/hierophect/circuitpython into mimxrt-uart-oneway 2020-05-27 11:49:11 -04:00
Lucian Copeland 1e914ac2b0 Change exception text and type 2020-05-27 11:48:52 -04:00
Dan Halbert d06a7c4671
Correct HiiBot BlueFi USB_PID
Donated a PID set for HiiBot BlueFi.
2020-05-27 11:47:15 -04:00
Lucian Copeland 53fb699436 Add pin resetting across boards, fix array size detection issue 2020-05-27 11:45:15 -04:00
arturo182 ad988013f0
Merge pull request #2961 from arturo182/i2c-exception
mimxrt10xx: Change exception type to match other ports
2020-05-27 11:24:46 +02:00
Sean Cross aac5a4f178 watchdog: use common_hal_watchdog_* pattern
This pulls all common functionality into `shared-bindings` and keeps
platform-specific code inside `nrf`. Additionally, this performs most
validation in the `shared-bindings` site.

The only validation that occurs inside platform-specific `common-hal`
code is related to timeout limits that are platform-specific.

Additionally, all documentation is now inside the `shared-bindings`
directory.

Signed-off-by: Sean Cross <sean@xobs.io>
2020-05-27 11:38:29 +08:00
Sean Cross e470376c12 nrf: add ticks (not subticks) to overflow count during reset
Signed-off-by: Sean Cross <sean@xobs.io>
2020-05-27 11:28:50 +08:00
Sean Cross 296ba101ec nrf: set WDT priority to 2
The previous setting of `1` meant that the bluetooth system couldn't be
used when the watchdog timer was enabled.

Signed-off-by: Sean Cross <sean@xobs.io>
2020-05-27 11:28:50 +08:00
Sean Cross d0f1b59be5 nrf: pca10100: disable some unused features to shrink image
This removes some features that are largely unused in order to get the
image to fit.

Recommended in
https://github.com/adafruit/circuitpython/pull/2933#issuecomment-632859678

Signed-off-by: Sean Cross <sean@xobs.io>
2020-05-27 11:28:50 +08:00
Sean Cross 33001f4e19 nrf: simmel: shrink filesystem to fit watchdog timer
The watchdog timer has increased the amount of code and text that's
required.

Signed-off-by: Sean Cross <sean@xobs.io>
2020-05-27 11:28:50 +08:00
Sean Cross daf7c2857d nrf: port: save rtc value across reboots
As part of the reset process, save the current tick count to an
uninitialized memory location.  That way, the current tick value will be
preserved across reboots.

A reboot will cause us to lose a certain number of ticks, depending on
how long a reboot takes, however if reboots are infrequent then this
will not be a large amount of time lost.

Signed-off-by: Sean Cross <sean@xobs.io>
2020-05-27 11:28:49 +08:00
Sean Cross 5edc29c6a5 nrf: microcontroller: use port reset path
For `microcontroller.reset()`, don't manually call NVIC_SystemReset().
Instead, call the `port_reset()` in case the port wants to do any
cleanup.

Signed-off-by: Sean Cross <sean@xobs.io>
2020-05-27 11:28:49 +08:00
Sean Cross c7efc94a33 watchdog: move timeout exception to shared-bindings
Make this exception globally available to all platforms that have
enabled the watchdog timer.

Signed-off-by: Sean Cross <sean@xobs.io>
2020-05-27 11:28:49 +08:00
Sean Cross c5c13a8ba1 nrf: reset watchdog as part of port_reset()
Signed-off-by: Sean Cross <sean@xobs.io>
2020-05-27 11:28:49 +08:00
Sean Cross 108409c6cd nrf: common-hal: finish reworking exceptions
This finishes the rework of the exception handler, which is once
again stored inside the watchdog timer module.

This also implements a `watchdog_reset()` that is used to disable the
RAISE watchdog, if one is enabled.

Signed-off-by: Sean Cross <sean@xobs.io>
2020-05-27 11:28:49 +08:00
Sean Cross bd086a102e Revert "add WatchDogTimeout exception"
This reverts commit 561e7e619095869f58fc728d428f3ff20e8bfc40.
2020-05-27 11:28:49 +08:00
Sean Cross 589cb1af6d nrf: watchdog: use nrfx_wdt driver
Instead of directly poking registers, use `nrfx_wdt`.

Signed-off-by: Sean Cross <sean@xobs.io>
2020-05-27 11:28:49 +08:00
Sean Cross e738f5eaa1 nrf: boot into safe mode sometimes for watchdog reset
If the watchdog resets the system and we're plugged into USB, boot into
safe mode.

Signed-off-by: Sean Cross <sean@xobs.io>
2020-05-27 11:28:49 +08:00
Sean Cross 08362c9cab watchdogtimer: refactor to new api
This refactors the WatchDogTimer API to use the format proposed in
https://github.com/adafruit/circuitpython/pull/2933#issuecomment-632268227

Signed-off-by: Sean Cross <sean@xobs.io>
2020-05-27 11:28:49 +08:00
Sean Cross ae950bc050 add WatchDogTimeout exception
This adds an exception to be raised when the WatchDogTimer times out.

Note that this currently causes a HardFault, and it's not clear why it's
not behaving properly.

Signed-off-by: Sean Cross <sean@xobs.io>
2020-05-27 11:28:49 +08:00
Sean Cross 0169ea5155 nrf: discard arm exception sections
Since these exceptions are unused, don't include them in the output
binary.

Signed-off-by: Sean Cross <sean@xobs.io>
2020-05-27 11:28:49 +08:00
Sean Cross 8f46133917 nrf: watchdog: implement software watchdogtimer
This adds a software WatchDogTimer implementation that can be used for
testing.

Signed-off-by: Sean Cross <sean@xobs.io>
2020-05-27 11:28:49 +08:00
Sean Cross 595f6387c2 watchdog: rename module from `wdt` and move to `microcontroller`
This also places it under the `microcontroller` object.

Signed-off-by: Sean Cross <sean@xobs.io>
2020-05-27 11:28:49 +08:00
Sean Cross c23f151b6b nrf: enable wdt for all platforms
Signed-off-by: Sean Cross <sean@xobs.io>
2020-05-27 11:28:48 +08:00
Sean Cross fbe1c05832 nrf: simmel: enable wdt support
This enables WDT support for Simmel. Other platforms cannot yet use
WDT because it overflows their flash storage.

Enable CIRCUITPY_WDT support for the nrf target.

Signed-off-by: Sean Cross <sean@xobs.io>
2020-05-27 11:28:48 +08:00
Sean Cross abd01c5fbb nrf: add watchdog module
Add common-hal bindings to allow the watchdog module to be used
on nrf platforms.

Signed-off-by: Sean Cross <sean@xobs.io>
2020-05-27 11:28:48 +08:00
Sean Cross 17ef2df2ca nrf: ld: add ARM.exidx to output image
With the WDT changes, building Circuit Python results in the following error:

/opt/gcc-arm-none-eabi-9-2019-q4-major/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld: section .ARM.exidx LMA [00000000000621c8,00000000000621cf] overlaps section .data LMA [00000000000621c8,0000000000062383]

This is because unwinding data is getting generated, but has nowhere to go.
Re-enable this data in the linker script so it is saved.

Signed-off-by: Sean Cross <sean@xobs.io>
2020-05-27 11:28:48 +08:00
Dan Halbert 3574670226
Merge pull request #2931 from tannewt/esp32s2_digitalio
Finish digitalio and pin use tracking for ESP32S2
2020-05-26 19:18:45 -04:00
Scott Shawcroft c917270da7
Merge pull request #2956 from hathach/fix-samd-wfi
fix racing issue for SAMD when executing WFI
2020-05-26 14:54:24 -07:00
Scott Shawcroft ffe0e0edc3
Merge pull request #2938 from DavePutz/issue2894
Add an increment to tcc_refcount to allow deinit to work correctly
2020-05-26 14:39:59 -07:00
arturo182 d6c59c4de0 mimxrt10xx: Change exception type to match other ports 2020-05-26 22:36:30 +02:00
Scott Shawcroft 665fe7a839
Merge pull request #2945 from pewpew-game/fluff_m0
Add support for Fluff M0
2020-05-26 13:18:55 -07:00
Scott Shawcroft 2ffd70417d
Merge remote-tracking branch 'adafruit/master' into esp32s2_digitalio 2020-05-26 13:09:57 -07:00
Dan Halbert 19f0d82048
Merge pull request #2955 from BradChan/master
Add hiibot_bluefi board definitions
2020-05-26 15:37:35 -04:00
Radomir Dopieralski 4974c933b1 Fix swapped SCK and MISO in Fluff M0 2020-05-26 03:29:05 +02:00
Dan Halbert f1436410bd
Merge pull request #2951 from jepler/remove-modules-to-fit-translations
Remove modules to fit translations
2020-05-25 09:51:57 -04:00
hathach e79340601f fix racing issue for SAMD when executing WFI 2020-05-25 20:51:02 +07:00
Jeff Epler 5cffd7e88d trinket_m0_haxpress: disable RTC to make build fit with upcoming translations 2020-05-23 20:48:38 -05:00
Jeff Epler eb85304d04 escornabot: disable RTC to make build fit with upcoming translations 2020-05-23 20:48:38 -05:00
Jeff Epler 03866c0598 meowmeow: disable modules to make build fit with upcoming translations 2020-05-23 20:41:25 -05:00
Jeff Epler 2ed40075a5 pyruler: disable RTC to make build fit with upcoming translations 2020-05-23 20:36:33 -05:00
Lucian Copeland d95022f7bb Merge remote-tracking branch 'upstream/master' into mimxrt-busio-cleanup 2020-05-22 13:33:08 -04:00
Radomir Dopieralski 4c01ddcbab Add support for Fluff M0 2020-05-22 18:51:12 +02:00
hierophect fe10a45533
Merge branch 'master' into mimxrt-uart-oneway 2020-05-22 11:32:41 -04:00
Lucian Copeland 75b5142954 Minor style changes and translations 2020-05-22 11:31:52 -04:00
jerryneedell 93df3b89e8 allow PORT specifcation for esp32s2 flashing 2020-05-22 09:54:29 -04:00
DavePutz 2e05f628f0
Add an increment to tcc_refcount to allow deinits to work properly 2020-05-21 11:08:26 -05:00
Scott Shawcroft 3bb6a32a20
Merge branch 'master' into esp32s2_digitalio 2020-05-21 08:52:39 -07:00
Sean Cross 67cf005ee5 nrf: nvm: assume sd is not enabled if interrupts are off
If interrupts are disabled, then calling sd_* functions will hardfault.
Instead, assume that it's safe to write if interrupts are disabled.

Signed-off-by: Sean Cross <sean@xobs.io>
2020-05-21 22:04:20 +08:00
Sean Cross fd4ef233c6 nrf: port: add memory barrier before wfi
ARM recommends issuing a DSB instruction propr to issuing WFI, as it is
required on many parts suchas Cortex-M7. This is effectively a no-op on
the Cortex-M4 used in most NRF parts, however it ensures that we won't
be surprised when new parts come out.

See
http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dai0321a/BIHICBGB.html
for more information.

Signed-off-by: Sean Cross <sean@xobs.io>
2020-05-21 21:46:37 +08:00
Sean Cross 77cf4dce8f nrf: disable interrupts before running wfi
In order to ensure we don't have any outstanding requests, disable
interrupts prior to issuing `WFI`.

As part of this process, check to see if there are any pending USB
requests, and only execute the `WFI` if there is no pending data.

This fixes #2855 on NRF.

Signed-off-by: Sean Cross <sean@xobs.io>
2020-05-21 21:43:52 +08:00
jason 4f54514be4 Initial version 2020-05-20 21:11:06 -05:00
Scott Shawcroft c32214ccc7
Merge pull request #2932 from simmel-project/nrf-rtc-reset
nrf: reset rtc as part of port_reset()
2020-05-20 11:39:16 -07:00
Scott Shawcroft a43876ad1e
Fix esp wrover 2020-05-20 11:37:29 -07:00
Scott Shawcroft 0af5dd59f2
Merge pull request #2898 from hierophect/mimxrt-claiming
MIMXRT: Implement pin claiming, pin reset, and pin protections
2020-05-20 11:32:22 -07:00
Scott Shawcroft ba724fffb4
Merge remote-tracking branch 'adafruit/master' into esp32s2_digitalio 2020-05-20 10:48:27 -07:00
Lucian Copeland 66c09efae2 Add UART one-way instance search, fix bugs in stm32 implementation 2020-05-20 12:48:01 -04:00
Scott Shawcroft fd0420d432
Update digitalio api for other ports 2020-05-20 09:23:42 -07:00
Sean Cross 4cca455c9b nrf: reset rtc as part of port_reset()
On NRF, the `rtc_reset()` function is never called.  As a result,
calls to `time.time()` return a cryptic error>

```
>>> import time
>>> time.time()
'' object has no attribute 'datetime'
>>>
```

This is because `MP_STATE_VM(rtc_time_source)` is not initialized
due to `rtc_reset()` never being called.

If `CIRCUITPY_RTC` is enabled, call `rtc_reset()` as part of the
`reset_port()` call. This ensures that `time.time()` works as expected.

Signed-off-by: Sean Cross <sean@xobs.io>
2020-05-20 16:44:18 +08:00
Scott Shawcroft 80517c4cf6
First try at critical section support 2020-05-19 17:49:17 -07:00
Scott Shawcroft 49090d1378
Fully implement digitalio and pin-in-use tracking.
Fixes #2901
2020-05-19 17:46:29 -07:00
Scott Shawcroft 916ca9f8a6
Merge pull request #2910 from tannewt/esp32s2
Add initial ESP32S2 support
2020-05-19 12:53:23 -07:00
Lucian Copeland 38fd9c25f2 Re-add APA102 2020-05-19 15:33:34 -04:00
Scott Shawcroft acf4b1bede
Remove reverse methods from per-board defs 2020-05-19 11:43:57 -07:00
Lucian Copeland b310b04007 Remove pin/port distinction 2020-05-19 14:20:07 -04:00
Scott Shawcroft 9eb85a5feb
shrink Xinabox CS11 by turning off unused pins 2020-05-19 10:55:02 -07:00
Lucian Copeland 2acd173e14 Implement core requested changes 2020-05-19 13:54:47 -04:00
Sean Cross c1bcc25b88 nrf: _bleio: clean up timeout calculation
The timeout value is calculated by the common-hal layer now, so we don't
need to be quite so clever about calculating it here.

Signed-off-by: Sean Cross <sean@xobs.io>
2020-05-19 21:56:39 +08:00
Sean Cross 34f91f01c6 bleio: adapter: add advertising timeout and status
Add a field to allow specifying a timeout when initiating advertising.
As part of this, add a new property to determine if the device is still
advertising.

Additionally, have the `anonymous` property require a timeout, and set
the timeout to the maximum possible value if no timeout is specified.

Signed-off-by: Sean Cross <sean@xobs.io>
2020-05-19 15:01:19 +08:00
Sean Cross cfe65742a3 _bleio: support anonymous advertising
Add a new parameter to the `start_advertising()` function to enable
anonymous advertising.  This forces a call to `sd_ble_gap_privacy_set()`
with `privacy_mode` set to `BLE_GAP_PRIVACY_MODE_DEVICE_PRIVACY` and
`private_addr_type` set to
`BLE_GAP_ADDR_TYPE_RANDOM_PRIVATE_RESOLVABLE`.

With this, addresses will cycle at a predefined rate (currently once
every 15 minutes).

Signed-off-by: Sean Cross <sean@xobs.io>
2020-05-19 15:01:18 +08:00
Scott Shawcroft 2c2b53303d
Merge pull request #2837 from k0d/serial-debug
Add support for a debug console, such as ST-Link VCP.
2020-05-18 18:13:31 -07:00
Scott Shawcroft 03b6f7b87b
Add commend about FreeRTOS stack canary 2020-05-18 17:28:13 -07:00
Scott Shawcroft 164628282d
Update TinyUSB and shorten USB task delay 2020-05-18 17:27:49 -07:00
Mark Olsson 007c92ee6a Enable showing the console on a debug uart 2020-05-19 02:02:52 +02:00
Scott Shawcroft cf690bd390
Merge remote-tracking branch 'adafruit/master' into esp32s2 2020-05-18 16:46:41 -07:00
Scott Shawcroft 32617d5f2f
Merge pull request #2925 from arturo182/imx-spi
mimxrt1010: Increase max SPI speed
2020-05-18 15:22:42 -07:00
Scott Shawcroft ebfc1f2599
Merge pull request #2926 from arturo182/imx-temperature-fix
mimxrt10xx: Fix cpu.temperature crash
2020-05-18 15:20:21 -07:00
Scott Shawcroft af68ddebef
Merge pull request #2924 from simmel-project/nrf-rtc-persist
NRF: Persist RTC offset across reboots
2020-05-18 15:06:42 -07:00
Scott Shawcroft 9811c1fe4b
Merge pull request #2896 from theacodes/add-bytearray-decode
Add bytearray.decode() for CPython compatibility
2020-05-18 14:38:45 -07:00
arturo182 058a73128c mimxrt10xx: Fix cpu.temperature crash
Fixes #2514
2020-05-18 22:30:50 +02:00
arturo182 f92d53eaab mimxrt1010: Increase max SPI speed 2020-05-18 22:07:38 +02:00
Sean Cross 9f7c26c60d nrf: port: call common_hal_rtc_init() during init
Call the new function to set the RTC, or reset it if the offset is not
valid.

Signed-off-by: Sean Cross <sean@xobs.io>
2020-05-18 11:52:30 +08:00
Sean Cross 83680c41db nrf: rtc: persist rtc offset across reboots
Store the RTC value in the .uninitialized section, but make sure to
flank it with some known values.  That way we can determine if the RTC
value has been initialized, or if it's random uninitialized garbage.

As part of this, add a `common_hal_rtc_init()` routine to determine if
the value is correct, or reset it to 0 if it is not valid.

Signed-off-by: Sean Cross <sean@xobs.io>
2020-05-18 11:52:27 +08:00
Sean Cross 3b5f5ddaa6 nrf: port: move saved word into .uninitialized section
Circuit Python supports saving a single word of data across reboots.
Previously, this data was placed immediately following the .bss.

However, this appeared to not work, as Circuit Python zeroes out the
heap when it starts up, and the heap begins immediately after the .bss.

Switch to using the new .uninitialized section in order to store this
word across resets.

Signed-off-by: Sean Cross <sean@xobs.io>
2020-05-18 11:52:25 +08:00
Sean Cross 192bb155fa nrf: port: move the heap after .uninitialized
Previously, it was placed following .bss.  However, now that there is a
new section after .bss, the heap must be moved forward.

Signed-off-by: Sean Cross <sean@xobs.io>
2020-05-18 11:52:20 +08:00
Sean Cross f002c784c0 nrf: linker: add a new .uninitialized section
This section immediately follows the .bss section, and is designed to
contain uninitialized variables that should persist across reboots.

The section is placed directly after .bss, under the theory that the
size of Circuit Python's .bss + .data is bigger than the bootloader's
.bss + .data, so there is less likely to be a conflict.

Signed-off-by: Sean Cross <sean@xobs.io>
2020-05-18 11:52:17 +08:00
cyz 4f7b4241a2 add hiibot_bluefi 2020-05-18 09:42:37 +08:00
Dan Halbert e175a64036
disable rotaryio in CPX crickit 2020-05-15 20:35:12 -04:00
Scott Shawcroft a57da6b808
Add port_fixed_stack for more spresence 2020-05-15 17:22:41 -07:00
Scott Shawcroft 8edb8e87c8
Turn reverse methods off for trinket haxpress 2020-05-15 17:22:22 -07:00
Scott Shawcroft 86f865afe0
Turn reverse methods off for cpx_crickit 2020-05-15 16:42:22 -07:00
Scott Shawcroft 3c1469b0a5
Add port_fixed_stack for more builds 2020-05-15 16:22:33 -07:00
Scott Shawcroft 6aaab005c5
Initial ESP32S2 port.
Basic blinky works but doesn't check pins.
2020-05-15 15:36:16 -07:00
Dan Halbert a3ca9401b4
Shrink crickit build 2020-05-15 18:29:37 -04:00
Lucian Copeland 99538c2414 Implement pin claiming, pin reset, and pin protections 2020-05-15 15:16:51 -04:00
Scott Shawcroft 0d8bca92e2
Merge pull request #2810 from dherrada/master
Pyi integration
2020-05-15 10:31:05 -07:00
Scott Shawcroft db4dbe0752
Merge pull request #2889 from jepler/gamepad-tick
Gamepad, GamepadShift: Fix after lower-power by enabling supervisor tick
2020-05-13 11:53:23 -07:00
Jeff Epler eb876e21c3 nrf: code style 2020-05-13 10:40:41 -05:00
Jeff Epler 011acf41c0 nrf: Ensure ticks enabled while playing audio 2020-05-13 10:40:36 -05:00
Jeff Epler adef45403b samd: audio dma: enable/disable supervisor tick as needed 2020-05-13 10:29:36 -05:00
Scott Shawcroft 7546d47f77
Merge remote-tracking branch 'adafruit/master' into improve_verification 2020-05-13 08:23:55 -07:00
Scott Shawcroft 80129c5a21
Disable countio on trinket haxpress 2020-05-12 18:55:49 -07:00
Scott Shawcroft cde6651721
Merge remote-tracking branch 'adafruit/master' into improve_verification 2020-05-12 18:23:59 -07:00
Scott Shawcroft 277e8d528b
Merge branch 'master' into Optical-Encoder-Module 2020-05-12 18:22:57 -07:00
Scott Shawcroft 4e8de3c554
Swap sphinx to autoapi and the inline stubs 2020-05-12 17:28:24 -07:00
warriorofwire 5a80f5e606 nerf vectorio on a ton of m0 and overcommitted m4 boards due to translation text size 2020-05-12 15:23:00 -07:00
Scott Shawcroft d274074f01
Merge remote-tracking branch 'adafruit/master' into vectorio 2020-05-12 12:29:05 -07:00
Scott Shawcroft bc40034a08
Merge branch 'master' into Optical-Encoder-Module 2020-05-12 12:12:51 -07:00