Matthew Newberg
d87bfaf480
Add random dithering to ColorConverter
2019-08-31 22:07:09 -04:00
sommersoft
3c7c3c98d7
include CMSIS instrinsic addition functions for M4; cleanup C math funcs
2019-08-31 17:36:54 -05: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
Scott Shawcroft
bea77c651a
Minor renames
2019-08-26 16:37:59 -07:00
sommersoft
696117b048
disable audiomixer on boards it doesn't fit on
2019-08-25 14:53:34 -05:00
sommersoft
7f64af38cb
fix 'audiomixer_mixer_reset_buffer'
2019-08-25 09:33:23 -05:00
sommersoft
df5568d993
move Mixer & MixerVoice from 'audiocore' to 'audiomixer'
2019-08-24 23:36:18 -05:00
sommersoft
b54fd961cb
Merge branch 'master' of https://github.com/adafruit/circuitpython into mixer_voice
2019-08-24 17:14:05 -05:00
sommersoft
965f2bf799
fix MixerVoice.get_level; now returns a float between 0-1.
2019-08-24 09:24:54 -05:00
sommersoft
2c55b40a53
use a MixerVoice constructor
2019-08-24 07:56:12 -05:00
Scott Shawcroft
7324b70a7c
Rework based on Dan's review
2019-08-23 15:27:21 -07:00
Scott Shawcroft
72e7ffa324
More cleanup
2019-08-22 16:16:09 -07:00
Scott Shawcroft
8d836fa248
Regular display fixes including refresh tweaks
2019-08-22 14:25:46 -07:00
Scott Shawcroft
f2a1972ba8
Add refresh_time to use if busy_pin is not given
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
24b30965c4
Refresh ePaper displays once code.py is done running
2019-08-22 14:23:32 -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
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
Dave Astels
d547d59cba
Merge remote-tracking branch 'adafruit/master' into displayio_fill_area
2019-08-21 15:02:51 -04:00
Dan Halbert
e00696de7f
merge from upstream and make translate
2019-08-20 13:06:23 -04:00
Dan Halbert
cccbbd956d
Detect lack of pulldown; check for pin in use
2019-08-19 23:40:34 -04:00
sommersoft
1b2996a75e
Merge branch 'master' of https://github.com/adafruit/circuitpython into mixer_voice
2019-08-19 21:23:27 -05:00
sommersoft
17190ae63e
abandon incomplete mixer asm math functions
2019-08-19 21:20:52 -05: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
Dan Halbert
6b54e6749e
Merge pull request #2032 from pewpew-game/audiocore-buffer
...
Allow to specify pre-allocated buffer in audicore.WaveFile
2019-08-19 11:54:19 -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
Scott Shawcroft
b3de7efc07
Fix I2CDisplay lifecycle and splash lifecycle.
...
Fixes https://github.com/adafruit/Adafruit_CircuitPython_DisplayIO_SSD1306/issues/2
2019-08-14 15:53:58 -07:00
sommersoft
614962ad6f
non-DSP 8bit & 16bit functions working.
2019-08-13 19:30:42 -05:00
Scott Shawcroft
49cb72d585
Merge pull request #2047 from brentru/fix-terminalio-clearing
...
Fix Terminal's Tilegrid not Clearing
2019-08-12 16:00:43 -07:00
Jeff Epler
e3c0428838
shared-module: Use RUN_BACKGROUND_TASKS
2019-08-11 08:53:02 -05:00
Jeff Epler
be5205d020
usb_hid: Allow USB work to progress while waiting for tud_hid_ready
...
Otherwise, examples like the one attached to the related issue fail
because tud_hid_ready never returns true.
Testing performed: Adapted the example to nrf particle xenon (it was
handy), removed dependency on IR, verified that the problem occurred
before this change, and that it was fixed after this change.
Closes : #2048
2019-08-10 09:33:45 -05:00
brentru
1b7e213be4
fix terminalio not clearing on construct
2019-08-08 14:58:51 -04:00
Dan Halbert
243334da75
Merge remote-tracking branch 'adafruit/master' into ble-pairing
2019-08-05 23:06:24 -04:00
Scott Shawcroft
26f64dd8ec
Merge remote-tracking branch 'adafruit/4.1.x' into merge_in_410
2019-08-05 17:53:08 -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
b67d04a5b1
Merge remote-tracking branch 'adafruit/master' into ble-pairing
2019-08-05 16:35:44 -04:00
Roy Hooper
3cf9a475b9
fix 'white' byte for dotstars
2019-08-04 11:02:33 -04:00
sommersoft
065efb05b7
bring MixerVoice back to building state; update documentation
2019-08-03 11:20:06 -05:00
Radomir Dopieralski
9907e3fa28
Allow to specify pre-allocated buffer in audicore.WaveFile
...
It lets us re-use the same buffer for playing multiple files.
This also allows us to control the size of the buffer. Half of the
buffer will be used for the fist, and half for the second internal
buffer.
2019-08-03 14:15:19 +02:00
Dan Halbert
7ce3776b80
WIP: rework of Characteristic properties; enhance Descriptor; not tested
2019-08-02 17:57:31 -04:00
Radomir Dopieralski
c1e5247d51
Add support for scaling to _stage
...
On high-resolution displays we can use 2x2 or even 3x3 pixels.
2019-08-02 22:55:55 +02:00
Dave Astels
cd092df9d8
Merge remote-tracking branch 'adafruit/master' into displayio_fill_area
2019-07-31 18:46:41 -04:00
sommersoft
9939d0c4f4
Merge branch 'master' of https://github.com/adafruit/circuitpython into mixer_voice
2019-07-31 16:44:43 -05:00
Jeff Epler
b0f7c7bc4c
Merge remote-tracking branch 'origin/master' into nrf-pwm-audio
2019-07-31 16:32:54 -05:00
Dave Astels
1f9cb44fa3
Expose rotation with a property
2019-07-31 15:00:21 -04:00
Dan Halbert
ee518b9141
Merge remote-tracking branch 'adafruit/master' into ble-pairing
2019-07-31 11:22:48 -04:00
Dan Halbert
28ca05ccdc
allow discovery from central or peripheral
2019-07-27 13:22:15 -04:00
Jeff Epler
7b9d26cefe
WavFile.h: include vfs_fat.h for pyb_file_obj_t definition
...
Without such a definition, this header is not self-contained, but
requires whoever included it to also include vfs_fat.h
2019-07-26 07:52:37 -05:00
Jeff Epler
54cde56ec5
audiopwmio: Add the shared files for this new module
2019-07-26 07:52:37 -05:00
Scott Shawcroft
af8cfbedfb
Add knobs for SSD1322 and two fixes.
...
* Fix terminal clear after first successful code.py run.
* Fix transmitting too many bytes for column constraint with single
byte bounds.
2019-07-25 15:41:12 -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
hathach
c921f6637f
update tinyusb lib to 0.5.x
2019-07-24 16:46:31 +07:00
Hierophect
58630a844a
Add feature conditionals and clean up
2019-07-22 12:58:28 -04:00
Roy Hooper
31e4591691
WIP: refactor _pixelbuf to use strings instead of classes
2019-07-21 16:37:06 -04:00
Roy Hooper
a62a1ae2bd
WIP: refactor _pixelbuf to use strings instead of classes
2019-07-21 16:30:09 -04:00
Scott Shawcroft
1d1b8703b6
Review feedback including NO_BRIGHTNESS_COMMAND macro
2019-07-19 16:11:13 -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
Scott Shawcroft
d9089f52ce
Fix it's -> its
2019-07-19 10:42:20 -07:00
Scott Shawcroft
4a6bdb6fe4
Track a dirty area for in-memory bitmaps
...
This fixes the bug that bitmap changes do not cause screen updates
and optimizes the refresh when the bitmap is simply shown on the
screen. If the bitmap is used in tiles, then changing it will
cause all TileGrids using it to do a full refresh.
Fixes #1981
2019-07-18 16:47:28 -07:00
Hierophect
43e8a4110f
Add missing files for DigitalIO
2019-07-17 14:18:01 -04:00
Dan Halbert
364ee62d10
Address review comments.
2019-07-16 19:53:36 -04:00
Dan Halbert
6a001786a9
merge from master
2019-07-09 08:58:49 -04:00
Hierophect
040acc3a32
remove dependencies for stable build
2019-07-01 19:47:10 -04:00
Dan Halbert
140904ec84
getting Scanner to work
2019-06-22 22:10:15 -04:00
Dan Halbert
24ac1fdcab
WIP: backup only; not compiled
2019-06-19 21:54:28 -04: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
13c3d06c6a
Merge pull request #1952 from tannewt/fixup_tilegrid_dirty
...
Fix TileGrid's dirty tracking when changing top left
2019-06-18 10:29:12 -07:00
Dan Halbert
1356819de1
Handle None for BLE name; fix ScanEntry bug; compile issue
2019-06-17 23:16:40 -04:00
Scott Shawcroft
4013bcde9e
Add baudrate to FourWire and shorten delay.
2019-06-17 17:48:05 -07:00
Scott Shawcroft
7490adf8e9
Use width for x. Thanks @deshipu
2019-06-17 16:23:38 -07:00
Scott Shawcroft
da3d75f7b1
Fix TileGrid's dirty tracking when changing top left
2019-06-17 16:23:37 -07:00
Dan Halbert
bed6d43a76
merge from upstream; WIP redo Address; no more AddressType
2019-06-13 21:55:07 -04:00
Scott Shawcroft
6f6dcafd90
Minor tweaks based on Dan's feedback
2019-06-13 00:34:19 -07:00
Scott Shawcroft
a35d9b469d
Refactor deinit check to reduce code size.
2019-06-12 11:36:43 -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
4fc189b60c
Merge latest 4.0.x fixes into master
2019-06-11 16:16:29 -04:00
Dan Halbert
62de2506e4
Include display objects in gc.
2019-06-06 17:49:32 -04:00
Carlos
671178c8c4
[shared-module/audioio/WaveFile.h] Change sample_rate from uint16_t to uint32_t so it matches the sample rate type parsed from the WAV header format, fix #1922
2019-06-04 21:31:30 -05:00
Dan Halbert
613e12f99f
Replace Broadcaster with enhanced Peripheral
2019-06-03 20:40:05 -04:00
Scott Shawcroft
5d0791cafb
Fix off-by-one error
...
It caused the bottom and right edges to be one pixel short.
2019-05-31 15:50:55 -07:00
Scott Shawcroft
7a117f52ed
Make point 2 in areas exclusive and simplify full_coverage.
2019-05-22 15:00:47 -07: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
Scott Shawcroft
00c39805f1
Remove old comment
2019-05-15 14:17:09 -07:00
Scott Shawcroft
5608e273a0
Add index and remove to Group.
2019-05-15 11:33:16 -07:00
Scott Shawcroft
46164c6ec6
Merge pull request #1837 from nickzoic/circuitpython-nickzoic-1800-wiznet-socket
...
WIP: Circuitpython nickzoic 1800 wiznet socket
2019-05-10 11:31:18 -07:00
Nick Moore
0d08dde62e
randomize tcp source port for adafruit/circuitpython#1800
2019-05-10 13:56:33 +10:00
Nick Moore
af0bba0622
reset wiznet at network deinitialize adafruit/circuitpython#1800
2019-05-10 13:55:45 +10:00
Scott Shawcroft
e64bbc41ec
Handle -scale to 0 correctly in Group
...
Fixes #1839
2019-05-09 11:38:30 -07:00
Nick Moore
264fc2b070
Make wiznet5k RST pin optional adafruit/circuitpython#1800
2019-05-07 18:41:53 +10:00
Nick Moore
24934a1e8a
Clean up list of NICs on network deinit adafruit/circuitpython#1800
2019-05-07 18:20:08 +10:00
Nick Moore
baa9c02c8b
Add a kw-only argument "dhcp" to wiznet5k object
2019-05-02 16:05:33 +10:00
Nick Moore
09d0e99d5b
assign variable socket number to DHCP
2019-05-02 16:05:33 +10:00
Nick Moore
09b83e96b3
Avoid socket #0 used by DHCP
2019-05-02 14:32:35 +10: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
c372567330
Fix off by one error in OnDiskBitmap
...
It resulted in the first row of pixels being pulled for out of bounds.
Fixes #1801
2019-04-17 15:17:11 -07:00
Scott Shawcroft
190bdf8117
Simplify type check in tick and init last
2019-04-16 10:44:09 -07:00
Scott Shawcroft
6132a05fd9
Include cleanup and style tweaks
2019-04-16 10:19:07 -07:00
Scott Shawcroft
0e03a321e4
Fully split gamepadshift from gamepad
2019-04-16 10:11:54 -07:00
Scott Shawcroft
c927e6b938
Split GamePadShift from GamePad to save space on most boards.
2019-04-15 15:40:06 -07:00
Radomir Dopieralski
eeef5359f9
Merge branch 'master' into gamepad-shift
2019-04-13 11:54:25 +02:00
Radomir Dopieralski
4dc286fa14
Reorganize the gamepad code
2019-04-12 20:43:29 +02:00
Radomir Dopieralski
ae60968563
More refactoring
2019-04-12 20:43:29 +02:00
Radomir Dopieralski
7e89beeb31
Optimize the size of code for gamepad
2019-04-12 20:43:29 +02:00
Radomir Dopieralski
3469b1ec5d
Add debouncing to GamePadShift
2019-04-12 20:43:29 +02:00
Radomir Dopieralski
b485e45f4f
Go back to simple bit-banging in GamePadShift, fix problems
2019-04-12 20:43:29 +02:00
Radomir Dopieralski
a7925930fa
Read one bit per system clock tick in GamePadShift
2019-04-12 20:43:29 +02:00
Radomir Dopieralski
6ff4e0ecb0
Add GamePadShift for handling shift-register-based buttons
2019-04-12 20:43:29 +02:00
Radomir Dopieralski
d39e7e7dd5
Use displayio.Display directly
2019-04-12 12:46:28 +02:00
Scott Shawcroft
72992070c5
Fix boards with no shared busses.
2019-04-09 11:36:10 -07:00
Scott Shawcroft
ac7822ba4c
Delete stale TODO
2019-04-08 17:37:30 -07: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
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
Melissa LeBlanc-Williams
97baa7899f
Added comment regarding parameter loop
2019-04-05 11:11:27 -07:00
Melissa LeBlanc-Williams
8f1fc6c07d
Added option to easily treat SPI parameter data as commands
2019-04-04 23:15:00 -07:00
Scott Shawcroft
6fcda1dec4
Support multi-byte values with Bitmap
...
It also corrects the behavior of single byte values.
Fixes #1744
2019-04-04 12:50:35 -07:00
caternuson
5298119aa2
change direction of shift right
2019-04-03 09:21:34 -07:00
Melissa LeBlanc-Williams
f1e4a2ffb9
Removed unnecessary bit-ANDing
2019-04-01 19:52:35 -07:00
Melissa LeBlanc-Williams
8b4ca24e56
Improved readability of Single Byte Bounds code
2019-03-31 14:17:54 -07:00
Melissa LeBlanc-Williams
e254597c24
Merge branch 'master' of https://github.com/adafruit/circuitpython into ssd1351-fix
2019-03-28 17:27:59 -07:00
Scott Shawcroft
9ff54fdf72
Merge pull request #1685 from makermelissa/master
...
Added option to enable toggling CS between init commands
2019-03-28 09:45:01 -07:00
Melissa LeBlanc-Williams
8087cb41e5
Merge branch 'master' of https://github.com/adafruit/circuitpython into ssd1351-fix
2019-03-27 20:18:37 -07:00
Melissa LeBlanc-Williams
2e0268cb09
Simplified cs toggling into fourwire only
2019-03-27 20:17:22 -07:00
Melissa LeBlanc-Williams
f3ec0514cd
Simplified into fourwire only
2019-03-27 20:11:32 -07:00
Scott Shawcroft
9232ec50f1
Fix HID buffer lookup
...
The previous code assumed HID report ids were consecutive. This is
not true in the CircuitPython descriptor where report ids are fixed
for each report type.
Fixes #1617
2019-03-27 15:23:20 -07:00
Dan Halbert
374f210771
TileGrid: pixel_shader is not always a palette
2019-03-27 10:55:50 -04:00
Melissa LeBlanc-Williams
f4cede4747
Removed parameter so CS is always toggled
2019-03-26 18:46:13 -07:00
Melissa LeBlanc-Williams
b2ad16f5c8
Removed parameter so CS is always toggled
2019-03-26 18:34:07 -07:00
Melissa LeBlanc-Williams
a54493b4ae
Added small delay inside toggle for edge cases
2019-03-26 07:45:17 -07:00
Melissa LeBlanc-Williams
09a1f06bbf
Added small delay inside toggle for edge cases
2019-03-26 07:39:40 -07:00
Melissa LeBlanc-Williams
cc96c39e6d
Fixed wrong operator
2019-03-25 23:58:58 -07:00
Melissa LeBlanc-Williams
c3329e224d
Added Single Byte Boundaries option for certain displays
2019-03-24 23:59:28 -07:00
Melissa LeBlanc-Williams
b25c4baeec
Moving Toggle to before command fixes driver issue
2019-03-23 21:04:25 -07:00
Melissa LeBlanc-Williams
fadb5a1024
Added option to toggle cs in displayio init sequence
2019-03-23 18:34:42 -07:00
Dan Halbert
26262cd477
Merge pull request #1670 from tannewt/fontio
...
Move Glyph and BuiltinFont into fontio
2019-03-20 17:36:04 -04:00
Scott Shawcroft
9f3ca66f97
Merge pull request #1676 from pewpew-game/bug1671
...
Make displayio.Palette support more than 255 colors
2019-03-20 14:13:18 -07:00
Radomir Dopieralski
f5cfd6e1f1
Make displayio.Palette support more than 255 colors
...
Fix #1671
2019-03-20 20:36:05 +01:00
Scott Shawcroft
5e2fec714c
Move Glyph and BuiltinFont into fontio
...
It was confusing in displayio.
Fixes #1662
2019-03-19 16:22:09 -07:00
Dan Halbert
43915133a1
after code.py runs, flush filesystem before resetting heap
2019-03-16 16:49:32 -04:00
Scott Shawcroft
946790bfb5
Add better PewPew error messages and update translations
2019-03-12 17:21:15 -07:00
Scott Shawcroft
224e9b1009
Standardize TileGrid to x and y properties over position
...
This brings it inline with Group. Also fixes #1613
This also includes a number of fixes for where a method is called
through a subclass. We now correctly get the native object.
Fixes #1567
Lastly, this adds subscript support to TileGrid for changing tile
indices. Similar to Bitmap, it accepts ints or 2-tuples.
2019-03-12 17:18:33 -07:00
Scott Shawcroft
ea45877ca5
Accept x and y kwargs into Group for initial position.
2019-03-12 17:17:32 -07:00
sommersoft
a498bcd94d
add voice level getter
2019-03-12 16:10:54 -05:00
sommersoft
7aa0840b73
change voice 'gain' to 'level'
2019-03-12 10:24:54 -05:00
Radomir Dopieralski
caf51cf4eb
Add default devices and tweak brightness in boards/pewpew10
2019-03-11 19:09:21 +01:00
sommersoft
e2fd34d7cc
Merge branch 'dm-mixer' of https://github.com/adafruit/circuitpython into mixer_volume
2019-03-08 13:05:45 -06:00
Dan Halbert
1f31877d55
Rework background display task to allow reads from SPI SD card during display. Clarify code. Handle multiple displays better.
2019-03-07 00:08:16 -05:00
Dan Halbert
c854f6617a
check display-bus transaction status and act accordingly
2019-03-06 13:45:48 -05:00
Dan Halbert
2eaa98ad71
Merge pull request #1601 from penguindustin/master
...
added height and width attributes for displayio
2019-03-06 12:43:55 -05:00
Dustin Mendoza
4145f87fcd
changed from mp_int_t to uint16_t
2019-03-05 21:25:09 -08:00
Dan Halbert
146271fa58
Merge pull request #1604 from dhalbert/display_wait_for_frame-check-interrupts
...
Don't wait for display frame if interrupt pending
2019-03-04 13:55:13 -05:00
Dan Halbert
17bf2afa41
Merge pull request #1607 from pewpew-game/pewpew10.x-4.x
...
Add support for PewPew 10.x boards
2019-03-01 14:07:32 -05:00
Radomir Dopieralski
7afbfc7003
Use find_free_timer()
2019-03-01 16:46:59 +01:00
Bryan Siepert
76dc8e1ac8
fixed typo
2019-03-01 07:32:46 -08:00
Bryan Siepert
014595bff5
fixed whitespace, clarified variable name, and updated error messages
2019-03-01 07:17:50 -08:00
Radomir Dopieralski
a9074f7bd1
More style fixes
2019-03-01 16:11:22 +01:00
Radomir Dopieralski
89b2788d11
Apply review fixes:
...
* fix formatting
* fix copyrights
* fix CIRCUITPYTHON_GAMEPAD guards
* add CIRCUITPYTHON_PEW guards to reset
* fix module list order
2019-03-01 16:05:15 +01:00
Radomir Dopieralski
45fea86554
Rebase on top of CircuitPython 4.x
2019-03-01 14:59:21 +01:00
Bryan Siepert
398c7060f8
added monochrome, 8bpp indexed, and 32bpp ARGB BMPs
2019-02-28 23:08:12 -08:00
Dan Halbert
ced37c1001
Don't wait for display frame if interrupt pending
2019-02-28 22:36:50 -05:00
Radomir Dopieralski
48f0a5163e
Reset timer when releasing _pew
2019-02-28 23:34:03 +01:00
Radomir Dopieralski
59f63eaef6
Handle new buttons
2019-02-28 23:34:03 +01:00
Radomir Dopieralski
55b511a5d8
Use a dedicated timer
2019-02-28 23:33:37 +01:00
Radomir Dopieralski
88e40193ae
Add a _pew module
2019-02-28 23:32:58 +01:00
Dustin Mendoza
f127be4dd2
added height and width attributes for displayio
2019-02-25 16:39:20 -08:00
Bryan Siepert
b81072e750
(fork rebuild) Initial support for 16bpp 555&565 and 8bpp grayscale bitmaps
2019-02-23 10:58:46 -08:00
Dan Halbert
d218069f03
Merge pull request #1584 from tannewt/disable_concurrent_write_protection
...
Add option to disable the concurrent write protection
2019-02-21 17:15:50 -05:00
Scott Shawcroft
08158a7c34
Tweak the backlight PWM rate to be higher that audio range. Fixes #1571
2019-02-21 12:02:01 -08:00
Scott Shawcroft
1a0596a2fb
Add option to disable the concurrent write protection
...
This allows writing to the filesystem from the host computer and
CircuitPython by increasing the risk of filesystem corruption.
2019-02-21 10:45:41 -08:00
Scott Shawcroft
b1e8c43679
Fix reload while display is updating.
2019-02-19 14:51:39 -08:00
Scott Shawcroft
46fd60c703
Prevent infinite display update recursion and fix VFS mounting
...
Fixes #1529
2019-02-19 14:50:31 -08:00
Scott Shawcroft
c9f036ed40
Store the original layer in Group
...
As is we would return the native superclass object only.
Fixes #1551
2019-02-15 14:29:59 -08:00
Scott Shawcroft
473bdf48f6
A safe mode fix and displayio fixes
...
* Fixes safe mode on the SAMD51. The "preserved" value was being
clobbered by the bootloader.
* Fixes auto-reload loop when in safe mode.
* Fixes reading Group children with [].
* Check that a TileGrid actually moves before queueing a refresh.
2019-02-13 15:31:06 -08:00
Dan Halbert
66b0c67f54
Merge pull request #1536 from TG-Techie/patch-4
...
DISPIO: end_x can't be > height of shape
2019-02-12 19:17:10 -05:00
TG-Techie
4fbbb999b9
DISPIO: end_x can't be > height of shape
...
an author must have forgotten to change from height to width after copy paste.
2019-02-12 17:53:11 -05:00
Scott Shawcroft
1e16b3e134
Tweaks based on dhalbert's feedback.
2019-02-12 14:18:53 -08:00
Scott Shawcroft
c17f147be9
A variety of displayio improvements
...
This changes a number of things in displayio:
* Introduces BuiltinFont and Glyph so the built in font can be used by libraries. For boards with
a font it is available as board.TERMINAL_FONT. Fixes #1172
* Remove _load_row from Bitmap in favor of bitmap[] access. Index can be x/y tuple or overall index. Fixes #1191
* Add width and height properties to Bitmap.
* Add insert and [] access to Group. Fixes #1518
* Add index param to pop on Group.
* Terminal no longer takes unicode character info. It takes a BuiltinFont instead.
* Fix Terminal's handling of [###D vt100 commands used when up arrowing into repl history.
* Add x and y positions to Group plus scale as well.
* Add bitmap accessor for BuiltinFont
2019-02-11 20:55:05 -08:00
Craig Forbes
de43911a68
Remove usb_midi.PortIn and PortOut constructors.
2019-02-06 22:22:15 -06:00
Scott Shawcroft
448ae64d8e
Add support for display rotation and raw commands
...
Display rotation is relative to the scan order of the display.
The scan order can be found by scrolling the display with command
0x37 `display_bus.send(0x37, struct.pack(">H", i % 128))`
Fixes #1504
2019-02-01 00:32:03 -08:00
Scott Shawcroft
354a26963b
Correctly handle no backlight pin.
2019-01-31 11:42:15 -08:00
Scott Shawcroft
2c069a5685
Polish up comments
2019-01-31 11:42:15 -08:00
Scott Shawcroft
4672866eec
Remove Sprite references
2019-01-31 11:42:14 -08:00
Scott Shawcroft
601a910f4e
More improvements to Terminal:
...
* Fix Hallowing.
* Fix builds without displayio.
* Fix y bounds that appears as untrollable row of pixels.
* Add scrolling to TileGrid.
* Remove Sprite to save space. TileGrid is a drop in replacement.
2019-01-31 11:42:14 -08:00
Scott Shawcroft
6145f08cc8
Support adjustable backlight brightness
2019-01-31 11:42:14 -08:00
Scott Shawcroft
69bc5e189b
Rudamentary backlight support
2019-01-31 11:42:14 -08:00
Scott Shawcroft
1a1dbef992
Hook up the terminal based on the first display.
2019-01-31 11:42:14 -08:00
Scott Shawcroft
590e029198
Begin font parsing and packing for terminal
2019-01-31 11:42:13 -08:00
Scott Shawcroft
fb0970ec6e
Add terminalio
2019-01-31 11:42:13 -08:00
Scott Shawcroft
73cf490635
Add TileGrid
2019-01-31 11:42:13 -08:00
Scott Shawcroft
b2f2abcb22
Make palette color ordering consistent with ColorConvertes and fix blinka.
2019-01-23 14:44:46 -08:00
Scott Shawcroft
3139d0dc20
Use common delay function during display init so we don't starve background tasks.
2019-01-23 14:43:54 -08:00
Scott Shawcroft
a380865655
Merge remote-tracking branch 'adafruit/master' into HEAD
2019-01-22 14:02:07 -08:00
Dan Halbert
777408ff8d
struct.pack_into incorrect buffer size check
2019-01-21 11:45:38 -05:00
Scott Shawcroft
2bcf81fb9e
Merge pull request #1479 from siddacious/master
...
adding height and width to OnDiskBitmap for #1460
2019-01-21 00:32:49 -08:00
Bryan Siepert
ab2ad7ba45
adding height and width to OnDiskBitmap for #1460
2019-01-20 22:33:22 -08:00
Dan Halbert
a8f4aa4796
Merge remote-tracking branch 'adafruit/master' into struct-compat
2019-01-20 21:47:13 -05:00
Dan Halbert
7a09af73ec
Improve struct compatibility with CPython
2019-01-20 15:12:34 -05:00
Roy Hooper
50af08a6f3
Merge branch 'master' into pixelbuf
2019-01-19 16:33:59 -05:00
Scott Shawcroft
ae52c964c2
Cleanup display rework for PR.
...
Fixes #1465 . Fixes #1337 . Fixes #1168
2019-01-18 13:47:40 -08:00
Scott Shawcroft
fddc98858a
fix nonetype handling and nrf never reset
2019-01-17 18:51:40 -08:00
Scott Shawcroft
6404aaf411
Fix up nrf and using board.SPI in FourWire
2019-01-17 18:19:07 -08:00
Scott Shawcroft
760bd8d8a4
share fourwire and make nrf compile
2019-01-17 15:15:59 -08:00
Scott Shawcroft
2d136d58bf
Fix other builds and hallowing
2019-01-17 14:45:29 -08:00
Scott Shawcroft
5277138c99
pyportal compiles and tweak blinka colors
2019-01-17 10:57:05 -08:00
Scott Shawcroft
84292ad890
External fourwire works and blinka splash after
2019-01-17 00:20:16 -08:00
Scott Shawcroft
05d8885a1a
Rework displays in prep for dynamic support and 8bit parallel.
2019-01-16 12:05:20 -08:00
Scott Shawcroft
bfd531281a
Fix default values on last line.
2019-01-15 10:15:55 -08:00
Scott Shawcroft
747f2cfe26
Add subclass support to displayio.
...
Also, swap make_news to accept a kwarg map and refine param checking.
Fixes #1237
2019-01-14 17:29:19 -08:00
Scott Shawcroft
a14762a16c
Add support for rendering a shape.
...
Fixes #1171
2019-01-14 17:29:15 -08:00
Roy Hooper
ffe734edf7
Fresh combined checkin of _pixelbuf library.
2019-01-13 23:51:13 -05:00
Scott Shawcroft
62a8cc2825
Merge pull request #1453 from tannewt/text_on_pyportal
...
Enable the display on pyportal
2019-01-11 10:33:16 -08:00
Dan Halbert
50ee5ef24c
merge translations; add bleio comments; fix minor sphinx issues in midi
2019-01-10 21:12:17 -05:00
Scott Shawcroft
6594937a65
Support rendering groups inside groups
2019-01-10 17:30:16 -08:00
Scott Shawcroft
3dd59c3d5f
Polish thanks to Dan's feedback
2019-01-10 11:00:40 -08:00
Scott Shawcroft
b5e40f52c2
Add USB MIDI support for SAMD and nRF.
...
The API should be identical to using a UART for MIDI.
Fixes #672
2019-01-09 14:02:11 -08:00
Dan Halbert
f66f55b4ed
add CharacteristicBuffer; UART seems to work!
2019-01-07 22:46:20 -05:00
Dan Halbert
1dc3957e72
LocalPeripheral is now Peripheral; more work on basic GATTS support; UART not working yet
2018-12-30 22:33:49 -05:00
Dan Halbert
ef39e72c7c
free event handlers on reset; fix typo in Broadcaster
2018-12-29 13:55:10 -05:00
Dan Halbert
4d1f0ec07b
Add Broadcaster. Reset correctly on reload.
2018-12-28 23:34:23 -05:00
Dan Halbert
4167bf5b24
wip: advertising works, but not connection
2018-12-27 00:04:04 -05:00
Dan Halbert
a7a24096f4
bleio WIP: redo for more immutability; use sd_* routines for internal flash write
2018-12-07 16:52:47 -05:00
Dan Halbert
f6c73b35f9
Merge pull request #1323 from notro/os_mkdir_a_b
...
shared-module/os: Fix os.mkdir('a/b')
2018-11-27 17:08:51 -05:00
dean
1bf6c588e7
DM: mixer voice stuff
2018-11-20 14:14:22 -05:00
dean
feef177858
DM: in progress mixer voice
2018-11-15 15:04:11 -05:00
dean
dd05aafb9b
DM: adding mixer voice API
2018-11-15 14:11:45 -05:00
dean
59c6ed34fd
DM: mixer voice object skeleton
2018-11-14 18:05:29 -05:00
Noralf Trønnes
28383afa11
shared-module/os: Fix os.mkdir('a/b')
...
This fixes commit a99f9427420d("'/' and '\' are also acceptable ends of the path now") which broke mkdir.
The problem is where the directory name is a single letter like this:
>>> os.mkdir('a')
>>> os.mkdir('a/b')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
OSError: [Errno 17] File exists
>>> os.mkdir('a/bb')
>>>
I wasn't smart enough to fix this in the oofatfs library, so I did it in the os shared module by
creating a path lookup function for the os methods that only deals with directories. I reverted
the library change introduced by the aforementioned commit.
This means that os.stat and os.rename can't handle trailing slashes. This is to avoid allowing
filenames with trailing slashes to pass through. In order to handle trailing slashes for these
it would be necessary to check if it really is a directory before stripping. I didn't do this
since the original issue was to make os.chdir tolerate trailing slashes.
There's an open MicroPython issue #2929 wrt. trailing slashes and mkdir.
2018-11-09 19:20:56 +01:00
Scott Shawcroft
168e23e466
Build refinement to handle warnings and quiet output
2018-11-09 00:11:43 -08:00
Scott Shawcroft
9d91111b1b
Move atmel-samd to tinyusb and support nRF flash.
...
This started while adding USB MIDI support (and descriptor support is
in this change.) When seeing that I'd have to implement the MIDI class
logic twice, once for atmel-samd and once for nrf, I decided to refactor
the USB stack so its shared across ports. This has led to a number of
changes that remove items from the ports folder and move them into
supervisor.
Furthermore, we had external SPI flash support for nrf pending so I
factored out the connection between the usb stack and the flash API as
well. This PR also includes the QSPI support for nRF.
2018-11-08 17:25:30 -08:00
Dan Halbert
64d457dad9
bring bleio PR up to date
2018-11-07 14:12:22 -05:00
caternuson
46f1a0719e
add channels and bits_per_sample to audioio.WaveFile
2018-10-31 18:08:10 -07:00
dean
008799dc52
DM: adding mixer gain
2018-10-31 18:27:08 -04:00
Nick Moore
b714f5d650
Add "dhcp" property to turn DHCP on and off
2018-10-25 11:29:27 +11:00
arturo182
b5e5805bb4
bleio: Remove redundant struct field
2018-10-21 15:59:46 +02:00
arturo182
17f13ecc2c
nrf: Cleanup of the ble driver
...
Moved the functions to classes that they belong to.
2018-10-21 15:54:13 +02:00
arturo182
3bd65fbae5
nrf: Move the Peripheral class to bleio as Device
...
This was the last class from ubluepy and so that module is now gone.
The Device class offers both Peripheral and Central functionality.
See the inline docs for more info.
2018-10-21 15:50:45 +02:00
arturo182
bda734223e
nrf: Move the Service class from ubluepy to the shared bleio module
2018-10-21 15:43:51 +02:00
arturo182
cc78249226
nrf: Move the Characteristic class from ubluepy to the shared bleio module
2018-10-21 15:43:48 +02:00
arturo182
fb422ccf5e
bleio: Remove SAMD mention in include guard
...
Damn copy-paste!
2018-10-21 15:43:43 +02:00
arturo182
1c6bf9a150
bleio: Move the Scanner class to a shared module
2018-10-21 15:43:29 +02:00
arturo182
7390dc7dab
bleio: Move ScanEntry to shared module and add a new AdvertisementData class
2018-10-21 15:43:24 +02:00
arturo182
345334aaf1
bleio: Add a new Address class
...
Use the new in the Adapter singleton.
2018-10-21 15:43:21 +02:00
Nick Moore
06894be294
timer ticks for DHCP state machine for wiznet
2018-10-16 23:10:18 +11:00
Nick Moore
45974978ef
fixup
2018-10-16 23:09:55 +11:00
Nick Moore
a15f3361aa
add mechanism for timer ticks in NICs
2018-10-16 23:09:25 +11:00
Nick Moore
1f760bded8
header file cleanup for wiznet
2018-10-16 23:07:58 +11:00
Nick Moore
a4a0cf826b
fix doc comments, translations again
2018-10-11 17:02:29 +11:00
Nick Moore
bb239052ea
Split wiznet driver into shared-bindings vs shared-module
2018-10-11 15:05:25 +11:00
Nick Moore
aab28748bb
Merge remote-tracking branch 'origin/master' into circuitpython/nickzoic/703-wiznet-5500-native
2018-10-11 14:19:10 +11:00
Nick Moore
823ff779ca
network module c api into shared-module
2018-10-11 14:02:18 +11:00
Scott Shawcroft
6da25c8893
Rename stop to stop_voice in case we want stop to stop everything later.
2018-10-09 13:28:00 -07:00
Nick Moore
9b36d33df1
move random mac address function into network module
2018-10-09 13:12:04 +11:00
Nick Moore
6e624b9c6a
Split wiznet.WIZNET5K off into its own file
2018-10-09 13:05:58 +11:00
Scott Shawcroft
3c6812f2c1
Fix M0 math
2018-10-05 15:19:09 -07:00
Scott Shawcroft
8587d8edf0
Fix voice ending in the middle of a buffer.
2018-10-05 15:19:08 -07:00
Scott Shawcroft
76008ce304
Introduce audioio.Mixer which can mix multiple audio samples
...
to produce a single sample.
Only works with 16 bit samples on the M4.
Fixes #987
2018-10-05 15:12:23 -07:00
Nick Moore
d33f6214f1
modify modnetwork and modusocket for circuitpython
2018-10-04 22:02:25 +10:00
Nick Moore
3c32d046bf
Copy wiznet module across from MicroPython
2018-10-04 21:22:09 +10:00
Scott Shawcroft
75d497bcc8
More explicit init in Group
2018-09-13 10:42:12 -07:00
Scott Shawcroft
f21cf15c38
Add OnDiskBitmap which loads pixel data straight from disk.
...
Also, renamed Sprite's palette to pixel_shader so it can be
anything that produces colors based on values (including color values).
Added a ColorConverter that converts RGB888 (found in bitmaps) to
RGB565 for the display.
Fixes #1182
2018-09-12 15:25:59 -07:00
Scott Shawcroft
1683eb913d
Minor tweaks based on feedback
2018-09-06 14:49:49 -07:00
Scott Shawcroft
121903b6ee
Tweaks based on feedback
2018-08-31 14:21:48 -07:00
Scott Shawcroft
6697544cdf
Introduce displayio to render graphics to displays.
...
It's designed to minimize RAM footprint by using Sprites to
represent objects on the screen. The object model also facilitates
partial screen updating which reduces the bandwidth needed to display.
This is all handled in C. Python simply manipulates the objects with
the ability to synchronize to frame timing.
2018-08-31 12:31:52 -07:00
Scott Shawcroft
de5a9d72dc
Compress all translated strings with Huffman coding.
...
This saves code space in builds which use link-time optimization.
The optimization drops the untranslated strings and replaces them
with a compressed_string_t struct. It can then be decompressed to
a c string.
Builds without LTO work as well but include both untranslated
strings and compressed strings.
This work could be expanded to include QSTRs and loaded strings if
a compress method is added to C. Its tracked in #531 .
2018-08-16 17:40:57 -07:00
Scott Shawcroft
933add6cd8
Support internationalisation.
2018-08-07 14:58:57 -07:00
Dan Halbert
761f9a938e
Merge pull request #1075 from tannewt/more_mp_raise
...
Use more mp_raise_* to save 28 bytes code size.
2018-07-31 19:09:10 -04:00
Scott Shawcroft
0bf999f52a
Use more mp_raise_* to save 28 bytes code size.
2018-07-31 13:50:48 -07:00
Dan Halbert
bc760dd341
WIP: complete manual inspection of all significant changes
2018-07-23 21:34:25 -04:00
Dan Halbert
2809b4f9dd
Merge branch 'master' into micropython-25ae98f-merge
2018-07-16 19:36:40 -04:00
Dan Halbert
a20ab40ed2
Merge 3.0.0 final bugfixes and changes to master
2018-07-16 09:01:46 -04:00
Dan Halbert
e2e01efa84
compiles and runs; hangs on import storage;storage.VfsFat.<tab>
2018-07-13 22:51:10 -04:00
Dan Halbert
dbf1a2f7d5
allow '/' to be mounted on '/' from Python code
2018-06-21 09:24:40 -04:00
Dan Halbert
f152889938
do not permit mounting over a directory or file with the same name as the mount point
2018-06-15 13:53:30 -04:00
Dan Halbert
327b0f76da
fix os.listdir() when current dir is '/'
2018-06-15 10:51:03 -04:00
Dan Halbert
e724bc1c4e
Fix playing audio from SD card
2018-06-14 18:47:40 -04:00
Radomir Dopieralski
b219ce6d37
Add gamepad_singleton to root pointers
2018-05-30 23:11:22 +02:00
Radomir Dopieralski
42e36a883b
Remove volatile from the gamepad struct
2018-05-23 21:49:20 +02:00
Radomir Dopieralski
240678e714
Avoid uninitialized gamepad on exception
...
Raise exceptions before the gamepad_singleton is created.
Also, use mp_raise for creating the exceptions.
2018-05-23 21:39:06 +02:00
Radomir Dopieralski
52d05bbc37
Cache pullup state in gamepad
...
Don't check the pin's pull direction on every tick, instead cache it
at the beginning. Also avoid a "can't get pull of output pin" error
when one of the pins passed is in output mode.
2018-05-23 11:26:16 +02:00
Scott Shawcroft
9a2cda7fd3
Reformat the error message
2018-05-16 13:19:51 -05:00
Jerry Needell
d9f1b1f5b7
remove #include py/nlr.h from I2C.c
2018-05-13 22:32:32 -04:00
Jerry Needell
aa9309704b
revise to use mp_raise_msg insead of nlr_raise....
2018-05-13 22:21:05 -04:00
Jerry Needell
d6c26942a5
add timeout keyword to I2C - for bitbangio - ignored for busio
2018-05-13 21:54:44 -04:00
Scott Shawcroft
28642ab10d
Add audio output support!
...
This evolves the API from 2.x (and breaks it). Playback devices are now
separate from the samples themselves. This allows for greater playback
flexibility. Two sample sources are audioio.RawSample and audioio.WaveFile.
They can both be mono or stereo. They can be output to audioio.AudioOut or
audiobusio.I2SOut.
Internally, the dma tracking has changed from a TC counting block transfers
to an interrupt generated by the block event sent to the EVSYS. This reduces
the overhead of each DMA transfer so multiple can occure without using up TCs.
Fixes #652 . Fixes #522 . Huge progress on #263
2018-04-12 16:35:13 -07:00
Radomir Dopieralski
280374fa63
Respect pin's pull in gamepad
...
While it is traditional to have buttons on pins that are pulled up, and
have the button connect them to the ground, some CircuitPython boards
(notably the CPX) have the button pins pulled low and the button
connects them to VCC.
This patch makes the gamepad only change the pin's pull if it wasn't
already set when passed to the constructor, and also makes it consider
a button pressed when its value is the opposite of its pull.
2018-03-31 21:13:02 +02:00
Jeff Epler
c08f5a3a00
Add storage.getmount to retrieve the mount object associated with a path
2018-03-27 21:28:18 -05:00
Jeff Epler
968763aa1d
factor out storage_object_from_path
2018-03-27 21:28:18 -05:00
Jeff Epler
355bf8b553
Conditionally compile out nonstandard array/struct typecodes
...
.. defaulting to off for circuitpython-supported boards, on for others.
.. fixing up the tests that fail when it is turned off, so that they skip
instead of failing
2018-03-26 18:13:49 -05:00
Radomir Dopieralski
493c1452f3
_stage: use 16 bit for coordinates to support larger screens
2018-03-11 12:07:23 +01:00
dean
68309c3fac
replace tabs with spaces
2018-02-05 10:44:29 -05:00