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
dffedd7c86
samd: peripherals: update submodule reference
2019-09-16 21:48:31 -05: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
Scott Shawcroft
aa9b57fc81
Merge pull request #2154 from arturo182/master
...
Add support for Serpente boards
2019-09-16 09:20:17 -07:00
arturo182
e1679acaec
Set as small build regardless of language
2019-09-16 11:51:46 +02:00
jepler
61698eb5d8
AnalogOut / AudioOut: Copy settings from Arduino
...
Make changes in asf4_conf even though I think in these cases the
"peripherals" submodule is running the show.
Arduino clocks the DAC at 12MHz but uses the CCTRL setting for
clocking < 1.2MHz (100kSPS).
A fresh clock (6) is allocated for the new 12MHz clock. This matches
the Arduino value, though not the GCLK index.
Modify other settings to more closely resemble Arduino.
In AudioOut, actually clock the waveform data from the timer we set up
for this purpose.
This gives good waveforms when setting AnalogOut full-scale in a loop,
but the rise/fall of waveforms that come from AudioOut are still erratic.
Weirdly, if AudioOut limits its range even slightly (e.g., to 1000..64000)
then the erratic
Note that this will require https://github.com/adafruit/samd-peripherals/pull/26
to be accepted for the submodule update here to work.
2019-09-15 11:30:49 -05:00
Kattni Rembor
c94310411b
Update board def, enable touchio
2019-09-14 21:19:35 -04:00
arturo182
28bb901d1e
Add support for Serpente boards
2019-09-14 16:06:28 +02:00
Hierophect
78de4b70ed
Implemented working I2C on F412.
2019-09-13 14:00:53 -04:00
Scott Shawcroft
3422e53bd1
Merge pull request #2147 from jepler/issue2146
...
nRF: PWMOut: At deinit, make pin available again
2019-09-13 09:32:28 -07:00
Hierophect
d96aa8dac4
Merge branch 'stm32-analogio' into stm32-peripherals
2019-09-13 12:10:54 -04:00
Hierophect
f5cb2cc14e
First pass at I2C pin authentication
2019-09-12 19:00:02 -04:00
Hierophect
e445e7930e
Merge remote-tracking branch 'upstream/master' into stm32-pin-remap
2019-09-12 16:00:41 -04:00
Hierophect
6b6178613d
WIP
2019-09-12 16:00:01 -04:00
Hierophect
1fda6d4a48
Merge branch 'stm32-pin-remap' into stm32-peripherals
2019-09-12 14:27:24 -04:00
Hierophect
55eb8dcfa0
ADC unit select, reset bugfix
2019-09-12 13:47:01 -04:00
jepler
df48312ce7
nRF: PWMOut: At deinit, make pin available again
...
Closes : #2146
2019-09-11 20:09:38 -05:00
Hierophect
57ce381bcd
disable claim pin for debug
2019-09-11 17:26:33 -04:00
Hierophect
4b3796a303
Merge remote-tracking branch 'upstream/master' into stm32-analogio
2019-09-11 14:12:01 -04:00
Hierophect
a59a8e7a19
Merge branch 'stm32-pin-remap' into stm32-analogio
2019-09-11 14:11:47 -04:00
Hierophect
6e007f4e8c
text fixes
2019-09-11 14:09:57 -04:00
Hierophect
d888922db6
minor text fix
2019-09-11 13:55:48 -04:00
Hierophect
3d2a4d4165
Merge branch 'stm32-f412-tinyusb' into stm32-analogio
2019-09-11 13:47:20 -04:00
Hierophect
9e25d9a9be
Support for F412
2019-09-11 13:45:36 -04:00
Hierophect
9f8c8c6504
Compiler level bit packing
2019-09-11 13:12:49 -04:00
Hierophect
37248037d7
Alternative implementation via HAL for readability comparison
2019-09-11 11:35:37 -04:00
Hierophect
99c3cab00f
text fixes
2019-09-10 19:51:26 -04:00
Hierophect
500b21c236
First pass at full LL implementation
2019-09-10 19:48:24 -04:00
Hierophect
49b04f4b77
Minor text fix
2019-09-10 17:52:07 -04:00
Scott Shawcroft
89fed709ad
Merge pull request #2127 from jepler/nrf-i2s
...
nrf: Add i2s audio output
2019-09-10 11:00:26 -07:00
Dan Halbert
b8200d7295
fix atmel-samd filesystem_tick'ing; clear_temp_status() should check for status indicator in use
2019-09-09 23:17:52 -04: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
Hierophect
c438468a82
Updated VID and PID
2019-09-09 17:05:18 -04:00
Hierophect
d8251ae4ab
Include full descriptor list
2019-09-09 15:01:04 -04:00
Hierophect
129615a724
text fixes
2019-09-09 11:58:27 -04:00
Hierophect
426ddb356e
Add support for F412 via latest tinyusb update
2019-09-09 11:42:55 -04: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
bd7b03fc7e
Merge pull request #2124 from dhalbert/cpb-fixes
...
Fix Circuit Playground Bluefruit pin errors
2019-09-08 12:07:16 -04:00
Hierophect
0d2e9c3762
WIP
2019-09-07 15:54:16 -04:00
Hierophect
beb40a62a7
Fix missed shift replacement
2019-09-07 13:19:50 -04:00
Hierophect
642f4535f4
text fixes
2019-09-06 19:44:57 -04:00
Hierophect
4490fb196d
delete analogio for now
2019-09-06 19:42:03 -04:00
Hierophect
a3ed5ec27b
Add latest USB support
2019-09-06 18:02:57 -04:00
Hierophect
589b502bfc
Merge branch 'master' into stm32-analogio
2019-09-06 17:55:33 -04:00
Hierophect
a932d2c4a1
Minor fixes
2019-09-06 17:40:45 -04:00
Hierophect
8c0be5fbe2
Pack pin numbers, add ADC to pin structure, support DigitalIO
2019-09-06 17:30:52 -04:00
Dan Halbert
cf6fbcbf2d
Merge pull request #2123 from hierophect/stm32-flashstub-fix
...
Fix stm32f412zg compile warning
2019-09-06 14:56:24 -04:00
Dan Halbert
3c22c690c8
CPB A1 pin mapping wrong; remove A7
2019-09-06 14:17:11 -04:00
Hierophect
3156ee1acb
Re-apply warning as error
2019-09-06 11:28:57 -04:00
Hierophect
ba45f98073
Add basic analogio files
2019-09-06 11:26:20 -04:00
Scott Shawcroft
8066810abb
Merge pull request #2091 from jepler/samd-dma-tracking
...
Samd dma tracking
2019-09-05 11:27:59 -07:00
Scott Shawcroft
c5caacafdd
Merge pull request #2100 from pewpew-game/pewpew_m4
...
Add support for PewPew M4 board
2019-09-05 11:26:47 -07:00
Radomir Dopieralski
d50ed3b6e7
Add support for PewPew M4 board
2019-09-05 10:50:33 +02:00
Dan Halbert
f3af2a6fb7
Merge remote-tracking branch 'adafruit/master' into choose-usb-devices-xac
2019-09-04 21:56:13 -04:00
Dan Halbert
195de97c67
use only one endpoint pair for MSC except on SAMD21
2019-09-04 21:45:16 -04:00
Dan Halbert
fca440fb66
Merge pull request #2113 from tannewt/displayio_hidden
...
Add .hidden to TileGrid and Group
2019-09-04 15:48:00 -04:00
Scott Shawcroft
321b57a5d2
Merge pull request #2080 from sommersoft/mixer_voice
...
Add audiocore.MixerVoice
2019-09-04 12:46:59 -07:00
Dan Halbert
b46c8dcc62
Merge pull request #2065 from hierophect/f411re-feature-buildout
...
F411re feature buildout
2019-09-04 15:45:54 -04:00
Scott Shawcroft
7951646b9a
Disable bitbangio on uGame10
2019-09-04 11:49:47 -07:00
Hierophect
479b047618
Reverted descriptor changes pending HID restructuring
2019-09-04 13:58:18 -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
c4d6f4f536
disable 'audiomixer' for all M0 boards
2019-09-01 17:39:20 -05:00
Scott Shawcroft
b954b2f5df
Merge pull request #2092 from dhalbert/bleio-api-revamp
...
Bleio attribute api revamp
2019-08-29 21:48:31 -07: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
Scott Shawcroft
9730d4aa1c
Merge remote-tracking branch 'adafruit/4.1.x' into hallowing_m4_5.x
2019-08-29 14:38:16 -07:00
Scott Shawcroft
0aa5507c4c
add additional pin aliases
2019-08-29 13:41:28 -07:00
Scott Shawcroft
84839de56f
Hallowing M4
2019-08-29 10:34:46 -07:00
Dan Halbert
f17059b10b
another API rework: less abstraction leakage
2019-08-28 23:15:22 -04:00
jepler
30a9346373
samd: audio_dma: Track channel allocation
...
Previously, we depended on allocated channels to always be
"dma_channel_enabled". However, (A) sometimes, many operations
would take place between find_free_audio_dma_channel and
audio_dma_enable_channel, and (B) some debugging I did led me to believe
that "dma_channel_enabled" would become false when the hardware ended
a scheduled DMA transaction, but while a CP object would still think it
owned the DMA channel.
((B) is not documented in the datasheet and I am not 100% convinced that
my debugging session was not simply missing where we were disabling the
channel, but in either case, it shows a need to directly track allocated
separately from enabled)
Therefore,
* Add audio_dma_{allocate,free}_channel.
* audio_dma_free_channel implies audio_dma_disable_channel
* track via a new array audio_dma_allocated[]
* clear all allocated flags on soft-reboot
* Convert find_free_audio_dma_channel to audio_dma_allocate_channel
* use audio_dma_allocated[] instead of dma_channel_enabled() to check
availability
* remove find_free_audio_dma_channel
* For each one, find a matching audio_dma_disable_channel to convert
to audio_dma_free_channel
Closes : #2058
2019-08-28 17:00:22 -05:00
jepler
0b00787b4d
samd: AudioOut: ensure stopped before deinit
...
.. otherwise, a sequence like
>>> a = audioio.AudioOut(board.A0)
>>> a.play(sample, loop=True)
>>> a.deinit()
would potentially leave related DMA channel(s) active.
2019-08-28 16:43:55 -05: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
Scott Shawcroft
0876d5c4ad
Disable bitbangio on Itsy M0
...
Also, switch CIRCUITPY_BITBANG_APA102 to makefile setting so it can alter included files
2019-08-27 15:21:47 -07: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
696117b048
disable audiomixer on boards it doesn't fit on
2019-08-25 14:53:34 -05: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
b992ca80e7
Rejigger builds to fit under 50 minute limit
2019-08-22 20:29:58 -07:00
Scott Shawcroft
72e7ffa324
More cleanup
2019-08-22 16:16:09 -07:00
Scott Shawcroft
fd8050b369
Turn off features to make room for ePaper
2019-08-22 15:19:45 -07:00
Scott Shawcroft
9993a99906
Add initial Monster M4SK build
2019-08-22 14:24:32 -07:00
Scott Shawcroft
2497cbe186
Fix nrf builds
2019-08-22 14:23:33 -07:00
Scott Shawcroft
3a98de1236
Add reset() to display busses to detect whether it works
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
Scott Shawcroft
70680d5b22
EPaper displays work mostly.
2019-08-22 14:08:33 -07:00
Dan Halbert
7cc15e56c8
make translate
2019-08-22 15:20:23 -04:00
Dan Halbert
18f441ae35
Merge pull request #2083 from dhalbert/no-32khz-xtal
...
Fix CPBlue LFCLKSRC; CPB has no status neopixel
2019-08-22 13:14:40 -04:00
Dan Halbert
0b7291d767
fix default crystal value; fix include order
2019-08-22 09:01:05 -04:00
Scott Shawcroft
6aa311aabd
Merge pull request #2027 from dastels/displayio_fill_area
...
To displayio.Display: expose fill_area and add a property for rotation
2019-08-21 23:48:21 -07: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
524fa82092
Merge pull request #2081 from dhalbert/rotaryio-pin-check-fix
...
typo in IncrementalEncoder.c
2019-08-21 13:02:06 -07: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
Dave Astels
d547d59cba
Merge remote-tracking branch 'adafruit/master' into displayio_fill_area
2019-08-21 15:02:51 -04:00
Dave Astels
dcf36db263
Make room
2019-08-21 14:46:10 -04: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
6e3a6d0ac5
typo in IncrementalEncoder.c
2019-08-20 16:23:17 -04: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
Hierophect
e490e6361f
Add warnings, cosmetic fixes, remove vestigial modules
2019-08-19 10:47:18 -04:00
Jeff Epler
26a05d01dc
Merge remote-tracking branch 'origin/master' into nrf-pdm-audioin
2019-08-18 21:30:14 -05:00
Hierophect
95411a62b3
Cosmetic fixes
2019-08-18 19:08:27 -04: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
Hierophect
7dbf1a8caa
text fixes
2019-08-15 17:56:15 -04:00
Hierophect
1f42ce5f40
QOL fixes, compatibility fixes, attribution
2019-08-15 17:45:40 -04:00
Hierophect
bc7ba33892
Add uid fetch, revert USB hacks
2019-08-15 16:35:01 -04:00
Hierophect
a9d3ad86e5
Fix flash size, add filesystem disable flag
2019-08-15 15:55:33 -04:00
Hierophect
0fdb5a032f
Text fixes
2019-08-15 15:12:50 -04:00
Hierophect
620d3d14dd
Add conditional endpoints to descriptor script
2019-08-15 13:41:51 -04:00
Hierophect
1539dca7f0
Add reset support, minor fixes
2019-08-14 13:14:42 -04:00
Dan Halbert
5877bd6036
CPblue initial definition
2019-08-13 22:12:36 -04:00
Hierophect
c4c55fffb1
Fixed remaining issues with flash organization and writing
2019-08-13 18:05:40 -04:00
Scott Shawcroft
583392a5c6
Merge pull request #2046 from brentru/add-pyportal-titano
...
Add PyPortal Titano
2019-08-12 16:01:10 -07:00
Jeff Epler
11dd3a260e
nrf: Use RUN_BACKGROUND_TASKS
2019-08-11 08:53:02 -05:00
Jeff Epler
d9ee2d28a0
atmel-samd: Use RUN_BACKGROUND_TASKS
2019-08-11 08:53:02 -05:00
Hierophect
300dc68955
Further non-functional flash changes
2019-08-10 18:00:09 -04:00
Hierophect
294d6dc867
Add flash functions and setup, fix msc descriptor bug
2019-08-09 19:58:54 -04:00
brentru
5a8846d33c
remove cruft from prv board
2019-08-08 15:12:01 -04:00
brentru
f87f48ab88
adding pyportal titano board definition
2019-08-08 14:56:28 -04:00
Dan Halbert
1570ef2dd4
specifying attribute length; fix up value setting
2019-08-07 23:49:09 -04:00
Jeff Epler
33b949abfa
samd: audio_dma, audio_background: Gate with CIRCUITPY_ defines
...
Some ports which actually don't have audioio or audiobusio were still
calling into audio_dma_background(). This wasn't an error until
the assignment to audio_dma_state in audio_dma_stop was added, though
it's not clear why.
2019-08-07 21:29:24 -05:00
Jeff Epler
500d1bb168
samd: audio_dma.c: Remove exceptions, just return early
...
These were most useful debugging, but because this code can be reached
"outside of the VM", it's not actually permitted to throw exceptions here.
2019-08-07 20:20:36 -05:00
brentru
1d4700cb6c
add pindefs for tft and tft control
2019-08-07 18:29:20 -04:00
Hierophect
c375a5d37f
Add pin and module support for F411
2019-08-07 18:12:13 -04:00
brentru
8f6eac98f3
add defs for pyportal titano
2019-08-07 17:10:31 -04:00
Dan Halbert
d047b73a9c
fix newly-introduced bugs; UART client/server working again
2019-08-07 11:10:21 -04:00
Jeff Epler
39c64bf83c
samd: audio_dma_stop: don't free invalid channel
...
audio_dma_stop can be reached twice in normal usage of AudioOut.
This may bear further investigation, but stop it here, by making the
function check for a previously freed channel number. This also prevents
the event channel from being disabled twice.
The first stop location is from audio_dma_get_playing, when the buffers
are exhausted; the second is from common_hal_audioio_audioout_stop when
checking the 'playing' flag.
2019-08-06 22:00:31 -05:00
Jeff Epler
8b717955ba
samd: audio_dma: wrap dma_{en,dis}able_channel and add error checking
...
It turns out the "disable" error will fire in practice, we'll fix that
next.
2019-08-06 22:00:31 -05:00
Dan Halbert
d74c8b9425
WIP: more Descriptor work; refactor gattc/gatts read/write
2019-08-06 22:55:25 -04:00
Jeff Epler
6253f11503
samd: audio_dma_stop: Clear out audio_dma_state[]
...
As identified in #1908 , when both AudioOut and PDMIn are used, hard
locks can occur. Because audio_dma_stop didn't clear audio_dma_state[],
a future call to audio_dma_load_next_block could occur using a DMA
object which belongs to PDMIn.
I believe that this Closes : #1908 though perhaps it is still not the full
story.
Testing performed: Loaded a sketch similar to the one on #1908 that
tends to reproduce the bug within ~30s. Ran for >300s without hard
lock. HOWEVER, while my cpx is no longer hard locking, it occasionally
(<1 / 200s) announces
Code done running. Waiting for reload.
(and does so), even though my main loop is surrounded by a 'while True:'
condition, so there are still gremlins nearby.
2019-08-06 21:34:21 -05: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