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
Scott Shawcroft
3c1469b0a5
Add port_fixed_stack for more builds
2020-05-15 16:22:33 -07:00
Scott Shawcroft
755d404edf
Merge remote-tracking branch 'adafruit/master' into lower_power
2020-04-27 16:45:10 -07:00
Scott Shawcroft
9e4b94f466
Merge pull request #2805 from tannewt/update_tinyusb
...
Update tinyusb
2020-04-26 20:55:36 -07:00
Scott Shawcroft
5c7f6e6211
Remove empty #if and add missing includes.
2020-04-24 11:48:55 -07:00
Sean Cross
066f486b28
nrf: supervisor: support building without BUSIO
...
Only initialize i2c, spi, and uart if building with BUSIO.
Signed-off-by: Sean Cross <sean@xobs.io>
2020-04-21 10:44:20 +08:00
Sean Cross
ac9d336f40
nrf: make neopixel support optional
...
Add a conditional around the call to neopixel_write(), allowing us
to build for nrf without neopixel support.
Signed-off-by: Sean Cross <sean@xobs.io>
2020-04-21 09:56:27 +08:00
Scott Shawcroft
7e3d4c61b5
Update TinyUSB and add interrupt hooks.
2020-04-17 14:16:49 -07:00
Scott Shawcroft
48b5f2a384
Initial work on SAMD
2020-03-13 11:16:41 -07:00
Scott Shawcroft
ed5cdd7e09
Hopefully fix flash flush and hopefully audio as well.
2020-03-13 11:12:31 -07:00
Scott Shawcroft
418333979a
Fix autoreload, neopixel, monotonic_ns and sleep w/o SD
2020-03-13 11:12:31 -07:00
Scott Shawcroft
6f60afe8c5
First try at lowering the power consumption
2020-03-13 11:12:30 -07:00
Jeff Epler
1e6c08fc30
nrf: sqpi_flash: Handle unaligned reads
2020-02-28 10:03:37 -06:00
Dan Halbert
23d6a3dc1f
merge from upstream
2020-02-20 22:27:16 -05:00
hierophect
898f4e1f72
Merge branch 'master' into stm32-meowbit
2020-01-29 16:32:08 -05:00
Lucian Copeland
100409961a
Move board_init to main.c
2020-01-29 16:29:43 -05:00
Scott Shawcroft
1c39606345
Fix other builds missing new heap bounds functions
2020-01-18 18:06:56 -08:00
Roy Hooper
4e040b0152
add reset of heap to board reset for nrf port
2020-01-08 15:15:27 -05:00
Dan Halbert
ef2ef7a6b8
merge from master
2019-12-12 15:51:13 -05:00
Dan Halbert
7889b999cc
Fix flash write error handling; clean up safe mode message printing
2019-12-12 14:41:49 -05:00
Dan Halbert
013c840862
working on all ports
2019-12-10 20:27:30 -05:00
Dan Halbert
40434d6919
wip
2019-12-05 22:45:53 -05:00
Dan Halbert
7b79ac3739
Parameterize linker script
2019-10-20 23:50:12 -04:00
Kamil Tomaszewski
96756b3945
Add functions to get top and limit stack
2019-10-18 11:04:45 +02:00
Dan Halbert
be8136dc6d
Merge remote-tracking branch 'adafruit/master' into bonding1
2019-10-15 15:55:21 -04:00
Dan Halbert
fdd7ebef2d
change calibration from analogin_reset() to analogin_init()
2019-10-14 23:38:41 -04:00
Dan Halbert
c1ab2486f9
return chip vcc value
2019-10-12 15:42:15 -04:00
Dan Halbert
fc19e03128
WIP: bonding
2019-10-06 21:30:26 -04:00
jepler
f38ee42874
nrf: Add i2s audio output
...
Testing performed: I used a Particle Xenon with a HDA1334 I2S DAC.
I played a variety of mono 16-bit samples at 11025 and 22050Hz nominal
bit rates. With this setup, all the 11025Hz samples sound good.
I tested play, pause, and loop functionality.
During some runs with 22050Hz samples, there were glitches. However,
these may have only occurred during runs where I had set breakpoints
and watchpoints in gdb.
I also tested with a MAX98357A I2S amplifier. On this device, everything
sounded "scratchy". I was powering it from 5V and the 5V rail seemed
steady, so I don't have an explanation for this. However, I haven't
tried it with a SAMD board.
2019-09-08 16:46:35 -05:00
Dan Halbert
7a64af9280
rename bleio module to _bleio
2019-08-29 18:44:27 -04:00
Jeff Epler
b72352949b
PWM audio: Rename AudioOut -> PWMAudioOut, _audioio_ -> _audiopwmio_
2019-07-29 18:39:00 -04:00
Jeff Epler
a183425e00
ports/nrf: Implement audioio.AudioOut using PWM
...
This implements AudioOut, with known caveats:
* pause/resume are not yet implemented (this is just a bug)
* at best, the sample fidelity is 8 bits (this is a hardware limitation)
Testing performed:
My test system is a Particle Xenon with a PAM8302 op-amp
https://www.adafruit.com/product/2130 and 8-ohm speaker. There's no
analog filtering between the Xenon's PWM pin and the "A+" input of
the amplifier; the "A-" pin is disconnected. It is powered from
VUSB.
I used pin D4, which is *NOT* listed as a low-speed-only pin, but
the code does NOT switch the pin to high drive. This is related to
an open issue for general inability to set drive level for pins
being used by a "special function" on nrf:
https://github.com/adafruit/circuitpython/issues/1270
Nothing about the code I've written should limit the usable pins.
All samples I played were 16-bit, generally monophonic at 11025Hz
and 22050Hz from the Debian LibreOffice package.
2019-07-26 07:57:11 -05:00
Dan Halbert
62de2506e4
Include display objects in gc.
2019-06-06 17:49:32 -04:00
Scott Shawcroft
9feb844b7e
Fix crash in internal filesystem on nrf
...
Fixes #1842
2019-05-08 15:43:18 -07:00
Nick Moore
83dad37562
Fixups for adafruit/circuitpython#1042
2019-04-16 14:53:44 +10:00
Nick Moore
02dd32da60
Make some space for NVM adafruit/circuitpython#1042
2019-04-16 14:53:44 +10:00
Nick Moore
f22c01a05e
Switch supervisor/internal_flash to use new nrf_nvm_safe_flash_page_write
...
adafruit/circuitpython#1610
2019-04-16 14:53:44 +10:00
Scott Shawcroft
254d0a53ac
Revert "nrf nvm: touchups to nickzoic PR #1768 "
2019-04-15 18:50:33 -07:00
Dan Halbert
3618461f9b
Merge remote-tracking branch 'adafruit/master' into circuitpython-nickzoic-1042-nrf-nvm-bytearray-2
2019-04-10 14:09:26 -04:00
Dan Halbert
d633928a16
Don't let a background task call run_background_tasks()
2019-04-09 20:23:01 -04:00
Nick Moore
18908c21f7
Fixups for adafruit/circuitpython#1042
2019-04-09 12:53:11 +10:00
Nick Moore
fdaff00c78
Make some space for NVM adafruit/circuitpython#1042
2019-04-09 10:56:53 +10:00
Nick Moore
bcb87ffd6c
Switch supervisor/internal_flash to use new nrf_nvm_safe_flash_page_write
...
adafruit/circuitpython#1610
2019-04-09 10:56:53 +10:00
Scott Shawcroft
ceb6f2e4fc
Rework flash flush so it preserves the cache
...
This should make filesystem writes quicker and cause less heap
churn.
2019-04-03 18:28:27 -07:00
Nick Moore
781d301bb6
Remove unnecessary MP_WEAK declarations
2019-04-02 13:33:22 +11:00
Nick Moore
4a5c52fbd6
starting on #1046 rtc for nRF
2019-04-02 13:27:00 +11:00
Dan Halbert
0653bca323
Revert "Circuitpython nickzoic 1046 nrf rtc"
2019-03-29 16:41:29 -04:00
Nick Moore
77f307c642
starting on #1046 rtc for nRF
2019-03-28 09:50:09 +11:00
Dan Halbert
9cceea0d68
nrf: fix internal flash writes
2019-03-18 09:11:40 -04:00
Dan Halbert
a345ef28f2
finish Makefile refactoring; nrf builds work
2019-02-15 18:55:10 -05:00
Dan Halbert
e92d90ce9c
Add second UARTE to busio.UART. Init uarts on startup.
2019-02-12 22:34:05 -05:00
hathach
a51f2b0716
refactor nrfx from supervisor/usb.c
2019-01-30 22:30:23 +07:00
hathach
164e1e2341
re-init usb hardware when enable/disable SD
2019-01-30 14:13:07 +07:00
hathach
d1fb384a4a
update tinyusb, work better with sd
2019-01-29 21:03:18 +07:00
Dan Halbert
50ee5ef24c
merge translations; add bleio comments; fix minor sphinx issues in midi
2019-01-10 21:12:17 -05:00
hathach
f366e3feea
Merge branch 'master' into nrf52_pulsein
2019-01-09 20:39:35 +07:00
Dan Halbert
de7cadb9b2
fix typos in internal_flash.c
2018-12-29 00:08:04 -05:00
Dan Halbert
4d1f0ec07b
Add Broadcaster. Reset correctly on reload.
2018-12-28 23:34:23 -05:00
Dan Halbert
f5b15c9b4d
Merge remote-tracking branch 'origin/feather52840-rgb-qspi-fixes' into bleio-rev
2018-12-21 21:28:24 -05:00
Dan Halbert
0dfe2dbff0
return error status on more routines; minor simplification of freq setting
2018-12-21 12:30:54 -05:00
Dan Halbert
bce6d124af
Don't check for corrupt heap too early; Fix QSPI timing
2018-12-20 21:28:36 -05:00
hathach
6752266673
added pulsein using gpiote (gpio interrupt)
2018-12-18 22:05:17 +07:00
Dan Halbert
bfa66861ef
Merge remote-tracking branch 'adafruit/master' into bleio-rev
2018-12-13 16:33:15 -05:00
Dan Halbert
a7a24096f4
bleio WIP: redo for more immutability; use sd_* routines for internal flash write
2018-12-07 16:52:47 -05:00
Scott Shawcroft
332ea8853f
Macro guard VDDH inclusion.
2018-12-06 16:38:14 -08:00
Scott Shawcroft
6ef8639971
Rework safe mode and have heap overwrite trigger it.
...
This creates a common safe mode mechanic that ports can share.
As a result, the nRF52 now has safe mode support as well.
The common safe mode adds a 700ms delay at startup where a reset
during that window will cause a reset into safe mode. This window
is designated by a yellow status pixel and flashing the single led
three times.
A couple NeoPixel fixes are included for the nRF52 as well.
Fixes #1034 . Fixes #990 . Fixes #615 .
2018-12-06 14:24:20 -08:00
Scott Shawcroft
d446d328d8
Fix QSPI on Feather nRF52840
...
We were writing with quad page program including the address (0x38)
which is unsupported by the GD25Q16C but it is supported by the
flash on the DK. So, we use the single address, quad data command
(0x32).
2018-11-27 00:13:24 -08:00
Scott Shawcroft
87ddd64481
Factor out fake partition
2018-11-14 17:59:11 -08:00
Scott Shawcroft
9d91111b1b
Move atmel-samd to tinyusb and support nRF flash.
...
This started while adding USB MIDI support (and descriptor support is
in this change.) When seeing that I'd have to implement the MIDI class
logic twice, once for atmel-samd and once for nrf, I decided to refactor
the USB stack so its shared across ports. This has led to a number of
changes that remove items from the ports folder and move them into
supervisor.
Furthermore, we had external SPI flash support for nrf pending so I
factored out the connection between the usb stack and the flash API as
well. This PR also includes the QSPI support for nRF.
2018-11-08 17:25:30 -08:00
arturo182
cf79316002
nrf: Fix ble uart using the new API
2018-10-21 15:59:36 +02:00
Dan Halbert
2262efc311
PulseOut working
2018-10-16 11:05:02 -04:00
Jerry Needell
fd0ea85549
add force_create to nrf filesystem_init()
2018-10-06 08:03:27 -04:00
hathach
b8884ccc8b
Merge branch 'master' into nrf52_uart_io
2018-10-03 23:13:56 +07:00
Dan Halbert
48a3aafdd2
reset I2C and SPI on ctrl-D
2018-09-25 15:12:10 -04:00
hathach
2f0e0bdcaf
migrate serial from uart to uarte
2018-09-25 16:14:44 +07:00
hathach
d8c8c5f005
remove CFG_HWUART_FOR_SERIAL
2018-09-18 20:26:50 +07:00
Dan Halbert
e335c74ac6
use open-drain capabilities on GPIO; clean up board init; set correct GPIO voltage
2018-09-09 15:01:28 -04:00
Dan Halbert
585597a252
pin files rework; implement pin claiming; add more boards
2018-08-31 18:05:55 -04:00
ladyada
ded38d30b6
rename pin.h to nrf_pin.h to avoid conflict with Pin.h
2018-08-26 20:37:12 -04:00
hathach
0e819599e7
Merge branch 'master' into nrf52840_usbboot
2018-07-10 02:02:52 +07:00
Dan Halbert
64b9ee9c74
Merge pull request #985 from tannewt/heap_tweaks3
...
A few heap related tweaks
2018-07-08 23:21:38 -04:00
arturo182
25ece8fb3d
nrf: Rewrite the UART HAL using nrfx
2018-07-08 16:42:04 +02:00
hathach
948ddf8463
make SD default to s140 and s132 for nrf52840 and nrf52832
...
add CFG_HWUART_FOR_SERIAL for using jlink as REPL
2018-07-06 14:39:49 +07:00
hathach
6ef3a0b181
implement filesystem_writable_by_python()
2018-07-06 13:01:07 +07:00
hathach
4e5d9a029d
clean up
2018-07-05 17:26:07 +07:00
hathach
1745e20391
replace jlink with native usb cdc for serial REPL
2018-07-05 11:30:12 +07:00
Scott Shawcroft
dbc977485c
Support gathering register values on nrf.
2018-07-03 06:31:07 -07:00
hathach
f5be5ed6ee
Merge branch 'master' into nrf52840_usbboot
2018-06-25 17:12:24 +07:00
arturo182
5509f394dc
nrf: Add a nrfx submodule and prepare for using the new drivers
2018-06-20 20:43:59 +02:00
hathach
2b3436e87c
add feather nrf52 uart rts, cts support
2018-06-08 15:59:38 +07:00
arturo182
1de2ee6884
nrf: Implement ticks, add gamepad module and example
2018-02-05 20:48:25 +01:00
hathach
5e6f113779
add REPL via bleuart
2018-01-18 11:32:47 -08:00
hathach
a021a9e5f0
update uart to remove dependency on machine uart module
2017-12-29 21:25:43 +07:00
microbuilder
60a23f0fb6
nRF52 update with internal file system support
2017-12-21 13:49:14 +01:00
Kevin Townsend
ce75a21e50
Revert "Supervisor REPL support for ports/nrf/boards/feather52"
...
This reverts commit 92113dde81
.
2017-11-23 13:38:38 +01:00
Kevin Townsend
92113dde81
Supervisor REPL support for ports/nrf/boards/feather52
2017-11-23 09:22:11 +01:00