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
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
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