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
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
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
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
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
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
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
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
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
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
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
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
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
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
Dan Halbert
fc19e03128
WIP: bonding
2019-10-06 21:30:26 -04: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
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
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
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