dherrada
55bdee688f
Reorganized pyi again
2020-04-23 16:14:17 -04:00
dherrada
855c2033b5
Reogranized pyi in spi.c
2020-04-23 15:35:20 -04:00
dherrada
a18b991ca9
Added pyi to SPI.c
2020-04-22 15:22:34 -04:00
Jeff Epler
b87af3b071
ulab: Update from upstream
...
Closes : #2787
2020-04-22 09:04:12 -05:00
Dan Halbert
77cd93ac2d
merge from adafruit
2020-04-21 17:47:51 -04:00
Dan Halbert
38ec3bc574
further ringbuf cleanup
2020-04-21 17:38:20 -04:00
Jeff Epler
507e17fbf1
displayio: Fix "bus type" problem introduced at 8cba145c90
...
When allocate_display_bus_or_raise was factored out, the assignment
of the bus's Python type was lost. Restore it.
This would have affected displays of any type other than RGBMatrix, when
they were created dynamically. Boards with displays configured in flash
were unaffected.
Closes : #2792
2020-04-21 13:48:34 -05:00
Scott Shawcroft
bebf27e733
Merge remote-tracking branch 'adafruit/master' into lower_power
...
This isn't perfect and needs a bit more testing.
2020-04-20 18:25:13 -07:00
Jeff Epler
898c09c35e
RGBMatrix: nonessential change to kick Actions
2020-04-19 09:10:08 -05:00
Jeff Epler
9bfe6b7197
framebufferio: update copyright information
2020-04-17 18:44:07 -05:00
Jeff Epler
8c455f24bf
RGBMatrix: this comment no longer describes the code
...
... allocate_display_bus_or_raise() uses fixed storage, not heap storage.
2020-04-17 18:44:07 -05:00
Jeff Epler
37cb6bafa8
RGBMatrix: documentation got behind the code
2020-04-17 18:44:07 -05:00
Jeff Epler
5fcc6d6286
RGBMatrix: finish renaming from Protomatter
...
This gets all the purely internal references. Some uses of
protomatter/Protomatter/PROTOMATTER remain, as they are references
to symbols in the Protomatter C library itself.
2020-04-17 18:44:07 -05:00
Jeff Epler
1b478bbae6
RGBMatrix: remove unneeded properties
2020-04-17 18:43:57 -05:00
Jeff Epler
57ce2d1f41
framebufferio: get width, etc., from protocol, not object property
2020-04-17 18:43:57 -05:00
Jeff Epler
3d6258f63d
Rename Protomatter -> RGBMatrix
...
This is a quick rename, it changes the user-facing names but not the
internal names of things.
2020-04-17 18:43:57 -05:00
Jeff Epler
64c3968a2e
protomatter: move get_width/height to common_hal
2020-04-17 18:43:57 -05:00
Jeff Epler
545b6e560a
fix doc build
2020-04-17 18:43:57 -05:00
Jeff Epler
1a91a75b9c
framebufferio: get more properties direct from underlying framebuffer
2020-04-17 18:43:57 -05:00
Jeff Epler
a32337718d
Rename _protomatter -> protomatter
...
I originally believed that there would be a wrapper library around it,
like with _pixelbuf; but this proves not to be the case, as there's
too little for the library to do.
2020-04-17 18:43:57 -05:00
Jeff Epler
d1ff23e004
framebufferio: get width, height from framebuffer properties
2020-04-17 18:43:57 -05:00
Jeff Epler
d2aac7a754
Protomatter: add width, height properties
2020-04-17 18:43:57 -05:00
AndrewR-L
f572b72306
busio/UART: Correct and clarify readline() return.
...
Surely readline() "rtype" is string not int as stated (and not bytes as some might expect).
Also it is not totally unambiguous what happens on a timeout so it would help to clarify in docs that on a timeout
it does NOT return with what it has read so far, rather it leaves all that in the buffer ready for a future read and returns nothing.
Likewise clarify that if timeout=0 but there is no newline it DOES return what it has read so far (NOT None).
At least this is what I think it does and/or is supposed to do!
Python docs are generally not too explicit about what is the proper treatment, so perhaps all the more reason to
clarify the interpretation adopted?
2020-04-17 15:10:36 +01:00
Scott Shawcroft
b580b34cbf
Merge remote-tracking branch 'adafruit/master' into lower_power
2020-04-14 17:14:44 -07:00
Jeff Epler
0ce9c008c5
Protomatter: Make all arguments kw-only, add rgb count and optional height checking
...
They're not readily distinguishable by type.
I also added the requested height optional parameter; this is checked
against the computed one. It's not feasible to use this parameter to
artificailly reduce the number of used rows, because changes in the
underlying C protomatter library would be required.
Finally, I added a better error message when the number of RGB pins was
not what was expected.
2020-04-14 18:24:59 -05:00
Jeff Epler
880fff80e9
protomatter: Respond to review comments
...
- rename oe_pin -> output_enable_pin
- improve and reorganize docstrings
- rename swapbuffers->refresh
- rename "paused" -> "brightness", change semantics slightly
- common_hal several functions
- clarify why the common_hal routines can't be used directly in the
protocol's function pointers
- whitespace cleanups
- remove prototypes for nonexistent functions
2020-04-14 18:24:59 -05:00
Jeff Epler
5d328c3b44
protomatter: clarify by comment why these functions exist
2020-04-14 18:24:58 -05:00
Jeff Epler
ba20bc8b43
framebufferio: move backlight down to the underlying framebuffer
2020-04-14 18:24:58 -05:00
Jeff Epler
129c6369cf
protomatter: code style
2020-04-14 18:24:58 -05:00
Jeff Epler
4a05e938ed
protomatter: validate pins to give better error message
...
The numbered error from the underlying library is not helpful for
beginning users
2020-04-14 18:24:58 -05:00
Jeff Epler
9019710a1e
protomatter: improve an error message
2020-04-14 18:24:58 -05:00
Jeff Epler
baf04b7738
FramebufferDisplay: remove probably not needed constructor arguments
2020-04-14 18:24:58 -05:00
Jeff Epler
50219862e1
protomatter: make docstring match implementation
2020-04-14 18:24:58 -05:00
Jeff Epler
a663a7dd30
_protomatter: move get/set paused into shared-module
2020-04-14 18:24:58 -05:00
Jeff Epler
5fcba97a51
Make function name more descriptive
2020-04-14 18:24:58 -05:00
Jeff Epler
89eb45a13c
use floor division in docstring
...
Co-Authored-By: Scott Shawcroft <scott@tannewt.org>
2020-04-14 18:24:58 -05:00
Jeff Epler
09dc46a984
Add Protomatter and FramebufferDisplay
2020-04-14 18:24:54 -05:00
Jeff Epler
8cba145c90
displayio: implement, use allocate_new_display_bus_or_raise
2020-04-14 18:24:54 -05:00
Jeff Epler
6378d600c4
displayio: implement, use allocate_display_or_raise
2020-04-14 18:24:54 -05:00
Scott Shawcroft
ada102dd98
Merge pull request #2767 from jepler/update-ulab
...
ulab: Get updates from upstream
2020-04-14 15:59:33 -07:00
Scott Shawcroft
e063b066f0
Merge pull request #2756 from caternuson/bitmap_fill
...
Add fill method to displayio.Bitmap
2020-04-14 12:54:44 -07:00
Jeff Epler
693928d201
doc updates
2020-04-13 20:10:02 -05:00
caternuson
dc75746842
add docstring, clean up
2020-04-09 08:59:26 -07:00
caternuson
49fff2d9b4
initial working fill
2020-04-09 08:43:50 -07:00
sommersoft
61bab8e62e
ulab/__init__.rst: fix attribute name; uint8 -> uint16
2020-04-09 08:45:26 -05:00
Scott Shawcroft
317b96e93a
Fix iMX builds
2020-03-31 17:00:30 -07:00
Scott Shawcroft
cbe9512691
Merge pull request #2741 from tannewt/fix_packetbuffer_server
...
Fix PacketBuffer server support
2020-03-31 13:39:34 -07:00
Jeff Epler
54e8c63b4f
Merge pull request #2730 from tannewt/fix_fourwire_phase_polarity
...
Add polarity and phase to FourWire.
2020-03-28 07:28:37 -05:00
Scott Shawcroft
a870908718
Don't break the function signature
2020-03-26 14:11:20 -07:00
siddacious
9e0c00dfd4
adding a backlight polarity flag to Display
2020-03-25 22:51:20 -07:00
Scott Shawcroft
8a5d3cd6c4
Add exception on small buffer and fix Connecion WRITE handling
2020-03-25 17:41:47 -07:00
Scott Shawcroft
6b7acc65b6
Add polarity and phase to FourWire.
...
It was fixed as 0/0 even though it used to get it from the current
SPI state. This makes it more explicit with kwargs.
Thanks to magpie_lark and kmatocha on the Adafruit Support forum
for finding the issue: https://forums.adafruit.com/viewtopic.php?f=60&t=162515
2020-03-25 11:22:46 -07:00
Jeff Epler
aaf07ce72f
Update shared-bindings/ulab/__init__.rst
...
Co-Authored-By: Scott Shawcroft <scott@tannewt.org>
2020-03-17 16:37:16 -05:00
Jeff Epler
aa54a7e76e
ulab: update documentation
2020-03-17 09:25:33 -05:00
Dale Hawkins
8ae103e07c
Fix documentation typo: tm_minute should be tm_min
2020-03-16 09:07:10 -06:00
Dan Halbert
fdcdc1320b
Make ParallelBus reset ping arg required
2020-03-06 14:30:30 -05:00
Dan Halbert
210c3274e5
Merge remote-tracking branch 'adafruit/master' into assert_pin-and-mp_const_none-cleanup
2020-03-05 17:47:01 -05:00
Dan Halbert
817b5be320
rename routines to be clearer; fix wiznet arg types
2020-03-05 16:35:31 -05:00
Dan Halbert
e30b1d3121
missing semicolon
2020-02-29 22:48:11 -05:00
Dan Halbert
8435935429
update uses of assert_pin_free; remove redundant checks
2020-02-29 15:37:32 -05:00
Dan Halbert
b6206406de
new pin validation routines; don't use mp_const_none if NULL will do
2020-02-28 23:43:04 -05:00
Jeff Epler
39cfe32c34
Update ulab from upstream again
2020-02-27 14:14:05 -06:00
Jeff Epler
645df931ae
typos
2020-02-27 11:07:37 -06:00
Jeff Epler
fa3b9eba92
ulab: Incorporate it
2020-02-27 11:03:03 -06:00
Dan Halbert
e31ac710be
Enable _bleio adapter when _bleio is imported
2020-02-20 21:55:04 -05:00
Dave Marples
d388899985
Addition of RS485 support
2020-02-18 23:16:40 +00:00
Dave Marples
84ad3d8393
Addition of RTS/CTS/RS485 UART functionality
2020-02-18 23:16:40 +00:00
Scott Shawcroft
52d96ca151
Merge pull request #2626 from dhalbert/stat-for-shortint
...
avoid os.stat() int overflow on smallint-only builds
2020-02-18 13:40:52 -08:00
Dan Halbert
e0753c4ad2
avoid os.stat() int overflow on smallint-only builds
2020-02-14 18:33:37 -05:00
Melissa LeBlanc-Williams
33774e790c
Updated OnDiskBitmap RTD example for 5.x
2020-02-14 10:23:23 -08:00
Scott Shawcroft
e97b0cfc61
Merge pull request #2581 from jamesbowman/master
...
First draft of eveL, the low-level module of the Gameduino bindings
2020-02-13 11:21:32 -08:00
James Bowman
b02937d1a7
Split ROMDECLS for readability
2020-02-13 07:28:21 -08:00
Dan Halbert
c57ccd5eb4
doc typo
2020-02-11 20:03:47 -05:00
Dan Halbert
f73b58a2c6
fix doc indentation
2020-02-11 19:57:48 -05:00
Dan Halbert
2e029d55fc
nrf: add SPIM3 support
2020-02-11 19:22:14 -05:00
James Bowman
a87dee2f66
Correct the BitmapTransform operations.
...
Correct argument order
better argument naming
fix copypaste bug on C and F arguments
2020-02-10 19:34:38 -08:00
James Bowman
1f44029c56
Remove unused code
2020-02-10 18:57:04 -08:00
James Bowman
f101ff60c5
Move _eve module declarations into shared-bindings header
2020-02-07 17:10:19 -08:00
James Bowman
c631b4d60e
Add doc strings, inline mod_eve-gen.h and remove it
2020-02-07 16:44:48 -08:00
James Bowman
5c6d94d3e5
Split into shared-module and shared-bindings
2020-02-07 10:30:49 -08:00
Dan Halbert
cbd519bfa6
time.sleep() rounds to nearest msec
2020-02-07 10:24:11 -05:00
Dan Halbert
857d8ab40a
improve time.monotonic_ns() accuracy from ms to us
2020-02-07 10:02:50 -05:00
James Bowman
a20490c0b3
Add method VertexFormat() and variable fixed-point scaling in Vertex2f()
2020-02-06 08:49:07 -08:00
James Bowman
acef93a253
Rename eveL to _eve, EVEL to _EVE
2020-02-05 18:17:58 -08:00
James Bowman
a9b34f45dc
My name
2020-02-05 18:01:25 -08:00
James Bowman
53f7e2be4f
Use mp_instance_cast_to_native_base() throughout
2020-02-05 17:58:59 -08:00
Dan Halbert
a4ebd2f7c1
allow tuple or list for Palette color
2020-02-03 22:09:53 -05:00
James Bowman
0bcfabbc87
Add header for module eveL explaining what it is.
...
Exclude modeveL-gen.h from Sphinx build
2020-02-03 18:41:32 -08:00
James Bowman
7fd30e7d20
First draft of eveL, the low-level module of the Gameduino (and BridgeTek EVE) bindings.
...
[adafruit/circuitpython#2578 ]
2020-02-03 16:46:14 -08:00
Scott Shawcroft
55eb1730b8
Merge remote-tracking branch 'adafruit/master' into tweak_pixelbuf
2020-01-30 10:59:21 -08:00
Radomir Dopieralski
27c36eea2b
circuitpython-stage: allow choosing background color
2020-01-30 15:24:04 +01:00
Scott Shawcroft
5d24ade5c9
Tweak error messages to reduce code size.
2020-01-29 17:32:07 -08:00
Dan Halbert
e21580b67f
PacketBuffer.packet_size was returning bool instead of int
2020-01-27 17:10:56 -05:00
Scott Shawcroft
39971794dd
Encapsulate buffers inside PixelBuf and refactor it.
2020-01-24 18:23:07 -08:00
Dan Halbert
2a75196aa3
merge from adafruit/circuitpython
2020-01-13 18:15:32 -05:00
Dan Halbert
9e7f8743c2
fix CCCD bonding store; avoid excessive bonding writes
2020-01-12 23:32:51 -05:00
Dan Halbert
346ce3b73b
wip: HID bonding works!
2020-01-10 23:55:45 -05:00
Scott Shawcroft
8708d3dc45
Merge pull request #2461 from jepler/urandom-hardfaults
...
Urandom hardfaults
2020-01-10 11:37:59 -08:00
Dan Halbert
9c167af17a
wip; redid flash writing to be compatible with SD
2020-01-09 17:40:02 -05:00
Scott Shawcroft
a10cd8580c
Merge pull request #2445 from jepler/mp3-jeplayer-fixes
...
Fixes for JEplayer
2020-01-08 12:50:13 -08:00
Jeff Epler
6735283d8f
os: Don't require an on-stack buffer
...
This allows urandom requests of even 100k bytes to succeed on a fresh
VM session on a Metro M4 express.
2020-01-08 09:43:13 -06:00
Jeff Epler
b1b4a9e842
fix doc build error
2020-01-06 09:26:32 -06:00
Jeff Epler
dc729718eb
audiomp3: rename to MP3Decoder
2020-01-06 07:51:41 -06:00
Scott Shawcroft
82fb761c0f
Add PacketBuffer and MTU negotiation support.
...
PacketBuffer facilitates packet oriented BLE protocols such as BLE
MIDI and the Apple Media Service.
This also adds PHY, MTU and connection event extension negotiation
to speed up data transfer when possible.
2020-01-03 17:29:54 -08:00
Dan Halbert
fc5f776429
Merge pull request #2034 from rhooper/new-pixelbuf-api
...
Updates to pixelbuf API - Addresses #884
2020-01-03 17:19:02 -05:00
Roy Hooper
767ce1cdf8
remove unnecessary GCC pragmas
2020-01-02 18:03:18 -05:00
Roy Hooper
ccf158b030
raise mp_raise_NotImplementedError
2020-01-02 18:00:36 -05:00
Roy Hooper
fdddb54db4
rename call_show to pixelbuf_call_show
2020-01-02 17:56:04 -05:00
Jeff Epler
ec22520992
MP3File: Add rms_level property
...
This lets a music player show it vu-meter style
2020-01-02 15:23:42 -06:00
Roy Hooper
4e1996856f
Fix docstring for byteorder
2020-01-01 19:25:44 -05:00
Roy Hooper
12193913a8
move native fill to a helper to work around being unable to call a subclass show method from the native superclass
2020-01-01 17:30:17 -05:00
Roy Hooper
8129a8503a
Revert "try a property with a callable static class"
...
This reverts commit ca5b2770cf
.
2020-01-01 16:10:22 -05:00
Roy Hooper
ca5b2770cf
try a property with a callable static class
2020-01-01 16:10:01 -05:00
David Glaude
01d49eb0a7
Update Shape.c
...
Make no sense to say this is experimental and will change in 4.0.0 when we are already above 4.0.0.
This should be removed, or updated to say it will not be in x.0.0
2019-12-30 16:54:16 +01:00
Roy Hooper
023d64fe4a
Merge branch 'pixelbuf-subscr-change' into new-pixelbuf-api
2019-12-29 13:56:47 -05:00
Roy Hooper
f1a9039632
Merge branch 'master' into pixelbuf-subscr-change
2019-12-29 13:56:31 -05:00
Jeff Epler
02154caf24
MP3File: Add a settable ".file" property
...
This enables jeplayer to allocate just one MP3File at startup, rather
than have to make repeated large allocations while the application is
running.
The buffers have to be allocated their theoretical maximum, but that
doesn't matter much as all the real-life MP3 files I checked needed
that much allocation anyway.
2019-12-23 09:36:46 -06:00
Roy Hooper
09d4fe0324
Merge branch 'master' into new-pixelbuf-api
2019-12-20 19:22:27 -05:00
Scott Shawcroft
5fc20145d1
Merge pull request #2390 from jepler/displayio-set-rotation
...
displayio: make 'rotation' property settable
2019-12-20 09:34:25 -08:00
albang
00c226738d
Typo in doc
2019-12-19 23:16:51 +01:00
Jeff Epler
a63da7a6c0
displayio: make 'rotation' property settable
2019-12-16 15:23:41 -06:00
Roy Hooper
ef2a8906dd
move call to show outside loop
2019-12-16 15:05:09 -05:00
Roy Hooper
dc8dd6df20
Revert subscr signature change
2019-12-13 14:29:15 -05:00
Roy Hooper
72ad2e9259
Merge branch 'master' into new-pixelbuf-api
2019-12-13 13:45:16 -05:00
Scott Shawcroft
9a3d45e7d0
Add extended, connectable and scannable error.
...
Related to https://github.com/adafruit/Adafruit_CircuitPython_BLE/issues/44
2019-12-12 13:46:59 -08:00
Roy Hooper
0326c98fd5
Merge branch 'master' into new-pixelbuf-api
2019-12-10 20:44:43 -05:00
Roy Hooper
222dd29a14
Fix slice step.
2019-12-10 20:43:00 -05:00
Jeff Epler
a08d9e6d8e
audiocore: Add MP3File using Adafruit_MP3 library
2019-12-10 14:03:06 -06:00
Scott Shawcroft
19ac8aea8c
Merge pull request #2353 from jepler/audiosample-protocol
...
Convert audiosamples to use micropython "protocols" (safely)
2019-12-09 14:50:16 -08:00
Roy Hooper
dd7ac68fb0
fix slice anf fill bugs
2019-12-08 16:53:08 -05:00
Dan Halbert
f5e913101c
Merge pull request #2301 from tannewt/support_extended_advertising
...
Add support for extended (>31 byte) BLE advertisements.
2019-12-06 23:51:05 -05:00
Scott Shawcroft
da0ea979ff
Check connection validity after service discovery.
...
Fixes #2347
2019-12-06 16:03:14 -08:00
Dan Halbert
559ce6a949
Merge pull request #2356 from tannewt/central_pairing
...
Add connection interval and debugging
2019-12-06 15:19:40 -05:00
Dan Halbert
e30dde0afc
Make _bleio.Connection.disconnect() idempotent
2019-12-05 08:40:53 -05:00
Scott Shawcroft
17c8356b8c
Add connection interval and debugging
...
This also sets TinyUSB to master and to not include its submodules.
It also fixes an old displayio example comment and retries gattc
reads.
2019-12-04 14:39:02 -08:00
Jeff Epler
feb8eb935b
audiosample: convert to use a protocol
...
This eases addition of new sample sources, since the manual virtual
function dispatch functions are just calls via a protocol
2019-12-04 09:31:52 -06:00
Jeff Epler
238e121236
protocols: Allow them to be (optionally) type-safe
...
Protocols are nice, but there is no way for C code to verify whether
a type's "protocol" structure actually implements some particular
protocol. As a result, you can pass an object that implements the
"vfs" protocol to one that expects the "stream" protocol, and the
opposite of awesomeness ensues.
This patch adds an OPTIONAL (but enabled by default) protocol identifier
as the first member of any protocol structure. This identifier is
simply a unique QSTR chosen by the protocol designer and used by each
protocol implementer. When checking for protocol support, instead of
just checking whether the object's type has a non-NULL protocol field,
use `mp_proto_get` which implements the protocol check when possible.
The existing protocols are now named:
protocol_framebuf
protocol_i2c
protocol_pin
protocol_stream
protocol_spi
protocol_vfs
(most of these are unused in CP and are just inherited from MP; vfs and
stream are definitely used though)
I did not find any crashing examples, but here's one to give a flavor of what
is improved, using `micropython_coverage`. Before the change,
the vfs "ioctl" protocol is invoked, and the result is not intelligible
as json (but it could have resulted in a hard fault, potentially):
>>> import uos, ujson
>>> u = uos.VfsPosix('/tmp')
>>> ujson.load(u)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: syntax error in JSON
After the change, the vfs object is correctly detected as not supporting
the stream protocol:
>>> ujson.load(p)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
OSError: stream operation not supported
2019-12-04 09:29:57 -06:00
Roy Hooper
0d267eaee1
fix compile fails
2019-12-02 14:25:57 -05:00
Roy Hooper
a4bbf35092
Merge branch 'master' into new-pixelbuf-api
2019-12-02 14:06:33 -05:00
Dan Halbert
d089f16656
'seconds'
2019-11-27 14:49:39 -05:00
Dan Halbert
dd6dfeb30a
Squeeze pyruler zh_Latn_pinyin
2019-11-27 14:47:35 -05:00
Dan Halbert
b32a9192df
make UART.write be blocking on SAMD; add timeout property
2019-11-27 13:05:29 -05:00
Roy Hooper
a9624fff25
add show
2019-11-26 21:28:41 -05:00
Roy Hooper
56720eae0a
remove unnecessary intermediate mp_obj_subscr wrapper
2019-11-26 18:39:08 -05:00
Scott Shawcroft
3fc58cee38
Merge remote-tracking branch 'adafruit/master' into support_extended_advertising
2019-11-26 13:12:43 -08:00
Jeff Epler
e188ae8b23
time: struct_time: allow construction like a namedtuple, too
...
Whenever there is more than one argument, delegate the operation to
namedtuple_make_new. This allows other circuitpython-compatible
idioms, like with keywords
time.struct_time(tm_year=2000, tm_mon=1, tm_mday=1, tm_hour=0,
tm_min=0, tm_sec=14, tm_wday=5, tm_yday=5, tm_isdst=-1)
with 9 positional arguments, etc.
The only vaguely plausible CPython behavior still not permitted in
CircuitPython that I found is constructing a timetuple from a length-9
list, a la
time.struct_time(list(time.localtime())
Even better, by getting rid of an error message, the build shrinks a
tiny bit.
2019-11-26 08:45:44 -06:00
Jeff Epler
8f24ea48fb
time: struct_time: allow construction from another struct_time
...
This doesn't cover ALL the cases that CPython permits for construction
of a struct_time, but it at least makes constructing from any namedtuple
work.
Closes : #2326
2019-11-26 08:45:40 -06:00
Roy Hooper
0ef9344c17
make pixelbuf iterable
2019-11-25 20:21:00 -05:00
Roy Hooper
d4ed258b74
remove unnecessary qstrs
2019-11-25 20:20:51 -05:00
Jeff Epler
5115fdaa6f
shared-bindings: I2SOut: Ensure object is deinitialised
...
(or deinitialized, for those of us on this side of the pond)
Otherwise, a sequence like
```
audio = audiobusio.I2SOut(bit_clock=board.D6, word_select=board.D9, data=board.D10)
sine_wave_sample = audiocore.RawSample(sine_wave)
audio.play(sine_wave_sample, loop=True)
del audio
```
could free the memory associated with audio without stopping the
related background task. Later, when fresh objects are allocated within
a now-freed memory region, they can get overwritten in the background
task, leading to a hard crash.
This presumably can affect multiple I2S implementations, but it was
reported against the nRF one.
2019-11-25 09:53:55 -06:00
Roy Hooper
a9baa441c9
disable -Wunused-parameter on subscr functions
2019-11-23 13:52:14 -05:00
Roy Hooper
6108fa3766
Merge branch 'master' into new-pixelbuf-api
2019-11-23 12:22:04 -05:00
Roy Hooper
c770ccd939
make ->subscr take an instance to pass when instance_subscr is called from subscr.
2019-11-23 12:09:26 -05:00
Scott Shawcroft
743bc829ab
Clean up debug changes
2019-11-21 16:39:57 -08:00
Scott Shawcroft
39f4046f70
Fix pairing when peripheral. Central untested.
2019-11-21 16:32:42 -08:00
Scott Shawcroft
98e55eb577
Only add module when printing exception.
2019-11-21 12:26:25 -08:00
Scott Shawcroft
521c7531bc
Improve printing to include _bleio. prefix for type.
2019-11-21 11:04:17 -08:00
Scott Shawcroft
5e857fdb67
Use BluetoothError in _bleio
...
This better differentiates errors than using OSError everywhere.
2019-11-20 14:02:15 -08:00
Scott Shawcroft
11c2c3443f
Add support for extended (>31 byte) BLE advertisements.
2019-11-19 13:55:58 -08:00
Hierophect
81223c76bd
revert error
2019-11-15 13:04:25 -05:00
Hierophect
2c6781f74d
move neopixel_in_use flag to shared-bindings
2019-11-15 12:59:52 -05:00
Hierophect
de5691acf5
Add never_reset and reset to pin common hal, adjust files
2019-11-15 12:47:00 -05:00
Dan Halbert
8584c1e824
Fix start_scan timeout default value
2019-11-13 21:34:20 -05:00
Dan Halbert
8cd2f87e99
Merge pull request #2236 from tannewt/bleio_tweaks
...
Refine _bleio
2019-11-04 22:27:54 -05:00
Scott Shawcroft
47e50e5659
Merge remote-tracking branch 'adafruit/master' into bleio_tweaks
2019-11-01 13:20:58 -07:00
Dan Halbert
43b8d5e8ab
Update I2C and SPI documentation
2019-10-29 09:58:44 -04:00
Dan Halbert
56ac41fabf
Merge pull request #2240 from theacodes/fix-2086
...
Track unadjusted PWM duty cycle to avoid accumulating conversion errors
2019-10-28 14:50:01 -04:00
Dan Halbert
cc13fc3433
Merge pull request #2247 from jepler/comment-doc-typos
...
Comment doc typos
2019-10-28 14:47:52 -04:00
Jeff Epler
c208586bf1
audioio: correct trivial typo
2019-10-27 16:42:18 -05:00
Jeff Epler
0657884fca
audiobus: correct trivial typo
2019-10-27 16:42:04 -05:00
Jeff Epler
978cec0316
pixelbuf: correct trivial typos
2019-10-27 16:41:56 -05:00
Thea Flowers
6782948751
Note behavior in documentation
2019-10-25 10:56:41 -07:00
Thea Flowers
4a55c48dbf
Improve documentation for rtc
.
...
- Add examples for `rtc.RTC.datetime`.
- Add type for `rtc.RTC.calibration`.
- Expand on use cases for `rtc.set_time_source`.
2019-10-23 15:48:34 -07:00
Scott Shawcroft
91c9d519ae
Refine comments and switch prefix_len to size_t
2019-10-22 23:09:56 -07:00
Scott Shawcroft
ae30a1e5aa
Refine _bleio
...
This PR refines the _bleio API. It was originally motivated by
the addition of a new CircuitPython service that enables reading
and modifying files on the device. Moving the BLE lifecycle outside
of the VM motivated a number of changes to remove heap allocations
in some APIs.
It also motivated unifying connection initiation to the Adapter class
rather than the Central and Peripheral classes which have been removed.
Adapter now handles the GAP portion of BLE including advertising, which
has moved but is largely unchanged, and scanning, which has been enhanced
to return an iterator of filtered results.
Once a connection is created (either by us (aka Central) or a remote
device (aka Peripheral)) it is represented by a new Connection class.
This class knows the current connection state and can discover and
instantiate remote Services along with their Characteristics and
Descriptors.
Relates to #586
2019-10-21 18:57:03 -07:00
Roy Hooper
2970680e6a
fix show and fix step > 1
2019-10-20 19:54:25 -04:00
Dan Halbert
eca73436c9
Merge remote-tracking branch 'adafruit/master' into cpu-voltage
2019-10-15 09:03:24 -04:00
Kamil Tomaszewski
150f9041e3
Fix unsafe floating point comparison
2019-10-14 09:13:35 +02:00
Kamil Tomaszewski
c67b2c1661
Return None if reference_voltage is 0.0
2019-10-14 08:22:14 +02:00
Dan Halbert
c1ab2486f9
return chip vcc value
2019-10-12 15:42:15 -04:00
Roy Hooper
dc8c27d129
make dotstar byteorder constants start with P. fix small bugs.
2019-10-06 22:44:00 -04:00
Roy Hooper
55c688cbeb
restructure to be subclassable
2019-10-05 15:53:53 -04:00
Roy Hooper
000ae6bf17
support subclasses
2019-10-05 13:47:40 -04:00
Roy Hooper
1051001495
Merge branch 'master' into new-pixelbuf-api
2019-10-03 19:06:55 -04:00
Scott Shawcroft
6ad860a963
Merge pull request #2101 from matthewnewberg/display_io_dither
...
Add random dithering to ColorConverter
2019-09-09 10:11:07 -07:00
Scott Shawcroft
d9e0641606
Set dither default to False and document it
2019-09-08 21:30:52 -07:00
Matthew Newberg
8e55232492
Use kwargs for dither in ColorConverter constructor
2019-09-06 16:23:24 -04:00
Matthew Newberg
b2fb5ac1c1
Fix comment on color converter
2019-09-06 16:11:15 -04:00
Matthew Newberg
4604a69498
Move dither parameter to ColorConverter constructor and parameter
2019-09-05 21:55:45 -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
Radomir Dopieralski
5f6228b6f0
Fix transactions in _stage after displayio changes
...
Also, move the rendering setup code to shared-module from
shared-bindings.
In CP 5.0, displayio_display_core_set_region_to_update now starts
its own transaction, so it has to be moved outside of the transaction
started by the render call.
2019-09-04 16:41:58 +02:00
sommersoft
da912e8c74
doc cleanup
2019-09-03 22:44:43 -05:00
Scott Shawcroft
949f8761b8
Add .hidden to TileGrid and Group
...
This allows for one to preserve ordering within a Group while
hiding something temporarily.
Fixes #1688
2019-09-03 16:15:27 -07:00
sommersoft
b1c3d47413
Merge branch 'master' of https://github.com/adafruit/circuitpython into mixer_voice
2019-09-01 21:16:12 -05:00
Matthew Newberg
d87bfaf480
Add random dithering to ColorConverter
2019-08-31 22:07:09 -04:00
sommersoft
398e7ff6d3
doc update
2019-08-31 16:06:41 -05:00
sommersoft
f82c61732a
enable Mixer backwards compatibility (when audiomixer is available)
2019-08-31 16:06:16 -05:00
sommersoft
8120f5cdad
Merge branch 'master' of https://github.com/adafruit/circuitpython into mixer_voice
2019-08-29 22:14:53 -05:00
sommersoft
6a68d0b4d0
bring back 'mixer.play()' & 'mixer.stop_voice()'
2019-08-29 22:12:12 -05:00
sommersoft
e618441e18
eval the expression vs [un]defined
2019-08-29 22:09:45 -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
Dan Halbert
f17059b10b
another API rework: less abstraction leakage
2019-08-28 23:15:22 -04: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
966a48b23a
More size_t usage
2019-08-27 12:49:46 -07:00
Scott Shawcroft
d956b3b359
Merge remote-tracking branch 'adafruit/master' into remove_i2c_stop_kwarg
2019-08-27 11:23:30 -07:00
Scott Shawcroft
bea77c651a
Minor renames
2019-08-26 16:37:59 -07: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
750ffcc81a
docs: correct audiomixer refs
2019-08-25 14:57:29 -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
db32a79596
comment clean up
2019-08-24 16:21:30 -05:00
sommersoft
d02d474cac
fix MixerVoice 'get_playing'
2019-08-24 08:20:26 -05:00
sommersoft
93e557e167
docs: make MixerVoice.level a property
2019-08-24 07:57:55 -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
5662b5813e
Use size_t and document buffers can be the same.
2019-08-23 12:13:11 -07:00
Scott Shawcroft
72e7ffa324
More cleanup
2019-08-22 16:16:09 -07:00
sommersoft
1ec4faee55
remove MixerVoice deinit & context managers
2019-08-22 17:59:19 -05: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
Scott Shawcroft
8fa8737465
Initial ePaper work
2019-08-22 14:08:32 -07:00
Scott Shawcroft
82d436d05e
Add writeto_then_readfrom to I2C API. Deprecate stop kwarg.
...
writeto_then_readfrom has been added to do a write -> no stop ->
repeated start -> read sequence. This is done to match the
capabilities of Blinka on Linux.
Code that uses stop=False will not work correctly on Blinka.
To fix, if stop=False then use writeto_then_readfrom otherwise use
writeto then readfrom_into.
First step in #2082
2019-08-22 12:34:46 -07:00
Dan Halbert
7cc15e56c8
make translate
2019-08-22 15:20:23 -04:00
Dave Astels
99a3da3b60
Get rid of the last bits of array dependancy
2019-08-21 15:24:39 -04:00
Dave Astels
d547d59cba
Merge remote-tracking branch 'adafruit/master' into displayio_fill_area
2019-08-21 15:02:51 -04:00
Dave Astels
8bbab01316
Remove unneeded lines
2019-08-21 13:57:52 -04:00
sommersoft
5cd04366fe
remove 'if float' pre-processor checks
2019-08-20 22:39:26 -05:00
Dave Astels
56aad056da
getting the buffer info should happen first (due to its check)
2019-08-20 17:00:24 -04:00
Dave Astels
eb0a8cc0bf
Move the get_buffer call earlier
2019-08-20 13:48:12 -04:00
Dave Astels
0fd886fa7f
Remove array cast
2019-08-20 13:45:58 -04:00
Dan Halbert
e00696de7f
merge from upstream and make translate
2019-08-20 13:06:23 -04:00
Dave Astels
f3d476aad8
Remove temporarily comments code
2019-08-20 12:25:56 -04:00
Dave Astels
53bb95a023
Rework to simplify
2019-08-20 10:05:41 -04:00
Dave Astels
10bc0d29d1
Switch to positional parameters
2019-08-20 10:05:09 -04:00
Dave Astels
2b7897cded
Fix typo
2019-08-20 10:03:36 -04:00
sommersoft
e9efc2fe25
fix one more doc ref to audiocore
2019-08-20 08:32:20 -05:00
Dan Halbert
cccbbd956d
Detect lack of pulldown; check for pin in use
2019-08-19 23:40:34 -04:00
sommersoft
e92ef7b018
fix doc refs for audiocore
2019-08-19 22:04:06 -05:00
Scott Shawcroft
bd4d3c6393
Merge pull request #2068 from jepler/audioio-compat
...
audioio: By default, be compatible with 4.x
2019-08-19 19:43:52 -07:00
sommersoft
1b2996a75e
Merge branch 'master' of https://github.com/adafruit/circuitpython into mixer_voice
2019-08-19 21:23:27 -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
Jeff Epler
f384d2dd80
shared-bindings/time: style
2019-08-18 08:11:14 -05:00
Dan Halbert
e2a4c76a37
make nrf touchio be generic: now available for SAMD51 too
2019-08-18 08:44:10 -04:00
Jeff Epler
9d164965c9
localtime: don't hard-fault on argument type errors; handle localtime(float)
...
It turns out `mp_obj_int_get_checked` is not appropriate to call when
the argument is not of int or long type--the "checked" refers to guarding
against overflow/underflow, not type checking.
For compatibility with CPython, handle float arguments.
Closes : #2069
2019-08-17 20:49:25 -05:00
Jeff Epler
47d6dd843e
audioio: By default, be compatible with 4.x
...
Testing performed: That the shipped .mpy files on a PyPortal (CP 4.x)
still work (play audio) with this branch, instead of erroring because
`WaveFile` can't be found in `audioio`.
Flash usage grew by 28 bytes. (I expected 24, there must be some other
effect on size/alignment that I didn't predict)
2019-08-17 13:54:06 -05:00
Radomir Dopieralski
58b4cd4956
Improve docs for WaveFile buffer
2019-08-17 11:31:45 +02:00
Dave Astels
7a235f3746
Simplify to only extracting one line
...
Since this was the usecase, doing so simplifies the function significantly.
2019-08-16 21:10:09 -04: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
Dan Halbert
af29fc3ea8
make translate and fix sphinx issues
2019-08-15 21:54:52 -04:00
Jeff Epler
32a6d36405
shared-bindings: Use RUN_BACKGROUND_TASKS
2019-08-11 08:53:02 -05:00
Dan Halbert
1570ef2dd4
specifying attribute length; fix up value setting
2019-08-07 23:49:09 -04:00
Dave Astels
239ad19765
Pass in preallocated result buffer
2019-08-07 15:27:43 -04:00
Dave Astels
263f6f439b
Remove obsolete experimental property
2019-08-07 15:27:04 -04:00
Dan Halbert
d047b73a9c
fix newly-introduced bugs; UART client/server working again
2019-08-07 11:10:21 -04:00
Dan Halbert
d74c8b9425
WIP: more Descriptor work; refactor gattc/gatts read/write
2019-08-06 22:55:25 -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
Roy Hooper
5c08182c73
fix fix the byte order property.
2019-08-03 13:35:11 -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
Roy Hooper
cff9c9bc95
Reuse error message
2019-08-01 20:24:39 -04: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
Radomir Dopieralski
c4c5d8c5e7
Fix missing write_ram_command in _stage
...
Since the changes in displayio, displayio_display_set_region_to_update
no longer sends the write_ram_command, so we have to send it explicitly.
2019-07-31 23:32:42 +02:00
Dave Astels
1f9cb44fa3
Expose rotation with a property
2019-07-31 15:00:21 -04:00
Dave Astels
741cd9c40a
Get fill_area working
2019-07-31 12:47:32 -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
Dan Halbert
83129b8c63
BLE: peripheral client pairing (not yet bonding); fix time doc formatting
2019-07-30 14:26:26 -04:00
Scott Shawcroft
f9d314b263
Merge pull request #1985 from sommersoft/dynamic_support_matrix
...
Docs: Dynamically Build Support Matrix Table
2019-07-29 18:08:16 -07:00
Scott Shawcroft
3b3a7bbd06
Update pwmaudioio module for PWMAudioOut
2019-07-29 17:45:06 -07:00
Scott Shawcroft
3961014a9e
Update doc comments for PWMAudioOut
2019-07-29 17:43:22 -07:00
Jeff Epler
b72352949b
PWM audio: Rename AudioOut -> PWMAudioOut, _audioio_ -> _audiopwmio_
2019-07-29 18:39:00 -04:00
sommersoft
bbc5255f04
update rST ref link for support matrix
2019-07-28 21:25:43 -05:00
Seth Itow
a2bab9f172
bleio: Fix typo in Peripheral example code.
2019-07-27 12:58:28 -07:00
Dan Halbert
28ca05ccdc
allow discovery from central or peripheral
2019-07-27 13:22:15 -04:00
sommersoft
cebdadd0f6
Merge branch 'master' into dynamic_support_matrix
2019-07-27 10:46:53 -05:00
sommersoft
c335f170d7
update 'Core Modules' description
2019-07-27 10:36:08 -05:00
sommersoft
c6ac0ba683
move the support matrix to its own page; add linking for modules
2019-07-27 10:03:18 -05:00
Roy Hooper
cf3bb7e118
fix bugs and inline the byteorder code
2019-07-26 18:52:22 -04:00
Jeff Epler
aa1398e696
support matrix: add audiopwmio, update audiocore, sort
2019-07-26 07:57:21 -05:00
Jeff Epler
91b7ba7dcc
docs: An audiocore.Mixer
suffices where another audio source would
2019-07-26 07:57:21 -05:00
Jeff Epler
a53720810b
docs: corrections that stem from the "audiocore" rename
2019-07-26 07:57:21 -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
Dave Astels
b6178c9d85
WIP on exposing fill_area
2019-07-25 15:05:30 -04:00
Scott Shawcroft
485f06e36f
Remove unneeded headers
2019-07-25 11:58:27 -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
sommersoft
7b67ef15c4
remove local copy of 'support_matrix.json'
2019-07-23 17:11:39 -05: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
Roy Hooper
db84445a62
WIP: refactor _pixelbuf to use strings instead of classes
2019-07-21 16:21:39 -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
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
Dan Halbert
1c31cf5f6a
sphinx fix
2019-07-16 21:03:36 -04:00
Dan Halbert
364ee62d10
Address review comments.
2019-07-16 19:53:36 -04:00
Dan Halbert
514d4146d3
Fix sphinx warnings.
2019-07-11 18:23:45 -04: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
Dan Halbert
09ddff8df1
WIP: Need descriptors for Central CCCD discovery; not done yet
2019-07-07 00:07:47 -04:00
sommersoft
4342383d95
add jinja extension; update shared-bindings/index.rst to use jinja
2019-07-04 01:19:56 -05:00
sommersoft
f1256c0b35
add script to gather module support matrix info; add initial json file
2019-07-04 01:18:16 -05: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
Scott Shawcroft
745ff8f8c1
Fix Group subscr to detect delete correctly
...
Fixes #1957
2019-07-02 18:15:23 -07:00
Dan Halbert
6ea01ea9b0
Central is connecting; characteristics can be read and written
2019-06-29 00:20:06 -04: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
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
Craig Forbes
09e7f4db00
Fix reference to Bitmap in fontio.Glyph docs.
2019-06-18 18:44:50 -05:00
Craig Forbes
e442efbdec
Fix docs in digitalio.
2019-06-18 16:59:05 -05:00
Craig Forbes
db74b92e77
Fix displayio.Display docstring type for display_bus.
...
Add docs for group parameter for Display.show.
2019-06-18 16:59:05 -05: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
Dan Halbert
cfa8b4b5a9
Merge remote-tracking branch 'adafruit/master' into ble-scanner
2019-06-13 22:01:46 -04:00
Dan Halbert
bed6d43a76
merge from upstream; WIP redo Address; no more AddressType
2019-06-13 21:55:07 -04:00
Scott Shawcroft
6d388a34eb
Merge pull request #1943 from adafruit/4.0.x
...
Merge in gamepadshift fix to master.
2019-06-13 12:26:04 -07:00
Scott Shawcroft
6f6dcafd90
Minor tweaks based on Dan's feedback
2019-06-13 00:34:19 -07:00
Radomir Dopieralski
5e265f4fbd
When clearing gamepad buffer, use the last button state, not 0
...
When reading the accumulated button presses in gamepad and gamepadshift,
don't clear the buffer to "no buttons pressed", but instead set it to
the current (last checked) state. This clears the accumulated presses,
but retains any ongoing ones.
This fixes #1935
2019-06-12 11:42:41 -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
6fed24e1b6
WIP
2019-06-10 07:18:28 -04:00
sommersoft
9e4396bdcd
Merge pull request #1920 from tannewt/fix_rst
...
Improve rST consistency for rst2pyi use
2019-06-07 23:41:00 -05:00
Dan Halbert
62de2506e4
Include display objects in gc.
2019-06-06 17:49:32 -04:00
Scott Shawcroft
84e89146d0
Merge pull request #1893 from elvis-epx/ps2
...
Add PS/2 support with ps2io module
2019-06-06 10:24:04 -07:00
Baozhu Zuo
f45daae09c
This __init__.h should be redundant. I deleted it for you
2019-06-06 15:44:29 +08:00
Elvis Pfützenreuter
1da8d4b4da
Add PS/2 support -- ps2io module
2019-06-04 18:05:46 -03:00
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
12f1d9d30c
fix advertisement length check; add Service.secondary attribute
2019-05-31 18:03:05 -04:00
Scott Shawcroft
cfe24b8532
Improve rST consistency for rst2pyi use
2019-05-30 19:02:47 -07:00
Jason Pecor
a9a2227167
Removed warning box regarding SAMD21 builds
...
The support matrix shows that pulseio is supported for all SAMD21/SAMD51 variants. Removing warning to avoid confusion.
2019-05-27 14:08:19 -05:00
Dan Halbert
6cec81bcb5
Need to enable ble before scanning
2019-05-23 22:05:16 -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
b71f6c97ce
Merge remote-tracking branch 'adafruit/master' into ble-scanner
2019-05-21 15:33:48 -04:00
Dan Halbert
ee8119779e
WIP
2019-05-17 15:47:12 -04:00
Scott Shawcroft
5608e273a0
Add index and remove to Group.
2019-05-15 11:33:16 -07:00
Scott Shawcroft
b7b55e0c0a
Make Group iterable via a generic native iterator.
...
Fixes #1694
2019-05-14 15:15:23 -07:00
Dan Halbert
d3ce9280e2
Merge pull request #1883 from tannewt/fix_1881
...
Check native object in case of early access
2019-05-14 15:30:44 -04:00
Scott Shawcroft
bf682d14b3
Remove native init check from stage.
...
It isn't needed because the object is passed in, not self. To be
passed in it must be inited.
2019-05-14 10:20:04 -07:00
Matt Land
0b1c1c1d92
Update Palette.c
...
Remove None, add in byte and bytearray examples
2019-05-14 08:03:34 -05:00
Scott Shawcroft
f29de51325
Check native object in case of early access
...
If a native displayio object is accessed before it's super().__init__()
has been called, then a placeholder is given that will cause a crash if
accessed. This is tricky to get right so we detect this case and raise
a NotInplementedError instead of crashing.
Fixes #1881
2019-05-13 17:31:30 -07:00
Matt Land
ad211b23be
add documentation of transparency
2019-05-10 17:35:51 -05:00
Matt Land
214dfed703
Add documentation for Palette shared binding
...
Add documentation for the palette subscript operator and how to use it.
2019-05-10 16:41:13 -05:00
Nick Moore
af0bba0622
reset wiznet at network deinitialize adafruit/circuitpython#1800
2019-05-10 13:55:45 +10:00
Nick Moore
e00a702ce9
Stop DHCP when configuring IP address adafruit/circuitpython#1800
2019-05-10 09:20:57 +10:00
Nick Moore
832f07a6e9
Update docs for wiznet5k adafruit/circuitpython#1800
2019-05-07 21:48:44 +10:00
Nick Moore
264fc2b070
Make wiznet5k RST pin optional adafruit/circuitpython#1800
2019-05-07 18:41:53 +10:00
Nick Moore
d97c81b0c9
Update docs to include new 'dhcp' constructor parameter
2019-05-02 19:14:22 +10:00
Nick Moore
baa9c02c8b
Add a kw-only argument "dhcp" to wiznet5k object
2019-05-02 16:05:33 +10:00
Nick Moore
58d1d99701
Fix socket.recv() buffer length from e23bad3a
2019-05-02 13:13:56 +10:00
Dan Halbert
0113e0970e
add Display.__init__() args for brightness and auto_brightness
2019-04-18 15:59:16 -04:00
Dan Halbert
4fc0f8b25c
Turn off auto_brightness if brightness is set
2019-04-18 13:57:27 -04:00
Scott Shawcroft
bfbe9323ee
Merge pull request #1807 from pewpew-game/stage-cast-native
...
Allow use of displayio.Display subclasses in _stage
2019-04-17 10:37:32 -07:00
Radomir Dopieralski
3a65ff970a
Allow use of displayio.Display subclasses in _stage
2019-04-17 17:21:34 +02:00
Dan Halbert
b5e283af68
Merge pull request #1808 from pewpew-game/gamepad-doc
...
Update GamePad docs to include pull-downs
2019-04-17 11:06:19 -04: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
Radomir Dopieralski
e46bf7e7c6
Update GamePad docs to include pull-downs
2019-04-17 11:18:30 +02: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
Nick Moore
9c42a72275
Fix up single-byte access to nvm.ByteArray
2019-04-16 14:53:44 +10: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
c0a553e90f
Add title to docs
2019-04-12 22:52:19 +02:00
Radomir Dopieralski
016efb5c68
Add GamePadShift to docs
2019-04-12 22:00:03 +02:00
Radomir Dopieralski
7aab3e8c93
Re-use an error message in _stage
2019-04-12 21:31:06 +02:00
Radomir Dopieralski
4dc286fa14
Reorganize the gamepad code
2019-04-12 20:43:29 +02:00
Radomir Dopieralski
049e80993d
Sync gampad_singleton with the long lived copy
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
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
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
Scott Shawcroft
a152ac1cef
Merge remote-tracking branch 'adafruit/master' into pybadge_revd
2019-04-10 10:58:45 -07:00
Dan Halbert
c0c809ad4b
Fix version skew for bast_pro_mini build
2019-04-09 22:52:53 -04:00
Scott Shawcroft
5028f87b09
Tweak pybadge and fix display bugs
...
* Update pybadge pins and flash for rev D
* TileGrid now validates the type of the pixel_shader.
* Display actually handles incoming subclass objects.
* MicroPython will inspect native parents to see if special
accessors are used.
2019-04-09 18:32:52 -07:00
Scott Shawcroft
72992070c5
Fix boards with no shared busses.
2019-04-09 11:36:10 -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
5015036c06
Merge pull request #1758 from pewpew-game/fourwire-frequency
...
Stop hard-coding SPI frequency in FourWire
2019-04-08 17:02:07 -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
Radomir Dopieralski
4b3cb7b6db
Expose displayio.Display.bus
...
With the bus exposed, we can send custom commands to the display, to
leverage advanced features specific to the display, which are not
exposed by default.
2019-04-06 14:25:08 +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
Scott Shawcroft
04a4e8a38d
Always check TileGrid's x, y
...
When using an int index you could end up writing past the end of
TileGrid's memory.
Fixes #1747
2019-04-05 13:10:47 -07:00
Melissa LeBlanc-Williams
8f1fc6c07d
Added option to easily treat SPI parameter data as commands
2019-04-04 23:15:00 -07:00
Nick Moore
781d301bb6
Remove unnecessary MP_WEAK declarations
2019-04-02 13:33:22 +11:00
Nick Moore
f846fa109e
enable NRFX RTC adafruit/circuitpython#1046
2019-04-02 13:27:28 +11:00
Dan Halbert
0653bca323
Revert "Circuitpython nickzoic 1046 nrf rtc"
2019-03-29 16:41:29 -04: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
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
Nick Moore
93684737eb
Fix up messages & wild stab at translations for adafruit/circuitpython#1046
...
The mysterious MP_WEAK linking bug still exists, thus the new message for 'set'.
2019-03-28 09:56:48 +11:00
Nick Moore
ff6395fa4e
workaround for problem with adafruit/circuitpython#1046
...
the __weak linking works fine so long as these functions are not identical.
I have not yet worked out why.
2019-03-28 09:50:09 +11:00
Nick Moore
b09d2c3c62
enable NRFX RTC adafruit/circuitpython#1046
2019-03-28 09:50:09 +11:00
Melissa LeBlanc-Williams
2f7b338a4b
Comment Cleanup
2019-03-26 18:56:25 -07: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
5f0e71ccb4
Merge branch 'master' of https://github.com/adafruit/circuitpython into ssd1351-fix
2019-03-26 18:23:02 -07:00
Melissa LeBlanc-Williams
0df40534f3
Merge branch 'master' of https://github.com/adafruit/circuitpython
2019-03-26 18:22:30 -07:00
Scott Shawcroft
3f42a49a6b
Merge pull request #1674 from pewpew-game/bug1669
...
Properly calculate BPP for displayio.Bitmap
2019-03-26 15:49:42 -07:00
Scott Shawcroft
8ea5fedf19
Merge pull request #1682 from rhwlo/add-socket.recv_into
...
shared-bindings/socket: add socket.recv_into
2019-03-26 14:28:07 -07:00
Radomir Dopieralski
d553df95b0
Reuse "Not connected" message in bleio
2019-03-25 21:41:40 +01:00
Radomir Dopieralski
81fe8060d7
Properly calculate BPP for displayio.Bitmap
...
Fix #1669
2019-03-25 19:40:40 +01:00
Melissa LeBlanc-Williams
c3329e224d
Added Single Byte Boundaries option for certain displays
2019-03-24 23:59:28 -07:00
Radomir Dopieralski
cc6fb4595e
Reuse existing error message in busio.i2c
...
Remove a period from the error message, so that the same message as in
SPI and other places in I2C can be re-used.
2019-03-25 01:41:52 +01:00
Melissa LeBlanc-Williams
d9de1b9926
Updated RTD comment to reflect new param defaulting True
2019-03-24 08:23:46 -07:00
Melissa LeBlanc-Williams
0c33f7fdb4
Enable CS toggle for displayio by default
2019-03-23 20:23:23 -07:00
Melissa LeBlanc-Williams
2bb63cbeb3
Added new parameter description in displayio RTD comment
2019-03-23 18:53:04 -07:00
Melissa LeBlanc-Williams
fadb5a1024
Added option to toggle cs in displayio init sequence
2019-03-23 18:34:42 -07:00
Joshua Coats
e23bad3a3a
shared-bindings/socket: add socket_recv_into
2019-03-23 10:49:43 -07:00
Scott Shawcroft
4b0afc855d
Fix up sphinx
2019-03-19 18:37:41 -07: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
494a9d3825
Merge pull request #1640 from tannewt/final_displayio_changes
...
Final displayio changes before 4.0.0
2019-03-13 18:24:04 -04:00
Dan Halbert
97140e6a62
wrong arg type for PWMOut variable_frequency
2019-03-12 21:28:30 -04:00
Scott Shawcroft
946790bfb5
Add better PewPew error messages and update translations
2019-03-12 17:21:15 -07:00
Scott Shawcroft
afbf59019e
Update displayio docs to add detail to display bus comments
...
Fixes #1599
2019-03-12 17:18:33 -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
sommersoft
15a1647c5c
fix compilation with updated circuitpy_mpconfig and upstream changes
2019-03-11 18:30:56 -05: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
e6339656fc
Merge pull request #1614 from sommersoft/new_freq_in
...
Add frequencyio.FrequencyIn
2019-03-04 15:56:48 -05:00
sommersoft
8de4cf6b10
update RTD documentation
2019-03-02 18:33:37 -06:00
Dustin Mendoza
9737a45b33
changed width and height to be properties
2019-03-02 14:50:10 -08:00
Bryan Siepert
945550f4bd
Fixed the OnDiskBitmap example to reflect code changes
2019-03-02 09:12:40 -08:00
sommersoft
a44bfc2730
Merge branch 'master' of https://github.com/adafruit/circuitpython into new_freq_in
2019-03-01 21:24:30 -06:00
Radomir Dopieralski
ea78417f7f
Improve documentation
2019-03-01 16:36:29 +01:00
Radomir Dopieralski
5d85d54026
Move the frozen pew.py into a submodule
2019-03-01 16:24: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
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
sommersoft
9d20380bd4
Merge branch 'master' into new_freq_in
2019-02-26 04:29:16 +00:00
sommersoft
4a9f05a44f
final re-glue; compiles now.
2019-02-25 21:22:52 -06:00
Dustin Mendoza
f127be4dd2
added height and width attributes for displayio
2019-02-25 16:39:20 -08:00
sommersoft
f602fa3d9f
fix init deps
2019-02-24 18:07:26 -06:00
Dan Halbert
8b6dc446d3
Remove bleio classes that aren't done yet.
2019-02-24 14:23:00 -05:00
sommersoft
a1060747f8
Merge branch 'new_master' into new_freq_in
2019-02-22 23:12:11 +00:00
Scott Shawcroft
daee83c10b
Fix mount doc
2019-02-21 13:23:02 -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
Lionel Debroux
b0c2c3c756
A couple build fixes for mp_float_t = double (MICROPY_FLOAT_IMPL_DOUBLE).
...
Signed-off-by: Lionel Debroux <lionel_debroux@yahoo.fr>
2019-02-17 11:21:48 +01:00
sommersoft
ea9200a042
starting again; initial addition of 'frequencyio.FrequencyIn'
2019-02-16 19:26:24 -06:00
Dan Halbert
a345ef28f2
finish Makefile refactoring; nrf builds work
2019-02-15 18:55:10 -05:00
Dan Halbert
5154e0581e
WIP: atmel-samd trinket build works
2019-02-15 00:28:20 -05:00
Dan Halbert
379258112a
Merge pull request #1548 from tannewt/shape_arg_check
...
Arg check width and height into Shape.
2019-02-14 07:42:39 -05:00
Scott Shawcroft
b13adfc228
Arg check width and height into Shape.
...
Fixes #1537
2019-02-13 17:34:39 -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
TG-Techie
e674f11df2
Update Shape.c
2019-02-12 19:16:27 -05:00
Scott Shawcroft
1e16b3e134
Tweaks based on dhalbert's feedback.
2019-02-12 14:18:53 -08:00
Scott Shawcroft
b4306314aa
Move terminal font to terminalio from board.
2019-02-12 10:10:02 -08:00
Scott Shawcroft
5258bc4318
Fixup doc reference
2019-02-11 20:55:06 -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
845783a457
Clarify rotation parameter
2019-02-01 09:33:33 -08: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
d72cd5b2d6
Correct TileGrid class name.
2019-01-31 11:42:15 -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
73bc614a4b
Remove doc reference to Sprite
2019-01-31 11:42:15 -08:00
Scott Shawcroft
ec03887040
Fix hallowing and nrf builds
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
fb0970ec6e
Add terminalio
2019-01-31 11:42:13 -08:00
Scott Shawcroft
73cf490635
Add TileGrid
2019-01-31 11:42:13 -08:00
Jerry Needell
44bd9d1013
fix kw_arg checking for time.struct_time()
2019-01-25 14:57:31 -05:00
Dan Halbert
04aa906fac
fix a few ble-related doc issues
2019-01-24 00:13:15 -05:00
Scott Shawcroft
a380865655
Merge remote-tracking branch 'adafruit/master' into HEAD
2019-01-22 14:02:07 -08:00
Dan Halbert
e170e03f8c
Merge remote-tracking branch 'adafruit/master' into bleio2
2019-01-21 20:38:26 -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
Dan Halbert
62df7ab730
Improve struct compatibility with CPython
2019-01-20 15:10:09 -05:00
Dan Halbert
28cfd8a513
CharacteristicBuffer: make it be a stream class; add locking
2019-01-19 19:45:35 -05:00
Roy Hooper
02266eafd8
adjust comment
2019-01-19 17:04:24 -05:00
Roy Hooper
8fa81fe003
move headers to __init__.h
2019-01-19 17:03:16 -05:00
Roy Hooper
79d9c9cd56
remove fill_wheel
2019-01-19 17:01:31 -05:00
Roy Hooper
b82e1d7fcb
Fix build to work with constructor calling convention.
2019-01-19 16:54:21 -05:00
Roy Hooper
50af08a6f3
Merge branch 'master' into pixelbuf
2019-01-19 16:33:59 -05:00
Scott Shawcroft
b41d386d02
simplify arg checking for display
2019-01-18 17:04:18 -08:00
Scott Shawcroft
edc8383e22
Improvements thanks to danh's review
2019-01-18 16:37:06 -08:00
Scott Shawcroft
dc024cf411
Add a bit more to the docs
2019-01-18 12:59:23 -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
84292ad890
External fourwire works and blinka splash after
2019-01-17 00:20:16 -08:00
Dan Halbert
7a33e588d4
Put back native C UUID string parsing and printing (complete rewrite)
2019-01-16 20:41:01 -05:00
Scott Shawcroft
05d8885a1a
Rework displays in prep for dynamic support and 8bit parallel.
2019-01-16 12:05:20 -08:00
Scott Shawcroft
bd3c36ce6d
fixup m0 and nrf
2019-01-14 18:08:45 -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
619bc4caae
Support subclasses of Shape as bitmaps.
2019-01-14 17:29:18 -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
Dan Halbert
50ee5ef24c
merge translations; add bleio comments; fix minor sphinx issues in midi
2019-01-10 21:12:17 -05:00
Scott Shawcroft
3dd59c3d5f
Polish thanks to Dan's feedback
2019-01-10 11:00:40 -08:00
Dan Halbert
d3b8581ce0
fix merge conflicts; address some comments
2019-01-09 19:59:48 -05: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
e47decbdc5
improve travis fold status reporting; fix sphinx build; fix sphinx errors
2019-01-09 13:32:45 -05:00
Dan Halbert
89af666093
fix sphinx complaint; more travis fold status reporting
2019-01-09 10:36:38 -05:00
Dan Halbert
f66f55b4ed
add CharacteristicBuffer; UART seems to work!
2019-01-07 22:46:20 -05:00
Dan Halbert
a77b2363ef
evt handler list bugs; unique evt handler names; remove uuid128_reference
2019-01-03 21:42:42 -05:00
Dan Halbert
ccb3c6fac6
Remove print methods from bleio; Python lib will do it
2019-01-03 10:51:49 -05:00
Dan Halbert
c46d06f34c
Move 128-bit UUID string parsing to Python; simplify UUID API
2019-01-02 23:11:03 -05:00
Dan Halbert
87c6f33bcc
Broadcaster now takes whole packet. Also should be scannable
2019-01-01 14:11:59 -05:00
Dan Halbert
b6b5ed9c89
Remove nRF52832 support
2018-12-30 22:49: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
125901e4e2
Merge remote-tracking branch 'adafruit/master' into bleio-rev
2018-12-06 12:41:38 -05:00
Dan Halbert
63cd9209f1
allow KeyboardInterrupt on UART read; fix nrf UART pin claiming; rename feather 52840 UART pins
2018-12-04 15:05:39 -05:00
Scott Shawcroft
1b4359eaec
Merge pull request #1372 from dhalbert/pyserial-compat-for-uart
...
UART changes: timeout in secs, write bytes, etc.
2018-12-03 14:20:44 -08:00
Dan Halbert
80db2cec99
UART changes: timeout in secs, write bytes, etc.
2018-12-03 12:04:32 -05:00
Dan Halbert
72e3cfdfb8
Fix arg type for AudioOut(..., quiescent_value=...)
2018-12-03 11:20:33 -05:00
Dan Halbert
3164b16196
WIP: debug; add hash and __eq__ to UUID
2018-11-26 21:09:17 -05:00
Dan Halbert
1763ffe245
More UUID work; use mp_raise for exceptions
2018-11-20 23:04:58 -05:00
Dan Halbert
c424ad844b
Merge remote-tracking branch 'adafruit/master' into bleio-rev
2018-11-20 14:47:05 -05:00
dean
1bf6c588e7
DM: mixer voice stuff
2018-11-20 14:14:22 -05:00
Dan Halbert
31cc71f7fb
WIP: bleio revisions
2018-11-20 09:36:45 -05:00
Carlos
060b84a0fa
Remove reference to clock_id on the function descriptiions
2018-11-18 10:43:28 -06:00
Carlos
55a9e2d697
Fix time.monotonic_ns docstring
2018-11-18 10:41:35 -06: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
Scott Shawcroft
355abc835e
Fix output overflow and make help translatable
2018-11-09 16:41:08 -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
55cbeb6fc6
in doc string as well
2018-11-05 14:49:24 -08:00
caternuson
85fbdefe77
change channels to channel_count
2018-11-05 08:05:43 -08: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
f6482699a0
Merge remote-tracking branch 'origin/master' into circuitpython/nickzoic/703-wiznet-5500-native
2018-10-25 12:20:50 +11:00
Nick Moore
b714f5d650
Add "dhcp" property to turn DHCP on and off
2018-10-25 11:29:27 +11:00
Jeff Epler
ec1aec1921
shared-bindings/time: introduce time.monotonic_ns
...
This is intended to be compatible with Python 3.7's time.monotonic_ns.
The "actual resolution" is 1ms due to this being the unit at which
common_hal_time_monotonic ticks.
Closes #519
2018-10-21 10:22:52 -05:00
arturo182
4bc24c4f60
bleio: Fix errors after rebase
2018-10-21 17:15:27 +02:00
arturo182
c62b708012
bleio: Fix docs error
2018-10-21 16:00:15 +02:00
arturo182
5354aeab4c
bleio: Allow using len() on UUID
2018-10-21 16:00:12 +02:00
arturo182
13dd27a047
bleio: Remove UUID static variables
2018-10-21 16:00:08 +02:00
arturo182
eceb21a017
bleio: Don't register the services until needed
...
Because of the very specific way nRF requires service registration
(characteristics can be added only to last added service), we would
have to write the Python code in a specific way. With this patch the
user has more freedom.
2018-10-21 16:00:04 +02:00
arturo182
ad466b3edb
bleio: Let Characteristic inherit the Services UUID length
2018-10-21 16:00:01 +02:00
arturo182
beee58a56f
bleio: Add scan_entry as an param for the Device constructor
2018-10-21 15:59:57 +02:00
arturo182
684f2673ce
bleio: Remove unneeded TODO
2018-10-21 15:59:53 +02:00
arturo182
19fab4af5a
bleio: Remove deep copy constructor for UUID
2018-10-21 15:59:50 +02:00
arturo182
b5e5805bb4
bleio: Remove redundant struct field
2018-10-21 15:59:46 +02:00
arturo182
c7b42d80b3
bleio: A bit of cleanup
2018-10-21 15:59:42 +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
a126897f52
bleio: Fix incorrect role detection
2018-10-21 15:51:08 +02:00
arturo182
5412bf66c3
bleio: Improve type documentation
2018-10-21 15:50:53 +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
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
arturo182
d5f942a971
bleio: Add a AddressType enum-like class
2018-10-21 15:43:17 +02:00
arturo182
20b8d5169d
nrf: Move the Descriptor class from ubluepy to the shared bleio module
2018-10-21 15:43:13 +02:00
arturo182
f4940c9aec
nrf: Move the UUID class from ubluepy to the shared bleio module
...
Also added a UUIDType enum-like class for determining UUID type.
2018-10-21 15:43:08 +02:00
Scott Shawcroft
4eb1fe18e5
Tweaks from feedback:
...
* default_value is now quiescent_value
* Use step = -step format for sign switch
* Add note about analogout_reset being empty
2018-10-17 11:31:08 -07:00
Scott Shawcroft
c209165d43
Ramp values to and from a default value while active.
...
This reduces the popping sound on initial playback of an audio
sample.
The M4 DAC has a pop on startup that cannot be prevented. It also
does not allow readback so current values of the DAC are ignored.
Fixes #1090
2018-10-16 16:23:29 -07:00
Dan Halbert
2262efc311
PulseOut working
2018-10-16 11:05:02 -04:00
Nick Moore
06894be294
timer ticks for DHCP state machine for wiznet
2018-10-16 23:10:18 +11:00
Nick Moore
5bb12793a0
update documentation and translations again
2018-10-11 22:19:46 +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
Dan Halbert
8d58093328
Merge pull request #1259 from dhalbert/nrf-pwmout
...
Allow variable freq PWMOut; use multiple channels if same freq
2018-10-10 12:27:27 -04:00
Scott Shawcroft
df80ad8e6e
Merge pull request #1193 from ATMakersBill/master
...
Add supervisor.runtime.serial_bytes_available so that input() can be used without blocking.
2018-10-09 23:58:43 -07:00
Scott Shawcroft
0688709c4f
Move the docs next to the implementation
2018-10-09 23:15:25 -07:00
ATMakersBill
05d4b8cf50
Added Documentation for the serial_bytes_available attribute
2018-10-09 22:50:59 -04:00
Dan Halbert
91a88cf568
Allow variable freq PWMOut; use multiple channels if same freq
2018-10-09 20:52:55 -04:00
ATMakersBill
9f94712ad1
replacing change to input() with separate method to check for USB Serial input
2018-10-09 18:37:52 -04: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
6d9c2c5254
Documentation builds (though has no real content yet)
2018-10-09 22:37:49 +11:00
Nick Moore
a60700b1c5
Get DHCP working ...
2018-10-09 16:28:30 +11: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
Nick Moore
4b767ff080
Change WIZNET5K.isconnected to connected property
2018-10-09 12:24:24 +11:00
Scott Shawcroft
15d80a8c46
Fix doc build
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
15b59bee1b
change initialization method + mod_network names
2018-10-04 22:31:47 +10:00
Nick Moore
d33f6214f1
modify modnetwork and modusocket for circuitpython
2018-10-04 22:02:25 +10:00
Nick Moore
f4c32139f5
Copy modnetwork and modusocket across from MicroPython
2018-10-04 22:02:25 +10:00
Nick Moore
27fc84a157
Modify wiznet module 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
Dan Halbert
21d331c8cc
round SPI freq down; check max freq
2018-10-02 21:06:40 -04:00
Dan Halbert
aa95526428
nrf: remove error check for SPI baudrate too high; round to nearest baudrate
2018-10-01 18:54:13 -04:00
Dan Halbert
bc510e714f
merge 3.0.2 to master
2018-09-18 15:38:12 -04: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
Dan Halbert
6a046f55c4
UART fixes and enhancements; default board object fix
2018-09-12 17:19:43 -04:00
Scott Shawcroft
06a610fd0c
Merge pull request #1166 from dfarning/clean-up-docs
...
Reorder status matrix and module list in shared-bindings for increase…
2018-09-07 12:02:23 -07:00
David Farning
62fab2e9c4
Reorder status matrix and module list in shared-bindings for increase user read ability
2018-09-07 03:30:28 -05:00
Scott Shawcroft
86288f14f1
Merge translations and update title underline
2018-09-06 14:56:26 -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
Noralf Trønnes
39ee12d1ac
Fix os.stat() to use 1970 epoch
...
Commit 95e70cd0ea
'time: Use 1970 epoch' changed epoch for the time
module, but not for other users. This patch does the same for the only
other core timeutils user: extmod/vfs_fat.c:fat_vfs_stat().
Other timeutils users: cc3200, esp8266 and stm32, are not changed.
Ports that don't use long ints, will still get wrong time values from
os.stat().
2018-08-25 20:43:02 +02:00
Noralf Trønnes
eefb6842a0
i2cslave: Fix missing translate() when raising exceptions
...
The translate() changes where applied after travis had checked the
i2cslave PR so this wasn't caught.
2018-08-18 16:00:06 +02:00
Scott Shawcroft
4a4d84ba42
Merge pull request #1064 from notro/i2cslave
...
Add busio.I2CSlave
2018-08-17 16:51:45 -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
Noralf Trønnes
11cbeb87ad
ports/atmel-samd: Implement i2cslave.I2CSlave
...
This adds support for SAMD acting as a I2C slave in polled mode.
2018-08-16 17:20:49 +02:00
Noralf Trønnes
1ed0e45fc2
Add i2cslave.I2CSlave bindings
2018-08-16 17:11:20 +02:00
Scott Shawcroft
96ebf5bc3f
Two fixes and translate more strings.
...
* Fix finding translations with escaped characters.
* Add back \r to translations since its needed by screen.
2018-08-09 13:29:30 -07:00
Jeff Epler
e1b4e9b7c7
UART: Always allocate UART objects in the long-lived pool
...
Particularly when they have buffers that are written via IRQ or DMA,
UART objects do not relocate gracefully. If such an object is
relocated to the long-lived pool after its original creation, the
IRQ or DMA will write to an unexpected location within the Python
heap, leading to a variety of symptoms. The most frequent symptom
is inability to read from the UART.
Consider the particular case of atmel-samd: usart_uart_obj_t
contains a usart_async_descriptor contains a _usart_async_device.
In _sercom_init_irq_param the address of this contained
_usart_async_device is assigned to a global array
sercom_to_sercom_dev which is later used from the interrupt context
_sercom_usart_interrupt_handler to store the received data in the
right ring buffer.
When the UART object is relocated to the long-lived heap, there's no
mechanism to re-point these internal pointers, so instead take the
cowardly way and allocate the UART object as long-lived.
Happily, almost all UART objects are likely to be long-lived, so
this is unlikely to have a negative effect on memory usage or heap
fragmentation.
Closes : #1056
2018-08-08 19:21:57 -05:00
Scott Shawcroft
933add6cd8
Support internationalisation.
2018-08-07 14:58:57 -07:00
Dan Halbert
dfa2581ffd
Merge pull request #1057 from tannewt/flexible_heap
...
Add basic memory allocation outside Python runtime
2018-08-02 18:43:06 -04:00
Scott Shawcroft
168aa394db
Move pin struct to the peripherals library.
...
Its slimmed down by removing the qstr and bit packing TCC info.
The trinket m0 build actually grows by 20 bytes. The arduino zero
build shrinks by 188 bytes.
2018-08-02 13:59:05 -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
Scott Shawcroft
a88cdaca6a
Remove rogue execute bit. Must a common incorrect shortcut for me. :-)
2018-07-31 12:42:21 -07:00
Scott Shawcroft
12cf5e51c2
Allow for resizing the stack area.
2018-07-31 05:18:23 -07:00
Scott Shawcroft
777542c716
Add basic memory allocation outside Python runtime
...
This allows for the heap to fill all space but the stack. It also
allows us to designate space for memory outside the runtime for
things such as USB descriptors, flash cache and main filename.
Fixes #754
2018-07-31 05:18:03 -07:00
Dan Halbert
f48b70050e
merge finished
2018-07-28 13:29:47 -04:00
Dan Halbert
2809b4f9dd
Merge branch 'master' into micropython-25ae98f-merge
2018-07-16 19:36:40 -04:00
Dan Halbert
e2e01efa84
compiles and runs; hangs on import storage;storage.VfsFat.<tab>
2018-07-13 22:51:10 -04:00
arturo182
05c1384b67
nrf: Split the ble module into a shared part and the port implementation
...
This allows other ports to implement these shared bindings.
2018-07-13 16:01:15 +02:00
Kattni Rembor
a10c61ef89
Fixed issue with code in docs for audioio
...
Removed incorrect arg from RawSample in AudioOut example code.
Replaced variable sample with dac.
2018-06-29 16:46:25 -04:00
Dan Halbert
327b0f76da
fix os.listdir() when current dir is '/'
2018-06-15 10:51:03 -04:00
Scott Shawcroft
2fbab8067a
Prevent freezing USB during high frequency PulseIn.
...
We now track the last time the background task ran and bail on the
PulseIn if it starves the background work. In practice, this
happens after the numbers from pulsein are no longer accurate.
This also adjusts interrupt priorities so most are the lowest level
except for the tick and USB interrupts.
Fixes #516 and #876
2018-06-08 12:56:32 -07:00
Kattni Rembor
3a38172627
Fixed documentation formatting for RTD
2018-06-06 18:28:01 -04:00
Scott Shawcroft
717199018b
Adapt for feedback and hack around pIRkey size constraint.
2018-06-01 15:08:52 -07:00
Scott Shawcroft
d0fb6e7a2f
atmel-samd: Add rotary encoder support.
...
Fixes #283
2018-06-01 15:08:48 -07:00
Scott Shawcroft
fd71e56891
atmel-samd: Re-org helper peripheral files into their own subdirectory.
...
Ideally in the future they won't depend on ASF4 or MicroPython.
2018-06-01 15:07:31 -07:00
Radomir Dopieralski
b219ce6d37
Add gamepad_singleton to root pointers
2018-05-30 23:11:22 +02:00
Radomir Dopieralski
c37b69e1a5
Make the gamepad singleton long-lived
...
So that it is not later moved.
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
f17a235b40
Raise an error if more than 8 buttons passed to gamepad
2018-05-23 21:41:56 +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
edf2935ab1
Make gamepad.get_pressed work when gamepad was created from frozen code
...
For some reason, when the GamePad is created from frozen code, the
get_pressed method would always return 0. This fixes it, and makes it
work properly no matter how the object was created.
2018-05-23 12:44:22 +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
be12e07d74
Merge pull request #846 from notro/epoch1970
...
time: Use 1970 epoch
2018-05-19 12:30:34 -05:00
jerryneedell
1d9bcc5ddf
fix doc error in audioOut.c
...
fixes #851
2018-05-19 10:41:36 -04:00
Noralf Trønnes
95e70cd0ea
time: Use 1970 epoch
...
Use UNIX epoch to match CPython.
This overflows small int so time.{time,localtime,mktime} is only supported with long int.
Also remove some comment cruft in time_time().
2018-05-18 12:35:33 +02:00
Scott Shawcroft
6a8db03ade
Merge pull request #838 from rhooper/master
...
add supervisor.reload() to soft reboot from code
2018-05-16 17:52:16 -04:00
Scott Shawcroft
918d30cb97
Rephrase the doc
2018-05-16 16:28:43 -05:00
Roy Hooper
92b1cb5743
move reload exception to reload.c
2018-05-14 17:41:17 -04:00
Roy Hooper
698912633f
Rename reload_next_character to reload_requested to make it match it's intended use
2018-05-14 17:00:38 -04:00
Roy Hooper
567f3e30a7
Initial implementation of supervisor.reload()
2018-05-14 16:57:50 -04:00
Jerry Needell
d6c26942a5
add timeout keyword to I2C - for bitbangio - ignored for busio
2018-05-13 21:54:44 -04:00
dean
82b5efa7bc
remove unnecessary comment
2018-05-09 15:14:26 -04:00
dean
fba1e221c6
DM: add kwargs to bitbangio spi
2018-05-09 15:12:42 -04:00
Scott Shawcroft
fc7c25af6d
Make resume idempotent (allowing you to call it twice without complaining.)
2018-05-08 13:00:05 -07:00
Scott Shawcroft
24116eff23
Tweak exception message.
2018-05-08 12:44:27 -07:00
Scott Shawcroft
50fc90bc5f
Add pause/resume control to AudioOut and I2SOut
...
Fixes #808
2018-05-08 11:53:13 -07:00
Jeff Epler
2955ada22f
docs: fix references to uhashlib
2018-05-06 12:31:54 -05:00
Jeff Epler
647ff387d9
docs: fix references to ubinascii
2018-05-03 09:34:43 -05:00
Scott Shawcroft
cfea51ec68
Re-enable PDMIn without ASF and using the helpers added with
...
I2SOut.
The API is almost the same except the frequency attribute has been
renamed to sample_rate so that its less likely to be confused with
frequencies within the audio itself.
Fixes #263 .
2018-05-01 14:35:43 -07:00
Scott Shawcroft
81d395d825
Merge pull request #745 from notro/time_rtc
...
RFC: Add rtc module
2018-04-16 15:26:54 -07:00
Scott Shawcroft
301479cd44
Remove "Get or set"
2018-04-16 15:00:58 -07:00
Scott Shawcroft
84d4be279e
Add a table of contents reference to RTC
2018-04-16 15:00:01 -07:00
Noralf Trønnes
8d1719f190
Add rtc module
...
Add an rtc module that provides a singleton RTC class with
- a datetime property to set and get time if the board supports it.
- a calbration property to adjust the clock.
There's also an rtc.set_time_source() method to override this RTC object using pure python.
The time module gets 3 methods:
- time.time()
- time.localtime()
- time.mktime()
The rtc timesource is used to provide time to the time module.
lib/timeutils is used for time conversions and thus only supports dates after 2000.
2018-04-16 12:49:10 +02:00
Scott Shawcroft
5af4e79ed3
Correct example. Thanks @jepler!
2018-04-13 16:43:21 -07:00
Scott Shawcroft
812fe0c93f
Turn on nvm in 3.0.
...
Its 256b on M0 and 8k on M4 to match flash erase sizes.
Fixes #758
2018-04-13 16:22:28 -07:00
Scott Shawcroft
22194d5977
Tweaks based on dhalbert's feedback.
2018-04-13 10:51:01 -07: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
Dan Halbert
5f98953ed8
esp8266 and nrf: raise NotImplementedError
2018-04-10 12:08:41 -04:00
Dan Halbert
aa8c262d14
add storage.erase_filesystem() to erase and reformat CIRCUITPY
2018-04-09 12:52:42 -04:00
Scott Shawcroft
4e053cea0d
Merge pull request #628 from sommersoft/super_status
...
Added Function To Check the Serial Connection From CircuitPython Layer
2018-04-08 22:06:09 -07:00
Dan Halbert
726d5e52a3
Merge branch 'master' into 3.0_hid
2018-04-08 09:52:29 -04:00
sommersoft
cc644032ea
Merge branch 'super_status' of https://github.com/sommersoft/circuitpython into super_status
2018-04-06 01:58:29 +00:00
sommersoft
d1974e0038
supervisor/Runtime: updated documentation for 'no disconnect'
2018-04-06 01:56:51 +00:00
Jeff Epler
92853e611d
RunMode: Fix repr(RunMode.BOOTLOADER)
2018-04-05 08:16:53 -05:00
Dan Halbert
435e894fa0
Merge branch 'master' into 3.0_hid
2018-04-02 19:19:43 -04:00
Radomir Dopieralski
6ca4fd82ed
Add a type check to the gamepad module
...
Make sure that all the arguments passed are indeed DigitalInOut.
This avoids crashes when the users pass something else.
2018-03-31 20:41:16 +02:00
Dan Halbert
df91878d2e
WIP: works with just keyboard but not complex report descriptor
2018-03-30 23:24:00 -04:00
sommersoft
6ee573c7c9
Merge branch 'master' into super_status
2018-03-30 14:27:39 -05:00
Jeff Epler
34f5498760
Document storage.VfsFat more thoroughly
2018-03-27 21:28:19 -05:00
Jeff Epler
c08f5a3a00
Add storage.getmount to retrieve the mount object associated with a path
2018-03-27 21:28:18 -05:00
Dan Halbert
31f5b6a238
WIP: simple working HID
2018-03-24 18:29:12 -04:00
Jeff Epler
002797a3b4
Fix array vs pointer error in declaration of circuitpython_help_text
...
Building with gcc 5.4.1 (Debian Stretch) with the unsupported
-Wno-error=lto-type-mismatch flag removed, the following diagnostic
occurs:
../../py/builtin.h:121:19: error: type of 'circuitpython_help_text' does not match original declaration [-Werror]
extern const char MICROPY_PY_BUILTINS_HELP_TEXT[];
^
../../shared-bindings/help.c:38:13: note: previously declared here
const char *circuitpython_help_text =
^
lto1: all warnings being treated as errors
lto-wrapper: fatal error: /usr/bin/arm-none-eabi-gcc returned 1 exit status
2018-03-19 22:11:40 -05:00
Radomir Dopieralski
493c1452f3
_stage: use 16 bit for coordinates to support larger screens
2018-03-11 12:07:23 +01:00
sommersoft
2569b33c84
1 more sphinx fix; added '.. class::' constructor
2018-03-09 21:00:15 +00:00
sommersoft
f21038b913
sphinx fix; incorrect currentmodule ref
2018-03-09 20:24:07 +00:00
sommersoft
01471e1e22
sphinx fix; added toctree to include 'runtime'
2018-03-09 03:22:00 +00:00
sommersoft
c1c3a79ec4
atmel-samd: changed Status to Runtime; instituted runtime singleton
2018-03-09 02:19:51 +00:00
Scott Shawcroft
bf05183158
Merge remote-tracking branch 'adafruit/2.x' into merge_2x
2018-02-27 15:24:16 -08:00
Dan Halbert
9b4477e1dc
Implement UART for 3.0 + related fixes.
...
1. UART: ported to ASF4. Allow rx-only and tx-only. Add .baudrate r/w property.
2. Make NeoPixel timing deterministic by turning off caches during NeoPixel writes.
3. Incorporate asf4 updates:
a. async USART driver
b. bringing Atmel START configuration closer to what we use
c. Clock initialization order now specified by CIRCUITPY_GCLK_INIT_1ST and _LAST.
4. supervisor/port.c: Move commented-out clock-test pin setting to correct location.
2018-02-21 17:18:49 -05:00
Scott Shawcroft
20dd3b1e43
Delete a bunch of docs, drivers and examples not relevant to CircuitPython.
...
This fixes #345 and fixes #215 .
2018-02-20 17:34:59 -08:00
sommersoft
fca9c66c27
added Status submodule to shared-bindings/supervisor; issue #544
2018-02-19 20:40:17 +00:00
Kattni
446a31302c
Merge pull request #600 from tannewt/clarify_property_comments
...
Clarify style of attribute comments in the Design Guide.
2018-02-14 22:03:37 -05:00
Kevin Townsend
9d191f7f9f
Merge pull request #589 from arturo182/nrf_gamepad
...
nrf: Implement ticks, add gamepad module and example
2018-02-07 22:17:05 +01:00
Scott Shawcroft
15db02664d
Clarify style of attribute comments in the Design Guide.
...
And update the core attributes to match the style.
2018-02-07 13:08:42 -08:00
arturo182
ff041caa52
shared-bindings: Fix incorrect code comments
...
Most likely caused by copy-paste.
2018-02-06 22:03:17 +01:00
Scott Shawcroft
6c5cb01b4a
Merge pull request #564 from deanm1278/master
...
DM: added write_readinto to bitbangio
2018-02-06 09:38:17 -08:00
arturo182
1de2ee6884
nrf: Implement ticks, add gamepad module and example
2018-02-05 20:48:25 +01:00
dean
68309c3fac
replace tabs with spaces
2018-02-05 10:44:29 -05:00
dean
0e13aba2fe
DM: fix sytling
2018-01-30 17:45:04 -05:00
dean
a7f72eb2d8
DM: added write_readinto to bitbangio
2018-01-30 17:18:57 -05:00
Dan Halbert
cc87363234
documentation: caution on SPI clock speed for SAMD21
2018-01-30 14:31:20 -05:00
Dan Halbert
e550b024c5
atmel-samd: Correct computation of SPI baud rate.
...
all: Add .frequency read-only property for busio.SPI to return actual frequency.
Fix esp8266/posix_helpers.c, which was not up to date for the new
long-lived/short-lived heap allocation scheme.
2018-01-30 12:08:41 -05:00
sommersoft
44bc1711aa
Added Unique ID Functions/Updated Support Matrix ( #527 )
...
shared_bindings/index.rst: updated Support Matrix format as discussed in PR #503 & Issue #448 .
shared-bindings/microcontroller/Processor.c & .h: added UID lookup functionality for use with all ports. Fixes #462 .
2018-01-18 11:39:11 -08:00
Radomir Dopieralski
0ff128ec03
Fix example for gamepad
...
The example code for the gamepad module would skip detected
button presses in the code that waits for a button to be released,
because it would run it even when no button is pressed.
Also updated the example pin names to not use RX and TX.
2018-01-11 17:06:53 +01:00
Dan Halbert
065e82015f
merge from 2.2.0 + fix up board defs
2018-01-02 21:25:41 -05:00
sommersoft
881fa8e2b9
shared-bindings/index.rst: added audiobusio
...
shared-bindings/index.rst: added `aduiobusio` to Support Matrix. Used `audiobusio/_init_.c` to verify applicable ports; SAMD21 was the only one listed...ESP8266 wasn't. This fixes issue #448 .
2017-12-30 01:36:23 -06:00
sommersoft
36ec29d4e8
Documentation Updates (mcu.delay() and Design Guide) ( #481 )
...
/docs/design_guide: added links to firmware build learning guides for SAMD21 & ESP8266. Changes were placed in the "Adding native modules" section, since that seemed to me the best place based on target audience.
Updated documentation for `delay()` which fixes #243 .
2017-12-14 10:02:43 -08:00
Dan Halbert
43650b6896
Fix PDMIn MEMS microphone support ( #479 )
...
Changes:
* New faster filter loop, by @ladyada. New filter coefficients as well.
* Turn on microphone clock when PDMIn object is created, and run it all the time, so the user code doesn't have to wait for microphone startup, which can be 10ms or even 100ms.
* Wait for microphone startup when PDMIn is first created, based on new optional parameter microphone_startup in seconds (takes a float).
* record() returns number of samples actually recorded, so you can see if it's not keeping up.
* Fix buffer overflow errors when buffer size was not a multiple of 16 or something like that.
* Tweak a few peripheral settings.
* Minimum sampling frequency is now 16kHZ or so, because 8kHz runs microphone at only 0.5MHz, which is too slow for many mics.
Note: I tried 128x oversampling instead of 64x, but the code cannot keep up at 24kHz or above sampling. 128x would reduce the high-frequency noise by 6db.
2017-12-13 10:12:49 -08:00
Scott Shawcroft
a91e1cb682
Fix a couple spelling errors.
2017-12-05 16:04:47 -08:00
Scott Shawcroft
b4d3699047
Introduce reset mechanics to microcontroller.
...
This allows one to configure how a subsequent reset will behave and
also trigger a reset.
Fixes #350 and fixes #173
2017-12-05 14:50:58 -08:00
Dan Halbert
e75fd0e166
add SPI.write_readinto() - bidirectional SPI
2017-12-05 11:17:16 -08:00
Dan Halbert
72c911be97
Support SPI flash chips for CIRCUITPY, using non-DMA SPI for now.
2017-11-27 21:00:24 -05:00
Kattni
4902f0937f
Resolved formatting issue in doc
2017-11-22 21:44:18 -05:00
Kattni
1d6bf8e04a
Updated frequency minimum requirements in docs and examples ( #444 )
...
Updated frequency minimum requirements in docs and examples
2017-11-19 22:19:22 -08:00
Dan Halbert
a9f75a71c5
Merge pull request #443 from dhalbert/3.0_spi
...
non-DMA SPI working; adding this now for testing; will continue with DMA
2017-11-16 19:28:24 -05:00
Dan Halbert
312444bbd2
non-DMA SPI working; adding this now for testing; will continue with DMA
...
Also, fixed pin mappings for rev B Metro M4:
swap PA12 and PA13 on SPI 2x3 header
swap A3 and A5
Comment out all frozen modules in CPX again to make room while waiting
for SPI flash.
2017-11-16 19:09:35 -05:00
Scott Shawcroft
ecc47d5258
Create supervisor module.
...
It can control autoreload and the rgb status led.
2017-11-16 09:04:17 -08:00
Radomir Dopieralski
216fcedfbb
Add a _stage module ( #398 )
...
This is a C module with some low-level functions required for the
CircuitPython "stage" library. It provides support for fast
rendering of tile grids and sprites on SPI-based RGB displays.
2017-11-07 10:05:25 -08:00
Dan Halbert
7292984204
Implement busio.I2c.
...
* Added asf4_conf/samd*/hpl_sercom_config.h
* Adjusted clocks in peripheral_clk_config.h.
* Put some frozen libs back in CPX for testing.
* Implement common-hal I2C
* Add samd*_peripherals.h in parallel with samd*_pins.h for common
functions and data.
* Store SERCOM index in pins table for convenience.
* Canonicalize some #include guard names in various .h files.
simpler reset of SERCOMs; remove unused routine
2017-11-07 09:59:54 -08:00
Radomir Dopieralski
78f6c2232c
Allow empty reads and writes for busio.SPI
...
This is mostly for convenience, so that user code doesn't
need to add additional checks.
Also, bring the bitbangio into compatibility with busio wrt. empty
buffers.
2017-11-03 17:33:37 +01:00
Scott Shawcroft
8c1f5427bc
atmel-samd: Add empty line for RST docs
...
Right now calcsize is being grouped with the doc above: https://circuitpython.readthedocs.io/en/latest/shared-bindings/struct/__init__.html
2017-10-30 18:57:28 -07:00
Dan Halbert
f738996164
Allow writing buffer of length zero to I2C device; it can be used to poll for existence.
2017-10-30 18:32:36 -07:00
mrmcwethy
1893669833
calcsize90 should be documented now
2017-10-27 23:25:00 -07:00
Scott Shawcroft
bd7abcda97
shared-bindings: Check that I2C and SPI reads and writes are given a buffer of at least 1. ( #370 )
...
Fixes #358
2017-10-25 17:28:23 -04:00
Scott Shawcroft
d2ddf36c1d
shared-bindings: Use unary_op type.
2017-10-25 10:52:03 -07:00
Dan Halbert
6df99b5d0e
Merge 2.1.0 changes into master.
2017-10-23 15:26:36 -07:00
mrmcwethy
bb008cdbc9
First attempt to move py/modmath.c to shared-bindings/math
2017-10-21 10:34:25 -07:00
Josh Gadeken
3ba5ba6e66
shared-bindings/storage/__init__.c: Change remount() readonly to kw arg ( #286 ).
...
The readonly arg to storage.remount() is now a keyword arg that
defaults to False. To maintain backwards compatibility, readonly
can be passed as a positional arg or keyword arg.
2017-10-19 17:11:30 -07:00
Michael McWethy
b41cbe9256
CircuitPython now has struct instead of ustruct ( #302 )
...
Added struct module to shared-bindings and shared-module. removed ustruct
2017-10-18 12:50:20 -07:00
Dan Halbert
a1409d1432
redo time.monotonic() to avoid double precision
2017-10-17 10:02:16 -07:00
Dan Halbert
1709fbb65a
Turn on pulseio now that there's room.
...
https://github.com/adafruit/circuitpython/issues/325#issuecomment-336733842
2017-10-16 12:51:55 -07:00
Radomir Dopieralski
f4981677b0
Add a gamepad
module for handling buttons in the background. ( #295 )
...
The `GamePad` singleton monitors buttons in the background to make sure a button press is never missed and debouncing happens consistently.
2017-10-03 13:35:57 -07:00
Dan Halbert
c478c10923
Do not allow a *io object to be used after deinit().
...
Fixes #278 , #277 , #276 , #275 .
2017-10-03 12:07:17 -07:00
Dan Halbert
7f74412882
Make touch more sensitive. Add .raw_value and .threshold attributes.
2017-10-02 11:15:51 -07:00
Dan Halbert
e0ddd528c8
Add Processor to microcontroller documentation TOC ( #237 )
2017-09-06 17:50:00 -04:00
Scott Shawcroft
6467e3d40b
shared-bindings: Prevent check_lock from being optimized away. ( #240 )
...
Fixes #229
2017-09-06 17:49:30 -04:00
Scott Shawcroft
6d9d683443
atmel-samd: Enable 8-bit audio recording support even though it'll be
...
quiet. Also update the examples.
Fixes #226
2017-09-05 16:37:02 -07:00
Dan Halbert
fdb97eda09
Add microcontroller.cpu.temperature, for use as a simple sensor on minimal boards. ( #211 )
...
* Add microcontroller.cpu, the sole instance of microcontroller.Processor.
microcontroller.cpu.frequency is the clock frequency, in Hz.
microcontroller.cpu.temperature is the reading from the internal temperature sensor, in Celsius. None if not available.
* Squeeze firmware size by using -finline-limit. Otherwise non-Express builds were slightly too big.
* Update submodules.
* Fix documentation glitches
2017-08-31 13:48:30 -04:00
Scott Shawcroft
aa700a8b42
shared-bindings: Clarify that UART.read() is slow. ( #209 )
2017-08-29 14:06:59 -04:00
Scott Shawcroft
447a4b1ecd
Merge pull request #208 from adafruit/merge-v1.9.2
...
Merge MicroPython v1.9.2
2017-08-28 13:59:26 -07:00
Dan Halbert
c679c80c71
Modernize module and class static dicts; update freetouch
2017-08-27 15:02:50 -04:00
Scott Shawcroft
4e63d55d8d
Fix blinky example
...
Thanks to @Kurticus and @scruffynerf from [discord](http://adafru.it/discord ) for finding it.
2017-08-26 22:24:17 -07:00
Dan Halbert
ef61b5ecb5
Initial merge of micropython v1.9.2 into circuitpython 2.0.0 (in development) master.
...
cpx build compiles and loads and works in repl; test suite not run yet
esp8266 not tested yet
2017-08-25 22:17:07 -04:00
Scott Shawcroft
266be30777
atmel-samd: Introduce a nvm module for non-volatile byte-level memory access. ( #203 )
...
* atmel-samd: Introduce a nvm module for non-volatile byte-level memory access.
This allows for persisting small configuration values even when the file system
is read-only from CircuitPython.
Fixes #160
* Review feedback:
* Add tests.
* Fix non-zero index.
* Fix len()
2017-08-25 16:00:27 -04:00
Scott Shawcroft
16ef611b0b
shared-bindings: Check that extra args aren't provided to digitalio.DigitalInOut on construction. ( #189 )
2017-08-22 15:54:01 -04:00
Scott Shawcroft
f570b53d44
shared-bindings: Update DigitalIO.pull docs and validate that third ( #188 )
...
state is None and not anything.
Fixes #187
2017-08-22 15:41:04 -04:00
Scott Shawcroft
42156484ae
shared-bindings/atmel-samd: Fix and improve trigger duration timing on PulseIn.resume.
2017-08-10 11:55:34 -07:00
Scott Shawcroft
2e155bcc31
shared-bindings: Add stub documentation of storage.VfsFat so other docs can link to it.
2017-08-07 16:20:19 -07:00
Scott Shawcroft
6ace744667
esp8266: Introduce multiterminal
module for managing a secondary
...
serial connection such as WebREPL.
Fixes #181 .
2017-08-07 14:30:11 -07:00
Scott Shawcroft
557ceded00
atmel-samd: Introduce audiobusio.PDMIn for recording audio from PDM
...
microphones.
2017-07-28 12:12:38 -07:00
brentru
48375ba954
fixed naming on pulseIn example for docs
2017-07-27 19:15:51 -07:00
Dan Halbert
f91493c97e
Measure and report maximum stack usage. ( #175 )
...
Add max stack usage tracking, visible via debug module ustack.
Add separate cpp flag for enabling modules: MICROPY_DEBUG_MODULES
2017-07-23 15:32:05 -04:00
Scott Shawcroft
b69507fc64
shared-bindings: Fix neopixel_write example. I forgot to save in the editor. Fixes #163
2017-07-12 14:59:26 -07:00
Scott Shawcroft
f878bc4efc
atmel-samd: Fix AudioOut buffer playback by supporting bytes_per_sample.
...
Thanks to @ntoll for finding this bug!
2017-07-12 11:55:49 -07:00
Scott Shawcroft
5e231bd8f9
shared-bindings: Add neopixel_write example. Fixes #163
2017-07-12 11:55:17 -07:00
Scott Shawcroft
725d715a1b
shared-bindings: Introduce storage.remount() so you can set root as
...
writeable and prevent USB from editing it.
2017-06-28 16:18:13 -07:00
Scott Shawcroft
a0058e6712
Introduce a random module that is a subset of CPython's random. It
...
also initializes in the same way where it takes from a true random
source when available through os.urandom(). After initializing, it
produces deterministic results until the seed is set.
This replaces urandom!
Fixes #139 .
2017-06-27 17:37:24 -07:00
Scott Shawcroft
778e975936
Split uos module into os and storage.
...
os is a subset of CPython's os. storage contains additional
file system mounting functionality based on UNIX's mount
management.
Fixes #140
2017-06-27 15:17:30 -07:00
Scott Shawcroft
30ee7019ca
Merge tag 'v1.9.1'
...
Fixes for stmhal USB mass storage, lwIP bindings and VFS regressions
This release provides an important fix for the USB mass storage device in
the stmhal port by implementing the SCSI SYNCHRONIZE_CACHE command, which
is now require by some Operating Systems. There are also fixes for the
lwIP bindings to improve non-blocking sockets and error codes. The VFS has
some regressions fixed including the ability to statvfs the root.
All changes are listed below.
py core:
- modbuiltins: add core-provided version of input() function
- objstr: catch case of negative "maxsplit" arg to str.rsplit()
- persistentcode: allow to compile with complex numbers disabled
- objstr: allow to compile with obj-repr D, and unicode disabled
- modsys: allow to compile with obj-repr D and PY_ATTRTUPLE disabled
- provide mp_decode_uint_skip() to help reduce stack usage
- makeqstrdefs.py: make script run correctly with Python 2.6
- objstringio: if created from immutable object, follow copy on write policy
extmod:
- modlwip: connect: for non-blocking mode, return EINPROGRESS
- modlwip: fix error codes for duplicate calls to connect()
- modlwip: accept: fix error code for non-blocking mode
- vfs: allow to statvfs the root directory
- vfs: allow "buffering" and "encoding" args to VFS's open()
- modframebuf: fix signed/unsigned comparison pendantic warning
lib:
- libm: use isfinite instead of finitef, for C99 compatibility
- utils/interrupt_char: remove support for KBD_EXCEPTION disabled
tests:
- basics/string_rsplit: add tests for negative "maxsplit" argument
- float: convert "sys.exit()" to "raise SystemExit"
- float/builtin_float_minmax: PEP8 fixes
- basics: convert "sys.exit()" to "raise SystemExit"
- convert remaining "sys.exit()" to "raise SystemExit"
unix port:
- convert to use core-provided version of built-in import()
- Makefile: replace references to make with $(MAKE)
windows port:
- convert to use core-provided version of built-in import()
qemu-arm port:
- Makefile: adjust object-file lists to get correct dependencies
- enable micropython.mem_*() functions to allow more tests
stmhal port:
- boards: enable DAC for NUCLEO_F767ZI board
- add support for NUCLEO_F446RE board
- pass USB handler as parameter to allow more than one USB handler
- usb: use local USB handler variable in Start-of-Frame handler
- usb: make state for USB device private to top-level USB driver
- usbdev: for MSC implement SCSI SYNCHRONIZE_CACHE command
- convert from using stmhal's input() to core provided version
cc3200 port:
- convert from using stmhal's input() to core provided version
teensy port:
- convert from using stmhal's input() to core provided version
esp8266 port:
- Makefile: replace references to make with $(MAKE)
- Makefile: add clean-modules target
- convert from using stmhal's input() to core provided version
zephyr port:
- modusocket: getaddrinfo: Fix mp_obj_len() usage
- define MICROPY_PY_SYS_PLATFORM (to "zephyr")
- machine_pin: use native Zephyr types for Zephyr API calls
docs:
- machine.Pin: remove out_value() method
- machine.Pin: add on() and off() methods
- esp8266: consistently replace Pin.high/low methods with .on/off
- esp8266/quickref: polish Pin.on()/off() examples
- network: move confusingly-named cc3200 Server class to its reference
- uos: deconditionalize, remove minor port-specific details
- uos: move cc3200 port legacy VFS mounting functions to its ref doc
- machine: sort machine classes in logical order, not alphabetically
- network: first step to describe standard network class interface
examples:
- embedding: use core-provided KeyboardInterrupt object
2017-06-20 10:56:05 -07:00
Scott Shawcroft
c7efd2cae9
shared-bindings: Move enum-like classes out of DigitalInOut into digitalio.
...
Also, rename Direction.IN to Direction.INPUT and Direction.OUT to Direction.OUTPUT.
This simplifies using them. Prior to the nativeio split this would have led to
clutter in the top-level namespace but having digitalio prevents this.
Fixes #152
2017-06-16 13:47:01 -07:00
Scott Shawcroft
714521a4c7
shared-bindings: Update docs to remove with statements from examples but add more detail to the design guide about their use.
2017-06-07 14:39:12 -07:00
Scott Shawcroft
c5e515b8fe
docs: Add module support matrix.
2017-06-07 12:00:15 -07:00
Scott Shawcroft
2ecb9a3dbf
docs: Fix header lines that are too short.
2017-06-07 11:58:04 -07:00
Scott Shawcroft
c0e1f58b67
shared-bindings: Allow for switching direction with the attribute.
2017-06-06 17:45:39 -07:00
Scott Shawcroft
c8dc091288
shared-bindings: Fix duty_cycle parameter description and error message.
2017-06-06 16:23:06 -07:00
Scott Shawcroft
1280e9122b
Doc tweaks to clarify external libraries, new boards and add HID library.
2017-05-24 11:44:23 -07:00
Scott Shawcroft
3f5028c666
atmel-samd: Support wav file playback. Tested up to 16bit 22.1khz. Must be mono file!
...
SD card support may work but likely needs buffer tuning. Its untested.
Fixes #105
2017-05-15 19:52:38 -07:00
Scott Shawcroft
ef1a4847b3
shared-bindings: Correct PulseIn.resume to match docs. Fixes #125
2017-05-08 11:14:23 -07:00
Scott Shawcroft
58b9789d0c
atmel-samd: Introduce audio sample playback via audioio.AudioOut.
2017-05-01 13:10:03 -07:00
Scott Shawcroft
939c0045db
Switch to a shared piece of code to compute start and length of a
...
buffer from start, end and length. The old code miscomputed length
leading to writing and reading from memory past the end of the buffer.
Consolidating the code should make it easier to get right everywhere.
2017-04-20 11:24:05 -07:00
Scott Shawcroft
b653c3c8fc
Correct PulseOut example code
2017-04-13 17:52:13 -07:00
Scott Shawcroft
4a4f29b8f9
atmel-samd: Rework status LED implementation
...
* Track status pin use by user code separately so it can take over the pins and then give them back.
* Switch to hardware SPI for APA102 on Gemma and Trinket.
* Merge microcontroller/types.h into microcontroller/Pin.h to better match approach going forwards.
2017-04-12 15:24:50 -07:00
Scott Shawcroft
f28f8ba568
Split up nativeio.
...
This was done to allow greatly granularity when deciding what functionality
is built into each board's build. For example, this way pulseio can be
omitted to allow for something else such as touchio.
2017-04-10 13:32:19 -07:00
Scott Shawcroft
ff208d7677
Add low-level OneWire support class.
...
This class focuses on the timing sensitive parts of the protocol.
Everything else will be done by Python code.
This also establishes that its OK to back a nativeio class with a
bitbang implementation when no hardware acceleration exists. When
it does, then bitbangio should be used to explicitly bitbang a
protocol.
2017-03-25 12:04:49 +00:00
Scott Shawcroft
7cb54864aa
Add PulseIn support which can be used to measure a series of pulse widths.
...
This is useful for infrared input and DHT sensors.
2017-03-24 10:30:15 +00:00
Scott Shawcroft
d200a62164
Add PulseOut which can pulse a PWMOut for IR remote transmission.
2017-03-10 19:17:54 +01:00
Scott Shawcroft
bccfbe4e00
Fix duty_cycle constructor argument to PWMOut.
2017-03-10 18:55:17 +01:00
Scott Shawcroft
4aaa0ea008
shared-bindings: Do a pass on the docs and make sure keyword only arguments make sense and are documented correctly. Fixes #109
2017-03-07 12:58:57 +01:00
Scott Shawcroft
3891dde7ff
shared-bindings: Reenable struct_time. It was turned off when playing with LTO and never re-enabled.
2017-03-07 12:47:26 +01:00
Scott Shawcroft
7ecbc3a148
shared-bindings: Fix two more try_locks. Copy and paste failed me.
2017-02-28 12:31:27 +01:00
Scott Shawcroft
d598c2a919
atmel-samd: Add USB HID mouse and keyboard support.
2017-02-27 15:43:58 +01:00
Scott Shawcroft
062fac1d43
atmel-samd: Use link time optimization to reduce code size of builds which
...
share space with the file system.
"Express" builds with SPI flash crash the compiler for some reason so its
currently disabled for them.
2017-02-26 01:00:33 +01:00
Scott Shawcroft
baf3ff377e
Make more type structures const to save RAM.
2017-02-24 15:23:26 +01:00
Scott Shawcroft
12fa5b3a66
Switch exception throwing to mp_raise helpers. It saves a little code space each time to share the call.
2017-02-24 15:13:07 +01:00
Scott Shawcroft
75d0b02b3f
Throw an error when sleep time is negative.
2017-02-22 20:41:00 +01:00
Scott Shawcroft
4c05086661
Check that neopixel write is actually given a DigitalInOut.
2017-02-22 20:10:10 +01:00
Scott Shawcroft
f0b62a2b0e
Save space by only supporting 800khz neopixels.
2017-02-19 17:22:42 +01:00
Scott Shawcroft
710b5d8aff
Two I2C fixes:
...
1) Bus error will be thrown on read/write errors with errno set. (Read didn't used to fail at all.)
2) try_lock correctly returns boolean whether lock was grabbed.
Fixes #87
2017-02-19 17:02:29 +01:00
Scott Shawcroft
e9659e61f8
Switch enum-like attributes to all caps and add print support for them. Make room for this functionality by adding a shared __enter__ function object. #76
2017-02-19 16:11:33 +01:00
Scott Shawcroft
d67968e3c3
Add print support to Pin. #83 #76
2017-02-19 14:23:29 +01:00
Scott Shawcroft
3dda38c8ab
Fix pin free check to ignore None objects. Fixes #89
2017-02-19 12:59:31 +01:00
Scott Shawcroft
1a3bd67833
nativeio.SPI: Remove extraneous constructor args because they are in configure.
2017-02-19 12:57:00 +01:00
Scott Shawcroft
370d1dec88
SPI tweaks for SD Cards:
...
* Always init SPI to 250k to start for SD cards.
* Add ability to configure byte written during read.
* Add ability to read and write to portions of buffers like existing I2C API.
2017-02-10 05:09:17 -08:00
Scott Shawcroft
9f6da7b2fe
Add more PWMOut examples and rename the duty constructor argument
...
to duty_cycle so that its consistent with the attribute.
Fixes #84
2017-02-01 15:07:31 -08:00
Scott Shawcroft
e3f9ee839a
Add frequency changing support to PWMOut.
...
You can either set it once up front, or set variable_frequency on custruction to
indicate that the frequency must be able to change. This informs whether a timer
can be shared amongst pins.
This also adds persistent clock calibration on atmel-samd. Once the device has
synced its clock frequency over USB it will remember that config value until USB
is used again. This helps ensure the clock frequency is similar on and off USB.
Lastly, this also corrects time.sleep() when on USB by correcting the tick counter.
2017-01-30 15:02:01 -08:00
Scott Shawcroft
d239dbdc28
More fixes to pin pull thanks to jerryn:
...
* Correct atmel-samd pin pull state.
* Correct conversion from python pull objects to C enum.
2017-01-16 15:32:23 -08:00
Scott Shawcroft
df96823dee
Fix pull kwarg DigitalInOut.switch_to_input and add example use to docs.
...
Thanks to jerryn from the Adafruit Forum for finding the bug!
2017-01-16 10:35:46 -08:00
Scott Shawcroft
cea5503ca0
Fixup warnings from merge about undefined macro values, switch to
...
VM keyboard exception and switch to FATFS reader.
2017-01-12 12:46:18 -08:00
Scott Shawcroft
161ab018ba
Correct monotonic.
...
Fixes #69 .
2017-01-08 22:10:33 -08:00
Scott Shawcroft
63681a736a
Link to the Bus Device docs.
2017-01-05 18:43:22 -08:00
Scott Shawcroft
7c302c395e
Improve docs and update to CircuitPython.
2017-01-05 16:20:46 -08:00
Scott Shawcroft
e52fbf2e6a
Add time.struct_time support.
2017-01-05 14:00:48 -08:00
Scott Shawcroft
f48d2df634
atmel-samd: Improve TouchIn to allow for multiple simultaneous touch pads.
2016-12-20 16:39:32 -08:00
Scott Shawcroft
427d33c706
atmel-samd: Add help() and remove mem_info functions from smallest builds to make room.
2016-12-19 16:38:35 -08:00
Sebastian Plamauer
1598e44231
atmel-samd: Add preliminary support for UART
2016-12-19 13:03:50 -08:00
Scott Shawcroft
781633c716
Fix up Analog classes: unify them at 16 bits and adds reference_voltage member
...
to make for easy conversion. Fixes #14 .
2016-12-13 16:09:00 -08:00
Scott Shawcroft
3972bc19c7
atmel-samd: Basic capacitive touch button support.
...
Currently only works on a single channel and is only enabled for boards with
SPI flash. Only really designed for hardware testing at this point.
2016-12-12 15:11:25 -08:00
Scott Shawcroft
0ae344841f
atmel-samd & esp8266: Make sure pins are not already in use.
...
This prevents corrupting previous functional objects by stealing their pins
out from under them. It prevents this by ensuring that pins are in default
state before claiming them. It also verifies pins are released correctly and
reset on soft reset.
Fixes #4 , instantiating a second class will fail.
Fixes #29 , pins are now reset too.
2016-12-07 15:21:14 -08:00
Scott Shawcroft
26229efe78
Add try_lock and unlock to I2C and SPI classes to make sure things
...
are shared well between threads and underlying MicroPython (SPI Flash
for example.)
It is recommended to use the bus device classes to manage the locks
and other transaction state.
https://github.com/adafruit/Adafruit_MicroPython_BusDevice
Fixed #58
Fixed #59
Fixed #60
2016-12-02 15:46:12 -08:00
Scott Shawcroft
8ef0dd095a
Fix two bugs found by clang:
...
* PWMOut enter and exit weren't hooked up.
* end couldn't be negative in I2C.
2016-12-01 10:33:50 -08:00
Scott Shawcroft
9b3afc7b37
shared-bindings: Make MOSI and MISO optional for SPI.
2016-11-29 16:54:20 -08:00
Scott Shawcroft
4933fa1c27
shared-bindings: Ensure pin objects are actually pins.
...
Fixes #12
2016-11-29 15:50:01 -08:00
Scott Shawcroft
16764dfa31
shared-bindings: Fix blinky example. Fixes #55
2016-11-29 14:37:25 -08:00
Scott Shawcroft
d2aa05a9fe
shared-bindings: Stop using negative length at all. Having uint and int mixed is confusing.
2016-11-28 19:57:05 -08:00
Scott Shawcroft
bda6ee9a14
shared-bindings: Stop using max and min because C doesn't define them.
2016-11-28 19:48:48 -08:00
Scott Shawcroft
78f8565270
Add start and end kwargs to writeto and readfrom_into so a single buffer can be used to save memory.
2016-11-28 18:35:19 -08:00
Scott Shawcroft
ea1320bee7
Add uheap for debugging the size of objects. Still not perfect though.
2016-11-22 17:32:28 -08:00
Scott Shawcroft
ccbb5e84f9
This introduces an alternative hardware API called nativeio structured around different functions that are typically accelerated by native hardware. Its not meant to reflect the structure of the hardware.
...
Docs are here: http://tannewt-micropython.readthedocs.io/en/microcontroller/
It differs from upstream's machine in the following ways:
* Python API is identical across ports due to code structure. (Lives in shared-bindings)
* Focuses on abstracting common functionality (AnalogIn) and not representing structure (ADC).
* Documentation lives with code making it easy to ensure they match.
* Pin is split into references (board.D13 and microcontroller.pin.PA17) and functionality (DigitalInOut).
* All nativeio classes claim underlying hardware resources when inited on construction, support Context Managers (aka with statements) and have deinit methods which release the claimed hardware.
* All constructors take pin references rather than peripheral ids. Its up to the implementation to find hardware or throw and exception.
2016-11-21 14:11:52 -08:00
Scott Shawcroft
23112a6434
atmel-samd: Merge init into the constructor and check all available
...
SERCOMs during initialization.
Fixes #16 . It was broken because the MISO pin used the second SERCOM.
2016-11-01 17:30:01 -07:00
Scott Shawcroft
0cb0bd0f25
atmel-samd: More updates to the docs including the in-code docs.
2016-10-19 16:49:35 -07:00
Scott Shawcroft
46e7f8e4fb
Documentation rework to unify the docs together rather than having them
...
on a per port basis.
Also enables generating docs from inline RST in C code. Simply omits all
lines except those that start with //|. Indentation after "//| " will be
preserved.
2016-10-18 17:42:47 -07:00
Scott Shawcroft
011056af15
atmel-samd: Add support for SPI.
...
Also separate out the ASF config headers that are shared across all boards.
2016-10-11 15:48:43 -07:00
Scott Shawcroft
afedba5c2f
atmel-samd: Support with statements for I2C class.
...
Also add init/deinit if you want to init/deinit manually.
2016-10-05 18:44:55 -07:00
Scott Shawcroft
7d8929c470
atmel-samd: Add I2C support.
...
This commit also introduces a new shared-bindings directory which is used to store the common Python -> C binding code. By having a shared directory we can ensure that the Python API across ports is the same. Each port will have a corresponding common-hal directory which provides definitions for the C api used in the shared-bindings code. That way the compiler can enforce the C api.
To migrate to this new shared API create a common-hal directory within your port and change the Makefile to compile both the shared-bindings and common-hal files. See atmel-samd/Makefile SRC_BINDINGS for an example.
2016-09-13 11:46:22 -07:00