Commit Graph

2388 Commits

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