Commit Graph

3077 Commits

Author SHA1 Message Date
Dan Halbert
264abd4741
Merge pull request #2428 from hathach/samd-improve-usb
improve usb dcd samd51
2019-12-30 13:39:17 -05:00
Hierophect
e9dbc34d80 add cypthon compat setting 2019-12-30 11:35:02 -05:00
Hierophect
5b9209aa02 Merge remote-tracking branch 'upstream/master' into stm32-meowbit 2019-12-30 11:17:12 -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
hathach
62c4028cde
sync with https://github.com/hathach/tinyusb/pull/246
should fix slow enumeration
2019-12-26 23:04:16 +07:00
Jerry Needell
d38a0007f1 define board.VOLTAGE_MONITOR for feather_stm32f405_express 2019-12-26 08:46:27 -05:00
Jeff Epler
5aa3e3eabb samd/peripherals: update 2019-12-24 09:36:19 -06:00
Hierophect
b49ecc52b9 text fixes 2019-12-23 14:55:26 -05:00
Radomir Dopieralski
b06057395b Update PewPew M4
PewPew M4 now has the pew.py added to its frozen libraries. Some
features needed to be disabled to make room for that.
2019-12-23 18:37:36 +01:00
Ha Thach
21cbd5ce96
Merge pull request #2379 from hierophect/update-tusb
Update Tinyusb
2019-12-23 17:58:26 +07:00
Scott Shawcroft
f60b6481e0
Turn off gamepad on cpx crickit 2019-12-20 12:14:27 -08:00
Scott Shawcroft
b859e2b710
Remove re from CPX Displayio build to make space. 2019-12-20 11:43:56 -08:00
Scott Shawcroft
f08c7d470d
Merge pull request #2410 from jepler/nrf-extended-samplerate
nrf: PWMAudioOut: 62500Hz limitation is not needed
2019-12-20 09:31:02 -08:00
Jeff Epler
d31a387ace circuitplayground_express_displayio: reduce inlining to make .ko translation fit 2019-12-19 16:11:29 -06: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
ndgarage
16688180c6 add-ndbit6 2019-12-19 07:17:43 -07:00
Hierophect
902e242237 Revert "enable internal SPI intercepts. can brick USB"
This reverts commit 5b70fa0a64.
2019-12-18 17:17:06 -05:00
Hierophect
5b70fa0a64 enable internal SPI intercepts. can brick USB 2019-12-18 15:40:08 -05:00
Hierophect
3a5de7effd Remove merge overflow 2019-12-18 14:46:12 -05:00
hathach
d1f045880d Merge branch 'master' into hierophect-update-tusb 2019-12-18 16:52:04 +07: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
Scott Shawcroft
e9cb47ffbd
Merge pull request #2393 from dhalbert/increase-cpx-stack
Increase CPX stack size slightly
2019-12-17 14:35:37 -08:00
Hierophect
ba19cd9ecb Internal filesystem displayIO test 2019-12-17 17:33:49 -05:00
Hierophect
f136ef2b91 add most remaining pindefs 2019-12-17 14:00:35 -05:00
Hierophect
4bfb255a1c merge Thach's suggestion 2019-12-17 12:58:16 -05: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
hathach
ebc21144b8
stm32 explicitily enable/disable vbus sense, fix warning 2019-12-17 10:55:19 +07:00
Dan Halbert
81581b345c Increase CPX stack size slightly 2019-12-16 17:25:22 -05:00
JoeBakalor
03ea9ff66e reset atmel-samd submodule to correct commit 2019-12-16 16:31:44 -05:00
Joe Bakalor
822828b9a4
Merge pull request #6 from adafruit/master
Pull master
2019-12-16 15:06:58 -05:00
JoeBakalor
2abccc1745 update vid and pid for teknikio_bluebird 2019-12-16 08:58:56 -05:00
KalbeAbbas
89ed64157d
Merge branch 'master' into master 2019-12-16 13:25:44 +05:00
KalbeAbbas
87dc9bee8b
Update mpconfigboard.mk 2019-12-16 12:25:51 +05:00
KalbeAbbas
6f6d6c01ab
Update mpconfigboard.mk 2019-12-16 12:18:16 +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
Hierophect
99c02b5afb usb not working... 2019-12-12 17:53:04 -05:00
Hierophect
e4fb414b91 clean up definitions post merge 2019-12-12 17:17:29 -05:00
Hierophect
ab3762d8f5 Merge branch 'dumb-git-stuff' into stm32-meowbit 2019-12-12 16:34:11 -05:00
Hierophect
7e0719117b Revert "remove F401 additions to streamline"
This reverts commit 12737e2821.
2019-12-12 16:32:33 -05:00
Hierophect
2be18a7b53 revert dumb thing 2019-12-12 16:30:24 -05:00
Hierophect
842f8b2d3d Revert "Remove meowbit for now"
This reverts commit 006182f4e8.
2019-12-12 16:27:32 -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
Hierophect
9339903a30 Revert "delete old boards"
This reverts commit 00e953e86c.
2019-12-12 13:24:46 -05:00
Hierophect
d44a758a2d Add no VBUS option to blackpill 2019-12-12 12:48:37 -05:00
Hierophect
39f3063ed4 Merge remote-tracking branch 'upstream/master' into update-tusb 2019-12-12 12:47:48 -05:00
Hierophect
885a1415d0 Update stm32 usb.c 2019-12-12 12:47:40 -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
8176325130 Merge remote-tracking branch 'adafruit/master' into ld-cleanup 2019-12-11 22:52:59 -05:00
Hierophect
70d899d354 WIP to successful USB test 2019-12-11 17:58:21 -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
Scott Shawcroft
e5adf3c43f
Merge pull request #2361 from hierophect/stm32-blackpill
STM32: Blackpill Support
2019-12-11 11:07:23 -08: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
hierophect
30aba46735
Merge branch 'master' into stm32-blackpill 2019-12-10 15:38:42 -05:00
Hierophect
33233934e9 text fix 2019-12-10 15:13:11 -05:00
Hierophect
0e2a03e3bd revert usb.c additions 2019-12-10 15:07:39 -05:00
Jeff Epler
a08d9e6d8e audiocore: Add MP3File using Adafruit_MP3 library 2019-12-10 14:03:06 -06: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
Hierophect
e328e9c106 minor text changes 2019-12-10 15:02:38 -05:00
Scott Shawcroft
387ab6c87e
Merge pull request #2315 from hierophect/stm32-pyb-nano
STM32: Add PYB Nano support
2019-12-10 11:25:07 -08:00
Scott Shawcroft
dda9ea09b1
Merge pull request #2363 from jepler/samd-neopixel
samd: neopixel: Fix neopixels after #2297
2019-12-10 11:23:18 -08:00
Scott Shawcroft
8497ea8aab
Merge pull request #2365 from dhalbert/cpb-power-switch
Add POWER_SWITCH pin to CPB
2019-12-10 10:53:45 -08: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
Scott Shawcroft
19ac8aea8c
Merge pull request #2353 from jepler/audiosample-protocol
Convert audiosamples to use micropython "protocols" (safely)
2019-12-09 14:50:16 -08:00
Hierophect
b0a5e81c46 Merge remote-tracking branch 'upstream/master' into stm32-meowbit 2019-12-09 12:29:00 -05:00
Hierophect
00e953e86c delete old boards 2019-12-09 12:28:25 -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
Jeff Epler
1905d0746d samd: neopixel: Fix neopixels after #2297
This adapts the "inline assembler" code from the UF2 bootloader, which
in turn is said to be adapted from the arduino neopixel library.

This requires the cache remain ON when using M0, and be turned OFF on M4
(determined by trial and error)

Testing performed on a Metro M4:
 * measured timings using o'scope and found all values within
   datasheet tolerance.
 * Drove a string of 96 neopixels without visible glitches
 * on-board neopixel worked

Testing performed on a Circuit Playground Express (M0):
 * Color wheel code works on built-in neopixels
 * Color wheel code works on 96 neopixel strip

As a bonus, this may have freed up a bit of flash on M0 targets. (2988 ->
3068 bytes free on Trinket M0)

Closes: #2297
2019-12-07 19:19:45 -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
Hierophect
dd4d3a662d conditional for F412 register difference 2019-12-06 16:44:17 -05:00
Hierophect
252da17bc9 Create VBUS disable interface in shared supervisor 2019-12-06 15:55:00 -05:00
Dan Halbert
559ce6a949
Merge pull request #2356 from tannewt/central_pairing
Add connection interval and debugging
2019-12-06 15:19:40 -05:00
Dan Halbert
d628d2a261 atmel-samd working 2019-12-06 15:18:20 -05:00
Scott Shawcroft
840f88b8f0
Merge pull request #2350 from hierophect/stm32-neopixel-fix
Fix for neopixels on <100MHz STM32 boards
2019-12-06 10:40:50 -08:00
Hierophect
6c8503b3c6 VBUS fix actually doesn't work 2019-12-06 12:39:22 -05:00
Hierophect
2a01f0806e text fixes 2019-12-06 11:58:26 -05:00
Hierophect
0ae08e275d remove pyb nano folder 2019-12-06 11:54:01 -05:00
Hierophect
f6d0e912c9 remove old 401 files 2019-12-06 11:52:40 -05:00
Hierophect
2dcfc9d411 USB fixes and cleanup 2019-12-06 11:41:38 -05:00
Dan Halbert
a0721fc94a Merge remote-tracking branch 'adafruit/master' into ld-cleanup 2019-12-05 22:46:38 -05:00
Dan Halbert
40434d6919 wip 2019-12-05 22:45:53 -05:00
Hierophect
9b43d5ced4 Merge remote-tracking branch 'upstream/master' into stm32-blackpill 2019-12-05 14:25:39 -05:00
Hierophect
c53496a55e remove redundant NOPs 2019-12-05 12:45:09 -05:00
Hierophect
f3f2c7f5de change default phase for SPI 2019-12-05 11:38:20 -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
Scott Shawcroft
19dc219ff7
Merge pull request #2351 from hierophect/stm32-i2c-never-reset
STM32: Add I2C never reset
2019-12-04 10:26:51 -08:00
Hierophect
3de1b9edbe Merge remote-tracking branch 'upstream/master' into stm32-displayio 2019-12-04 10:50:14 -05:00
Jeff Epler
238e121236 protocols: Allow them to be (optionally) type-safe
Protocols are nice, but there is no way for C code to verify whether
a type's "protocol" structure actually implements some particular
protocol.  As a result, you can pass an object that implements the
"vfs" protocol to one that expects the "stream" protocol, and the
opposite of awesomeness ensues.

This patch adds an OPTIONAL (but enabled by default) protocol identifier
as the first member of any protocol structure.  This identifier is
simply a unique QSTR chosen by the protocol designer and used by each
protocol implementer.  When checking for protocol support, instead of
just checking whether the object's type has a non-NULL protocol field,
use `mp_proto_get` which implements the protocol check when possible.

The existing protocols are now named:
    protocol_framebuf
    protocol_i2c
    protocol_pin
    protocol_stream
    protocol_spi
    protocol_vfs
(most of these are unused in CP and are just inherited from MP; vfs and
stream are definitely used though)

I did not find any crashing examples, but here's one to give a flavor of what
is improved, using `micropython_coverage`.  Before the change,
the vfs "ioctl" protocol is invoked, and the result is not intelligible
as json (but it could have resulted in a hard fault, potentially):

    >>> import uos, ujson
    >>> u = uos.VfsPosix('/tmp')
    >>> ujson.load(u)
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
    ValueError: syntax error in JSON

After the change, the vfs object is correctly detected as not supporting
the stream protocol:
    >>> ujson.load(p)
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
    OSError: stream operation not supported
2019-12-04 09:29:57 -06:00
Hierophect
e6b45656f9 Add module and empty parallelbus 2019-12-03 17:18:42 -05:00
Hierophect
012b3bdf18 Add I2C never reset, SPI bugfix 2019-12-03 16:18:49 -05:00
Hierophect
45a6b03d40 copy from busted branch 2019-12-03 15:30:12 -05:00
Scott Shawcroft
fce81e6868
Merge pull request #2297 from jepler/tick-refactor
Call background tasks only once per ms
2019-12-02 16:45:51 -08:00
Hierophect
12737e2821 remove F401 additions to streamline 2019-12-02 12:28:48 -05:00
Jeff Epler
002f5c0f1c samd: trinket_m0: make board fit again 2019-12-02 08:25:48 -06:00
Jeff Epler
899202aca7
Merge branch 'master' into gcc9 2019-12-02 07:27:03 -06:00
Jeff Epler
95d9c49e43 Merge remote-tracking branch 'origin/master' into tick-refactor 2019-11-29 11:27:09 -06:00
Jeff Epler
d843156a5e samd: Consolidate small build optimization flags
.. inline-unit-growth was the same across all boards, and the highest
max-inline-insns-auto parameter was shared across 2 of 5 boards, so it's
worth a little work to follow the DRY principle
2019-11-29 10:51:16 -06:00
Dan Halbert
dd6dfeb30a Squeeze pyruler zh_Latn_pinyin 2019-11-27 14:47:35 -05: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
Dan Halbert
e560b419f8
Merge pull request #2325 from sarfata/sarfata/add-shirtty-master
Add shIRtty board
2019-11-26 15:23:56 -05:00
Dan Halbert
97d90c6039
Merge pull request #2329 from theacodes/set-winterbloom-sol-usb-name
Set USB_INTERFACE_NAME for winterbloom_sol
2019-11-26 15:17:14 -05:00
Thea Flowers
e77046d49b
Set USB_INTERFACE_NAME for winterbloom_sol 2019-11-26 10:59:12 -08:00
Thomas Sarlandie
2647ea0754 fix: disable touchio to save some space 2019-11-26 19:26:18 +01:00
Scott Shawcroft
58ad38a88e
Remove DotStar from pIRkey M0 for now to free up space
Once we use PixelBuf, the library will be much smaller.
2019-11-26 09:31:44 -08:00
Jeff Epler
82f55dc046 atmel-samd: reduce inlining on constrained boards again
pewpew10, pirkey_m0, and uchip all fit now.  However, pirkey_m0
now has just 76 bytes flash available.
2019-11-26 08:50:55 -06:00
Jeff Epler
3ed6de7baf atmel-samd: reduce inlining on pyruler again
By tweaking the optimizer flags further, this build also fits
2019-11-26 08:50:55 -06:00
Jeff Epler
2e4a6b94e7 atmel-samd: get most constrained m0 builds to work again
By tweaking the optimizer flags, we can get back a few hundred bytes
and allow these builds to work with the gcc9 compiler.
2019-11-26 08:50:45 -06: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
Thomas Sarlandie
11dc572bce feature: our own PID - thanks @ladyada 2019-11-25 21:56:42 +01: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
Thomas Sarlandie
fc71ed9789 add shirtty board - hackaday supercon 2019 addon 2019-11-25 17:44:41 +01: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
bfdfe0e681 stm32: fix uses of ticks_ms global 2019-11-22 14:30:08 -06: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
Dan Halbert
e18d3e0f76 Merge branch 'master' into m4-network-ps2io 2019-11-22 15:02:52 -05: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
Dan Halbert
1a62a9cb17 remove network from kicksat_sprite 2019-11-22 14:02:44 -05:00
Dan Halbert
2e9aa38700 turn off network in pewpew_m4 2019-11-22 13:49:33 -05:00
Dan Halbert
1d411d2874 Merge remote-tracking branch 'adafruit/master' into testing-fixes 2019-11-22 11:55:34 -05:00
Hierophect
352bd95f5a remove blackpill 2019-11-22 11:19:39 -05:00
Dan Halbert
228a619af5 enable network, wiznet5k, and ps2io by default on M4 2019-11-22 10:59:27 -05:00
Hierophect
0d8eb3cfb4 add correct VID/PID pairs 2019-11-22 10:54:35 -05:00
Hierophect
6a7c8d6341 minor fix 2019-11-21 20:56:05 -05: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
Hierophect
b5ff9684bb remove misplaced status LED definitions 2019-11-21 17:09:28 -05:00
Hierophect
4e4ecafd97 Add definitions for PYB Nano and blackpill 2019-11-21 16:53:06 -05:00
Dan Halbert
2adecda5eb
Merge pull request #2311 from tannewt/redo_bleio_errors
Use BluetoothError in _bleio
2019-11-21 16:44:26 -05:00
Dan Halbert
e06dc72359
Merge pull request #2307 from hierophect/stm32-spi-cleanup
STM32: SPI clock rate fix and cleanup
2019-11-21 16:12:06 -05:00
Hierophect
a96317d566 requested style changes 2019-11-21 14:30:07 -05:00
Hierophect
13d786b2ef added pin defs 2019-11-21 14:27:59 -05:00
Scott Shawcroft
5e857fdb67
Use BluetoothError in _bleio
This better differentiates errors than using OSError everywhere.
2019-11-20 14:02:15 -08:00
Hierophect
006182f4e8 Remove meowbit for now 2019-11-20 15:56:00 -05:00
Hierophect
d8d95d9998 Minor meowbit changes 2019-11-20 15:55:13 -05:00
Hierophect
cf4a3237e7 Merge remote-tracking branch 'upstream/master' into stm32-meowbit-etc 2019-11-20 15:31:55 -05:00
Hierophect
9764006f81 add F401 pin definition 2019-11-20 15:30:31 -05:00
Hierophect
3d1b6d9fc8 fix typo 2019-11-20 12:07:12 -05:00
Hierophect
bd9893ab98 clean up SPI module readability 2019-11-20 12:00:45 -05:00
Hierophect
0b558e8714 fix error in SPI busclock selection 2019-11-20 11:34:49 -05:00
wallarug
fce7b89087 removed Robo HAT MM1 M0 board. 2019-11-20 21:34:24 +11:00
Scott Shawcroft
11c2c3443f
Add support for extended (>31 byte) BLE advertisements. 2019-11-19 13:55:58 -08:00
ndgarage
b3d7467719 add-ndbit6 2019-11-19 14:52:09 -07:00
Dan Halbert
1a22d8a0f2
Merge pull request #2291 from hierophect/stm32-neopixel
STM32: Neopixel support
2019-11-18 23:45:09 -05:00
Hierophect
4a25c2344e implement os urandom 2019-11-18 18:27:25 -05:00
Hierophect
256abf5505 Add board folders 2019-11-18 16:13:27 -05:00
Hierophect
a4797327cd add microcontroller toggles for status LED 2019-11-18 13:51:59 -05:00
Jeff Epler
40a47d41df samd: background: Allow monitoring time taken in background task
If you define MONITOR_BACKGROUND_TASK, then a physical output pin
(Metro M4 Express's "SCL" pin by default) will be set HIGH while in
the background task and LOW at other times
2019-11-18 11:01:24 -06: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
Cedar Grove Maker Studios
e7df288a34
add USB interface description
... to "StringCarM0Ex"
2019-11-16 16:40:40 -08:00
Hierophect
51078cc38f timing tweaks with testing 2019-11-15 17:17:05 -05:00
Hierophect
98fd372d5b Add missing define 2019-11-15 13:19:37 -05:00
Hierophect
ee1559b921 Merge branch 'pin-commonhal-additions' into stm32-neopixel 2019-11-15 13:09:59 -05:00
Hierophect
81223c76bd revert error 2019-11-15 13:04:25 -05:00
Hierophect
5f290d091e Merge branch 'pin-commonhal-additions' into stm32-neopixel 2019-11-15 13:00:11 -05:00
Hierophect
2c6781f74d move neopixel_in_use flag to shared-bindings 2019-11-15 12:59:52 -05:00
Hierophect
e1579a1cc5 Merge branch 'pin-commonhal-additions' into stm32-neopixel 2019-11-15 12:47:23 -05:00
Hierophect
de5691acf5 Add never_reset and reset to pin common hal, adjust files 2019-11-15 12:47:00 -05:00
Hierophect
6cce2d6d14 Implement Neopixel write, add defaults to f405 2019-11-15 12:28:16 -05:00
KalbeAbbas
8134ceec83
Update pins.c 2019-11-14 23:16:55 +05:00
KalbeAbbas
799770926b
Update pins.c 2019-11-14 18:51:01 +05:00
KalbeAbbas
949f87fd25
Update pins.c 2019-11-14 18:50:26 +05:00
KalbeAbbas
3db7f2798f updated 2019-11-14 16:34:08 +05:00
Hierophect
6e96b1945e Raise clock speed, adjust divisors 2019-11-13 13:18:43 -05:00
Dan Halbert
166518fc9b
Merge pull request #2272 from hierophect/stm32-microcontroller-fillout
STM32: add us delay
2019-11-12 18:03:55 -05:00
Hierophect
e40bd07fcf fix conflicting definitions on discovery boards 2019-11-12 13:03:13 -05:00
Hierophect
bbc366b85b Style overhaul, extra error checks 2019-11-12 11:26:14 -05:00
Hierophect
ed3e377390 Merge remote-tracking branch 'upstream/master' into stm32-uart 2019-11-12 09:49:17 -05:00
☒ Bjarke Gotfredsen
d745c1023e
Support for XinaBox CC03 and CS11
CC03 is a ATSAMD21G18 Cortex-M0+ breakout in xChips format. CS11 is the same, but with a SD Card Interface. 
https://xinabox.cc/products/cc03
https://xinabox.cc/products/cs11
2019-11-12 12:48:31 +02:00
Hierophect
14b70806a5 de-init check 2019-11-11 15:47:47 -05:00
Hierophect
e076f14ea3 text fixes 2019-11-11 15:32:47 -05:00
Hierophect
c38086fc4a fix typo 2019-11-11 15:04:22 -05:00
Hierophect
3f8b4727f5 Revise us delay to include interrupt/non-interrupt versions 2019-11-11 14:58:45 -05:00
Dan Halbert
91156670e9
Merge pull request #2271 from theacodes/enable-micropython-native
Allow boards to enable the `micropython.native` decorator
2019-11-08 13:42:17 -05:00
Hierophect
d42c4b082d revert sublime being a dumb 2019-11-06 14:55:16 -05:00
Hierophect
39dbcb529a revert git being a dumb 2019-11-06 14:54:07 -05:00
Hierophect
adfef8b520 Merge remote-tracking branch 'upstream/master' into stm32-dac-deinit 2019-11-06 14:46:56 -05:00
Dan Halbert
b8373aca0c
Merge pull request #2266 from hierophect/stm32-defaults
STM32: Add board defaults
2019-11-06 14:29:29 -05:00
Thea Flowers
c7195c4bc5
Allow boards to enable the micropython.native decorator
Adds the `CIRCUITPY_ENABLE_MPY_NATIVE` for `mpconfigboard.mk` that enables
the `micropython.native` decorator.
2019-11-05 14:27:53 -08:00
Hierophect
e66fcb5e1f add missing newline 2019-11-05 16:32:34 -05:00
Hierophect
8a098c154d Fix unsaved file 2019-11-05 16:25:30 -05:00
Hierophect
1a7060af25 Add us delay 2019-11-05 16:23:59 -05:00
Joe Bakalor
ba83a4a2ac
Merge pull request #1 from adafruit/master
Update base
2019-11-05 11:06:18 -05:00
Hierophect
0b85c4bb20 Merge remote-tracking branch 'upstream/master' into stm32-uart 2019-11-05 10:56:57 -05:00
JoeBakalor
8ab3ef44dd add bluebird template files 2019-11-05 10:52:25 -05:00
Hierophect
dfe73a063d Fix error that would carry past python exception 2019-11-05 10:50:57 -05:00
Thea Flowers
73989dbcaf Add board configuration for Winterbloom Sol 2019-11-04 23:11:42 -08:00
Dan Halbert
8cd2f87e99
Merge pull request #2236 from tannewt/bleio_tweaks
Refine _bleio
2019-11-04 22:27:54 -05:00
Dan Halbert
c87d6cc6a5
Merge pull request #2248 from hierophect/stm32-PWM
STM32: PWMOut
2019-11-04 22:08:01 -05:00
Dan Halbert
f185b30d71
Update PWMOut.h 2019-11-04 20:41:54 -05:00
Hierophect
38e38b9f8d remove redundant comment 2019-11-04 17:20:10 -05:00
Hierophect
632b3267dc Add auto-shutoff of DAC when channels de-inited 2019-11-04 17:08:00 -05:00
Hierophect
40f920fbdf complete attribution edits 2019-11-04 14:39:41 -05:00
Hierophect
ca1eb4def1 Add other board globals 2019-11-04 14:35:23 -05:00
Hierophect
2111a7c4cf Merge branch 'master' into stm32-defaults 2019-11-04 14:32:00 -05:00
Hierophect
3526fed611 add board global 2019-11-04 14:31:57 -05:00
Hierophect
15d8d88950 Add default defines 2019-11-04 14:15:26 -05:00
Hierophect
ccff7e70ca Style changes and refactors 2019-11-04 11:30:49 -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
Hierophect
1c4f49bb83 attribution changes 2019-11-03 16:33:01 -05:00
Scott Shawcroft
cd3fcc87ab
Merge pull request #2252 from dhalbert/cpb-two-i2c
nrf: allocate two I2C on CPB
2019-11-03 13:15:36 -08: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
Hierophect
8d0cc71aee Add write protections, fix edge case read halt 2019-11-01 17:00:01 -04:00
Scott Shawcroft
47e50e5659
Merge remote-tracking branch 'adafruit/master' into bleio_tweaks 2019-11-01 13:20:58 -07:00
Hierophect
e605ce6317 Debugging additions 2019-11-01 14:30:28 -04:00
Hierophect
0a1a12b867 Revise PWM period generation algorithm to match other ports 2019-10-31 16:59:44 -04:00
brentru
2f04c5891f flip it around 2019-10-31 14:11:50 -04:00
brentru
ab3da3071c flip MADCTL BGR bit to reflect RGB colors 2019-10-31 10:11:47 -04:00
Hierophect
c78d79938d remove debug output 2019-10-30 17:07:16 -04:00
Hierophect
a8070a4185 Revise IRQ managment, add restart on failure 2019-10-30 16:59:53 -04:00
Hierophect
bb8046dbb3 remove debug messages 2019-10-30 10:00:50 -04:00
ladyada
d2b613134d we should use native rotation, and tweak madctl (not done yet) 2019-10-29 22:53:44 -04:00
ladyada
1e869d1334 switch to 8-bit mode - tested on hardware! 2019-10-29 21:14:45 -04:00
Hierophect
6b0cb87cbf Dynamic prescaler adjustment, adjust pulse resolution 2019-10-29 17:17:26 -04:00
Hierophect
4de5a33a43 Style changes 2019-10-29 10:24:26 -04:00
Hierophect
33deb6752b Add harder resets to UART 2019-10-29 09:41:52 -04:00
Dan Halbert
e35eb08f1d nrf: allocate two I2C on CPB 2019-10-28 21:08:53 -04:00
Dan Halbert
1505da784f wip 2019-10-28 18:15:02 -04:00
Dan Halbert
56ac41fabf
Merge pull request #2240 from theacodes/fix-2086
Track unadjusted PWM duty cycle to avoid accumulating conversion errors
2019-10-28 14:50:01 -04:00
Hierophect
3034cfc82f Merge remote-tracking branch 'upstream/master' into stm32-uart 2019-10-28 12:16:01 -04:00
Hierophect
69bf926211 Merge remote-tracking branch 'upstream/master' into stm32-PWM 2019-10-28 12:01:28 -04:00
Dan Halbert
1d7d9043c1 CXD56 is a better platform name 2019-10-28 10:47:09 -04:00
Dan Halbert
358920db0e Use MICROPY_PY_SYS_PLATFORM in mpconfigport.h only 2019-10-28 10:40:10 -04:00
Hierophect
c0f1ce590e Add support across dev boards 2019-10-27 20:17:10 -04:00
Hierophect
7fd5e9b867 Fix issue with changing frequency 2019-10-27 19:41:01 -04:00
Hierophect
0cd8c3d5a8 Add all basic functions, never reset, dynamic pulse changes 2019-10-27 19:17:01 -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
Hierophect
cb491e855c WIP 2019-10-27 14:31:25 -04: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
Thea Flowers
4b742f88d9
Fix spelling 2019-10-25 10:50:27 -07:00
Dan Halbert
cdeb0857a9 Initial Itsy nRF52840 defn 2019-10-25 11:15:34 -04:00
Hierophect
cf7efee0d3 Add f405 pindefs 2019-10-24 18:00:50 -04:00
Hierophect
7f769580bd Merge remote-tracking branch 'upstream/master' into stm32-PWM 2019-10-24 14:11:51 -04:00
hierophect
3683ee3ffa
Merge pull request #2243 from hierophect/f405-rename-and-fixes
STM32: rename feather_stm32f405_express, fix makefile defs issue
2019-10-24 14:11:17 -04:00
Hierophect
511071e1ba Rename feather across folders and config, fix makefile def issue 2019-10-24 12:51:40 -04:00
Hierophect
64337775f8 PWM Base functionality testing for F405 2019-10-24 12:43:34 -04:00
Thea Flowers
4fdf518251
Track unadjusted PWM duty cycle to avoid accumulating conversion errors
Fixes #2086

When the frequency of a `PWMOut` is change it re-sets the PWM's duty cycle as
well, since the registers have to be re-calculated based on the new frequency.
Unfortunately, `common_hal_pulseio_pwmout_get_duty_cycle`
will return a value very close to, but not exactly, the value passed to `common_hal_pulseio_pwmout_set_duty_cycle`. If the frequency is modified
without the calling code also re-setting the duty cycle then the duty cycle
will decay over time. This fixes that problem by tracking the unadjusted duty
cycle and re-setting the duty cycle to that value when the frequency is changed.
2019-10-23 14:34:14 -07:00
ProductDev
4cd5571203 Adds builds for sparkfun_qwiic_micro with and without flash 2019-10-23 15:05:46 -06:00
Dan Halbert
af1fab1915
Merge pull request #2226 from kamtom480/circuitpython-device-open
Do not open the same PWM device if it is already open
2019-10-23 15:08:40 -04:00
Scott Shawcroft
91c9d519ae
Refine comments and switch prefix_len to size_t 2019-10-22 23:09:56 -07:00
Hierophect
1d8a75fa3f minor WIP 2019-10-22 13:11:45 -04:00
Hierophect
ca4b7f81e5 Initial template setup 2019-10-22 11:09:46 -04: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
Hierophect
a596213526 non-functional WIP 2019-10-21 17:06:40 -04:00
Kamil Tomaszewski
e4574fa3bf Clean UART on reset 2019-10-21 13:17:51 +02:00
Dan Halbert
7b79ac3739 Parameterize linker script 2019-10-20 23:50:12 -04:00
Hierophect
af28474b06 IRQ priority and port clearing scratchwork 2019-10-18 14:10:41 -04:00
Kamil Tomaszewski
e2cb29f2a0 Change default stack size to 64kiB for Spresense 2019-10-18 15:43:06 +02:00
Kamil Tomaszewski
3ad13e14d8 Do not open the same UART device again 2019-10-18 12:39:52 +02:00
Kamil Tomaszewski
b39ca3f8be Do not open the same PWM device again 2019-10-18 12:39:22 +02:00
Kamil Tomaszewski
1decd111d5 Do not open the same ADC device again 2019-10-18 12:38:39 +02:00
Kamil Tomaszewski
4338511b28 Add get top and limit functions for Spresense 2019-10-18 11:10:22 +02:00
Kamil Tomaszewski
96756b3945 Add functions to get top and limit stack 2019-10-18 11:04:45 +02:00
Kamil Tomaszewski
30c9ad2b2a Update Spresense SDK to 1.4.1 2019-10-18 10:29:32 +02:00
wallarug
8f2e5990db
Changed to follow standard that Pad 0 is always TX 2019-10-17 18:02:05 +11:00
Hierophect
14c64159c8 Implement requested changes, refactors 2019-10-16 13:50:54 -04:00
Hierophect
323fe418f7 Add support for other F4 MCUs 2019-10-16 13:14:57 -04:00
Hierophect
552900f18e Merge remote-tracking branch 'upstream/master' into stm32-uart 2019-10-16 12:33:31 -04:00
Hierophect
b4a6246e30 Cleanup 2019-10-16 12:32:34 -04:00
Hierophect
14eefaafee Hack in interrupt support 2019-10-16 11:33:55 -04:00
Dan Halbert
be8136dc6d Merge remote-tracking branch 'adafruit/master' into bonding1 2019-10-15 15:55:21 -04:00
Scott Shawcroft
63790f01f8
Merge pull request #2218 from CedarGroveStudios/master
Definitions for StringCar M0 Express and AT25SF161-SSHD-T 2MiB SPI flash chip
2019-10-15 09:46:39 -07:00
Scott Shawcroft
6f2e2faff2
Merge pull request #2214 from dhalbert/remove-unused-ports
Remove non-CircuitPython ports
2019-10-15 09:45:53 -07:00
Dan Halbert
a0d18ac4e6 add dummy common_hal_mcu_processor_get_voltage() for spresense 2019-10-15 09:07:12 -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
Scott Shawcroft
1a7c787d3c
Merge branch 'master' into master 2019-10-14 19:47:46 -07:00
Dan Halbert
615ec7f74d merge from upstream 2019-10-14 18:12:58 -04:00
Scott Shawcroft
51582abc87
Merge pull request #2207 from kamtom480/circuitpython-spresense
Add Spresense board
2019-10-14 14:19:09 -07:00
Cedar Grove Maker Studios
bd608e0807
remove placeholder 2019-10-14 11:56:53 -07:00
Cedar Grove Maker Studios
b04a218bbc
initial load of stringcar m0 express defs 2019-10-14 11:56:18 -07:00
Cedar Grove Maker Studios
44ebc4c95d
establish stringcar m0 express definitions 2019-10-14 11:55:22 -07:00
Kamil Tomaszewski
b750ed3a0f Change Spresense firmware download link 2019-10-14 08:42:10 +02:00
Kamil Tomaszewski
8dfc8b584f Change Spresense reference_voltage to 0.0 (None) 2019-10-14 08:22:14 +02:00
Dan Halbert
9c8f969b34 remove ports/zephyr 2019-10-13 11:09:55 -04:00
Dan Halbert
0bed5f490a remove ports/windows 2019-10-13 11:09:43 -04:00
Dan Halbert
8f792127da remove ports/teensy 2019-10-13 11:09:03 -04:00
Dan Halbert
fc033bd954 remove ports/stm32 2019-10-13 11:08:52 -04:00
Dan Halbert
7bc02ad3ba remove ports/qemu-arm 2019-10-13 11:08:35 -04:00
Dan Halbert
6dcaeae8c7 remove ports/pic16bit 2019-10-13 11:08:08 -04:00
Dan Halbert
c575cd7bc7 remove ports/minimal 2019-10-13 11:07:40 -04:00
Dan Halbert
7692e06230 remove ports/esp8266 2019-10-13 11:07:07 -04:00
Dan Halbert
41ef2ab591 remove ports/esp32 2019-10-13 11:06:54 -04:00
Dan Halbert
b0d656683b remove ports/cc3200 2019-10-13 11:06:33 -04:00
Dan Halbert
3d17e1d418 remove ports/bare-arm 2019-10-13 11:06:17 -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
Hierophect
1140ff5cd5 WIP 2019-10-11 15:47:55 -04:00
Kamil Tomaszewski
6b9375804c Rename circuitpython.spk to firmware.spk 2019-10-11 17:15:25 +02:00
Kamil Tomaszewski
771f43591a Add links to serial drivers 2019-10-11 12:57:43 +02:00
Kamil Tomaszewski
eb1dfd2312 Add .gitignore 2019-10-11 12:11:48 +02:00
Kamil Tomaszewski
0d139e4eca Add a way to change serial device name 2019-10-11 12:09:51 +02:00
Kamil Tomaszewski
c062990830 Make Makefile work across OS 2019-10-11 12:09:51 +02:00
Kamil Tomaszewski
8f653d6238 Use CXD56 pin names 2019-10-11 12:09:51 +02:00
Kamil Tomaszewski
5f09609d41 Add Spresense board folder 2019-10-11 12:09:51 +02:00
Kamil Tomaszewski
1fa8841d20 Change port name to cxd56 2019-10-11 08:23:51 +02:00
Hierophect
bfebbaee32 Merge remote-tracking branch 'upstream/master' into stm32-uart 2019-10-10 14:28:19 -04:00
Hierophect
06b2fed518 improve macro readability 2019-10-09 16:06:23 -04:00
hierophect
4ce7a4cfdb
Merge branch 'master' into stm32-DAC 2019-10-09 15:47:43 -04:00
Hierophect
5f33c542b4 Fix include issues 2019-10-09 14:52:30 -04:00
Hierophect
8a94f25181 Text fixes 2019-10-09 13:54:40 -04:00
Hierophect
cb0ed264c4 Implement DAC 2019-10-09 13:34:20 -04:00
Kamil Tomaszewski
6d1748fd59 Add spresense-exported-sdk submodule 2019-10-09 08:38:50 +02:00
Kamil Tomaszewski
526925f1c6 Add Spresense board 2019-10-09 08:27:08 +02:00
Hierophect
f58d54cd22 Preliminary read system, not buffered 2019-10-08 16:03:51 -04:00
kamtom480
f6e553f89f
Merge branch 'master' into circuitpython-number-endpoint 2019-10-08 09:41:29 +02:00
Chris Osterwood
137a4f8a5d Added new flash SKU for production hardware 2019-10-07 14:50:39 -04:00
Hierophect
cc3a17845c Fix USB issues, frequency macro, F412 tests 2019-10-07 14:22:12 -04:00
hierophect
59ed879c8f
Merge pull request #2197 from hierophect/always-build-modules
Sort some modules into ALWAYS-BUILD in mpconfig
2019-10-07 09:09:28 -04:00
Kamil Tomaszewski
7aefcc449a Add an alternative way to number the USB endpoints
Two options available:
- relative numbering (USB_RELATIVE_EP_NUM = 1) - default
- absolute numbering (USB_RELATIVE_EP_NUM = 0) - new!
2019-10-07 12:31:42 +02:00
Dan Halbert
fc19e03128 WIP: bonding 2019-10-06 21:30:26 -04:00
Hierophect
0b85172ba6 WIP 2019-10-04 14:37:18 -04:00
Hierophect
51901f7de0 Add peripheral definitions 2019-10-04 11:42:38 -04:00
Hierophect
dc4abb922b Revert accidental OS delete 2019-10-03 15:40:46 -04:00
hierophect
f4922a530a
Merge pull request #2186 from hierophect/stm32-spi-flash
STM32: SPI Flash
2019-10-03 15:32:56 -04:00
Hierophect
7a2f60c43d Add Always Build flag, remove redundancy 2019-10-03 15:23:45 -04:00
Hierophect
eacdb1da6e Disable timeout, remove redundancy 2019-10-03 14:43:25 -04:00
Dan Halbert
463415a7ef update stm32f4 port to use tinyusb synopsys tree 2019-10-03 13:26:03 -04:00
Hierophect
83c49a5c80 Increase SPI timeout duration 2019-10-03 09:14:54 -04:00
Hierophect
5a6194839b Timeout fix for I2C device testing 2019-10-02 17:59:42 -04:00
Hierophect
86305bfdfe Make all errors value errors 2019-10-02 17:32:54 -04:00
Hierophect
9aa6d215fd Add some definitions for when F412 can be implemented 2019-10-02 16:03:22 -04:00
Hierophect
5a2f82095a Implement SPI flash settings, bugfix for SPI pin assignment 2019-10-02 15:17:49 -04:00
Scott Shawcroft
d6e987e587
Merge pull request #2182 from hierophect/stm32-spi
STM32: SPI Support
2019-09-30 20:00:23 -07:00
Hierophect
b66700720b improve error readability 2019-09-30 18:05:07 -04:00
Hierophect
1f90cffc89 protect against edge case 2019-09-30 13:33:20 -04:00
Hierophect
56eb9666ea Implement never-reset, fix F412 2019-09-30 11:35:40 -04:00
Hierophect
a475b667b5 Clean up debugging messages, remove shortcuts 2019-09-30 11:04:09 -04:00
Hierophect
492bc3eedc Expand pin definitions for all boards 2019-09-30 10:45:02 -04:00
Hierophect
e2d0ad6adc Add settings reconfiguration 2019-09-29 15:01:32 -04:00
Hierophect
bf7b841020 Further reversion 2019-09-29 13:22:12 -04:00
Hierophect
89315999e2 Fix bad returns, revert flash changes 2019-09-29 13:18:43 -04:00
Hierophect
270396a882 Refine SPI settings for testing 2019-09-29 13:01:27 -04:00
Hierophect
d7443fce54 First implementation of read write 2019-09-27 17:59:55 -04:00
Hierophect
ad33950966 Flash memory changes - non functional 2019-09-27 11:00:09 -04:00
Dan Halbert
aa1eed3bd3 initial Arduino Nano 33 BLE board definition 2019-09-26 15:28:57 -04:00
Scott Shawcroft
cdc116291b
Merge pull request #2177 from wallarug/walla/robohatmm1-production
Robo HAT MM1 - Fixes after testing
2019-09-26 10:44:55 -07:00
Hierophect
51df8d18b4 Merge remote-tracking branch 'upstream/master' into stm32-spi 2019-09-26 13:44:24 -04:00
Scott Shawcroft
8221553600
Merge pull request #2175 from hierophect/stm32-f405-support
STM32 F405 support
2019-09-26 10:38:03 -07:00
hierophect
f4a31a7843
Update PID to suggestion
USB_PID = 0x805C (Pyboard

Co-Authored-By: Scott Shawcroft <scott@tannewt.org>
2019-09-26 11:38:08 -04:00
Hierophect
f08127bfcc WIP 2019-09-26 11:35:08 -04:00
arturo182
21f8c3e40a serpente: Update PID and enable as many modules as we can fit 2019-09-26 17:22:18 +02:00
wallarug
3c99a23adb fix spi 2019-09-26 21:47:36 +10:00
wallarug
533a5bc7a3 fixed SPI on M4 2019-09-26 21:43:52 +10:00
wallarug
5cd10b3ba0 updated robohatmm1_m0 2019-09-26 20:02:09 +10:00
wallarug
39265fccf3 included a version number 2019-09-26 19:22:51 +10:00
wallarug
db9495b04b updated board name 2019-09-26 19:21:53 +10:00
wallarug
08b0f80879 updated board name 2019-09-26 19:21:24 +10:00
wallarug
b7e8a031d0 remove frozen busio library 2019-09-26 19:19:54 +10:00
wallarug
ff13b6f682 updated pins.c 2019-09-26 19:18:50 +10:00
Hierophect
a926d01509 reorganize pins 2019-09-25 11:53:49 -04:00
Hierophect
f286737868 add peripheral definitions 2019-09-25 11:37:27 -04:00
Hierophect
6058677979 whitespace fix 2019-09-24 16:10:43 -04:00
Hierophect
742e747609 Implement another USB ID 2019-09-24 14:53:56 -04:00
Hierophect
c3baf286c1 Implement correct USB IDs 2019-09-24 14:51:57 -04:00
Hierophect
d597410330 implement suggested changes 2019-09-24 14:15:04 -04:00
Hierophect
dc1109dba7 add feather support 2019-09-24 14:07:03 -04:00
Hierophect
61a45cdaed clock fixes 2019-09-24 13:17:46 -04:00
Hierophect
31a22858d5 text fixes 2019-09-24 10:05:40 -04:00
Hierophect
2b65a0e95f WIP 2019-09-23 17:40:28 -04:00
Hierophect
f1cd1c5d4d minor edits 2019-09-23 13:30:37 -04:00
Hierophect
19cf716461 Fix missing items 2019-09-23 12:14:27 -04:00
Hierophect
60bb6acf38 Add F405 support 2019-09-23 11:59:14 -04:00
Hierophect
fd1a257df3 Merge branch 'master' into stm32-f405-support 2019-09-23 09:36:03 -04:00
wallarug
70860e1352 robohatmm1 removed uart and put in correct order 2019-09-22 19:47:44 +10:00
Limor "Ladyada" Fried
7f1bc48a88
Merge pull request #2173 from hierophect/stm32-os
STM32: Add OS and Struct support
2019-09-20 16:42:31 -04:00
Hierophect
200c474a13 correct typo 2019-09-20 15:55:11 -04:00
Hierophect
00f1e4f1ad WIP 2019-09-20 15:54:34 -04:00
Limor "Ladyada" Fried
8d16379634
Merge pull request #2151 from hierophect/stm32-peripherals
STM32: peripheral management
2019-09-20 15:40:25 -04:00
Hierophect
9af5f3a7a7 Add OS and struct support 2019-09-20 14:51:23 -04:00
Hierophect
ef15ebe8c7 Repeated initialization protection, cleanup 2019-09-20 14:33:37 -04:00
Scott Shawcroft
13a9c446ee
Merge pull request #2171 from hierophect/stm32-find-fix
STM32: fix illegal option error on mac builds
2019-09-20 10:19:58 -07: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
Hierophect
7cea078494 Added existance check 2019-09-20 12:39:48 -04:00
Melissa LeBlanc-Williams
9a74bf929b Added TFT pins to HalloWing M4 for code compatibility 2019-09-19 14:50:10 -07:00
Melissa LeBlanc-Williams
b7598f7058 Merge branch 'master' of https://github.com/adafruit/circuitpython 2019-09-19 14:20:28 -07:00
Hierophect
18c5be8835 QOL pin adds 2019-09-19 17:01:25 -04:00
Hierophect
9da5723c59 F412 support, cleanup 2019-09-19 16:32:38 -04:00
Hierophect
c12860ff7d the code equivalent of smacking something really hard with a wrench 2019-09-19 16:10:26 -04:00
Hierophect
b325eadc33 various failed attempts to get I2C to reset 2019-09-19 16:02:52 -04:00
Scott Shawcroft
0fed65e7d2
Merge remote-tracking branch 'adafruit/master' into dac51 2019-09-19 12:21:54 -07:00
Melissa LeBlanc-Williams
341428b4da Added SPEAKER pin to HalloWing M4 for code compatibility 2019-09-19 11:23:37 -07:00
Hierophect
d56b62e44c Fix crash related to improper instance assignment 2019-09-19 14:15:12 -04:00
Melissa LeBlanc-Williams
8dfb2237d9 Added TOUCH pins to HalloWing M4 for code compatibility 2019-09-19 10:40:13 -07:00
Hierophect
c85873e4e6 index fix 2019-09-19 12:45:47 -04:00
Hierophect
60985968a8 Reorganize storage to per-pin 2019-09-19 12:18:18 -04:00
Hierophect
12cd009bb9 WIP 2019-09-18 16:49:15 -04:00
Hierophect
bf62477ff9 Merge branch 'stm32-analogio' into stm32-peripherals 2019-09-18 13:45:22 -04:00
Hierophect
cd5ec365d3 Cleanup 2019-09-18 13:44:08 -04:00
Hierophect
d60ecc5e3d Rework I2C peripheral check 2019-09-18 13:42:54 -04:00
Hierophect
69a0bfaf34 Merge branch 'stm32-analogio' into stm32-peripherals 2019-09-18 12:15:44 -04:00
Hierophect
c9b86111f4 text fix 2019-09-18 11:45:21 -04:00
Hierophect
601c3ea8dc minor HAL swap 2019-09-17 17:54:29 -04:00
Hierophect
97b1208829 Merge remote-tracking branch 'upstream/master' into stm32-analogio 2019-09-17 17:47:15 -04:00
Hierophect
48ae684c6e Adjust settings to support F412 2019-09-17 17:46:44 -04:00
Limor "Ladyada" Fried
69234cc8d6
Merge pull request #2163 from tannewt/cpx_displayio
Add custom CPX build for display support
2019-09-17 16:55:42 -04:00
Hierophect
863655044e Re-expand pin reset 2019-09-17 16:52:44 -04:00
Hierophect
71531dd4d1 Fix out of date HAL inputs in DigitalIO 2019-09-17 16:15:39 -04:00
Hierophect
7c713b9e3b Fix crash related to ADC timeout 2019-09-17 15:45:15 -04:00
Hierophect
168823e096 Retract pin resets, revert to HAL, QOL changes 2019-09-17 15:07:08 -04:00
Scott Shawcroft
fc90c942f5
Add custom CPX build for display support 2019-09-17 10:40:07 -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
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
Chris Osterwood
d5658860aa Added pin definition for battery change enable. Pin used to switch in a 10 ohm resistor during Hub reset & strapping. 2019-08-08 14:39:50 -04:00
Chris Osterwood
fb2712410e Merge branch 'master' into capablerobot-usbhub 2019-08-08 14:14:23 -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
Dan Halbert
b67d04a5b1 Merge remote-tracking branch 'adafruit/master' into ble-pairing 2019-08-05 16:35:44 -04:00
Hierophect
2489c09b44 Merge i2c implementation 2019-08-04 17:24:07 -04:00
Hierophect
a635d46b1a Fix merge related issues 2019-08-04 17:19:38 -04:00
Hierophect
0c43bae01d Merge branch 'master' into f411re-feature-buildout 2019-08-04 16:37:49 -04:00
Hierophect
268cf0a3cc Quick fix for incorrect MCU package type 2019-08-04 16:31:03 -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
Scott Shawcroft
eee759455a
Merge pull request #2018 from keith-packard/snekboard
Add board support for keithp.com SnekBoard
2019-07-31 16:38:51 -07:00
Jeff Epler
b0f7c7bc4c Merge remote-tracking branch 'origin/master' into nrf-pwm-audio 2019-07-31 16:32:54 -05:00
Hierophect
06d53ef8a7 minor debugging changes 2019-07-31 17:06:44 -04:00