Commit Graph

2522 Commits

Author SHA1 Message Date
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
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
jandjstudios
46b7575550 Initial commit to support boards in the datum series. 2019-07-06 13:41:03 -07:00
Scott Shawcroft
5610e05b8c
Fix up nrf so that it is initialized properly. Also, do not reset
it's pins.
2019-07-06 12:48:16 -07:00
iot49
4c72a3991e updated samd and esp8266 ports 2019-07-05 10:01:51 -07:00
Anthony DiGirolamo
55f15e3c05
Update Arch Linux ARM compiler installation instructions
- Add copy-pasteable Arch Linux `arm-none-eabi-gcc` install line similar to Ubuntu example
- Add `arm-none-eabi-newlib` as a required package for Arch
- Reformat Ubuntu and Arch install code-blocks to catch the eye for the impatient

Arch Linux changed their packaging for [arm-none-eabi-gcc](https://www.archlinux.org/packages/community/x86_64/arm-none-eabi-gcc/) by creating [arm-none-eabi-newlib](https://www.archlinux.org/packages/community/any/arm-none-eabi-newlib/) as an optional package. Without it users will get errors about missing header files like:

```
In file included from asf4/samd51/include/samd51j19a.h:49,
                 from asf4/samd51/include/sam.h:38,
                 from ./mpconfigport.h:31,
                 from ../../py/mpconfig.h:45,
                 from ../../py/emitnx64.c:3:
/usr/lib/gcc/arm-none-eabi/9.1.0/include/stdint.h:9:16: fatal error: stdint.h: No such file or directory
    9 | # include_next <stdint.h>
      |                ^~~~~~~~~~
compilation terminated.
```
2019-07-04 11:14:50 -07:00
iot49
6e5d70fa19 changed type of receiver_buffer_size to uint16_t 2019-07-03 12:02:01 -07:00
Dan Halbert
bf8a35b2f8 WIP: CharacteristicBuffer for Central; not working: need to set remote Characteristic Service 2019-07-02 22:34:54 -04:00
Hierophect
040acc3a32 remove dependencies for stable build 2019-07-01 19:47:10 -04:00
Radomir Dopieralski
e45eac5016 Switch the terminal font for ugame10
I designed this really tiny, minimalist font for use on very small
displays. On uGame it lets one see the whole text that CircuitPython
prints on boot. The characters are 4x6 pixels each, and they are
optimized for legibility (large x-height, right angles, blocky shapes).

It might make sense to also use that font in other boards.
2019-07-01 23:05:07 +02:00
Dan Halbert
6ea01ea9b0 Central is connecting; characteristics can be read and written 2019-06-29 00:20:06 -04:00
Hierophect
94a2eff05c remove build, fix link issues) 2019-06-28 19:22:23 -04:00
Hierophect
04a9bc0d35 case changes 2019-06-28 16:45:07 -04:00
Hierophect
b93f93f174 name change but actually 2019-06-28 16:34:27 -04:00
Hierophect
caed59ec64 name change 2019-06-28 16:21:13 -04:00
Hierophect
16ba035ba7 first commit, very crude 2019-06-28 15:36:08 -04:00
Scott Shawcroft
0cce7fcaa3
Merge remote-tracking branch 'adafruit/4.0.x' into merge_in_402 2019-06-27 14:06:26 -07:00
Scott Shawcroft
fe507db45f
Shrink pIRkey build down.
Rollback HID to save string space and remove board mapping for
default buses that don't exist.
2019-06-26 16:49:23 -07:00
Scott Shawcroft
d3adfde22a
Merge pull request #1968 from adafruit/4.0.x
Merge in nrf neopixel fix
2019-06-25 11:35:58 -07:00
Dan Halbert
140904ec84 getting Scanner to work 2019-06-22 22:10:15 -04:00
Dan Halbert
4881e1ff55 WIP: Central compiles; now will test 2019-06-21 18:04:04 -04:00
Dan Halbert
23bd861c9a nrf: fix neopixel_write pwm buf size calc 2019-06-20 18:02:14 -04:00
Dan Halbert
24ac1fdcab WIP: backup only; not compiled 2019-06-19 21:54:28 -04:00
Scott Shawcroft
7ad229ec27
Merge pull request #1958 from tannewt/pygamer_advanced
Add PyGamer Advance and fix Joystick pins
2019-06-19 12:32:36 -07:00
Dan Halbert
a1b5d800f3 Update copyrights; get ready for Central 2019-06-19 10:42:36 -04:00
Dan Halbert
35b9191857 Don't operate directly on bleio objects in shared-bindings: use common_hal
routines instead. Changes made but not yet tested.
2019-06-18 23:46:20 -04:00
Scott Shawcroft
5e5252ced0
Merge pull request #1955 from pewpew-game/pygamer-stage
Add support for PyGamer to Stage library
2019-06-18 18:23:08 -07:00
Scott Shawcroft
352bf7eaf5
Add PyGamer Advance and fix Joystick pins 2019-06-18 12:22:20 -07:00
Radomir Dopieralski
5803245009 Add support for PyGamer to Stage library 2019-06-18 19:05:51 +02:00
Dan Halbert
1356819de1 Handle None for BLE name; fix ScanEntry bug; compile issue 2019-06-17 23:16:40 -04:00
Scott Shawcroft
2dddccb99e
Update board inits for new api. 2019-06-17 18:03:30 -07:00
brentru
ea2c068e11 COLMOD is 1 param, remove CASET/RASET in CircuitPython 2019-06-17 11:20:25 -04:00
brentru
207dc885a6 removed incorrect gamma code, looks better now 2019-06-14 16:34:30 -04:00
brentru
4092294e7c tft working init. sequence, still undersaturated 2019-06-14 16:17:05 -04:00
brentru
0bc74172a2 Add pybadge airlift, sans-tft 2019-06-14 14:46:19 -04:00
Dan Halbert
bed6d43a76 merge from upstream; WIP redo Address; no more AddressType 2019-06-13 21:55:07 -04:00
Scott Shawcroft
0b1f605a9b
Turn off gc opt for more M0 boards 2019-06-12 13:20:21 -07:00
Scott Shawcroft
a91ad05774
Change to one lto partition for ultimate optimization. 2019-06-12 11:37:46 -07:00
Scott Shawcroft
eb21fc3e31
Add partial display update support.
Different operations to the display tree have different costs. Be
aware of these costs when optimizing your code.
* Changing tiles indices in a TileGrid will update an area
covering them all.
* Changing a palette will refresh every object that references it.
* Moving a TileGrid will update both where it was and where it moved to.
* Adding something to a Group will refresh each individual area it
covers.
* Removing things from a Group will refresh one area that covers all
previous locations. (Not separate areas like add.)
* Setting a new top level Group will refresh the entire display.

Only TileGrid moves are optimized for overlap. All other overlaps
cause sending of duplicate pixels.

This also adds flip_x, flip_y and transpose_xy to TileGrid. They
change the direction of the pixels but not the location.

Fixes #1169. Fixes #1705. Fixes #1923.
2019-06-12 11:32:39 -07:00
Dan Halbert
ba1b36a800 Uncomment vm.c SUPEROPT (debugging typo); trim a few builds 2019-06-12 13:09:09 -04:00
Dan Halbert
1bb4fccc3b Turn off SUPEROPT on gc.c instead of trying to squueze inline limit so much; reorganize mpconfigboard.mk files 2019-06-12 11:08:22 -04:00
Dan Halbert
0b3f29780a shrink a bunch of builds to fit 2019-06-11 18:46:06 -04:00
Dan Halbert
4fc189b60c Merge latest 4.0.x fixes into master 2019-06-11 16:16:29 -04:00
shazz
9c49af0597 Added pin for SD CS 2019-06-08 12:04:27 -04:00
Dan Halbert
62de2506e4 Include display objects in gc. 2019-06-06 17:49:32 -04:00
Dan Halbert
1905d90eaa Make advertising data buffers long-lived 2019-06-05 20:08:53 -04:00
Elvis Pfützenreuter
1da8d4b4da Add PS/2 support -- ps2io module 2019-06-04 18:05:46 -03:00
Tavish Naruka
4a7122d354 boards: add support for Electronut labs Blip
Signed-off-by: Tavish Naruka <tavishnaruka@gmail.com>
2019-06-05 00:49:29 +05:30
Dan Halbert
613e12f99f Replace Broadcaster with enhanced Peripheral 2019-06-03 20:40:05 -04:00
Dan Halbert
63ac37946d 1. Remove advertising data construction in C: it's all done in Python now
2. Add scan response capability to advertising.
2019-06-02 23:21:30 -04:00
Dan Halbert
bcda5e133d
Merge pull request #1903 from tannewt/get_area
Rework the pixel computation to use areas
2019-05-31 21:27:06 -04:00
Dan Halbert
12f1d9d30c fix advertisement length check; add Service.secondary attribute 2019-05-31 18:03:05 -04:00
Dan Halbert
4e85c1ef91 Implement forced clean builds for boards so designated.
Mark boards that set CFLAGS_INLINE_LIMIT for particular langauges as needing clean builds.

Fixes #1910.
2019-05-24 15:32:24 -04:00
Dan Halbert
6cec81bcb5 Need to enable ble before scanning 2019-05-23 22:05:16 -04:00
Dan Halbert
e84f3b1c6a make crickit cpx pinyin build fit 2019-05-23 21:22:50 -04:00
Dan Halbert
1639354e5f Scanner working, but not very first time 2019-05-23 16:07:54 -04:00
Scott Shawcroft
3fad7de8db
Rework the pixel computation to use areas
This changes the displayio pixel computation from per-pixel to
per-area. This is precursor work to updating portions of the screen
(#1169). It should provide mild speedups because bounds checks are
done once per area rather than once per pixel. Filling by area also
allows TileGrid to maintain a row-associative fill pattern even when
the display's refresh is orthogonal to it.
2019-05-21 17:41:06 -07:00
Dan Halbert
0199d9810b Make pinyin fit on cpx 2019-05-21 15:18:56 -04:00
Dan Halbert
008bbc944c correct USB PIDs for several boards 2019-05-16 10:54:15 -04:00
Scott Shawcroft
f3ab820fc2
Merge pull request #1884 from CapableRobot/capablerobot-usbhub
Added board definition for Capable Robot Programmable USB Hub
2019-05-14 13:42:51 -07:00
Chris Osterwood
a0497553fc Fix to prevent critical pins from being reset when MCU restarts or enters REPL 2019-05-14 15:23:33 -04:00
Chris Osterwood
420dbafa9d Added board definition for Capable Robot Programmable USB Hub 2019-05-14 13:28:24 -04:00
sabas1080
9f082ba5cb Fix pin lost 2019-05-13 10:18:53 -05:00
Scott Shawcroft
36e2faf8d2
Merge pull request #1873 from ElectronicCats/escornabot_makech
Add Escornabot Makech of Electronic Cats
2019-05-10 12:39:58 -07:00
sabas1080
d174ce8821 Update pins define 2019-05-10 13:34:02 -05:00
Scott Shawcroft
67007282c9
Tighten down inlining on the pIRkey 2019-05-10 11:19:27 -07:00
Scott Shawcroft
80a752da87
Merge latest adafruit/master in. 2019-05-10 10:09:56 -07:00
Scott Shawcroft
9feb844b7e
Fix crash in internal filesystem on nrf
Fixes #1842
2019-05-08 15:43:18 -07:00
sabas1080
27ea1df710 Init escornabot 2019-05-08 15:48:17 -05:00
Scott Shawcroft
9ba8191a04
Merge pull request #1855 from dhalbert/frequencyin-no-double-arith
avoid double float arithmetic in FrequencyIn
2019-05-08 14:40:18 -04:00
sabas1080
08a170388d fix VID and PID inverted 2019-05-08 10:09:49 -05:00
Dan Halbert
f59dadbb4f avoid double float arithmetic in FrequencyIn 2019-05-07 00:25:22 -04:00
ladyada
ed8e6e8f45 re-add i2s (its J not G!) 2019-04-29 20:30:53 -04:00
ladyada
fa3a52bc1e similar to pybadge, has pin defs for joystick - comes up with filesys and display so good enough to start hacking :) 2019-04-29 20:29:48 -04:00
wallarug
aa3c28787c removed problem libraries from frozen build. 2019-04-28 00:09:13 +10:00
wallarug
b4a70daf17 updated lots 2019-04-27 22:35:12 +10:00
wallarug
cd4aaa13a3 added robohatmm1 board defs. 2019-04-25 21:13:41 +10:00
ladyada
9b593cd154 update periph submodule 2019-04-23 18:20:13 -04:00
ladyada
a5697470e1 fix up pybadge for final release board (swap backlite and reset) 2019-04-23 16:43:20 -04:00
Dan Halbert
15b7946fc4 Off-by-one error for usage of MAX_TX_IN_PROGRESS 2019-04-22 22:07:48 -04:00
Scott Shawcroft
f548305c07
Merge pull request #1815 from dhalbert/stop-flicker
Turn off auto_brightness if brightness is set
2019-04-18 15:48:39 -07:00
Dan Halbert
0113e0970e add Display.__init__() args for brightness and auto_brightness 2019-04-18 15:59:16 -04:00
Scott Shawcroft
f7c7904e2b
Correct call structure for throwing errors 2019-04-17 13:54:29 -07:00
Carlos
71c4f100de
Update translations and use same error for PDM too 2019-04-17 11:28:43 -07:00
Carlos
5865b28592
[audiobusio-I2SOut] Fix translation error 2019-04-17 11:12:38 -07:00
Carlos
65cc366280
[audiobusio-I2SOut] Fix compilation error by using mp_raise_ValueError_varg 2019-04-17 11:12:38 -07:00
Carlos
9f63125345
Fix I2SOut message, fix #1765 2019-04-17 11:12:38 -07:00
Scott Shawcroft
713a38d1a2
Merge pull request #1754 from dmazzella/dmazzella-patch-1
add support for USER_C_MODULES
2019-04-17 09:41:20 -07:00
Dan Halbert
6684a3c723
Merge pull request #1778 from pewpew-game/gamepad-shift
Add GamePadShift for handling shift-register-based buttons
2019-04-17 10:22:24 -04:00
Scott Shawcroft
608bf5076b
Merge pull request #1804 from ITACAInnovation/master
Merging updates
2019-04-16 13:54:40 -07:00
Dan Halbert
c0ce820974
Merge pull request #1803 from nickzoic/circuitpython-nickzoic-1042-nrf-nvm-bytearray-3
Circuitpython nickzoic 1042 nrf nvm bytearray 3
2019-04-16 15:05:18 -04:00
Scott Shawcroft
2fa1bf4351
Merge remote-tracking branch 'adafruit/master' into gamepadshift 2019-04-16 11:23:41 -07:00
Scott Shawcroft
55782901d0
Actually call gamepadshift_tick 2019-04-16 11:15:42 -07:00
Scott Shawcroft
f58446e937
Merge branch 'master' into master 2019-04-16 10:32:38 -07:00
Scott Shawcroft
7822d013cd
Merge pull request #1798 from ntavish/papyr
Add support for Electronut Labs Papyr.
2019-04-16 10:13:19 -07:00
Scott Shawcroft
0e03a321e4
Fully split gamepadshift from gamepad 2019-04-16 10:11:54 -07:00
ITACA Innovation S.R.L
2d303213ed Add files via upload 2019-04-16 16:50:54 +02:00
ITACA Innovation S.R.L
4f5a7ffe46 Updates: VID&PID, pinout
Changed VID & PID to new ones.
Changed the layout accordingly to the prototype version.
2019-04-16 16:45:47 +02:00
Tavish Naruka
32a0855d18 Add support for Electronut Labs Papyr.
Signed-off-by: Tavish Naruka <tavishnaruka@gmail.com>
2019-04-16 12:59:42 +05:30
Nick Moore
9c42a72275 Fix up single-byte access to nvm.ByteArray 2019-04-16 14:53:44 +10:00
Nick Moore
83dad37562 Fixups for adafruit/circuitpython#1042 2019-04-16 14:53:44 +10:00
Nick Moore
02dd32da60 Make some space for NVM adafruit/circuitpython#1042 2019-04-16 14:53:44 +10:00
Nick Moore
f22c01a05e Switch supervisor/internal_flash to use new nrf_nvm_safe_flash_page_write
adafruit/circuitpython#1610
2019-04-16 14:53:44 +10:00
Nick Moore
66e8ceafad switch nvm.ByteArray to use new nrf_nvm_safe_flash_page_write
adafruit/circuitpython#1610
2019-04-16 14:53:44 +10:00
Nick Moore
fd83cf2048 Add a peripherals/nrf/nvm.c to wrap flash page writes safely 2019-04-16 14:53:44 +10:00
Nick Moore
d0e5af3b09 Working flash pages for nvm.ByteArray adafruit/circuitpython#1042
import microcontroller

def dump(n = microcontroller.nvm):
    for i in range(0,len(n)):
        print ("%02X " % n[i], end="")
        if i % 16 == 15: print('')

microcontroller.nvm[0:4096] = bytes([1,2,3,4,5,6,7,8]) * 512
microcontroller.nvm[4096:8192] = bytes([16,17,18,19]) * 1024
microcontroller.nvm[4090:4101] = b'thisisatest'
microcontroller.nvm[100:105] = b'hello'
microcontroller.nvm[8000:8007] = b'goodbye'
dump()
2019-04-16 14:53:44 +10:00
Nick Moore
531cf7eb4c switch CIRCUITPY_NVM on! 2019-04-16 14:53:44 +10:00
Nick Moore
933500c448 nvm.ByteArray reads & writes but no sensible erase yet adafruit/circuitpython#1042 2019-04-16 14:53:44 +10:00
Nick Moore
df89156f2f Start on nRF nvm.ByteArray adafruit/circuitpython#1042 (doesn't do anything yet) 2019-04-16 14:53:44 +10:00
Scott Shawcroft
254d0a53ac
Revert "nrf nvm: touchups to nickzoic PR #1768" 2019-04-15 18:50:33 -07:00
Scott Shawcroft
c927e6b938
Split GamePadShift from GamePad to save space on most boards. 2019-04-15 15:40:06 -07:00
Scott Shawcroft
22889ca29a
Merge pull request #1790 from pewpew-game/pybadge-stage
Enable _stage module and freeze stage library on the PyBadge
2019-04-15 14:25:50 -07:00
Scott Shawcroft
7573da03f6
Merge pull request #1779 from dhalbert/nrf-nvm-2
nrf nvm: touchups to nickzoic PR #1768
2019-04-15 14:23:35 -07:00
Radomir Dopieralski
ade6bd8185 Enable _stage module and freeze stage library on the PyBadge 2019-04-15 14:38:02 +02:00
siddacious
5135ee52d9 Changing to support for CP32-M4 wrover 2019-04-14 19:45:44 -07:00
Radomir Dopieralski
eeef5359f9 Merge branch 'master' into gamepad-shift 2019-04-13 11:54:25 +02:00
Dan Halbert
f8473f4a39
Merge pull request #1788 from tannewt/pinyin
Add Chinese (Pinyin) and slim down boards so it fits
2019-04-12 20:36:59 -04:00
Scott Shawcroft
defc6dceb0
Slim down feather m0 express 2019-04-12 16:18:08 -07:00
Scott Shawcroft
796fc3f5ab
Update font location and shrink a bunch of builds 2019-04-12 15:25:48 -07:00
Scott Shawcroft
c064deaaf5
Merge pull request #1785 from pewpew-game/ugame-displayio
Enable displayio for the ugame10 board
2019-04-12 13:26:51 -07:00
Scott Shawcroft
7161038d6b
Turn off displayio because it is a satellite 2019-04-12 11:54:32 -07:00
Radomir Dopieralski
0599286e32 Use never_reset in ugame10 2019-04-12 20:45:52 +02:00
Radomir Dopieralski
947662415c Disable gamepad for feather_m0_express_crickit 2019-04-12 20:43:29 +02:00
Max Holliday
41499ac315
No I2S on G19 2019-04-12 10:06:17 -07:00
Max Holliday
e85b6fb83c
adding kicksat-sprite board
See https://github.com/RoboticExplorationLab/sprite for details
2019-04-12 10:06:17 -07:00
Radomir Dopieralski
dabbded622 Got back to using Display object in the Stage library 2019-04-12 11:19:19 +02:00
Radomir Dopieralski
c3136f4f32 Enable displayio for uGame10 board
Also, make the _stage library work with the fourwire bus, to re-use the
display.
2019-04-12 01:10:57 +02:00
Radomir Dopieralski
5603d0cd38 Configure the TFT spi to 24MHz by default
That is (slightly) out of spec for the display, but it works reliably.
2019-04-11 15:47:26 +02:00
Dan Halbert
864910559b fix subscripting 2019-04-10 21:41:55 -04:00
Scott Shawcroft
9f4f689879
Free up space in Itsy Bitsy M0 by limiting inline. 2019-04-10 14:09:14 -07:00
Dan Halbert
3618461f9b Merge remote-tracking branch 'adafruit/master' into circuitpython-nickzoic-1042-nrf-nvm-bytearray-2 2019-04-10 14:09:26 -04:00
ladyada
894c1e9590 Rev D/E (beta) hardware! 2019-04-10 08:37:20 -04:00
Dan Halbert
203d795bd6
Merge pull request #1772 from tannewt/fix_gc_never_free
Check that a never free pointer is on the heap.
2019-04-10 08:26:37 -04:00
Scott Shawcroft
44e32506ed
Don't make Pins for those not connected on Itsy M0 2019-04-10 00:06:59 -07:00
Dan Halbert
c0c809ad4b Fix version skew for bast_pro_mini build 2019-04-09 22:52:53 -04:00
Scott Shawcroft
ac2fd2fa80
Merge pull request #1773 from dhalbert/no-recursive-background-tasks
Don't let a background task call run_background_tasks()
2019-04-09 18:39:28 -07:00
Dan Halbert
d8763debf5
shrink sparkfun_lumidrive build 2019-04-09 21:23:28 -04:00
Dan Halbert
fc9cb038c4
Merge pull request #1715 from ElectronicCats/master
Added Bast Pro Mini M0
2019-04-09 20:53:05 -04:00
Dan Halbert
d633928a16 Don't let a background task call run_background_tasks() 2019-04-09 20:23:01 -04:00
Scott Shawcroft
129e725599
Merge branch 'master' into master 2019-04-09 14:40:36 -07:00
Scott Shawcroft
0e98eeb63b
Turn off touchio on pIRkey and add back usb midi.
USB MIDI was still being compiled in mostly anyway. There is no
place to touch on the board so touchio is useless.
2019-04-09 12:36:14 -07:00
Scott Shawcroft
ef23ffe584
Turn off audiobusio on Hallowing to free rom
It is about 5kb and the pins aren't broken out for it anyway.
2019-04-09 12:01:00 -07:00
Nick Moore
18908c21f7 Fixups for adafruit/circuitpython#1042 2019-04-09 12:53:11 +10:00
Nick Moore
fdaff00c78 Make some space for NVM adafruit/circuitpython#1042 2019-04-09 10:56:53 +10:00
Nick Moore
bcb87ffd6c Switch supervisor/internal_flash to use new nrf_nvm_safe_flash_page_write
adafruit/circuitpython#1610
2019-04-09 10:56:53 +10:00
Nick Moore
bc92441803 switch nvm.ByteArray to use new nrf_nvm_safe_flash_page_write
adafruit/circuitpython#1610
2019-04-09 10:55:39 +10:00
Nick Moore
cd69db7770 Add a peripherals/nrf/nvm.c to wrap flash page writes safely 2019-04-09 10:55:39 +10:00
Nick Moore
8e7fee2246 Working flash pages for nvm.ByteArray adafruit/circuitpython#1042
import microcontroller

def dump(n = microcontroller.nvm):
    for i in range(0,len(n)):
        print ("%02X " % n[i], end="")
        if i % 16 == 15: print('')

microcontroller.nvm[0:4096] = bytes([1,2,3,4,5,6,7,8]) * 512
microcontroller.nvm[4096:8192] = bytes([16,17,18,19]) * 1024
microcontroller.nvm[4090:4101] = b'thisisatest'
microcontroller.nvm[100:105] = b'hello'
microcontroller.nvm[8000:8007] = b'goodbye'
dump()
2019-04-09 10:55:39 +10:00
Nick Moore
592bd0140a switch CIRCUITPY_NVM on! 2019-04-09 10:55:15 +10:00
Nick Moore
492431a694 nvm.ByteArray reads & writes but no sensible erase yet adafruit/circuitpython#1042 2019-04-09 10:54:11 +10:00
Nick Moore
f8e5e2da64 Start on nRF nvm.ByteArray adafruit/circuitpython#1042 (doesn't do anything yet) 2019-04-09 10:54:11 +10:00
Scott Shawcroft
de48e4b262
Merge remote-tracking branch 'adafruit/master' into fix_cpx_display 2019-04-08 17:15:08 -07:00
Scott Shawcroft
0f003ac5b8
Reorganize board busses into shared-bindings and shared-module. 2019-04-08 16:58:50 -07:00
Scott Shawcroft
049b9ca094
Remove terse TODOs 2019-04-08 14:46:45 -07:00
Radomir Dopieralski
8323721232 Stop hard-coding SPI frequency in FourWire
Instead remember and use the frequency, polarity and phase that was
set when the bus was first created.
2019-04-06 15:15:29 +02:00
Scott Shawcroft
7686f93ef4
Fix crash when getting board.SPI outside the VM
If one of the default pins was already in use it would crash.

The internal API has been refined to allow us to get the value
without causing an init of the singleton.

Fixes #1753
2019-04-05 19:06:37 -07:00
Damiano Mazzella
8428fa0f64
Update Makefile 2019-04-05 21:42:29 +02:00
Melissa LeBlanc-Williams
36b10104d6 Adjusted inline limit to fix Hallowing PL build 2019-04-05 12:17:16 -07:00
Melissa LeBlanc-Williams
7872a33f8b Merge branch 'master' of https://github.com/adafruit/circuitpython into ssd1331 2019-04-05 11:10:02 -07:00
Dan Halbert
50d72ed993 shrink sparkfun_lumidrive to make room for large translations 2019-04-05 11:23:47 -04:00
Melissa LeBlanc-Williams
af3d809980 Updated boards files with displays 2019-04-04 23:18:15 -07:00
Dan Halbert
b5bc8b3fc2
Merge pull request #1745 from dhalbert/rotaryio-typo-eic-refactor
ROTARYIO_MODULE typo; EIC interrupt handler refactor
2019-04-04 23:53:46 -04:00
Dan Halbert
682e83a63c Turn off rotaryio on pewpew10 so de_DE will fit 2019-04-04 20:28:32 -04:00
Dan Halbert
29df5930dd #if EIC handlers; turn off rotaryio in pirkey for space reasons 2019-04-04 16:48:38 -04:00
Dan Halbert
2528b67e77 update samd-peripherals 2019-04-04 16:36:14 -04:00
Dan Halbert
cdd77b5972 remove CPy-specific EIC handlers from samd-peripherals 2019-04-04 16:04:11 -04:00
Scott Shawcroft
ceb6f2e4fc
Rework flash flush so it preserves the cache
This should make filesystem writes quicker and cause less heap
churn.
2019-04-03 18:28:27 -07:00
Sabas
19c6b8aa0c
Merge branch 'master' into master 2019-04-02 23:15:56 -06:00
Dan Halbert
19278e0284
Merge pull request #1736 from nickzoic/circuitpython-nickzoic-1046-nrf-rtc-2
Circuitpython nickzoic 1046 nrf rtc 2
2019-04-02 17:38:24 -04:00
Dan Halbert
709de9ce9f
Merge pull request #1732 from ladyada/master
add airlift lite - samd51j19 + 2MB QSPI
2019-04-02 17:11:59 -04:00
Nick Moore
781d301bb6 Remove unnecessary MP_WEAK declarations 2019-04-02 13:33:22 +11:00
Scott Shawcroft
92095eb666 Update comment 2019-04-02 13:28:35 +11:00
Nick Moore
94bda3bde1 Change nRF RTC implementation to use RTC2 #1046
(to avoid interference with Bluetooth Softdevice. See
https://github.com/adafruit/circuitpython/pull/1534#issuecomment-478776240
with thanks to @bboser for pointing it out)
2019-04-02 13:28:22 +11:00