Damien George
ad9a0ec8ab
all: Convert exceptions to use mp_raise_XXX helpers in remaining places.
2020-03-18 17:26:19 +11:00
Jeff Epler
d6342af980
ulab: rename enable macro so it appears in the support matrix
2020-03-17 09:33:03 -05:00
Scott Shawcroft
76ca13b6ed
Fix SAMD51 pulsein
2020-03-13 17:21:15 -07:00
Scott Shawcroft
48b5f2a384
Initial work on SAMD
2020-03-13 11:16:41 -07:00
Scott Shawcroft
affd3fcc2a
Clear the pending IRQ in the NVIC as well.
2020-03-13 11:16:38 -07:00
Scott Shawcroft
00d5f63e7c
Hopefully fix PulseIn
2020-03-13 11:12:31 -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
Scott Shawcroft
85f44e20cb
Merge pull request #2695 from TG-Techie/master
...
Add new TG-Watch02A to the nrf boards directory
2020-03-13 10:46:48 -07:00
TG-Techie
197dc344af
fix requested changes
2020-03-12 02:31:13 -04:00
TG-Techie
b967a2071f
changed TG-Watch02A HW_BOARD_NAME
2020-03-10 23:07:25 -04:00
TG-Techie
50b451ae0c
add TG-Watch02A board def
2020-03-10 22:40:55 -04:00
TG-Techie
fec84054d9
ah
2020-03-06 15:03:37 -05:00
TG-Techie
7198056bc3
Merge pull request #2 from adafruit/5.0.x
...
5.0.x
2020-03-06 13:57:31 -05:00
Dan Halbert
210c3274e5
Merge remote-tracking branch 'adafruit/master' into assert_pin-and-mp_const_none-cleanup
2020-03-05 17:47:01 -05:00
Jeff Epler
da31acfcc4
Merge remote-tracking branch 'origin/master' into ulab
2020-03-03 20:13:53 -06:00
Dan Halbert
8435935429
update uses of assert_pin_free; remove redundant checks
2020-02-29 15:37:32 -05:00
Dan Halbert
b6206406de
new pin validation routines; don't use mp_const_none if NULL will do
2020-02-28 23:43:04 -05:00
Jeff Epler
eef742bf45
oofatfs: Remove _FS_DISK_READ_ALIGNED
...
This workaround is no longer needed, so it can be removed.
Closes : #2332
2020-02-28 10:04:28 -06:00
Jeff Epler
1e6c08fc30
nrf: sqpi_flash: Handle unaligned reads
2020-02-28 10:03:37 -06:00
TG-Techie
527eb2444c
added TG-Watch02A pins
2020-02-28 04:11:54 -05:00
TG-Techie
6d4ffc69fd
add TG-Watch02A
2020-02-28 02:52:46 -05:00
Damien George
69661f3343
all: Reformat C and Python source code with tools/codeformat.py.
...
This is run with uncrustify 0.70.1, and black 19.10b0.
2020-02-28 10:33:03 +11:00
Damien George
3f39d18c2b
all: Add *FORMAT-OFF* in various places.
...
This string is recognised by uncrustify, to disable formatting in the
region marked by these comments. This is necessary in the qstrdef*.h files
to prevent modification of the strings within the Q(...). In other places
it is used to prevent excessive reformatting that would make the code less
readable.
2020-02-28 10:31:07 +11:00
Jeff Epler
fa3b9eba92
ulab: Incorporate it
2020-02-27 11:03:03 -06:00
ladyada
86e9fd170a
move red LED to D13 and make D3 lsm6ds IRQ
2020-02-25 18:00:23 -05:00
Scott Shawcroft
28c7a1e9c3
Fix crash after empty REPL session
...
We were trying to reset bluetooth when it was off and then trying
to raise an exception without the heap.
2020-02-24 16:11:17 -08:00
Dan Halbert
f63b2c0d0c
use realloc instead
2020-02-21 17:36:15 -05:00
Dan Halbert
9cf46ec947
put neopixel_write buffer in root pointers
2020-02-21 08:44:25 -05:00
Dan Halbert
23d6a3dc1f
merge from upstream
2020-02-20 22:27:16 -05:00
Dan Halbert
634d246910
relicense nrf SPI.c to MIT
2020-02-20 16:00:21 -05:00
Dave Marples
24405cabaf
Edits as a result of review
2020-02-19 00:07:01 +00:00
Dave Marples
490a808bf6
Addition of stubs for rs485/CTS/RTS handling on non-implemented chips
2020-02-18 23:16:40 +00:00
Damien George
ac8383a95d
nrf: Use MICROPY_HW_ENABLE_RNG instead of MICROPY_PY_RANDOM_HW_RNG.
...
The "random" module no longer uses the hardware RNG (the extmod version of
this module has a pseudo-random number generator), so the config option
MICROPY_PY_RANDOM_HW_RNG is no longer meaningful. This commit replaces it
with MICROPY_HW_ENABLE_RNG, which controls whether the hardware RNG is
included in the build.
2020-02-18 12:43:16 +11:00
Damien George
6ad3bb1e12
nrf: Remove custom "random" module and use extmod version instead.
...
Hardware RNG code is moved to drivers/rng.[ch].
2020-02-18 12:43:16 +11:00
cccc
4f3e5ea934
nrf/drivers/bluetooth: Fix variable initialisation error with older gcc.
...
Without this change, arm-none-eabi-gcc version 4.9.3 (at least) would give
a "missing braces around initializer" error.
2020-02-16 23:46:27 +11:00
Dan Halbert
dc97b0d844
correct chec^Cfor flash erase boundaries
2020-02-13 17:41:05 -05:00
Scott Shawcroft
e97b0cfc61
Merge pull request #2581 from jamesbowman/master
...
First draft of eveL, the low-level module of the Gameduino bindings
2020-02-13 11:21:32 -08:00
Damien George
ad7213d3c3
py: Add mp_raise_msg_varg helper and use it where appropriate.
...
This commit adds mp_raise_msg_varg(type, fmt, ...) as a helper for
nlr_raise(mp_obj_new_exception_msg_varg(type, fmt, ...)). It makes the
C-level API for raising exceptions more consistent, and reduces code size
on most ports:
bare-arm: +28 +0.042%
minimal x86: +100 +0.067%
unix x64: -56 -0.011%
unix nanbox: -300 -0.068%
stm32: -204 -0.054% PYBV10
cc3200: +0 +0.000%
esp8266: -64 -0.010% GENERIC
esp32: -104 -0.007% GENERIC
nrf: -136 -0.094% pca10040
samd: +0 +0.000% ADAFRUIT_ITSYBITSY_M4_EXPRESS
2020-02-13 11:52:40 +11:00
Damien George
97eca38c4f
py: Add mp_raise_type helper macro and use it where appropriate.
...
This provides a more consistent C-level API to raise exceptions, ie moving
away from nlr_raise towards mp_raise_XXX. It also reduces code size by a
small amount on some ports.
2020-02-13 11:03:37 +11:00
Dan Halbert
e00b3269fe
use properly-sized SPI transactions
2020-02-12 15:04:19 -05:00
Dan Halbert
2e029d55fc
nrf: add SPIM3 support
2020-02-11 19:22:14 -05:00
Damien George
580fd636c0
nrf/drivers: Use mp_raise_msg where appropriate, and shorten exc msgs.
...
If the exception doesn't need printf-style formatting then calling
mp_raise_msg is more efficient. Also shorten exception messages to match
style in core and other ports.
2020-02-11 11:45:14 +11:00
Drew Fustini
3bf4b42e2e
change OH20 badge pin defs to use SWn for buttons
...
Rather than use A, B, C and D
Use the buttons according to silkscreen references:
SW1
SW2
SW3
SW4
2020-02-10 00:49:13 +01:00
Drew Fustini
0a54f88751
add pin defs for buttons on the OHS2020 badge
2020-02-10 00:32:16 +01:00
Dan Halbert
005c4caf8c
fix function defs for compiler
2020-02-07 10:32:37 -05:00
Dan Halbert
857d8ab40a
improve time.monotonic_ns() accuracy from ms to us
2020-02-07 10:02:50 -05:00
Dan Halbert
a63f49cb83
Merge pull request #2592 from tannewt/add_extra_ble_error
...
Add another error message to BLE
2020-02-05 23:39:17 -05:00
James Bowman
acef93a253
Rename eveL to _eve, EVEL to _EVE
2020-02-05 18:17:58 -08:00
Scott Shawcroft
72a1bdab30
Add another error message for extended advertisements at the same
...
time as scan response. The SD can't do it.
2020-02-05 15:56:17 -08:00
Dan Halbert
b6da2fa173
nrf: fix i2c frequency setting
2020-02-05 11:25:31 -05:00
James Bowman
7fd30e7d20
First draft of eveL, the low-level module of the Gameduino (and BridgeTek EVE) bindings.
...
[adafruit/circuitpython#2578 ]
2020-02-03 16:46:14 -08:00
Lady Ada
5a29b222eb
add bluefruit sense - tested
2020-02-03 13:52:30 -05:00
Michael Welling
64cafe82bc
Adjust OHS2020 madctl for default rotation
...
Make to go faster I guess.
Signed-off-by: Michael Welling <mwelling@ieee.org>
2020-02-02 22:14:10 -08:00
Michael Welling
6804b2a7fd
Add I2C pin definitions for interoperability with Adafruit libraries
...
Signed-off-by: Michael Welling <mwelling@ieee.org>
2020-02-02 22:13:39 -08:00
Michael Welling
33dcdd7c03
Updates to enable working SPI TFT
...
The backlight enable is active low on our board so the driver doesn't like it.
Toggling to GPIO manually for now.
As fixed the improper SPI bus pins definitions and it works!
Signed-off-by: Michael Welling <mwelling@ieee.org>
2020-02-02 22:13:03 -08:00
Michael Welling
d99c2ffe4f
QSPI flash fixes
...
We had the pin names swapped on the schematic and a different flash was populated.
Signed-off-by: Michael Welling <mwelling@ieee.org>
2020-02-02 22:11:12 -08:00
Lady Ada
dc964b346c
adjust CLUE madctl so rotation 0 is 'right'
2020-01-31 20:17:39 -05:00
Dan Halbert
be4e681d07
fix UICR check; do not use NULL for no MISO
2020-01-31 18:57:41 -05:00
Dan Halbert
4abd5f1f7b
increase max connections from 2 to 5
2020-01-31 14:58:23 -05:00
caochaowu
61f64c78a6
nrf/boards/common.ld: Add ENTRY(Reset_Handler) in linker script.
...
It's not strictly needed but can be helpful when using a debugger.
2020-02-01 00:09:44 +11:00
Dan Halbert
b6358182d3
Update CLUE to Rev C
2020-01-30 15:22:26 -05:00
Scott Shawcroft
298bca3fdd
Merge pull request #2562 from dhalbert/ble-fixes
...
nrf: track vm_used_ble better
2020-01-30 10:33:19 -08:00
Dan Halbert
87f73e2729
track vm_used_ble better
2020-01-30 09:52:06 -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
Wojtek Siudzinski
df5e58fc6e
Add support for the Particle Ethernet FeatherWing
2020-01-28 10:53:50 +01:00
Scott Shawcroft
b36b2493bc
Merge pull request #2532 from tannewt/teensy4-dev
...
Refine iMX RT memory layout and add three boards
2020-01-27 14:11:08 -08:00
Lady Ada
f2dfcee042
add missing displayref
2020-01-26 20:10:20 -05:00
Dan Halbert
68f9aee992
reset NeoPixels on CPB on soft reload
2020-01-23 20:16:31 -05:00
Scott Shawcroft
1c39606345
Fix other builds missing new heap bounds functions
2020-01-18 18:06:56 -08:00
Michael Welling
cc77e86408
Update the VID and USB company string
...
Signed-off-by: Michael Welling <mwelling@ieee.org>
2020-01-16 15:43:49 -08:00
Michael Welling
cc03d68984
Fix backlight pin registration
...
Signed-off-by: Michael Welling <mwelling@ieee.org>
2020-01-16 14:53:07 -08:00
Michael Welling
86d454adf3
Initial board support for OHS2020 Badge
...
Not tested but builds.
Signed-off-by: Michael Welling <mwelling@ieee.org>
2020-01-16 13:46:56 -08:00
Scott Shawcroft
8b61333937
Merge pull request #2510 from dhalbert/bonding-nvm
...
nrf: Add bonding to BLE pairing support
2020-01-15 16:11:09 -08:00
Benny Meisels
4bf10a75c7
Add board definition files for AramCon Badge 2019
2020-01-16 00:44:18 +02:00
Dan Halbert
85dc4089b9
address review comments
2020-01-14 17:23:16 -05:00
Memiks
4ab4bf3ec6
ports: Modify mp_hal_pin_write macro so it can be used as a function.
...
Even though it doesn't return anything it could still be used like a
function. Addresses issue #5501 .
2020-01-14 23:48:42 +11:00
Dan Halbert
0367ba7495
fix some typos and leftovers
2020-01-13 18:29:34 -05:00
Dan Halbert
2a75196aa3
merge from adafruit/circuitpython
2020-01-13 18:15:32 -05:00
Dan Halbert
4ad004f24e
put bonding to-do flags into Connection objects instead of using a heap-allocated queue
2020-01-13 17:52:32 -05:00
Dan Halbert
9e7f8743c2
fix CCCD bonding store; avoid excessive bonding writes
2020-01-12 23:32:51 -05:00
Dan Halbert
346ce3b73b
wip: HID bonding works!
2020-01-10 23:55:45 -05:00
Scott Shawcroft
6ea8d8a6c2
Merge pull request #2498 from dhalbert/optional-i2c-pullup-checking
...
Make requiring I2C pullups be optional
2020-01-10 11:42:44 -08:00
Scott Shawcroft
8708d3dc45
Merge pull request #2461 from jepler/urandom-hardfaults
...
Urandom hardfaults
2020-01-10 11:37:59 -08:00
Dan Halbert
9c167af17a
wip; redid flash writing to be compatible with SD
2020-01-09 17:40:02 -05:00
Dan Halbert
189f2d5f07
Make requiring I2C pullups be optional
2020-01-09 17:31:50 -05:00
Jeff Epler
1c6efb9e66
os.urandom: remove unneeded sleep
2020-01-08 16:48:17 -06:00
Roy Hooper
1caf6bd8d3
add missing .h file
2020-01-08 15:23:38 -05:00
Roy Hooper
e1c1e32ceb
address code review
2020-01-08 15:17:54 -05:00
Roy Hooper
4e040b0152
add reset of heap to board reset for nrf port
2020-01-08 15:15:27 -05:00
Roy Hooper
34c9e00f08
try (re)using the buffer in neopixel_write
2020-01-08 15:14:53 -05:00
Scott Shawcroft
7a94940c89
Replace magic number and add comment.
2020-01-08 11:01:43 -08:00
Scott Shawcroft
d4492aaed0
Merge remote-tracking branch 'adafruit/master' into packet_buffer
2020-01-08 10:44:37 -08:00
Jeff Epler
b3fb024301
nrf: Call into sd as many times as necessary to fill urandom request
...
Generating 51200 bytes in one go takes 4.966s, so that's a rate of about
10KiB/s.
2020-01-08 10:06:55 -06:00
Dan Halbert
8d629a957d
Merge pull request #2367 from iot49/mtime
...
fix mtime on file creation
2020-01-07 17:19:40 -05:00
Dan Halbert
390337b9a5
wip; compiles
2020-01-05 23:33:42 -05:00
Scott Shawcroft
82fb761c0f
Add PacketBuffer and MTU negotiation support.
...
PacketBuffer facilitates packet oriented BLE protocols such as BLE
MIDI and the Apple Media Service.
This also adds PHY, MTU and connection event extension negotiation
to speed up data transfer when possible.
2020-01-03 17:29:54 -08:00
Scott Shawcroft
776c9b011c
Merge pull request #2432 from tannewt/fix_nrf_uart
...
Fix nRF UART reset
2020-01-03 16:57:59 -08:00
Scott Shawcroft
f6ec1ea172
Throw an error when we cannot allocate PWM pixel buffer
2020-01-03 15:15:36 -08:00
Scott Shawcroft
6afb8dadbc
Change SPI and I2C in the same way.
2020-01-03 15:14:37 -08:00
Dan Halbert
242d572470
wip
2020-01-03 10:24:07 -05:00
Dan Halbert
f0d34da556
add display support; rotation 270
2019-12-30 17:39:39 -05:00
Dan Halbert
3f9ebd2fed
initial CLUE board defn
2019-12-30 17:10:42 -05:00
Scott Shawcroft
cfd71d9023
Fix nRF UART reset
...
disable only turns off ENABLE but doesn't set the init tracking that
nrfx uses. uninit hangs if ENABLE is off and is called because it
waits forever for TX to stop.
2019-12-27 20:18:07 -08:00
Tim Gates
007a704d82
nrf/examples: Fix typo in mountsd.py, wireing -> wiring.
2019-12-28 12:07:30 +11:00
Yonatan Goldschmidt
b2e4a57289
nrf/main: Remove unnecessary repl_info(0) call.
...
It's statically initialized to 0.
2019-12-28 00:08:31 +11:00
Yonatan Goldschmidt
61d2b40ad5
lib/utils/pyexec: Introduce MICROPY_REPL_INFO, wrap debug prints in it.
...
For the 3 ports that already make use of this feature (stm32, nrf and
teensy) this doesn't make any difference, it just allows to disable it from
now on.
For other ports that use pyexec, this decreases code size because the debug
printing code is dead (it can't be enabled) but the compiler can't deduce
that, so code is still emitted.
2019-12-28 00:05:39 +11:00
David Lechner
e79424d672
ports: Allow overriding CROSS_COMPILE in a custom makefile.
...
Many ports already allow overriding CROSS_COMPILE. This modifies the
remaining ports to allow it as well.
2019-12-27 23:53:16 +11:00
Jeff Epler
51af8aadb7
nrf: PWMAudioOut: 62500Hz limitation is not needed
...
.. and it gets in the way of some example programs, due to the way
circuitplayground library generates different frequency sine waves
2019-12-19 10:34:56 -06:00
Ha Thach
25df6e613a
Merge pull request #2395 from hathach/nrfx-v2
...
upgrade nrfx API to v2
2019-12-18 16:14:25 +07:00
hathach
dad2663337
update nrfx submodule to v2
2019-12-18 15:39:11 +07:00
Jeff Epler
8137ac4c49
nRF: PWMAudioOut: handle non-looping rawsamples
2019-12-17 08:59:08 -06:00
hathach
894cad2e17
upgrade nrfx API to v2
2019-12-17 21:39:52 +07:00
JoeBakalor
2abccc1745
update vid and pid for teknikio_bluebird
2019-12-16 08:58:56 -05:00
JoeBakalor
32744a04e1
update bluebird make file
2019-12-13 09:08:21 -05:00
Joe Bakalor
3992a870e5
Merge branch 'master' into teknikio/bluebird
2019-12-13 08:55:15 -05:00
JoeBakalor
4bee6536c9
updates to bluebird
2019-12-13 08:52:03 -05:00
Joe Bakalor
b484c89b73
Merge pull request #4 from adafruit/master
...
Pull master
2019-12-13 08:51:06 -05:00
Dan Halbert
ef2ef7a6b8
merge from master
2019-12-12 15:51:13 -05:00
Dan Halbert
e11fabd5e0
moved nrf internal filesystem to just below bootloader
2019-12-12 14:57:23 -05:00
Dan Halbert
7889b999cc
Fix flash write error handling; clean up safe mode message printing
2019-12-12 14:41:49 -05:00
JoeBakalor
dde7c5e145
Merge branch 'master' of https://github.com/Teknikio/circuitpython
2019-12-12 08:59:37 -05:00
Joe Bakalor
bf4138b0e4
Merge pull request #3 from adafruit/master
...
Pull master
2019-12-12 08:59:22 -05:00
Dan Halbert
fd03fd5e4f
sd_flash_operation_status should be volatile
2019-12-12 00:19:03 -05:00
Dan Halbert
ae64a669dd
address review comments
2019-12-11 15:43:06 -05:00
JoeBakalor
0da5dceccf
update bluebird makefile
2019-12-11 15:25:16 -05:00
JoeBakalor
a273a7c55e
add remaining peripheral pin maps and digital/analog pin definitions
2019-12-11 15:23:16 -05:00
JoeBakalor
006d85d5c2
add make file and board configuration, add accelerometer pin mappings
2019-12-11 14:49:59 -05:00
Dan Halbert
1e11f2708b
remove debugging leftovers
2019-12-11 09:34:56 -05:00
iot49
73b6e5d8e6
added correct include files
2019-12-10 19:44:11 -08:00
Dan Halbert
d9ca4c9a60
fix build failures
2019-12-10 22:39:44 -05:00
Dan Halbert
c6221c5956
Remove no-longer-used nrf and atmel-samd .ld files
2019-12-10 21:22:17 -05:00
Dan Halbert
68ae47907c
merge from upstream
2019-12-10 21:04:46 -05:00
Dan Halbert
013c840862
working on all ports
2019-12-10 20:27:30 -05:00
Jeff Epler
a484a93b29
nRF: disk_read must be 4-byte aligned
...
.. a requirement that oofatfs needs to be taught to respect.
This problem can be demonstrated with the following snippet, except
that the related file ("test.bin") must also be contiguous on the
filesystem. You can ensure this by reformatting your device's filesystem
before testing, then copying any single file bigger than 4kB to test.bin.
f = open("test.bin", "rb")
f.seek(2048)
b = bytearray(2048)
v = memoryview(b)
f.readinto(v[909:])
Closes : #2332
2019-12-10 14:03:06 -06:00
Joe Bakalor
dbc28e35c5
Merge pull request #2 from adafruit/master
...
Pull master
2019-12-10 11:50:49 -05:00
iot49
0712c95225
fix mtime on file creation
2019-12-09 23:14:26 -08:00
Dan Halbert
60f399395a
Add POWER_SWITCH pin to CPB
2019-12-09 18:30:24 -05:00
Jeff Epler
13620cc4db
nRF: PWMAudioOut: fix half-speed playback of stereo samples
...
The "spacing" of "buffer structure" is confusing, use the "channel count"
instead.
Testing performed on nrf52840 feather:
Play stereo and mono, 8- and 16-bit, 8kHz RawSamples representing 333.33Hz
square waves.
Use both mono and stereo PWMAudioOut instances.
Scope the RC-filtered signal and use the scope's frequency
measurement function, verify the frequency is 333 or 334Hz in all tested
cases.
In the "stereo output" cases, verify both the L and R channels. Verify
the output amplitude is the same in both channels.
In the "stereo output" cases, run a second test where the L channel's
amplitude is attenuated 50%. Verify the output amplitude is correct
in each channel.
2019-12-09 10:57:55 -06:00
Daniel Mizyrycki
2df6a0436d
nrf/boards/particle_xenon: Enable USB CDC on Particle Xenon board.
2019-12-09 14:10:24 +11:00
Dan Halbert
f5e913101c
Merge pull request #2301 from tannewt/support_extended_advertising
...
Add support for extended (>31 byte) BLE advertisements.
2019-12-06 23:51:05 -05:00
Scott Shawcroft
da0ea979ff
Check connection validity after service discovery.
...
Fixes #2347
2019-12-06 16:03:14 -08:00
Dan Halbert
40434d6919
wip
2019-12-05 22:45:53 -05:00
Andrej Krejcir
210d053286
nrf/main: Execute boot.py/main.py frozen modules without a file system.
...
When the file system is not enabled, the boot.py and main.py modules will
still be executed, if they are frozen.
2019-12-05 23:11:12 +11:00
Scott Shawcroft
17c8356b8c
Add connection interval and debugging
...
This also sets TinyUSB to master and to not include its submodules.
It also fixes an old displayio example comment and retries gattc
reads.
2019-12-04 14:39:02 -08:00
Jeff Epler
95d9c49e43
Merge remote-tracking branch 'origin/master' into tick-refactor
2019-11-29 11:27:09 -06:00
Dan Halbert
b32a9192df
make UART.write be blocking on SAMD; add timeout property
2019-11-27 13:05:29 -05:00
Scott Shawcroft
3fc58cee38
Merge remote-tracking branch 'adafruit/master' into support_extended_advertising
2019-11-26 13:12:43 -08:00
Scott Shawcroft
e5dd78d393
Merge pull request #2324 from jepler/nrf-i2s-channels-widths
...
nrf: assign channel width and count correctly
2019-11-25 16:59:08 -08:00
Scott Shawcroft
2653455ded
Merge pull request #2321 from jepler/nrf-i2s-buglets
...
Nrf i2s buglets
2019-11-25 16:11:43 -08:00
Jeff Epler
1ee35fd6fd
nrf: i2sout: move register settings closer together
...
.. just for consistency's sake
2019-11-25 11:43:51 -06:00
Jeff Epler
47a6eaa297
nrf: i2sout: Assign SWIDTH
...
The sample width register was never set, so all samples were played
as though they were 16 bit.
After this change, 8-bit samples no longer produce audio on the MAX 98357A
BOB, because only 16-, 24-, and 32-bit samples are supported by the
hardware. This will be addressed by a future change to pad samples to
16 bits; see #2323 and the 98357A datasheet page 6.
2019-11-25 11:43:29 -06:00
Jeff Epler
8f4bab2d24
i2sout: Correctly retrieve channel_count
...
The meaning of the "single channel" parameter is not well-documented,
but in fact it seems that "true" must be passed or else the returned
channel_count is always 1. This caused stereo samples to be played
incorrectly.
2019-11-25 10:59:59 -06:00
Dan Halbert
d154d11911
Merge pull request #2320 from jepler/nrf-unsigned-audio-crash
...
nrf: i2sout: Fix double-increment when copying samples
2019-11-25 11:42:16 -05:00
Jeff Epler
c9946dfd63
nrf: i2sout: Use <, not !=, for loop condition
...
This is good C style, h/t @danh
2019-11-25 09:35:57 -06:00
Jeff Epler
19d122e546
nrf: i2sout: Fix double-increment when copying samples
...
This caused two problems when playing unsigned samples:
* When an even number of samples were present, it "worked" but only
every other sample was copied into the output, changing the waveform
* When an odd number of samples were present, the copy continued beyond
the end of the buffers and caused a hard fault
2019-11-25 09:07:20 -06:00
Dan Halbert
1ccb7b4c5e
cosmetic commit, mostly to re-run
2019-11-22 16:30:10 -05:00
Dan Halbert
13375d16f1
change mpconfigport.mk files so they can be overriden by mpconfigboard.mk
2019-11-22 15:44:51 -05:00
Jeff Epler
77b78d7fb9
Merge remote-tracking branch 'origin/master' into tick-refactor
2019-11-22 14:28:51 -06:00
Jeff Epler
1c6c9a3e1f
nrf: i2sout: Ensure hardware I2S is stopped at deinit
...
.. otherwise, it may be possible under some scenario, for the background
task to continue and overwrite unrelated memory.
2019-11-22 14:15:07 -06:00
Jeff Epler
aabb56c840
nrf: i2sout: Only update hold_value when appropriate
...
If we put no samples into the buffer, then there is no last
sample to fill out hold_value with. (and, in fact, the expression such
as *(uint32_t*)(buffer-4) is outside an allocated region)
Detect this condition, and leave the prior value in place.
This improves clicks heard when pausing and resuming a waveform.
2019-11-22 13:54:37 -06:00
Scott Shawcroft
743bc829ab
Clean up debug changes
2019-11-21 16:39:57 -08:00
Scott Shawcroft
e63796c7bc
Special exception message for when pairing prompt is ignored.
2019-11-21 16:32:42 -08:00
Scott Shawcroft
39f4046f70
Fix pairing when peripheral. Central untested.
2019-11-21 16:32:42 -08:00
Scott Shawcroft
5e857fdb67
Use BluetoothError in _bleio
...
This better differentiates errors than using OSError everywhere.
2019-11-20 14:02:15 -08:00
Scott Shawcroft
11c2c3443f
Add support for extended (>31 byte) BLE advertisements.
2019-11-19 13:55:58 -08:00
Jeff Epler
7f744a2369
Supervisor: move most of systick to the supervisor
...
This code is shared by most parts, except where not all the #ifdefs
inside the tick function were present in all ports. This mostly would
have broken gamepad tick support on non-samd ports.
The "ms32" and "ms64" variants of the tick functions are introduced
because there is no 64-bit atomic read. Disabling interrupts avoids
a low probability bug where milliseconds could be off by ~49.5 days
once every ~49.5 days (2^32 ms).
Avoiding disabling interrupts when only the low 32 bits are needed is a minor
optimization.
Testing performed: on metro m4 express, USB still works and
time.monotonic_ns() still counts up
2019-11-18 11:01:23 -06:00
Hierophect
81223c76bd
revert error
2019-11-15 13:04:25 -05:00
Hierophect
2c6781f74d
move neopixel_in_use flag to shared-bindings
2019-11-15 12:59:52 -05:00
Hierophect
de5691acf5
Add never_reset and reset to pin common hal, adjust files
2019-11-15 12:47:00 -05:00
Damien George
799b6d1e0c
extmod: Consolidate FAT FS config to MICROPY_VFS_FAT across all ports.
...
This commit removes the Makefile-level MICROPY_FATFS config and moves the
MICROPY_VFS_FAT config to the Makefile level to replace it. It also moves
the include of the oofatfs source files in the build from each port to a
central place in extmod/extmod.mk.
For a port to enabled VFS FAT support it should now set MICROPY_VFS_FAT=1
at the level of the Makefile. This will include the relevant oofatfs files
in the build and set MICROPY_VFS_FAT=1 at the C (preprocessor) level.
2019-11-11 11:37:38 +11:00
Joe Bakalor
ba83a4a2ac
Merge pull request #1 from adafruit/master
...
Update base
2019-11-05 11:06:18 -05:00
JoeBakalor
8ab3ef44dd
add bluebird template files
2019-11-05 10:52:25 -05:00
Dan Halbert
8cd2f87e99
Merge pull request #2236 from tannewt/bleio_tweaks
...
Refine _bleio
2019-11-04 22:27:54 -05:00
Damien George
c13f9f209d
all: Convert nlr_raise(mp_obj_new_exception_msg(x)) to mp_raise_msg(x).
...
This helper function was added a while ago and these are the remaining
cases to convert, to save a bit of code size.
2019-11-05 11:35:45 +11:00
Dan Halbert
e3638ffaad
Merge pull request #2262 from jepler/cpb-speaker-disable
...
cpb: Disable the onboard speaker until request
2019-11-03 18:34:29 -05:00
Dan Halbert
85a648224f
Check for no pullups on I2C on nrf; give arduino nano 33 ble two I2C devices
2019-11-02 22:47:03 -04:00
jepler
2bdccf03a7
cpb: define the SPEAKER_ENABLE_PIN
...
This allows the board to disable the onboard speaker until explicitly
enabled in user code.
Testing performed on a CPB:
* Touching the AUDIO pin with a fingertip no longer generates noise/buzz
* Generating a waveform with `simpleio.tone` produces no sound by default
* When the board.SPEAKER_ENABLE is configured as a digital output and
set True, `simpleio.tone` does produce sound
Note that while guides should include information about SPEAKER_ENABLE, it's
possible that some users who omitted it could view this as a breaking change.
They can fix it by simply adding code similar to
speaker_enable = digitalio.DigitalInOut(board.SPEAKER_ENABLE)
speaker_enable.direction = digitalio.Direction.OUTPUT
speaker_enable.value = True
before using the internal speaker.
Closes : #2258
2019-11-01 16:26:03 -05:00
jepler
fe47eba97f
nRF: Handle SPEAKER_ENABLE_PIN
...
.. the existing code, which was never activated by the preprocessor,
wasn't quite right.
2019-11-01 16:23:35 -05:00
Scott Shawcroft
47e50e5659
Merge remote-tracking branch 'adafruit/master' into bleio_tweaks
2019-11-01 13:20:58 -07:00
Damien George
9aabb6c01b
extmod: Factor out block-device struct to make independent of fatfs.
2019-10-29 12:12:37 +11:00
Dan Halbert
e35eb08f1d
nrf: allocate two I2C on CPB
2019-10-28 21:08:53 -04:00
Dan Halbert
358920db0e
Use MICROPY_PY_SYS_PLATFORM in mpconfigport.h only
2019-10-28 10:40:10 -04:00
Jeff Epler
1103490223
Merge pull request #2244 from dhalbert/itsybitsy_nrf52840_express
...
Initial Itsy nRF52840 defn
2019-10-27 16:46:28 -05:00
Dan Halbert
76817eaa10
Merge remote-tracking branch 'adafruit/master' into nano-33-ble
2019-10-25 22:41:26 -04:00
Dan Halbert
ab6fd34828
add object types to rgb status objects;mark spi rgb objects as never_reset
2019-10-25 22:32:43 -04:00
Dan Halbert
7d04d9109e
use bitbang SPI for DotStar; still need to fix hw SPI for dotstar
2019-10-25 15:37:27 -04:00
Dan Halbert
cdeb0857a9
Initial Itsy nRF52840 defn
2019-10-25 11:15:34 -04:00
Scott Shawcroft
91c9d519ae
Refine comments and switch prefix_len to size_t
2019-10-22 23:09:56 -07:00
Damien George
d2384efa80
py: Automatically provide weak links from "foo" to "ufoo" module name.
...
This commit implements automatic module weak links for all built-in
modules, by searching for "ufoo" in the built-in module list if "foo"
cannot be found. This means that all modules named "ufoo" are always
available as "foo". Also, a port can no longer add any other weak links,
which makes strict the definition of a weak link.
It saves some code size (about 100-200 bytes) on ports that previously had
lots of weak links.
Some changes from the previous behaviour:
- It doesn't intern the non-u module names (eg "foo" is not interned),
which saves code size, but will mean that "import foo" creates a new qstr
(namely "foo") in RAM (unless the importing module is frozen).
- help('modules') no longer lists non-u module names, only the u-variants;
this reduces duplication in the help listing.
Weak links are effectively the same as having a set of symbolic links on
the filesystem that is searched last. So an "import foo" will search
built-in modules first, then all paths in sys.path, then weak links last,
importing "ufoo" if it exists. Thus a file called "foo.py" somewhere in
sys.path will still have precedence over the weak link of "foo" to "ufoo".
See issues: #1740 , #4449 , #5229 , #5241 .
2019-10-22 15:30:52 +11:00
Scott Shawcroft
ae30a1e5aa
Refine _bleio
...
This PR refines the _bleio API. It was originally motivated by
the addition of a new CircuitPython service that enables reading
and modifying files on the device. Moving the BLE lifecycle outside
of the VM motivated a number of changes to remove heap allocations
in some APIs.
It also motivated unifying connection initiation to the Adapter class
rather than the Central and Peripheral classes which have been removed.
Adapter now handles the GAP portion of BLE including advertising, which
has moved but is largely unchanged, and scanning, which has been enhanced
to return an iterator of filtered results.
Once a connection is created (either by us (aka Central) or a remote
device (aka Peripheral)) it is represented by a new Connection class.
This class knows the current connection state and can discover and
instantiate remote Services along with their Characteristics and
Descriptors.
Relates to #586
2019-10-21 18:57:03 -07: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
eca73436c9
Merge remote-tracking branch 'adafruit/master' into cpu-voltage
2019-10-15 09:03:24 -04:00
Damien George
d7a9388fe0
ports: Add new make target "submodules" which inits required modules.
2019-10-15 17:14:41 +11: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
Jeff Epler
fae6e29546
nrf: PWMAudioOut: deactivate PWM when deinitting self
...
.. otherwise, when an AudioPWMOut object was deinitted without being
explicitly stop()ped, it would use up a slot in active_audio[]; the
5th iteration would create a non-working audio object which would just
buzz instead of playing the right thing.
Closes : #2203
2019-10-12 14:01:35 +09:00
Jeff Epler
ef459326cb
nrf: PWMAudioOut: coding style
2019-10-12 13:57:31 +09:00
Glenn Ruben Bakke
98c2eabaff
nrf/boards: Add nrf9160 pca10090 board.
2019-10-10 21:36:20 +02:00
Glenn Ruben Bakke
82fe6b0526
nrf: Add nrf9160 base support.
...
This patch add basic building blocks for nrf9P60.
It also includes a secure bootloader which forwards all
possible peripherals that are user selectable to become
non-secure. After configuring Flash, RAM and peripherals
the secure bootloader will jump to the non-secure domain
where MicroPython is placed.
The minimum size of a secure boot has to be a flash
block of 32Kb, hence why the linker scripts are
offsetting the main application this much.
The RAM offset is set to 128K, to allow for later
integration of Nordic Semiconductor's BSD socket
library which reserves the range 0x20010000 - 0x2001FFFF.
2019-10-10 21:35:27 +02:00
Glenn Ruben Bakke
01a3110e36
nrf/boards: Add support for pca10059.
...
Add support for pca10059 with REPL over tinyusb USB CDC.
The board also includes a board specific module that will
recover UICR->REGOUT0 in case this has been erased.
This initial support does not preserve any existing bootloader
on the pca10090 in case this was present, and expects to use all
available flash on the device.
2019-10-10 20:21:07 +02:00
Glenn Ruben Bakke
60b0b69f20
nrf: Add tinyusb support for nrf52840.
...
Add nrf-port finyusb driver files. USB CDC can be activated
by board configuration files using the MICROPY_HW_USB_CDC.
Updating BLE driver, Makefile, nrfx-glue and main.c to plug
in the tinyusb stack.
2019-10-10 20:21:07 +02:00
Glenn Ruben Bakke
1571120dc2
nrf/device: Correct SPIM3 IRQ handler entry for nrf52840.
2019-10-10 20:21:07 +02:00
Damien George
2863dcdf4f
nrf: Add support to activate MICROPY_PY_SYS_STDFILES.
...
Fixes issue #5162 .
2019-10-08 16:38:04 +11:00
Dan Halbert
fc19e03128
WIP: bonding
2019-10-06 21:30:26 -04:00
roland van straten
a069340c1e
nrf/main: Update the way the LED is used on startup.
...
In case of LED1 being present, do a short blink during startup
instead of turning it on and leave it on.
2019-10-02 22:17:54 +02:00
roland van straten
226399bcef
nrf/led: Expose public API for LED manipulation.
...
Aligned implementation with the STM32 port.
Added empty functions to be used when no LED is available.
2019-10-02 22:09:43 +02:00
Glenn Ruben Bakke
cf383412ef
nrf/flash: Update flash driver to use nrfx_nvmc driver.
...
The the nrfx driver is aware of chip specific registers, while
the raw HAL abstraction is not. This driver enables use of NVMC
in non-secure domain for nrf9160.
2019-10-02 21:28:34 +02:00
Glenn Ruben Bakke
c561ae61a1
nrf/uart: Add support for UARTE (EasyDMA).
2019-10-02 21:20:56 +02:00
Glenn Ruben Bakke
02a8c31eef
nrf/temp: Move module configuration guard.
...
This patch moves the check for MICROPY_PY_MACHINE_TEMP to come
before the inclusion of nrf_temp.h. The nrf_temp.h depends on
the NRF_TEMP_Type which might not be defined for all nRF devices.
2019-10-02 21:15:48 +02:00
Glenn Ruben Bakke
d2e730b727
nrf/i2c: Add support for TWIM (EasyDMA).
2019-10-02 20:42:06 +02:00
Dan Halbert
aa1eed3bd3
initial Arduino Nano 33 BLE board definition
2019-09-26 15:28:57 -04:00
Scott Shawcroft
19c6c96929
Merge pull request #2130 from jepler/nrf-debugflags
...
nrf: Makefile: sensible flags for debugging
2019-09-20 10:18:00 -07:00
Scott Shawcroft
b5a9ed3688
Merge pull request #2161 from jepler/nrf-analog-reference
...
nRF: Change analog reference voltage
2019-09-17 09:41:52 -07:00
jepler
d39c85e3f5
nRF: Change analog reference to VCC(/4)
...
@ladyada says:
"having this be adjustable (reference) would be ideal cause you can get
absolute voltages but for now, VCC/4 + 4x matches every other chip :)"
... and indeed doing it this way happens to give a much more steady
reading when using a VCC-referenced resistance, and so many of the simple
things you'd wire up are actually VCC-referenced anyway.
2019-09-16 21:43:07 -05:00
roland van straten
ac112f88d0
nrf/boards: Add board definition for uBlox Nina B1 series BLE modules.
2019-09-17 11:33:48 +10:00
Jeff Epler
c56186da8c
nRF: Change analog reference voltage
...
Datasheet reading explains one reason why readings might have been 10% low.
2019-09-16 18:35:48 -05:00
jepler
df48312ce7
nRF: PWMOut: At deinit, make pin available again
...
Closes : #2146
2019-09-11 20:09:38 -05:00
jepler
7b9dfc9952
nrf: i2s: tune audio buffering
...
.. based on some tasks I found that caused stuttering:
# Test SD and printing
while True: os.listdir('.')
# Test bulk I/O
while True: len(open('somefile.wav', 'rb').read())
Each of these tasks *WAS* worse and I am improving them in a separate
PR by adding RUN_BACKGROUND_TASKS to them.
2019-09-09 20:13:12 -05:00
jepler
c66f5a8536
nrf: i2s: rewrite without 'goto'
2019-09-09 19:26:18 -05:00
jepler
fe9605a6a3
nrf: i2s: Comment this slightly tricksy code
2019-09-09 19:25:52 -05:00
jepler
ccf08aa3df
nrf: I2SOut: deal more gracefully with errors from the sample
2019-09-08 21:59:07 -05:00
jepler
e890bc8efe
nrf: Makefile: sensible flags for debugging
...
This enables the highest level of debug symbols, and all optimizations
except lto that do NOT interfere with debugging, in the view of the gcc
maintainers.
2019-09-08 21:07:00 -05: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
3c22c690c8
CPB A1 pin mapping wrong; remove A7
2019-09-06 14:17:11 -04:00
Jim Mussared
1f52a6f8e4
nrf/boards: Add Particle Xenon board configuration (an nRF52840).
2019-09-05 22:56:05 +10:00
Jim Mussared
d36fc4682e
nrf/Makefile: Add support for flashing with a Black Magic Probe.
...
Also rename "flash" target to "deploy" to match other ports (but provide
"flash" as an alias for backwards compatibility).
2019-09-05 22:56:05 +10:00
Jim Mussared
353ed7705f
nrf/boards/make-pins.py: Fix gen of board pins to use correct index.
...
It was previously not taking into account that the list of pins was sparse,
so using the wrong index. The boards/X/pins.csv was generating the wrong
data for machine.Pin.board.
As part of this fix rename the variables to make it more clear what the
list contains (only board pins).
2019-09-05 22:52:24 +10:00
Damien George
9e90e2528b
nrf/machine/adc: Fix mapping of ADC channel to pin.
2019-09-05 22:13:04 +10:00
Damien George
c7fb93b844
nrf/machine/adc: Allow to pass a Pin object in to ADC constructor.
2019-09-05 22:13:04 +10:00
Damien George
b766a6971e
nrf: Add ADC channel mapping to alt function table.
2019-09-05 22:13:04 +10:00
Damien George
9cad134a2f
nrf/machine/adc: Add ADC.read_u16() method.
2019-09-05 22:13:04 +10:00
sommersoft
b1c3d47413
Merge branch 'master' of https://github.com/adafruit/circuitpython into mixer_voice
2019-09-01 21:16:12 -05:00
sommersoft
8120f5cdad
Merge branch 'master' of https://github.com/adafruit/circuitpython into mixer_voice
2019-08-29 22:14:53 -05:00
Dan Halbert
7a64af9280
rename bleio module to _bleio
2019-08-29 18:44:27 -04:00
Dan Halbert
b11b7916fd
address minor issues: typos, make translate, and sphinx
2019-08-29 17:58:21 -04:00
Dan Halbert
f17059b10b
another API rework: less abstraction leakage
2019-08-28 23:15:22 -04:00
Dan Halbert
19c59b41ed
bleio: API change to create and connect related objects simulatenously: no orphan bleio objects
2019-08-28 16:15:09 -04:00
Dan Halbert
a72bcab0fd
Merge remote-tracking branch 'adafruit/master' into bleio-api-revamp
2019-08-28 16:09:18 -04:00
Damien George
1fe1ff935b
nrf: Clean up source by removing tabs, trailing spaces, non-ASCII chars.
2019-08-28 13:34:45 +10:00
Damien George
af20c2ead3
py: Add global default_emit_opt variable to make emit kind persistent.
...
mp_compile no longer takes an emit_opt argument, rather this setting is now
provided by the global default_emit_opt variable.
Now, when -X emit=native is passed as a command-line option, the emitter
will be set for all compiled modules (included imports), not just the
top-level script.
In the future there could be a way to also set this variable from a script.
Fixes issue #4267 .
2019-08-28 12:47:58 +10:00
Dan Halbert
0364f1dc85
remove some debugging prints
2019-08-26 08:17:59 -04:00
Dan Halbert
76446f634b
BLE HID WIP: works everywhere except iOS; fixed a bunch of bugs; pretend bonding
2019-08-25 21:38:13 -04:00
sommersoft
2e4b687ba5
enable audiomixer on nrf
2019-08-25 07:32:48 -05:00
Scott Shawcroft
7324b70a7c
Rework based on Dan's review
2019-08-23 15:27:21 -07:00
Scott Shawcroft
2497cbe186
Fix nrf builds
2019-08-22 14:23:33 -07:00
Scott Shawcroft
36a23e0fe3
Rework refresh API and factor common display stuff out
...
NOT TESTED! Just compiles
Fixes #1691
2019-08-22 14:23:27 -07:00
Scott Shawcroft
c247e7df9c
Begin refresh rework.
2019-08-22 14:08:33 -07:00
Benny Meisels
d37dd4d758
Updated ParallelBus implementation in nrf port
2019-08-22 14:08:33 -07:00
Dan Halbert
7cc15e56c8
make translate
2019-08-22 15:20:23 -04:00
Dan Halbert
0b7291d767
fix default crystal value; fix include order
2019-08-22 09:01:05 -04:00
Dan Halbert
acc6df4959
merge similar fix in
2019-08-22 01:29:34 -04:00
Dan Halbert
d94023e9b3
Fix CPBlue LFCLKSRC; CPB has no status neopixel
2019-08-22 01:04:00 -04:00
Scott Shawcroft
389e7cc35d
Merge pull request #2072 from bmeisels/nrf-no-crystal-support
...
Add support for nrf boards that don't have an external crystal
2019-08-21 13:01:26 -07:00
Benny Meisels
fe2ec6c887
Add support for nrf boards that don't have an external crystal
2019-08-20 23:30:21 +03:00
Dan Halbert
e00696de7f
merge from upstream and make translate
2019-08-20 13:06:23 -04:00
Dan Halbert
44b28d1187
update tinyusb to 00c440cb
2019-08-19 19:42:45 -04:00
Dan Halbert
e3dc5e3a66
Merge remote-tracking branch 'adafruit/master' into run-background-tasks
...
Restore dependencies indicated by indentation in circuitpy_mpconfig.h.
2019-08-19 12:41:20 -04:00
Jeff Epler
26a05d01dc
Merge remote-tracking branch 'origin/master' into nrf-pdm-audioin
2019-08-18 21:30:14 -05:00
Jeff Epler
912fd7759d
nrf: PDMIn: Implement
...
So far, this supports only 16kHz and 16-bit samples with a fixed gain.
This is enough to support the basic functionality of e.g., sensing
ambient audio levels.
2019-08-18 15:58:04 -05:00
Jeff Epler
79f8a85786
nrf: stub out audiobusio.PDMIn, audiobusio.I2SOut
2019-08-18 15:55:57 -05:00
Dan Halbert
3f7321af00
Merge pull request #2031 from jepler/nrf-lto
...
Enable link-time optimization for nrf targets
2019-08-18 12:35:26 -04:00
Dan Halbert
e2a4c76a37
make nrf touchio be generic: now available for SAMD51 too
2019-08-18 08:44:10 -04:00
Scott Shawcroft
85d7398476
Merge pull request #2066 from dhalbert/ble-pairing
...
BLE: more features
2019-08-16 14:50:00 -07:00
Dan Halbert
630c92392a
address review comments; avoid calling common_hal_bleio_device... routines from shared-bindings
2019-08-16 15:18:53 -04:00
Damien George
497683b315
gitignore: Put build-*/ pattern in top-level gitignore file.
2019-08-16 00:08:08 +10:00
Dan Halbert
5877bd6036
CPblue initial definition
2019-08-13 22:12:36 -04:00
Jeff Epler
11dd3a260e
nrf: Use RUN_BACKGROUND_TASKS
2019-08-11 08:53:02 -05:00
Dan Halbert
1570ef2dd4
specifying attribute length; fix up value setting
2019-08-07 23:49:09 -04:00
Dan Halbert
d047b73a9c
fix newly-introduced bugs; UART client/server working again
2019-08-07 11:10:21 -04:00
Dan Halbert
d74c8b9425
WIP: more Descriptor work; refactor gattc/gatts read/write
2019-08-06 22:55:25 -04:00
Dan Halbert
243334da75
Merge remote-tracking branch 'adafruit/master' into ble-pairing
2019-08-05 23:06:24 -04:00
Scott Shawcroft
59efce3035
Merge pull request #2039 from dhalbert/metro-52840
...
Metro nRF52840 rev A defn; remove '#define FEATHER52840' from mpconfigboard.h
2019-08-05 18:48:36 -07:00
Scott Shawcroft
b675a27e16
Merge pull request #2000 from jepler/nrf-pwm-audio
...
Implement PWM audio out for the nrf port
2019-08-05 17:26:27 -07:00
Dan Halbert
c56566179a
Metro nRF52840 rev A defn; also remove '#define FEATHER52840' from mpconfigboard.h files
2019-08-05 18:10:27 -04:00
Dan Halbert
b67d04a5b1
Merge remote-tracking branch 'adafruit/master' into ble-pairing
2019-08-05 16:35:44 -04:00
Jeff Epler
77bc1ba03e
nrf: PWMAudioOut: Remove the need to wait in "pause"
...
The original formulation was because I saw the need to avoid a transition
from playing to stopped exactly when a resume was taking place. However,
@tannewt was concerned about this pause causing trouble, because it could
be relatively lengthy (several ms even in a typical case).
After reflection, I've convinced myself that updating the registers
in this order in resume avoids a window where a "stopped" event can
be missed as long as the shortcut is updated first.
Testing re-performed: pause/resume testing of looped RawSample and
WaveFile audio sources.
2019-08-03 08:19:25 -05:00
Jeff Epler
4bae29b925
nrf: enable link-time optimization
...
Testing performed: installed freshly built .uf2 on a Particle Xenon.
Checked that circuitpython still starts.
Checked that the size of all .uf2 files for nrf builds are plausible.
Aside from memory savings, the performance of Python code (pystone)
increased by about +14%.
However, this adds about 12-16 seconds to each nrf build.
Timings & Sizes (build system: i5-3320M, -j5 parallelism on 4 threads):
Before:
$ make -j5 BOARD=particle_xenon
765004 bytes free in flash out of 1048576 bytes ( 1024.0 kb ).
232076 bytes free in ram for stack out of 245760 bytes ( 240.0 kb ).
68.54user 11.83system 0:34.34elapsed 234%CPU
pystones before: 570
After:
$ make -j5 BOARD=particle_xenon
804284 bytes free in flash out of 1048576 bytes ( 1024.0 kb ).
232072 bytes free in ram for stack out of 245760 bytes ( 240.0 kb ).
71.06user 11.77system 0:46.91elapsed 176%CPU
pystones after: 650
Timings on travis:
Before:
Build feather_nrf52840_express for pl took 55.79s and succeeded
Build feather_nrf52840_express for zh_Latn_pinyin took 3.18s and succeeded
After:
Build feather_nrf52840_express for pl took 62.72s and succeeded
Build feather_nrf52840_express for zh_Latn_pinyin took 19.10s
Closes : #1396
2019-08-02 20:59:47 -05:00
Dan Halbert
7ce3776b80
WIP: rework of Characteristic properties; enhance Descriptor; not tested
2019-08-02 17:57:31 -04:00
Jeff Epler
28b7cbfca6
nrf: Mark interrupt vectors as used
2019-08-02 07:53:35 -05:00
jepler
34e2bab96a
nrf: Implement RUNMODE_BOOTLOADER and RUNMODE_SAFE_MODE
2019-08-01 18:53:07 -05:00
Jeff Epler
76f65ac694
Implement play/pause
...
.. and also incidentally fix a problem where a RawSample could only
be looped 131070 times.
2019-07-31 20:02:56 -05:00
Dan Halbert
91d791afd0
cleanup adapter.address; add uniquish suffix to BLE device name
2019-07-31 00:30:24 -04:00
Dan Halbert
83129b8c63
BLE: peripheral client pairing (not yet bonding); fix time doc formatting
2019-07-30 14:26:26 -04:00
Jeff Epler
b72352949b
PWM audio: Rename AudioOut -> PWMAudioOut, _audioio_ -> _audiopwmio_
2019-07-29 18:39:00 -04:00
Dan Halbert
28ca05ccdc
allow discovery from central or peripheral
2019-07-27 13:22:15 -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
Jeff Epler
2bc704fe07
ports/nrf: factor out routines for allocating, freeing pwm channels
2019-07-26 07:52:37 -05:00
Scott Shawcroft
8ec2d6ce49
Merge pull request #2007 from hierophect/F4xx-port-setup
...
Add STM32 Discovery F412ZG and F411RE support
2019-07-24 18:49:48 -07:00
hathach
c921f6637f
update tinyusb lib to 0.5.x
2019-07-24 16:46:31 +07:00
Dan Halbert
82ab998cd5
Merge pull request #1998 from tannewt/monocolor
...
Add support for grayscale displays
2019-07-22 22:30:28 -04:00
Hierophect
58630a844a
Add feature conditionals and clean up
2019-07-22 12:58:28 -04:00
Tavish Naruka
e4d92a3aad
Fix incorrect preprocessor define NRFX_TIMER3/4
...
Should be NRF_TIMER3 and NRF_TIMER4
2019-07-22 20:07:05 +05:30
Scott Shawcroft
6797ec6ed3
Add support for grayscale displays that are < 8 bit depth.
...
This also improves Palette so it stores the original RGB888 colors.
Lastly, it adds I2CDisplay as a display bus to talk over I2C. Particularly
useful for the SSD1306.
Fixes #1828 . Fixes #1956
2019-07-19 16:06:11 -07:00
Scott Shawcroft
a98bfa628e
Merge pull request #2002 from ntavish/blip_improvements
...
Blip improvements
2019-07-19 10:52:08 -07:00
Tavish Naruka
724ce4acba
enable libraries needed by BlipBoy Shield
2019-07-19 18:48:08 +05:30
Hierophect
43e8a4110f
Add missing files for DigitalIO
2019-07-17 14:18:01 -04:00
Dan Halbert
364ee62d10
Address review comments.
2019-07-16 19:53:36 -04:00
Dan Halbert
1cf8a3e8d8
Merge remote-tracking branch 'adafruit/master' into ble-scanner
2019-07-11 18:42:16 -04:00
Scott Shawcroft
6fad383367
Merge pull request #1925 from C47D/rgb_status
...
Initial support for RGB led as Status indicator, fixes #1382
2019-07-09 10:31:34 -07:00
Dan Halbert
6a001786a9
merge from master
2019-07-09 08:58:49 -04:00
Dan Halbert
118b26b335
UARTClient now works both directions
2019-07-09 00:21:46 -04:00
Dan Halbert
09ddff8df1
WIP: Need descriptors for Central CCCD discovery; not done yet
2019-07-07 00:07:47 -04:00
Scott Shawcroft
5610e05b8c
Fix up nrf so that it is initialized properly. Also, do not reset
...
it's pins.
2019-07-06 12:48:16 -07:00
iot49
6e5d70fa19
changed type of receiver_buffer_size to uint16_t
2019-07-03 12:02:01 -07:00
Dan Halbert
bf8a35b2f8
WIP: CharacteristicBuffer for Central; not working: need to set remote Characteristic Service
2019-07-02 22:34:54 -04:00
Dan Halbert
6ea01ea9b0
Central is connecting; characteristics can be read and written
2019-06-29 00:20:06 -04:00
Hierophect
16ba035ba7
first commit, very crude
2019-06-28 15:36:08 -04:00
Glenn Ruben Bakke
d889def06b
nrf/led: Adjust how board LEDs are defined.
...
Change static LED functions to lowercase names, and trim down source code
lines for variants of MICROPY_HW_LED_COUNT. Also rename configuration for
MICROPY_HW_LEDx_LEVEL to MICROPY_HW_LEDx_PULLUP to align with global PULLUP
configuration.
2019-06-25 16:02:31 +10:00
Dan Halbert
140904ec84
getting Scanner to work
2019-06-22 22:10:15 -04:00
Dan Halbert
4881e1ff55
WIP: Central compiles; now will test
2019-06-21 18:04:04 -04:00
Dan Halbert
23bd861c9a
nrf: fix neopixel_write pwm buf size calc
2019-06-20 18:02:14 -04:00
Dan Halbert
24ac1fdcab
WIP: backup only; not compiled
2019-06-19 21:54:28 -04:00
Dan Halbert
a1b5d800f3
Update copyrights; get ready for Central
2019-06-19 10:42:36 -04:00
Dan Halbert
35b9191857
Don't operate directly on bleio objects in shared-bindings: use common_hal
...
routines instead. Changes made but not yet tested.
2019-06-18 23:46:20 -04:00
Dan Halbert
1356819de1
Handle None for BLE name; fix ScanEntry bug; compile issue
2019-06-17 23:16:40 -04:00
Dan Halbert
bed6d43a76
merge from upstream; WIP redo Address; no more AddressType
2019-06-13 21:55:07 -04:00
Dan Halbert
62de2506e4
Include display objects in gc.
2019-06-06 17:49:32 -04:00
Dan Halbert
1905d90eaa
Make advertising data buffers long-lived
2019-06-05 20:08:53 -04:00
Tavish Naruka
4a7122d354
boards: add support for Electronut labs Blip
...
Signed-off-by: Tavish Naruka <tavishnaruka@gmail.com>
2019-06-05 00:49:29 +05:30
Dan Halbert
613e12f99f
Replace Broadcaster with enhanced Peripheral
2019-06-03 20:40:05 -04:00
Dan Halbert
63ac37946d
1. Remove advertising data construction in C: it's all done in Python now
...
2. Add scan response capability to advertising.
2019-06-02 23:21:30 -04:00
Dan Halbert
12f1d9d30c
fix advertisement length check; add Service.secondary attribute
2019-05-31 18:03:05 -04:00
Dan Halbert
6cec81bcb5
Need to enable ble before scanning
2019-05-23 22:05:16 -04:00
Dan Halbert
1639354e5f
Scanner working, but not very first time
2019-05-23 16:07:54 -04:00
Damien George
9cf1cbb057
nrf/mphalport: Use wfi to save power while waiting at the UART REPL.
2019-05-22 12:47:48 +10:00
Damien George
456c89f749
nrf/uart: Make UART print output something, and add write method.
2019-05-22 12:47:48 +10:00
Damien George
50d5114fcd
nrf/mpconfigport.h: Enable MICROPY_KBD_EXCEPTION by default.
2019-05-22 12:47:48 +10:00
Damien George
302ffdba7f
nrf/uart: Change UART driver to be non-blocking and use IRQs.
...
As part of this, ctrl-C is now able to interrupt a running program.
2019-05-22 12:47:19 +10:00
Glenn Ruben Bakke
d80abd035e
nrf/nrfx_glue: Adapt to nrfx v.1.7.1.
...
Defining NRFX_STATIC_ASSERT macro to be empty, but available
to nrfx.
2019-05-21 23:16:20 +02:00
Damien George
bb29bde102
nrf/machine/i2c: Update to support new C-level I2C API.
2019-05-20 15:04:29 +10:00
Damien George
7e21cf723a
nrf: Change types to size_t for all uses of mp_obj_str_get_data.
2019-05-13 12:39:56 +10:00
Scott Shawcroft
9feb844b7e
Fix crash in internal filesystem on nrf
...
Fixes #1842
2019-05-08 15:43:18 -07:00
Nguyen Hoan Hoang
9a6f6fd68d
nrf/boards: Add support for BLYST Nano module based boards.
...
- IBK-BLYST-NANO: Breakout board
- IDK-BLYST-NANO: DevKit board with builtin IDAP-M CMSIS-DAP Debug JTAG,
RGB led
- BLUEIO-TAG-EVIM: Sensor tag board (environmental sensor
(T, H, P, Air quality) + 9 axis motion sensor)
Also, the LED module has been updated to support individual base level
configuration of each LED. If set, this will be used instead of the
common configuration, MICROPY_HW_LED_PULLUP. The new configuration,
MICROPY_HW_LEDX_LEVEL, where X is the LED number can be used to set
the base level of the specific LED.
2019-05-02 22:33:44 +02:00
Damien George
0646e607b5
ports: Convert to use pyexec_file_if_exists() to execute boot/main.py.
...
The stm32 and nrf ports already had the behaviour that they would first
check if the script exists before executing it, and this patch makes all
other ports work the same way. This helps when developing apps because
it's hard to tell (when unconditionally trying to execute the scripts) if
the resulting OSError at boot up comes from missing boot.py or main.py, or
from some other error. And it's not really an error if these scripts don't
exist.
2019-04-26 15:22:14 +10:00
Dan Halbert
15b7946fc4
Off-by-one error for usage of MAX_TX_IN_PROGRESS
2019-04-22 22:07:48 -04:00
Scott Shawcroft
713a38d1a2
Merge pull request #1754 from dmazzella/dmazzella-patch-1
...
add support for USER_C_MODULES
2019-04-17 09:41:20 -07:00
Dan Halbert
c0ce820974
Merge pull request #1803 from nickzoic/circuitpython-nickzoic-1042-nrf-nvm-bytearray-3
...
Circuitpython nickzoic 1042 nrf nvm bytearray 3
2019-04-16 15:05:18 -04:00
Tavish Naruka
32a0855d18
Add support for Electronut Labs Papyr.
...
Signed-off-by: Tavish Naruka <tavishnaruka@gmail.com>
2019-04-16 12:59:42 +05:30
Nick Moore
9c42a72275
Fix up single-byte access to nvm.ByteArray
2019-04-16 14:53:44 +10: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
Nick Moore
66e8ceafad
switch nvm.ByteArray to use new nrf_nvm_safe_flash_page_write
...
adafruit/circuitpython#1610
2019-04-16 14:53:44 +10:00
Nick Moore
fd83cf2048
Add a peripherals/nrf/nvm.c to wrap flash page writes safely
2019-04-16 14:53:44 +10:00
Nick Moore
d0e5af3b09
Working flash pages for nvm.ByteArray adafruit/circuitpython#1042
...
import microcontroller
def dump(n = microcontroller.nvm):
for i in range(0,len(n)):
print ("%02X " % n[i], end="")
if i % 16 == 15: print('')
microcontroller.nvm[0:4096] = bytes([1,2,3,4,5,6,7,8]) * 512
microcontroller.nvm[4096:8192] = bytes([16,17,18,19]) * 1024
microcontroller.nvm[4090:4101] = b'thisisatest'
microcontroller.nvm[100:105] = b'hello'
microcontroller.nvm[8000:8007] = b'goodbye'
dump()
2019-04-16 14:53:44 +10:00
Nick Moore
531cf7eb4c
switch CIRCUITPY_NVM on!
2019-04-16 14:53:44 +10:00
Nick Moore
933500c448
nvm.ByteArray reads & writes but no sensible erase yet adafruit/circuitpython#1042
2019-04-16 14:53:44 +10:00
Nick Moore
df89156f2f
Start on nRF nvm.ByteArray adafruit/circuitpython#1042 (doesn't do anything yet)
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
864910559b
fix subscripting
2019-04-10 21:41:55 -04: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
Scott Shawcroft
ac2fd2fa80
Merge pull request #1773 from dhalbert/no-recursive-background-tasks
...
Don't let a background task call run_background_tasks()
2019-04-09 18:39:28 -07: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
Nick Moore
bc92441803
switch nvm.ByteArray to use new nrf_nvm_safe_flash_page_write
...
adafruit/circuitpython#1610
2019-04-09 10:55:39 +10:00
Nick Moore
cd69db7770
Add a peripherals/nrf/nvm.c to wrap flash page writes safely
2019-04-09 10:55:39 +10:00
Nick Moore
8e7fee2246
Working flash pages for nvm.ByteArray adafruit/circuitpython#1042
...
import microcontroller
def dump(n = microcontroller.nvm):
for i in range(0,len(n)):
print ("%02X " % n[i], end="")
if i % 16 == 15: print('')
microcontroller.nvm[0:4096] = bytes([1,2,3,4,5,6,7,8]) * 512
microcontroller.nvm[4096:8192] = bytes([16,17,18,19]) * 1024
microcontroller.nvm[4090:4101] = b'thisisatest'
microcontroller.nvm[100:105] = b'hello'
microcontroller.nvm[8000:8007] = b'goodbye'
dump()
2019-04-09 10:55:39 +10:00
Nick Moore
592bd0140a
switch CIRCUITPY_NVM on!
2019-04-09 10:55:15 +10:00
Nick Moore
492431a694
nvm.ByteArray reads & writes but no sensible erase yet adafruit/circuitpython#1042
2019-04-09 10:54:11 +10:00
Nick Moore
f8e5e2da64
Start on nRF nvm.ByteArray adafruit/circuitpython#1042 (doesn't do anything yet)
2019-04-09 10:54:11 +10:00
Scott Shawcroft
de48e4b262
Merge remote-tracking branch 'adafruit/master' into fix_cpx_display
2019-04-08 17:15:08 -07:00
Scott Shawcroft
0f003ac5b8
Reorganize board busses into shared-bindings and shared-module.
2019-04-08 16:58:50 -07:00
Scott Shawcroft
049b9ca094
Remove terse TODOs
2019-04-08 14:46:45 -07:00
Radomir Dopieralski
8323721232
Stop hard-coding SPI frequency in FourWire
...
Instead remember and use the frequency, polarity and phase that was
set when the bus was first created.
2019-04-06 15:15:29 +02:00
Damiano Mazzella
8428fa0f64
Update Makefile
2019-04-05 21:42:29 +02: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
Scott Shawcroft
92095eb666
Update comment
2019-04-02 13:28:35 +11:00
Nick Moore
94bda3bde1
Change nRF RTC implementation to use RTC2 #1046
...
(to avoid interference with Bluetooth Softdevice. See
https://github.com/adafruit/circuitpython/pull/1534#issuecomment-478776240
with thanks to @bboser for pointing it out)
2019-04-02 13:28:22 +11:00
Nick Moore
6afe23d0b0
There isn't really a good way to calibrate this RTC adafruit/circuitpython#1046
2019-04-02 13:28:03 +11:00
Nick Moore
6206fa9a82
adafruit/circuitpython#1046 handle overflows in the RTC counter
2019-04-02 13:27:45 +11:00
Nick Moore
f846fa109e
enable NRFX RTC adafruit/circuitpython#1046
2019-04-02 13:27:28 +11:00
Nick Moore
f88f9fd748
more fake RTC code ... adafruit/circuitpython#1046
...
(works if MP_WEAK common_hal_rtc_get_time is removed)
2019-04-02 13:27:13 +11:00
Nick Moore
4a5c52fbd6
starting on #1046 rtc for nRF
2019-04-02 13:27:00 +11:00
Glenn Ruben Bakke
1f5d945afa
nrf/Makefile: Update to match latest oofatfs version.
...
See corresponding commit b5f33ac2cb
2019-04-01 19:22:25 +02:00
Dan Halbert
0653bca323
Revert "Circuitpython nickzoic 1046 nrf rtc"
2019-03-29 16:41:29 -04:00
Scott Shawcroft
98811a9675
Update comment
2019-03-28 09:29:18 -07:00
Nick Moore
71622a4515
There isn't really a good way to calibrate this RTC adafruit/circuitpython#1046
2019-03-28 09:50:09 +11:00
Nick Moore
28254def0b
adafruit/circuitpython#1046 handle overflows in the RTC counter
2019-03-28 09:50:09 +11:00
Nick Moore
b09d2c3c62
enable NRFX RTC adafruit/circuitpython#1046
2019-03-28 09:50:09 +11:00
Nick Moore
69cf33e6a1
more fake RTC code ... adafruit/circuitpython#1046
...
(works if MP_WEAK common_hal_rtc_get_time is removed)
2019-03-28 09:50:09 +11:00
Nick Moore
77f307c642
starting on #1046 rtc for nRF
2019-03-28 09:50:09 +11:00
Scott Shawcroft
2c93ce5a28
Merge pull request #1672 from dhalbert/regular-fs-flush
...
flush flash filesystem once a second
2019-03-26 13:47:43 -07:00
Radomir Dopieralski
f440e41819
Really fix the error messages in bleio, this time
2019-03-25 14:04:50 +01:00
Radomir Dopieralski
bb10a8aaa1
Fix error messages in bleio
2019-03-25 09:19:48 +01:00
Dan Halbert
fe555a4098
Allow NFC pins to be used for other purposes.
2019-03-21 11:22:58 -04:00
Dan Halbert
fbf166af1a
enable MICROPY_CPYTHON_COMPAT for most builds except CIRCUITPY_SMALL_BUILD; remove a few other things to make fit
2019-03-20 14:36:24 -04:00
Dan Halbert
2459eabd66
flush flash filesystem once a second
2019-03-20 12:21:36 -04:00
Glenn Ruben Bakke
e0c6dfe90a
nrf/readme: Add section about LTO.
...
Adding section about on how to disable use of the linker flag
-flto, by setting the LTO=0 argument to Make. Also, added a
note on recommended toolchains to use that works well with
LTO enabled.
2019-03-19 16:59:18 +01:00
Dan Halbert
9cceea0d68
nrf: fix internal flash writes
2019-03-18 09:11:40 -04:00
Glenn Ruben Bakke
696549d2e5
nrf/bluetooth: Deprecate use of SoftDevice s140 v6.0.0.
...
Removing linker script for nrf52840 s140 v6.0.0 as pca10056
target board now points to the new v6.1.1. Also, removing the
entry from the download_ble_stack.sh script.
2019-03-15 20:50:15 +01:00
Glenn Ruben Bakke
a3a266a9c3
nrf/board: Migrate nrf52840 target to new BLE stack.
...
This patch moves pca10056/nrf52840 target board to use
the new SoftDevice s140 v6.1.1 instead of the legacy v6.0.0.
2019-03-15 20:50:15 +01:00
Glenn Ruben Bakke
d3c1436e75
nrf/bluetooth: Add support for SoftDevice s140 version 6.1.1.
...
Updating download script to fetch the new SoftDevice, and
adding corresponding linker script for the BLE stack.
2019-03-15 20:50:15 +01:00
Glenn Ruben Bakke
1e5e3e3d48
nrf/bluetooth: Deprecate use of SoftDevice s132 v6.0.0.
...
Removing linker script for nrf52832 s132 v6.0.0 as all target
boards now points to the new v6.1.1. Also, removing the entry
from the download_ble_stack.sh script.
2019-03-15 20:50:15 +01:00
Glenn Ruben Bakke
5f26ef1112
nrf/board: Migrate all nrf52832 targets to new BLE stack.
...
This patch moves all the nrf52832 target boards to use the
new SoftDevice s132 v6.1.1 instead of the legacy v6.0.0.
2019-03-15 20:50:15 +01:00
Nguyen Hoan Hoang
e8ed2dea71
nrf/bluetooth: Add support for SoftDevice s132 version 6.1.1.
...
Updating download script to fetch the new SoftDevice, and
adding corresponding linker script for the BLE stack.
2019-03-15 20:50:15 +01:00
Dan Halbert
c4586c0531
nrf: Disable SPIM3; add SPIM1; remove TWIM1
2019-03-12 08:31:03 -04:00
Damien George
b5f33ac2cb
ports: Update to work with new oofatfs version.
2019-03-05 15:56:39 +11:00
sommersoft
2cd6a79016
better handle frequencyio inclusion
2019-03-01 22:46:57 -06:00
Jerry Needell
bd13834a74
implement default busses for particle boards
2019-02-24 09:34:33 -05:00
Kattni
f3e50b9df2
Merge pull request #1581 from dhalbert/ble-drv-root-pointer
...
Use critical section, not lock, in CharacteristicBuffer; use a root pointer for ble_drv list
2019-02-21 12:28:41 -05:00
Dan Halbert
99da3b9646
Use critical section, not lock, in CharacteristicBuffer; use a root pointer for ble_drv list
2019-02-21 00:19:31 -05:00
Stig Bjørlykke
c72391c4ce
nrf/pwm: Remove superfluous NULL in machine_hard_pwm_instances.
...
Remove unneeded NULL entry in machine_hard_pwm_instances[] when not
building for NRF52_SERIES.
2019-02-20 22:52:18 +01:00
Stig Bjørlykke
6ca03fe8bd
nrf/readme: Update make flash command when defining board.
...
Update the "make flash" command sample to include BOARD parameter
when building for a specific target board.
2019-02-20 22:34:08 +01:00
Glenn Ruben Bakke
ca2bb66127
nrf/bluetooth: Resolve compilation warning in ble_drv.c.
...
This patch makes sure that the char_data.props is first
assigned a value before other flags are OR'd in.
Resolves compilation warning on possible unitialized variable.
2019-02-20 07:25:51 +01:00
Glenn Ruben Bakke
0c6f5bc529
nrf/bluetooth: Improve advertisment behavior for nrf52 targets.
...
This patch makes sure that advertisment data is located in
persistent static RAM memory throughout the advertisment.
Also, setting m_adv_handle to predifined
BLE_GAP_ADV_SET_HANDLE_NOT_SET value to indicate first time
usage of the handle. Upon first advertisment configuration
this will be populated with a handle value returned by the
stack (s132/s140).
2019-02-20 07:25:51 +01:00
Glenn Ruben Bakke
ee3a01f25c
nrf/readme: Update link to nrfjprog download.
...
After new layout of nordicsemi.com the direct links to
command line tools (nrfjprog) has changed to become dynamic.
This patch removes the old direct links to each specific OS
variant and is replaced with one single link to the download
landing page instead.
2019-02-20 07:13:36 +01:00
Dan Halbert
9c24c804fb
Fix #ifdefs in port.c to call xxx_reset() rroutines properly. Remove most uses of EXPRESS_BOARD.
2019-02-18 22:44:31 -05:00
Dan Halbert
5ec92415b0
fix module weak links; add missing nrf features
2019-02-17 17:29:28 -05:00
Dan Halbert
7b3f7605b8
address @tannewt changes: move and rename common files; remove PORT_HEAP_SIZE
2019-02-15 20:32:32 -05:00
Dan Halbert
a345ef28f2
finish Makefile refactoring; nrf builds work
2019-02-15 18:55:10 -05:00
Dan Halbert
5154e0581e
WIP: atmel-samd trinket build works
2019-02-15 00:28:20 -05:00
Dan Halbert
ab4194f752
don't allocate DMA buffer as long-lived
2019-02-13 19:49:57 -05:00
Dan Halbert
e92d90ce9c
Add second UARTE to busio.UART. Init uarts on startup.
2019-02-12 22:34:05 -05:00
Scott Shawcroft
9f7d19a937
Change EMERGENCY_EXCEPTION_BUF settings to match samd.
2019-02-11 20:55:06 -08:00
Scott Shawcroft
c17f147be9
A variety of displayio improvements
...
This changes a number of things in displayio:
* Introduces BuiltinFont and Glyph so the built in font can be used by libraries. For boards with
a font it is available as board.TERMINAL_FONT. Fixes #1172
* Remove _load_row from Bitmap in favor of bitmap[] access. Index can be x/y tuple or overall index. Fixes #1191
* Add width and height properties to Bitmap.
* Add insert and [] access to Group. Fixes #1518
* Add index param to pop on Group.
* Terminal no longer takes unicode character info. It takes a BuiltinFont instead.
* Fix Terminal's handling of [###D vt100 commands used when up arrowing into repl history.
* Add x and y positions to Group plus scale as well.
* Add bitmap accessor for BuiltinFont
2019-02-11 20:55:05 -08:00
Damien George
6e30f96b0b
ports: Convert legacy uppercase macro names to lowercase.
2019-02-12 14:54:51 +11:00
Scott Shawcroft
37b9cd5974
Merge pull request #1521 from nickzoic/circuitpython-nickzoic-1045-nrf-rotaryio
...
Circuitpython nickzoic 1045 nrf rotaryio
2019-02-07 10:38:20 -08:00
Nick Moore
b9db977a2d
Change pin mode to pullup for adafruit/circuitpython#1045
2019-02-07 09:47:56 +11:00
Nick Moore
a7c349bc6e
Add quarter-click logic to adafruit/circuitpython#1045
2019-02-05 16:41:33 +11:00
Nick Moore
95454ecde0
useful output from rotaryio adafruit/circuitpython#1045
2019-02-05 16:41:33 +11:00
Nick Moore
21eb7e8e64
GPIOTE handlers for rotaryio.IncrementalEncoder adafruit/circuitpython#1045
2019-02-05 14:15:13 +11:00
Nick Moore
ee21cc163f
Start on rotaryio.IncrementalEncoder adafruit/circuitpython#1045 (does nothing yet!)
2019-02-05 14:15:03 +11:00
Stig Bjørlykke
98f790b03a
nrf/timer: Fix disabling Timer 1 when using soft PWM.
...
Don't exclude the Timer instance 1 entry from machine_timer_obj[] when
using soft PWM. The usage is already checked when creating the Timer,
so just create an empty entry.
2019-02-02 11:15:52 +01:00
Scott Shawcroft
ec03887040
Fix hallowing and nrf builds
2019-01-31 11:42:15 -08:00
Stig Bjørlykke
63eae33b7b
nrf/ticker: Remove duplicate NRFX_IRQ_PRIORITY_SET.
2019-01-31 17:50:10 +11:00
Ayke van Laethem
e8678cd1c9
nrf/pin: Print pull information in Pin.__str__.
2019-01-31 17:38:13 +11:00
Ayke van Laethem
2d293873a6
nrf/pin: Cleanup Pin.__str__ to print relevant information.
...
Code size change:
nrf51: -44
nrf52: -52
2019-01-31 17:31:58 +11:00
Ayke van Laethem
4e1c2fc831
nrf: Shrink "<peripheral> does not exist" error messages.
...
Code size reductions:
nrf51: -132
nrf52: -188
2019-01-31 17:26:26 +11:00
Ayke van Laethem
1ba962ff57
nrf/uart: Remove unused machine.UART() parameters.
...
If needed these parameters can be added back and made functional one at a
time. It's better to explicitly not support them than to silently allow
but ignore them.
2019-01-31 17:18:23 +11:00
Ayke van Laethem
a293fa3d6d
nrf/uart: Use formula instead of switch for baudrate calculation.
...
This saves a bit of code:
nrf51: -176
nrf52: -152
2019-01-31 17:06:59 +11: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
Damien George
d5d060ead9
nrf/modmachine: Rename machine.sleep to machine.lightsleep.
2019-01-30 14:15:38 +11:00
hathach
d1fb384a4a
update tinyusb, work better with sd
2019-01-29 21:03:18 +07:00
Scott Shawcroft
765d877dfa
Merge pull request #1499 from nickzoic/nickzoic/circuitpython-nrf-touchin-1048
...
Nickzoic/circuitpython nrf touchin 1048
2019-01-28 00:22:34 -08:00
Nick Moore
294b026aca
Automatically set a default threshold for touchio.TouchIn channels
2019-01-28 18:22:57 +11:00
Nick Moore
539aaf08b5
speed up measurement loop
2019-01-27 21:54:59 +11:00
Nick Moore
4a093294ac
hugely simplified version of the touchio.TouchIn.get_raw_reading code ( adafruit/circuitpython#1048 )
2019-01-27 15:08:03 +11:00
Dan Halbert
7998a7696d
also handle BLE_GATTS_EVT_SYS_ATTR_MISSING: fixes Android:
2019-01-23 22:12:38 -05:00
Dan Halbert
b1f1bb1389
support BLE_GAP_EVT_DATA_LENGTH_UPDATE_REQUEST, sent by newer devices
2019-01-23 21:07:23 -05:00
Scott Shawcroft
a380865655
Merge remote-tracking branch 'adafruit/master' into HEAD
2019-01-22 14:02:07 -08:00
Dan Halbert
e170e03f8c
Merge remote-tracking branch 'adafruit/master' into bleio2
2019-01-21 20:38:26 -05:00
Dan Halbert
28cfd8a513
CharacteristicBuffer: make it be a stream class; add locking
2019-01-19 19:45:35 -05:00
Roy Hooper
50af08a6f3
Merge branch 'master' into pixelbuf
2019-01-19 16:33:59 -05:00
Scott Shawcroft
edc8383e22
Improvements thanks to danh's review
2019-01-18 16:37:06 -08:00
Scott Shawcroft
fddc98858a
fix nonetype handling and nrf never reset
2019-01-17 18:51:40 -08:00
Scott Shawcroft
6404aaf411
Fix up nrf and using board.SPI in FourWire
2019-01-17 18:19:07 -08:00
Scott Shawcroft
760bd8d8a4
share fourwire and make nrf compile
2019-01-17 15:15:59 -08:00
Scott Shawcroft
c1e6624f8f
Merge pull request #1470 from gpshead/mdk_usb_dongle
...
Add Makerdiary nRF52840 MDK USB dongle support.
2019-01-15 23:05:15 -08:00
Gregory P. Smith
91452ec9cb
Mention the MDK USB Dongle.
2019-01-15 21:24:36 -08:00
dsiee
af0f1a7542
Update pins.c
...
whitespace
2019-01-16 15:02:48 +11:00
dsiee
c2d39a7ab7
Update pins.c
2019-01-16 14:58:16 +11:00
dsiee
ac238838f2
Update pins.c
...
add declaration for RED_LED as D3 to match silkscreen.
2019-01-16 14:48:41 +11:00
Gregory P. Smith
7296b647ef
Add MDK nRF52840 MDK USB Dongle support.
...
Adds support for https://wiki.makerdiary.com/nrf52840-mdk-usb-dongle/ .
A cheap nRF52840 USB stick with optional headers, very Trinket and Itsy like.
2019-01-15 01:37:22 -08:00
Roy Hooper
ffe734edf7
Fresh combined checkin of _pixelbuf library.
2019-01-13 23:51:13 -05:00
Scott Shawcroft
62a8cc2825
Merge pull request #1453 from tannewt/text_on_pyportal
...
Enable the display on pyportal
2019-01-11 10:33:16 -08:00
Dan Halbert
50ee5ef24c
merge translations; add bleio comments; fix minor sphinx issues in midi
2019-01-10 21:12:17 -05:00
Scott Shawcroft
19db886645
Support the display on the pyportal.
...
Also fix #1390 , reload during sleep broken.
2019-01-10 17:29:34 -08:00
Dan Halbert
516d7da641
Merge pull request #1449 from tannewt/midi
...
Add USB MIDI support for SAMD and nRF.
2019-01-10 19:49:33 -05:00
hathach
ee410b2cf1
Merge branch 'master' into nrf52_pulsein
2019-01-10 10:54:40 +07:00
Dan Halbert
d3b8581ce0
fix merge conflicts; address some comments
2019-01-09 19:59:48 -05:00
Scott Shawcroft
b5e40f52c2
Add USB MIDI support for SAMD and nRF.
...
The API should be identical to using a UART for MIDI.
Fixes #672
2019-01-09 14:02:11 -08:00
Dan Halbert
d41ed768dc
Fix sphinx build issues; add better travis fold reporting; update author info
2019-01-09 16:22:19 -05:00
Dan Halbert
89af666093
fix sphinx complaint; more travis fold status reporting
2019-01-09 10:36:38 -05:00
hathach
f366e3feea
Merge branch 'master' into nrf52_pulsein
2019-01-09 20:39:35 +07:00
hathach
cfc4c8cbfa
minor clean up
2019-01-09 15:43:54 +07:00
hathach
db82160eef
fix pulsein incorrect compute
2019-01-09 15:15:30 +07:00
Dan Halbert
13d607698e
m_tx_in_progress might underflow (check on this)
2019-01-08 16:37:14 -05:00
Dan Halbert
50641c4152
remove debugging printf's
2019-01-08 15:52:21 -05:00
Dan Halbert
f66f55b4ed
add CharacteristicBuffer; UART seems to work!
2019-01-07 22:46:20 -05:00
hathach
215008f78c
clean up neopixel write !!
2019-01-08 00:21:31 +07:00
Dan Halbert
a77b2363ef
evt handler list bugs; unique evt handler names; remove uuid128_reference
2019-01-03 21:42:42 -05:00
Dan Halbert
8dea6f53bb
forgot to store data when reading a gatts value
2019-01-03 14:16:41 -05:00
Dan Halbert
87c6f33bcc
Broadcaster now takes whole packet. Also should be scannable
2019-01-01 14:11:59 -05:00
Dan Halbert
941ccf87c8
don't free event handler list manually; let gc do it
2018-12-31 09:02:43 -05:00
Dan Halbert
b6b5ed9c89
Remove nRF52832 support
2018-12-30 22:49:20 -05:00
Dan Halbert
1dc3957e72
LocalPeripheral is now Peripheral; more work on basic GATTS support; UART not working yet
2018-12-30 22:33:49 -05:00
Dan Halbert
ef39e72c7c
free event handlers on reset; fix typo in Broadcaster
2018-12-29 13:55:10 -05:00
Dan Halbert
de7cadb9b2
fix typos in internal_flash.c
2018-12-29 00:08:04 -05:00
Dan Halbert
145e110915
Merge remote-tracking branch 'adafruit/master' into bleio-rev
2018-12-29 00:00:39 -05:00
Dan Halbert
4d1f0ec07b
Add Broadcaster. Reset correctly on reload.
2018-12-28 23:34:23 -05:00
hathach
6b0d93cea3
correct i2c max len
2018-12-28 21:14:27 +07:00
hathach
a4ee80832a
fix #1422 correct i2c max xfer len (size in bits)
2018-12-28 16:30:11 +07:00
hathach
3ee766bc01
put received bytes to fifo when error
2018-12-28 01:05:30 +07:00
hathach
d092722ae8
fix #1407 keep receiving in case of error
2018-12-28 00:40:29 +07:00
Jerry Needell
55084b30ef
remome FRAMEBUF from nrf builds - use QSPI for particle ARGON
2018-12-27 09:38:35 -05:00
Dan Halbert
4167bf5b24
wip: advertising works, but not connection
2018-12-27 00:04:04 -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
hathach
b37b2fa7e7
overwrite old data if fifo is full
2018-12-13 23:56:06 +07:00
hathach
e136222ae2
use rbuf for busio uart
2018-12-13 23:48:53 +07:00
Scott Shawcroft
70939ad517
Merge pull request #1395 from jerryneedell/jerryn_cpython
...
enable MICROPY_CPYTHON_COMPAT
2018-12-11 10:54:17 -08:00
Scott Shawcroft
8fc72e8978
Add SPI and I2C to SparkFun nRF52840 mini definition and add it to Travis.
2018-12-10 20:32:19 -08:00
Scott Shawcroft
8a981dc8e8
Merge remote-tracking branch 'adafruit/master' into sfe840
2018-12-10 20:13:36 -08:00
Nick Moore
1dc4c4757e
touchio.TouchIn sensing working on a single pin! adafruit/circuitpython#1048
2018-12-11 14:33:35 +11:00
Jerry Needell
a90343022a
enble MICROPYTHON_CPYTHON_COMPAT - fix mpconfigport.h to allow and enable a few more items for compatiblilty with other builds
2018-12-10 16:35:40 -05:00
Glenn Ruben Bakke
9e5768a6db
nrf/bluetooth: Update BLE stack download script.
...
Due to new webpages at nordicsemi.com, the download links
for Bluetooth LE stacks were broken.
This patch updates the links to new locations for the current
targets.
2018-12-10 20:42:06 +01:00
Nick Moore
901db4797e
progress on NRF touchio.TouchIn #1048
2018-12-09 16:48:33 +11:00
Scott Shawcroft
801d9a5abc
Fix running the USB task on nRF.
...
It wasn't being run due to a rework done only on the atmel-samd port.
The rework itself isn't needed now that the heap check triggers safe
mode instead of throwing a Python exception. So, I've removed the
rework.
2018-12-07 16:11:21 -08: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
Dan Halbert
125901e4e2
Merge remote-tracking branch 'adafruit/master' into bleio-rev
2018-12-06 12:41:38 -05:00
Scott Shawcroft
b25bf062fb
Add correct flash chip for Particle Mesh boards
2018-12-04 18:20:51 -08:00
Scott Shawcroft
15c1fc873c
Add particle boards, fix cp32 and try to speed up atmel build
2018-12-04 18:20:48 -08:00
Dan Halbert
63cd9209f1
allow KeyboardInterrupt on UART read; fix nrf UART pin claiming; rename feather 52840 UART pins
2018-12-04 15:05:39 -05:00
Nick Moore
452a622459
Set up structure for touchio adafruit/circuitpython#1048 (does nothing yet)
2018-12-04 17:12:02 +11:00
Dan Halbert
80db2cec99
UART changes: timeout in secs, write bytes, etc.
2018-12-03 12:04:32 -05:00
jimblom
09316b35d7
remove non-broken-out nrf pins. re-organize pins.c list.
2018-11-30 14:58:36 -07:00
Scott Shawcroft
6e15ab6385
Stop ignoring SD hex files and improve the error when its missing.
2018-11-30 13:26:12 -08:00
Scott Shawcroft
df18d22a93
Capture stderr as well and work on nRF build
2018-11-30 12:59:05 -08:00
jimblom
f67814fc97
Adding SparkFun nRF52840 Mini board support.
2018-11-30 13:57:22 -07:00
Scott Shawcroft
cf70dc4f1c
Fix BLE build
2018-11-30 11:53:33 -08:00
Scott Shawcroft
9d07e95351
Add support for adding release info into adafruit/circuitpython-org
...
This also changes the build script to python with better output.
2018-11-30 00:30:57 -08:00
Scott Shawcroft
60480ff4ed
Merge pull request #1351 from jepler/issue1307-ujson
...
json: enable on nrf boards and "large flash" M4 samd boards
2018-11-27 11:29:29 -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
Dan Halbert
3164b16196
WIP: debug; add hash and __eq__ to UUID
2018-11-26 21:09:17 -05:00
Dan Halbert
6fb7590280
Merge remote-tracking branch 'adafruit/master' into bleio-rev
2018-11-26 10:16:29 -05:00
Scott Shawcroft
15eeac5d4b
A few fixes for nRF52840 feather QSPI and neopixel
2018-11-23 14:22:07 -08:00
Scott Shawcroft
324301e3bc
Update tinyusb to include control fixes.
2018-11-23 13:28:10 -08:00
Jeff Epler
52fd151c9c
ports/nrf: enable json module on nrf boards generally
2018-11-22 10:35:57 -06:00
Dan Halbert
5fe746f643
Latest Feather nRF52840 pin revisions
2018-11-21 19:46:49 -05:00
Dan Halbert
1763ffe245
More UUID work; use mp_raise for exceptions
2018-11-20 23:04:58 -05:00
Dan Halbert
31cc71f7fb
WIP: bleio revisions
2018-11-20 09:36:45 -05:00
Scott Shawcroft
b67c53edfa
Factor out of external flash as well.
...
Plus some cleanup.
Fixes #1324
2018-11-14 18:30:47 -08:00
Scott Shawcroft
87ddd64481
Factor out fake partition
2018-11-14 17:59:11 -08:00
Scott Shawcroft
47212ee31e
start debug
2018-11-14 17:21:48 -08:00
Scott Shawcroft
355abc835e
Fix output overflow and make help translatable
2018-11-09 16:41:08 -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
Dan Halbert
64d457dad9
bring bleio PR up to date
2018-11-07 14:12:22 -05:00
Dan Halbert
e203ce9ce5
Use adafruit/nrfx fork of NordicSemiconductor/nrfx
2018-10-31 23:18:59 -04:00
arturo182
4bc24c4f60
bleio: Fix errors after rebase
2018-10-21 17:15:27 +02:00
arturo182
eceb21a017
bleio: Don't register the services until needed
...
Because of the very specific way nRF requires service registration
(characteristics can be added only to last added service), we would
have to write the Python code in a specific way. With this patch the
user has more freedom.
2018-10-21 16:00:04 +02:00
arturo182
19fab4af5a
bleio: Remove deep copy constructor for UUID
2018-10-21 15:59:50 +02:00
arturo182
b5e5805bb4
bleio: Remove redundant struct field
2018-10-21 15:59:46 +02:00
arturo182
c7b42d80b3
bleio: A bit of cleanup
2018-10-21 15:59:42 +02:00
arturo182
cf79316002
nrf: Fix ble uart using the new API
2018-10-21 15:59:36 +02:00
arturo182
d5a71a4b8a
nrf: Move bluetooth driver to the 'bluetooth' folder
2018-10-21 15:55:25 +02:00
arturo182
17f13ecc2c
nrf: Cleanup of the ble driver
...
Moved the functions to classes that they belong to.
2018-10-21 15:54:13 +02:00
arturo182
77eeecbfd9
nrf: BLE driver cleanup
2018-10-21 15:52:36 +02:00
arturo182
6545aa99a9
nrf: Remove the ble drv specific characteristic struct
2018-10-21 15:51:04 +02:00
arturo182
98aa8c5923
nrf: Remove the ble drv specific service struct
2018-10-21 15:51:01 +02:00
arturo182
3df7dea2cc
nrf: Remove the ble drv specific advertisement data struct
2018-10-21 15:50:59 +02:00
arturo182
4b344812bf
nrf: Remove the ble drv specific address struct
2018-10-21 15:50:56 +02:00
arturo182
3bd65fbae5
nrf: Move the Peripheral class to bleio as Device
...
This was the last class from ubluepy and so that module is now gone.
The Device class offers both Peripheral and Central functionality.
See the inline docs for more info.
2018-10-21 15:50:45 +02:00
arturo182
bda734223e
nrf: Move the Service class from ubluepy to the shared bleio module
2018-10-21 15:43:51 +02:00
arturo182
cc78249226
nrf: Move the Characteristic class from ubluepy to the shared bleio module
2018-10-21 15:43:48 +02:00
arturo182
61bf4a16a7
nrf: Remove unused ubluepy classes
2018-10-21 15:43:39 +02:00
arturo182
1c6bf9a150
bleio: Move the Scanner class to a shared module
2018-10-21 15:43:29 +02:00
arturo182
7390dc7dab
bleio: Move ScanEntry to shared module and add a new AdvertisementData class
2018-10-21 15:43:24 +02:00
arturo182
345334aaf1
bleio: Add a new Address class
...
Use the new in the Adapter singleton.
2018-10-21 15:43:21 +02:00
arturo182
d5f942a971
bleio: Add a AddressType enum-like class
2018-10-21 15:43:17 +02:00
arturo182
20b8d5169d
nrf: Move the Descriptor class from ubluepy to the shared bleio module
2018-10-21 15:43:13 +02:00
arturo182
f4940c9aec
nrf: Move the UUID class from ubluepy to the shared bleio module
...
Also added a UUIDType enum-like class for determining UUID type.
2018-10-21 15:43:08 +02:00
Josh Klar
aefabc5353
Update docs to reflect proper size of device
2018-10-20 03:29:20 -07:00
Josh Klar
4c75a60bd3
Declobber a DEFINE
2018-10-20 02:57:17 -07:00
Josh Klar
16ca9c8c7c
Makefile fixes and some docs
2018-10-20 02:43:13 -07:00
Josh Klar
3d7b96aeb1
Add board and pin defs for MakerDiary NRF52840 MDK
2018-10-20 02:43:12 -07:00
Dan Halbert
b3c7746a7f
fix copyright notice
2018-10-16 11:09:37 -04:00
Dan Halbert
2262efc311
PulseOut working
2018-10-16 11:05:02 -04:00
Glenn Ruben Bakke
11bc38d55f
nrf/bluetooth: Set GAP_ADV_MAX_SIZE to 31 (s132/s140).
...
For s132 and s140, GAP_ADV_MAX_SIZE was currently set to
BLE_GATT_ATT_MTU_DEFAULT, which is 23. The correct value
should have been 31, but there are no define for this in
the s132/s140 header files as for s110.
Updating define in ble_drv.c to the correct value of 31.
2018-10-11 23:38:11 +02:00
Dan Halbert
8d58093328
Merge pull request #1259 from dhalbert/nrf-pwmout
...
Allow variable freq PWMOut; use multiple channels if same freq
2018-10-10 12:27:27 -04:00
Scott Shawcroft
df80ad8e6e
Merge pull request #1193 from ATMakersBill/master
...
Add supervisor.runtime.serial_bytes_available so that input() can be used without blocking.
2018-10-09 23:58:43 -07:00
Dan Halbert
ca737e6f7c
Don't disable tempoarily in deinit().
2018-10-09 21:23:47 -04:00
Dan Halbert
91a88cf568
Allow variable freq PWMOut; use multiple channels if same freq
2018-10-09 20:52:55 -04:00
ATMakersBill
9f94712ad1
replacing change to input() with separate method to check for USB Serial input
2018-10-09 18:37:52 -04:00
Jerry Needell
fd0ea85549
add force_create to nrf filesystem_init()
2018-10-06 08:03:27 -04:00
hathach
21ddb6b9b9
fix tinyusb cdc issue
2018-10-05 21:37:16 +07:00
Dan Halbert
6049776b26
Merge branch 'master' into nrf52_uart_io
2018-10-03 13:31:48 -04:00
Scott Shawcroft
86ae707b08
Merge pull request #1223 from dhalbert/spi-baudrate
...
nrf: remove error check for SPI baudrate too high; round to nearest baudrate
2018-10-03 10:11:44 -07:00
hathach
b8884ccc8b
Merge branch 'master' into nrf52_uart_io
2018-10-03 23:13:56 +07:00
Enrico Paganin
4b9099358f
Fix 'advertisement' typo
2018-10-03 09:56:30 +02:00
hathach
08cbb03bdd
implement common_hal_busio_uart_clear_rx_buffer
2018-10-03 11:39:01 +07:00
hathach
f543c8415d
"busio.UART not yet implemented -> not available
2018-10-03 11:30:31 +07:00
Dan Halbert
21d331c8cc
round SPI freq down; check max freq
2018-10-02 21:06:40 -04:00
Dan Halbert
aa95526428
nrf: remove error check for SPI baudrate too high; round to nearest baudrate
2018-10-01 18:54:13 -04:00
Dan Halbert
48a3aafdd2
reset I2C and SPI on ctrl-D
2018-09-25 15:12:10 -04:00
hathach
76d6fb03f0
more clean up
2018-09-26 02:12:06 +07:00
hathach
eba80f7a99
update translate string
2018-09-26 02:10:44 +07:00
hathach
52328c88cd
remove space
2018-09-26 02:06:32 +07:00
hathach
74cc55b107
change error type to runtime
2018-09-25 17:31:53 +07:00
hathach
f724647a45
fix feather nrf52840 build error
2018-09-25 17:09:54 +07:00
hathach
dec5c50c45
clean up
2018-09-25 16:22:14 +07:00
hathach
2f0e0bdcaf
migrate serial from uart to uarte
2018-09-25 16:14:44 +07:00
hathach
9017c9d29a
clean up
2018-09-25 14:29:45 +07:00
hathach
d3e5ba83eb
update nrfx to 1.3.0
2018-09-25 13:00:57 +07:00
hathach
d714479924
clean up
2018-09-25 12:48:48 +07:00
hathach
01c1296197
nrf52 uart io rx work reliably
2018-09-25 12:37:31 +07:00
hathach
1782ceab35
uarte malloc if buffer is not in SRAM
2018-09-24 16:18:49 +07:00
hathach
4015023e01
clean up uart io
2018-09-24 16:12:05 +07:00
hathach
7bbd449f06
uarte rx work fine
2018-09-24 15:54:32 +07:00
hathach
fdd3e91753
changing to nrf uarte, tx works fine
2018-09-24 14:56:52 +07:00
hathach
7a1b4ccc9b
Merge branch 'master' into nrf52_uart_io
2018-09-24 12:50:48 +07:00
Scott Shawcroft
f2c960e89b
Merge pull request #1205 from hathach/nrf52_autoreload
...
add autoreload for nrf52
2018-09-21 16:48:21 -04:00
hathach
e1fe7e71a1
add autoreload
2018-09-22 02:08:00 +07:00
Dan Halbert
2c15d12f2f
allow multiple I2C and SPI; improve nrfx_config.h
2018-09-20 20:45:30 -04:00
hathach
816ff05253
clean up
2018-09-21 03:53:35 +07:00
hathach
dddc437ea7
got rx working finally
2018-09-21 03:48:13 +07:00
hathach
fe1a297889
still have issue with initial uart rx
2018-09-21 01:27:52 +07:00
Dan Halbert
2309e60c0d
WIP; problem with staticly allocated IRQ handlers
2018-09-19 21:59:04 -04:00
hathach
9c25306877
uart rx got some issue with irq
2018-09-20 02:12:21 +07:00
Scott Shawcroft
3f380ded6b
Merge pull request #1197 from dhalbert/3.x-master
...
3.x master
2018-09-19 09:58:52 -07:00
hathach
c5593ec074
got uart tx work
2018-09-19 17:59:15 +07:00
hathach
1df3bcf392
add board.UART() function
2018-09-19 14:40:37 +07:00
Dan Halbert
56b7f3ba64
fix translate omission; pca10059 fix in .travis.yml
2018-09-18 16:28:27 -04:00
Dan Halbert
bc510e714f
merge 3.0.2 to master
2018-09-18 15:38:12 -04:00
hathach
d8c8c5f005
remove CFG_HWUART_FOR_SERIAL
2018-09-18 20:26:50 +07:00
Pierrick C
7e8816ad6f
Add VOLTAGE_MONITOR alias to pin D31/A7
2018-09-13 23:46:47 +02:00
Dan Halbert
6a72084198
fix nrf builds; sphinx 1.8.0 crashing: use lower version
2018-09-12 18:37:03 -04: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
100603a60b
neopixel_write merge; alphabetize stuff in Makefile
2018-09-05 17:38:59 -04:00
Dan Halbert
4c3b4cacfa
Merge remote-tracking branch 'adafruit/master' into nrf-pin-claiming
2018-09-05 13:15:22 -04:00
hathach
ccd87a33b6
use nrf_pwm instead of direct registers
2018-09-05 13:18:36 +07:00
Dan Halbert
b5c03a7085
generalize # of ports; remove atmel neopixel code; remove pin name in mc_pin_obj_t
2018-09-04 16:43:21 -04:00
hathach
f4a98e909c
fix nrf52832 build 2
2018-09-04 23:25:08 +07:00
hathach
b9e8e3cd1f
fix nrf52832 build
2018-09-04 20:54:36 +07:00
hathach
1fe3ed87eb
run background job while waiting for neopixel write seqend
2018-09-04 19:24:45 +07:00
hathach
0d92c65829
correct disconnection check to only dtr
2018-09-04 18:36:08 +07:00
hathach
3ae24d9f9a
add neopixel_write implementation, work ok
2018-09-04 18:33:08 +07:00
hathach
e17253071e
adding neopixel write
2018-09-04 15:51:49 +07:00
Dan Halbert
4382389e6f
fix typos, remove incorrect pca10059 example; add default buses for pca10056; improve board names for pca boards
2018-09-01 00:29:36 -04:00
Dan Halbert
9ea809bef7
add pin claiming to devices
2018-08-31 18:38:05 -04:00
Dan Halbert
585597a252
pin files rework; implement pin claiming; add more boards
2018-08-31 18:05:55 -04:00
Dan Halbert
0e8d146184
wip
2018-08-31 18:05:55 -04:00
hathach
87811ec3a0
update readme board name feather_nrf52832
2018-08-28 16:15:20 +07:00
ladyada
ded38d30b6
rename pin.h to nrf_pin.h to avoid conflict with Pin.h
2018-08-26 20:37:12 -04:00
Dan Halbert
4cc33f8de6
Merge remote-tracking branch 'adafruit/master' into nrf_board_rename
2018-08-23 16:25:57 -04:00
Dan Halbert
728622f09d
Merge pull request #1139 from hathach/nrf52_usb_serial
...
use unique DevicID for usb serial
2018-08-23 09:30:31 -04:00
hathach
4a8cd03de1
use unique DevicID for usb serial
2018-08-23 14:00:54 +07:00
hathach
fed1960424
remove s140 6.0.0 and s132 6.1.0 (not supported yet)
2018-08-23 00:27:39 +07:00
hathach
0c0ac06fc7
add SD 6.1.0 to download all
2018-08-22 23:09:09 +07:00
hathach
7961103ee6
update SD to v6.1.0
2018-08-22 21:51:30 +07:00
Dan Halbert
05ea9fd296
remove stray underscore
2018-08-22 10:26:52 -04:00
Dan Halbert
eaf4d19dbb
Merge remote-tracking branch 'adafruit/master' into nrf_board_rename
...
Merge #1137
2018-08-22 10:24:10 -04:00
hathach
a516d1123f
fix typos
2018-08-22 19:42:41 +07:00
hathach
02b1b53153
Merge branch 'master' into nrf52_dfu_touch1200
2018-08-22 15:24:12 +07:00
hathach
fc955b1591
remove bootloader binaries, update readme for using adafruit-nrufitl and flashing bootloader
2018-08-22 15:22:17 +07:00
Dan Halbert
c503cf990b
forgot to change .travis.yml
2018-08-21 20:35:58 -04:00
Dan Halbert
85df32907f
rename nrf boards to feather_nrf52832 and feather_nrf52840_express
2018-08-21 18:45:37 -04:00
hathach
df4184e478
rename linker file to SD major version only
2018-08-21 16:02:57 +07:00
hathach
1c4accfa39
Merge branch 'nrf52_remove_boot_target' into nrf52_dfu_touch1200
2018-08-21 15:17:03 +07:00
hathach
b7dd33b76e
add touch 1200 for dfu-flash
2018-08-21 15:15:44 +07:00
Egor Leonenko
18e9f74738
Fix PWM Support on NRF52840
...
Replace usage of pin number alone with port+pin combination in NRF port of PWMOut
2018-08-17 19:34:03 +12:00
Scott Shawcroft
76e0373576
Fix nrf and unix
2018-08-16 17:41:38 -07:00
Scott Shawcroft
2cd166b573
Fix esp and samd
2018-08-16 17:41:35 -07:00
hathach
e1ccc07841
remove bootloader & dfu-bootloader target
...
user should go to bootloader repo to upgrade bootloader
2018-08-14 20:19:28 +07:00
Dan Halbert
498fec64e2
increase new dynamic stack size to a comfortable value for now
2018-08-03 22:35:20 -04:00
Dan Halbert
dfa2581ffd
Merge pull request #1057 from tannewt/flexible_heap
...
Add basic memory allocation outside Python runtime
2018-08-02 18:43:06 -04:00
Scott Shawcroft
5704bc8c93
Share memory.c and a bit of polish.
2018-08-02 14:35:46 -07:00
Ayke van Laethem
e755bd4932
nrf/uart: Fix UART.writechar() to write just 1 byte.
2018-08-02 22:21:24 +02:00
Ayke van Laethem
60a05485cb
nrf/uart: Remove unused UART.char_width field.
...
Also, clean up some code.
Code size change:
nrf51: -24
nrf52: -28
2018-08-02 22:18:16 +02:00
Stig Bjørlykke
2cf2ad943e
nrf: Use separate config for each PWM instance.
...
The hard_configs table has entries for each PWM instance. Use them.
2018-08-02 20:36:18 +02:00
Stig Bjørlykke
0c161691b4
nrf: Correct index checking of ADC/PWM/RTCounter instances.
...
Avoid trying to use ADC, PWM and RTCounter instances which is
one past last available, because this will give a HardFault.
2018-08-01 14:56:07 +02:00
Stig Bjørlykke
7f0c5f2ef9
nrf: Enable all PWM, RTC and Timer instances for nrf52840.
...
The NRF52 define only covers nrf52832, so update the define checks
to use NRF52_SERIES to cover both nrf52832 and nrf52840.
Fixed machine_hard_pwm_instances table in modules/machine/pwm.c
This enables PWM(0) to PWM(3), RTCounter(2), Timer(3) and Timer(4),
in addition to NFC reset cause, on nrf52840.
2018-08-01 14:36:07 +02:00
Stig Bjørlykke
b6e49da407
nrf/uos: Add mbfs __enter__ and __exit__ handlers.
...
This will make 'with open('file', 'r') as f:' work by properly close
the file after the suite is finished.
2018-08-01 14:12:34 +02:00
hathach
0bc3432106
Merge branch 'master' into nrf52_sys_module
2018-08-01 11:53:12 +07:00
hathach
592c190069
PR review clean up
2018-08-01 11:31:32 +07:00
hathach
8640d37149
try to address sys module, compile ok
2018-08-01 10:19:20 +07:00
hathach
200669216e
more clean up
2018-08-01 08:52:07 +07:00
hathach
bac233e99b
clean up
2018-08-01 08:47:41 +07:00
hathach
6ddd8583da
clean up
2018-08-01 08:20:20 +07:00
Scott Shawcroft
a88cdaca6a
Remove rogue execute bit. Must a common incorrect shortcut for me. :-)
2018-07-31 12:42:21 -07:00
hathach
1e524f1b98
Merge branch 'master' into nrf52840_usb_hid
2018-08-01 00:58:23 +07:00
hathach
85bd46a4e1
enable MICROPY_PY_ARRAY_SLICE_ASSIGN, MICROPY_PY_BUILTINS_SLICE_ATTRS
2018-07-31 23:09:39 +07:00
hathach
4bece22c92
add hid keyboard LED indicator stub
2018-07-31 23:02:15 +07:00
hathach
05139e2aee
all hid devices seems to be ok
2018-07-31 22:54:26 +07:00
hathach
2c85f42330
add usb hid syscontrol
2018-07-31 21:57:00 +07:00
hathach
ef58adacd3
usb hid consumer control works
2018-07-31 21:19:02 +07:00
hathach
fd661c1d57
improve usb hid
2018-07-31 21:06:24 +07:00
Scott Shawcroft
12cf5e51c2
Allow for resizing the stack area.
2018-07-31 05:18:23 -07:00
hathach
27b2a9fe59
add usb_desc, disable tinyusb stack CFG_TUD_DESC_AUTO
2018-07-31 17:50:32 +07:00
hathach
d15caf0dbd
hid keyboard and mouse work well
2018-07-31 16:42:04 +07:00
hathach
221d54a595
workaround to use lib/utils/interrupt_char.c
2018-07-31 14:28:34 +07:00
hathach
ae783b0b1a
update tinyusb, set scsi sense key for unsupported commands
2018-07-31 13:54:58 +07:00
Dan Halbert
2e260a0eab
Merge remote-tracking branch 'adafruit/master' into micropython-25ae98f-merge
2018-07-28 14:13:54 -04:00
Dan Halbert
f48b70050e
merge finished
2018-07-28 13:29:47 -04:00
hathach
368d59796f
adding usb_hid
...
compiled with undefined ref
2018-07-27 17:36:41 +07:00
hathach
21339c4155
house keeping
2018-07-27 17:22:21 +07:00
hathach
e86f7d0b88
add usb msc callback description
2018-07-27 00:17:14 +07:00
hathach
5bdf40901f
update tusb lib
2018-07-26 17:16:41 +07:00
Dan Halbert
bc760dd341
WIP: complete manual inspection of all significant changes
2018-07-23 21:34:25 -04:00
Ayke van Laethem
7067ac3573
nrf/drivers/flash: Fix incorrect page alignment check.
2018-07-23 16:12:33 +10:00
roland
6a31dcd638
nrf: Update nrfjprog links to allow to download any version.
...
Instead of downloading "a" version, these links point to history from where
you can download the verson you like.
2018-07-23 16:11:40 +10:00
Damien George
6ac4304284
nrf/boards/microbit: Use MICROPY_PY_BUILTINS_FLOAT to detect FP support.
...
This works for both single and double precision float.
2018-07-20 14:11:28 +10:00
Damien George
9addc38af4
nrf: Properly use (void) instead of () for function definitions.
2018-07-20 14:11:28 +10:00
Damien George
55632af70a
nrf/Makefile: Make sure dependencies for pins_gen.c are correct.
2018-07-20 14:11:28 +10:00
Ayke van Laethem
8df342d330
nrf: Include $(SRC_MOD) in the build.
...
Also, remove the unused $(SRC_LIB).
2018-07-19 00:35:24 +10:00
Ayke van Laethem
2f0f4fdcd3
nrf: Use mp_raise_ValueError instead of nlr_raise(...)
...
Saves 60 bytes on the nRF52 with SD disabled. There will be a bigger
saving with SD enabled and/or on the micro:bit board.
2018-07-18 15:25:17 +02:00
Glenn Ruben Bakke
264d80c84e
nrf/drivers: Add license text to ticker.h and softpwm.h.
...
As per the LICENSE and AUTHORS files from the original source of these
header files.
2018-07-18 17:12:26 +10:00