Commit Graph

2184 Commits

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