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
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
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
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
Scott Shawcroft
9feb844b7e
Fix crash in internal filesystem on nrf
...
Fixes #1842
2019-05-08 15:43:18 -07: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
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
Dan Halbert
9cceea0d68
nrf: fix internal flash writes
2019-03-18 09:11:40 -04:00
Dan Halbert
c4586c0531
nrf: Disable SPIM3; add SPIM1; remove TWIM1
2019-03-12 08:31:03 -04: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
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
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
Scott Shawcroft
ec03887040
Fix hallowing and nrf builds
2019-01-31 11:42:15 -08:00
hathach
a51f2b0716
refactor nrfx from supervisor/usb.c
2019-01-30 22:30:23 +07:00
hathach
164e1e2341
re-init usb hardware when enable/disable SD
2019-01-30 14:13:07 +07:00
hathach
d1fb384a4a
update tinyusb, work better with sd
2019-01-29 21:03:18 +07:00
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