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