Commit Graph

2481 Commits

Author SHA1 Message Date
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
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