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
Hierophect
e2fc55f829
Add baseline HAL I2C support
2019-07-31 14:58:55 -04:00
Dan Halbert
ee518b9141
Merge remote-tracking branch 'adafruit/master' into ble-pairing
2019-07-31 11:22:48 -04:00
Dan Halbert
91d791afd0
cleanup adapter.address; add uniquish suffix to BLE device name
2019-07-31 00:30:24 -04:00
Scott Shawcroft
366fdcce18
Merge pull request #2011 from tannewt/ssd1322
...
Add knobs for SSD1322 and two displayio fixes.
2019-07-30 14:15:37 -07:00
Scott Shawcroft
9dd56b1566
Merge branch 'master' into snekboard
2019-07-30 14:12:08 -07:00
Dan Halbert
83129b8c63
BLE: peripheral client pairing (not yet bonding); fix time doc formatting
2019-07-30 14:26:26 -04:00
wallarug
ecfffac3a8
Delete samd51x19-bootloader-external-flash-crystalless.ld
2019-07-30 19:48:35 +10:00
wallarug
ff6ae1aefb
Update mpconfigboard.mk to use standard linker file
2019-07-30 19:13:33 +10:00
Jeff Epler
b72352949b
PWM audio: Rename AudioOut -> PWMAudioOut, _audioio_ -> _audiopwmio_
2019-07-29 18:39:00 -04:00
Keith Packard
c6e4ddc88a
boards/snekboard: Delete SPI object reference
...
Snekboard does not expose any pins for SPI to the user, so delete
the SPI object reference as that won't work.
Signed-off-by: Keith Packard <keithp@keithp.com>
2019-07-29 13:45:52 -07:00
Keith Packard
9a37c8a4b3
boards/snekboard: Add pin aliases for UART and I2C
...
Allow users to use TX/RX and SDA/SCL names.
Signed-off-by: Keith Packard <keithp@keithp.com>
2019-07-29 13:45:06 -07:00
Keith Packard
4387ecfdfb
Update snekboard PID to official value
...
Snekboard has been assigned the following PIDs:
PID 0x004D # bootloader
PID 0x804D # arduino
PID 0x804E # circuitpython
Signed-off-by: Keith Packard <keithp@keithp.com>
2019-07-29 13:15:18 -07:00
Keith Packard
326df70ac2
Fix snekboard names
...
Manufacturer -- keithp.com
Product -- snekboard
Signed-off-by: Keith Packard <keithp@keithp.com>
2019-07-29 13:15:18 -07:00
Keith Packard
56f710f64f
Add board support for keithp.com SnekBoard
...
This is another SAMDG2118A design with built-in 9V motor controllers
that are designed to be used with Lego PowerFunctions devices.
Signed-off-by: Keith Packard <keithp@keithp.com>
2019-07-29 13:14:37 -07:00
Hierophect
6c7723905c
Add temp status LEDs
2019-07-29 11:21:35 -04:00
wallarug
dc1eb73ee7
Merge branch 'master' into wallarug-robohat
2019-07-29 21:53:49 +10:00
wallarug
8974c7e843
Added BUTTON to pins.c
2019-07-29 16:37:53 +10:00
wallarug
9e0bea405d
Added BUTTON to pins.c
2019-07-29 16:37:21 +10:00
wallarug
4d30efdc2a
Updated pins.c for GROVE.
2019-07-29 16:29:48 +10:00
wallarug
8838e25cb2
Update pins.c
2019-07-29 16:28:35 +10:00
sommersoft
8eab946c5b
Merge pull request #2003 from C47D/travis_check_new_boards
...
Add check to travis to make sure new boards are built, fix #1886
2019-07-28 22:41:59 -05:00
Dan Halbert
28ca05ccdc
allow discovery from central or peripheral
2019-07-27 13:22:15 -04:00
wallarug
0f30070d58
updated naming schema to match other boards
2019-07-27 17:44:42 +10:00
wallarug
b06fa48735
updated a few files
2019-07-27 16:59:07 +10:00
wallarug
9c57f52d1e
updated pins.c for robohat
2019-07-27 16:56:03 +10:00
wallarug
24e84adc6d
further robohat cleanups
2019-07-27 16:38:47 +10:00
wallarug
e2b83e2dd9
minor changes robohat d21
2019-07-27 16:36:13 +10:00
wallarug
36008de2ed
added custom ld file for samd51 no crystal, ext flash
2019-07-27 16:29:30 +10:00
wallarug
eda3423e35
updated to v1.7 board (samd51)
2019-07-27 16:27:41 +10:00
Hierophect
343d5aa0ac
Delete redundant file
2019-07-26 16:48:23 -04:00
Hierophect
90b1701b6c
Add CDC REPL access
2019-07-26 14:06:27 -04:00
Jeff Epler
a183425e00
ports/nrf: Implement audioio.AudioOut using PWM
...
This implements AudioOut, with known caveats:
* pause/resume are not yet implemented (this is just a bug)
* at best, the sample fidelity is 8 bits (this is a hardware limitation)
Testing performed:
My test system is a Particle Xenon with a PAM8302 op-amp
https://www.adafruit.com/product/2130 and 8-ohm speaker. There's no
analog filtering between the Xenon's PWM pin and the "A+" input of
the amplifier; the "A-" pin is disconnected. It is powered from
VUSB.
I used pin D4, which is *NOT* listed as a low-speed-only pin, but
the code does NOT switch the pin to high drive. This is related to
an open issue for general inability to set drive level for pins
being used by a "special function" on nrf:
https://github.com/adafruit/circuitpython/issues/1270
Nothing about the code I've written should limit the usable pins.
All samples I played were 16-bit, generally monophonic at 11025Hz
and 22050Hz from the Debian LibreOffice package.
2019-07-26 07:57:11 -05:00
Jeff Epler
2bc704fe07
ports/nrf: factor out routines for allocating, freeing pwm channels
2019-07-26 07:52:37 -05:00
Scott Shawcroft
c61c874a6d
Reduce feather_m0_supersized build size
...
Make it match feather_m0_express
2019-07-26 00:31:41 -07:00
Scott Shawcroft
a87094e01f
Turn off GC opt to save space on Trinket Haxpress
2019-07-25 22:56:46 -07:00
Scott Shawcroft
4e7de436b4
Update constructors of boards with displays
2019-07-25 22:48:11 -07:00
Scott Shawcroft
d99d3bd471
Merge pull request #2010 from jepler/audiocore
...
audiocore: Factor from audioio
2019-07-25 13:52:30 -07:00
Jeff Epler
6b44e40ee8
audiocore: Factor from audioio
...
When nrf pwm audio is introduced, it will be called `audiopwmio`. To
enable code sharing with the existing (dac-based) `audioio`, factor
the sample and mixer types to `audiocore`.
INCOMPATIBLE CHANGE: Now, `Mixer`, `RawSample` and `WaveFile` must
be imported from `audiocore`, not `audioio`.
2019-07-25 06:44:26 -05:00
Scott Shawcroft
8ec2d6ce49
Merge pull request #2007 from hierophect/F4xx-port-setup
...
Add STM32 Discovery F412ZG and F411RE support
2019-07-24 18:49:48 -07:00
Hierophect
295afaaf6c
Update SystemCoreClock macro
2019-07-24 16:31:25 -04:00
Hierophect
981398406c
Implement working (if useless) USB on F411
2019-07-24 16:23:35 -04:00
Hierophect
21f1ae51df
Merge in PR edits
2019-07-24 15:02:26 -04:00
Hierophect
d66c9590af
Merge tinyusb changes from upstream
2019-07-24 14:54:22 -04:00
Hierophect
a63df51893
Requested changes, general cleanup
2019-07-24 14:21:27 -04:00
hathach
c921f6637f
update tinyusb lib to 0.5.x
2019-07-24 16:46:31 +07:00
Hierophect
267468834d
Pin down some TUSB issues
2019-07-23 19:40:26 -04:00
Hierophect
0dee1a1646
Setup for changes
2019-07-23 17:04:03 -04:00
Hierophect
f9b5a9af4e
Merge branch 'F3xx-port-setup' into f411re-tinyusb
2019-07-23 15:17:18 -04:00
Hierophect
5cfde7b6ea
Switch to submodule for cube files
2019-07-23 14:37:30 -04:00
Hierophect
9c1487cff6
Python doc generator fixes
2019-07-23 13:48:59 -04:00
Dan Halbert
82ab998cd5
Merge pull request #1998 from tannewt/monocolor
...
Add support for grayscale displays
2019-07-22 22:30:28 -04:00
Scott Shawcroft
7cb2aa2d62
Merge pull request #1986 from AnthonyDiGirolamo/patch-1
...
Update Arch Linux ARM compiler installation instructions
2019-07-22 19:29:53 -07:00
Hierophect
a3673cc79b
Set up for new tinyusb integration. Not yet functional.
2019-07-22 17:16:33 -04:00
Hierophect
58630a844a
Add feature conditionals and clean up
2019-07-22 12:58:28 -04:00
Tavish Naruka
e4d92a3aad
Fix incorrect preprocessor define NRFX_TIMER3/4
...
Should be NRF_TIMER3 and NRF_TIMER4
2019-07-22 20:07:05 +05:30
Scott Shawcroft
1d1b8703b6
Review feedback including NO_BRIGHTNESS_COMMAND macro
2019-07-19 16:11:13 -07:00
Scott Shawcroft
b9b9ef227f
Turn off bitbanging on Hallowing to save code space.
2019-07-19 16:10:33 -07:00
Scott Shawcroft
cdfc169ab6
Correct typo in line meant to turn off frequencyio on M0 which saves 2k code space.
2019-07-19 16:10:32 -07:00
Scott Shawcroft
6797ec6ed3
Add support for grayscale displays that are < 8 bit depth.
...
This also improves Palette so it stores the original RGB888 colors.
Lastly, it adds I2CDisplay as a display bus to talk over I2C. Particularly
useful for the SSD1306.
Fixes #1828 . Fixes #1956
2019-07-19 16:06:11 -07:00
Hierophect
10b9ca5a92
pin selection cleanup, tinyUSB update
2019-07-19 15:09:45 -04:00
Scott Shawcroft
a98bfa628e
Merge pull request #2002 from ntavish/blip_improvements
...
Blip improvements
2019-07-19 10:52:08 -07:00
Tavish Naruka
724ce4acba
enable libraries needed by BlipBoy Shield
2019-07-19 18:48:08 +05:30
Hierophect
734012aa8b
Makefile cleanup
2019-07-18 17:55:57 -04:00
Hierophect
755b86e38b
Deinit-capable USB on 411
2019-07-18 17:17:46 -04:00
Hierophect
43e8a4110f
Add missing files for DigitalIO
2019-07-17 14:18:01 -04:00
Hierophect
45e73c414a
fix gitignore
2019-07-17 14:14:03 -04:00
Hierophect
c588cc6db0
first pass of DigitalIO
2019-07-17 14:07:33 -04:00
Dan Halbert
364ee62d10
Address review comments.
2019-07-16 19:53:36 -04:00
Dan Halbert
1cf8a3e8d8
Merge remote-tracking branch 'adafruit/master' into ble-scanner
2019-07-11 18:42:16 -04:00
Hierophect
f31a0d9cf5
Serial REPL support
2019-07-11 13:41:10 -04:00
siddacious
d12e1a8d74
Merge pull request #1990 from kattni/pyruler
...
Adding PyRuler to CircuitPython.
2019-07-10 12:28:43 -07:00
Hierophect
a0e6975b9d
Add some usb reference material, non functional
2019-07-10 14:26:57 -04:00
Kattni Rembor
582acdaa0a
Requested changes.
2019-07-09 16:12:24 -04:00
Kattni Rembor
d905958db1
Adding PyRuler to CircuitPython.
2019-07-09 16:02:39 -04:00
Scott Shawcroft
6fad383367
Merge pull request #1925 from C47D/rgb_status
...
Initial support for RGB led as Status indicator, fixes #1382
2019-07-09 10:31:34 -07:00
Hierophect
7742a97c22
Add STM32F412-DISCO support, cleanup
2019-07-09 13:03:22 -04:00
Scott Shawcroft
f0cf9a4e75
Merge pull request #1988 from jandjstudios/datum
...
Add support for boards in the datum series.
2019-07-09 09:33:13 -07:00
Dan Halbert
6a001786a9
merge from master
2019-07-09 08:58:49 -04:00
Dan Halbert
118b26b335
UARTClient now works both directions
2019-07-09 00:21:46 -04:00
Scott Shawcroft
f4a64a2e80
Merge pull request #1989 from rce1086/master
...
Added conditional compilation around selection of TX pad candidates
2019-07-08 14:07:04 -07:00
Carl Elkins
64507207da
Added conditional compilation around selection of TX pad candidates
...
Original code was correct for SAMD21
New code for SAMD51 only permits pad-0 for TX
2019-07-08 02:08:39 +01:00
Dan Halbert
09ddff8df1
WIP: Need descriptors for Central CCCD discovery; not done yet
2019-07-07 00:07:47 -04:00