Commit Graph

484 Commits

Author SHA1 Message Date
Jeff Epler 6a8efa6ef1 preprocess_frozen_modules: exclude subdirs of examples, docs, tests
.. this reclaims several kB on CPX, where we really need it.
2019-12-17 10:06:44 -06:00
Dan Halbert 81581b345c Increase CPX stack size slightly 2019-12-16 17:25:22 -05:00
Dan Halbert 8176325130 Merge remote-tracking branch 'adafruit/master' into ld-cleanup 2019-12-11 22:52:59 -05:00
Melissa LeBlanc-Williams d67a9a8271 Added PyPortal Pynt alias 2019-12-11 11:41:10 -08:00
Dan Halbert d9ca4c9a60 fix build failures 2019-12-10 22:39:44 -05:00
Dan Halbert 013c840862 working on all ports 2019-12-10 20:27:30 -05:00
Dan Halbert d628d2a261 atmel-samd working 2019-12-06 15:18:20 -05:00
Dan Halbert 40434d6919 wip 2019-12-05 22:45:53 -05:00
Melissa LeBlanc-Williams fe6ec9a7d4 Added Edgebadge alias for Pybadge 2019-11-19 14:53:58 -08:00
Thea Flowers 67ff1c92f0
Allow boards to change the "CircuitPython" text in their USB interface description.
In cases where more than one board is connected to a single computer it can become pretty hard to figure out which board you're actually talking to. For example, if you have several MIDI-compatible boards they all show up as "CircuitPython MIDI". This change allows boards to replace the "CircuitPython" part of their USB descriptors with more specific text, for example, "CircuitPython Feather" or just "Feather". This will let folks more easily tell boards apart.

The new option is named `USB_INTERFACE_NAME` and is available in `mkconfigboard.mk`. For example:

```
USB_INTERFACE_NAME = "Feather"
```
2019-11-12 13:29:35 -08:00
Dan Halbert 7b79ac3739 Parameterize linker script 2019-10-20 23:50:12 -04:00
Kamil Tomaszewski 5cf66dfec2 Add cxd56 to build_board_info 2019-10-11 12:09:51 +02:00
Kamil Tomaszewski 810d802ca8 Fix invalid syntax error 2019-10-08 09:52:00 +02:00
kamtom480 f6e553f89f
Merge branch 'master' into circuitpython-number-endpoint 2019-10-08 09:41:29 +02:00
Kamil Tomaszewski 79096dbacd Add the specific endpoint names 2019-10-08 09:35:04 +02:00
Kamil Tomaszewski 29844db332 Use boolean type for renumber_endpoints 2019-10-08 09:26:02 +02:00
Kamil Tomaszewski a020f203dc Update usb_descriptor submodule 2019-10-07 13:44:05 +02:00
Kamil Tomaszewski badf32e88d Add HID OUT 2019-10-07 13:40:44 +02:00
Kamil Tomaszewski 1205d3e305 Add validation 2019-10-07 12:31:42 +02:00
Kamil Tomaszewski 7aefcc449a Add an alternative way to number the USB endpoints
Two options available:
- relative numbering (USB_RELATIVE_EP_NUM = 1) - default
- absolute numbering (USB_RELATIVE_EP_NUM = 0) - new!
2019-10-07 12:31:42 +02:00
Kamil Tomaszewski ef42abb818 Add a way to change max packet size for MSC 2019-10-04 13:49:33 +02:00
Dan Halbert 05038ea1e5 Update tinyusb to fix gamepad;add HID OUT interface descriptor 2019-10-01 15:57:16 -04:00
Scott Shawcroft 3ff53a64cb
Merge pull request #2181 from tannewt/update_frozen
Update frozen modules.
2019-09-30 14:23:05 -07:00
Scott Shawcroft c12c837abd
Improve frozen prep to skip example subdirectories 2019-09-30 13:37:58 -07:00
Scott Shawcroft 060e81ded0
Fail when boards are missing too 2019-09-30 12:09:29 -07:00
Scott Shawcroft 54b03a7476
When uploading release assets, ignore those already uploaded. 2019-09-14 13:05:52 -07:00
Dan Halbert 8f6267115c Renumber only chosen USB interfaces; fix HID report ids 2019-09-09 15:12:06 -04:00
Scott Shawcroft 5e754f1694
Merge pull request #2121 from tannewt/markdown_autolink
Add support for converting autolinks to BBCode
2019-09-05 11:28:24 -07:00
Hierophect 96d1711296 Merge remote-tracking branch 'upstream/master' into stm32-ci-workflow 2019-09-05 13:36:23 -04:00
Dan Halbert f3af2a6fb7 Merge remote-tracking branch 'adafruit/master' into choose-usb-devices-xac 2019-09-04 21:56:13 -04:00
Dan Halbert 195de97c67 use only one endpoint pair for MSC except on SAMD21 2019-09-04 21:45:16 -04:00
Scott Shawcroft dab345ce58
Add support for converting autolinks to BBCode 2019-09-04 17:15:30 -07:00
Scott Shawcroft ff3d04f4d1
Fix website updater for other users.
It broke with adafruit-blinka but works now.
2019-09-04 16:50:13 -07:00
Hierophect e92a21cb0a minor text fixes 2019-09-04 18:40:44 -04:00
Hierophect 0cd5f4c12b remove redundant exclusion inclusion 2019-09-04 18:28:27 -04:00
Hierophect e6f8ad65c1 add stm32 port to workflow 2019-09-04 18:10:37 -04:00
Dan Halbert 95a5a57f94 Merge remote-tracking branch 'adafruit/master' into choose-usb-devices-xac 2019-09-04 00:12:09 -04:00
Dan Halbert 94ba027544 simpler generation of HID device tables 2019-09-03 21:16:14 -04: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
Dan Halbert 42f5edbd33 WIP 2019-09-03 14:44:46 -04:00
Scott Shawcroft 6106909c10
Swap the CI to GitHub Actions from Travis 2019-08-27 19:53:54 -07:00
Scott Shawcroft 70680d5b22
EPaper displays work mostly. 2019-08-22 14:08:33 -07:00
Dan Halbert 1a818c60cb make translate again; make check-translate passes 2019-08-19 10:25:36 -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
sommersoft 8eab946c5b
Merge pull request #2003 from C47D/travis_check_new_boards
Add check to travis to make sure new boards are built, fix #1886
2019-07-28 22:41:59 -05:00
C47D 7e4d7a5373 [travis check new boards] Fail in case of any missing boards 2019-07-25 16:11:45 -05:00
C47D 8864cefba6 [travis check new boards] missing_boards as set 2019-07-23 13:03:29 -05:00
C47D c316231dd2 [travis check new boards] Do not end test if there are missing boards 2019-07-23 13:02:07 -05:00
sommersoft b630e561a7
exclude aliased boards from 'get_board_mapping()' 2019-07-21 12:13:13 -05:00
Carlos d1fecf5025 Fix missing module sh and remove unused module re 2019-07-20 01:08:22 -05: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
C47D 22c265b170 [travis check new boards] Reduce code logic to exit with failure 2019-07-19 16:54:42 -05:00
C47D fc1594104b [travis new boards check] Exit with failure if a board in info isn't in travis 2019-07-19 12:59:04 -05:00
C47D ae41bb369f [travis new boards check] sort both lists of boards 2019-07-19 12:36:13 -05:00
C47D b279d6b335 [travis new boards check] We now have two lists that contain the boards based on board_info and TRAVIS_BOARDS 2019-07-19 12:11:16 -05:00
C47D a1db6c4379 [Draft] Add check to travis to make sure new boards are built, fix #1886 2019-07-19 10:01:35 -05: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
Tavish Naruka 7f97cc1940 Generate .hex for Blip. 2019-07-08 14:16:31 +05:30
Radomir Dopieralski 7c908b08ee Use FONTBOUNDINGBOX for font metrics
Instead of iterating over all the glyphs and calculating the maximum
width and height, use the FONTBOUNDINGBOX to determine the size of a
tile for terminalio.

This works better with fonts such as generated by FontForge, that don't
include the empty space in the glyph bitmap itself. It also lets the
font author specify vertical spacing they want.

I only tested this with the default font and with one I generated with
FontForge.
2019-06-30 01:10:47 +02: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 5164a6eb26 forgot tools/git-checkout-latest-tag.sh in PR #1909 2019-06-11 15:22:32 -04:00
Dan Halbert 4e85c1ef91 Implement forced clean builds for boards so designated.
Mark boards that set CFLAGS_INLINE_LIMIT for particular langauges as needing clean builds.

Fixes #1910.
2019-05-24 15:32:24 -04:00
Scott Shawcroft 3fad7de8db
Rework the pixel computation to use areas
This changes the displayio pixel computation from per-pixel to
per-area. This is precursor work to updating portions of the screen
(#1169). It should provide mild speedups because bounds checks are
done once per area rather than once per pixel. Filling by area also
allows TileGrid to maintain a row-associative fill pattern even when
the display's refresh is orthogonal to it.
2019-05-21 17:41:06 -07:00
Scott Shawcroft 796fc3f5ab
Update font location and shrink a bunch of builds 2019-04-12 15:25:48 -07:00
hexthat f36572f322
Rename tools/new-ter-u12n.bdf to tools/default-font/new-ter-u12n.bdf 2019-04-12 12:55:13 -07:00
hexthat b4509362ef
Add files via upload 2019-04-12 12:55:13 -07:00
Scott Shawcroft 1eb1430d82
Add alias support for unique board revs
This way we can list different board styles and track their
downloads without a completely new binary.

Fixes #1673
2019-04-11 11:25:04 -07:00
Dan Halbert 7798eb983d updated usb_descriptor submodule per @hathach 2019-04-05 11:52:38 -04:00
Scott Shawcroft 6fcda1dec4
Support multi-byte values with Bitmap
It also corrects the behavior of single byte values.

Fixes #1744
2019-04-04 12:50:35 -07:00
Scott Shawcroft bbed7b813b
Add script to convert release notes from Markdown 2019-03-30 23:31:11 -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
Scott Shawcroft cac9da37f9
Update board info build to handle top level list. 2019-03-11 17:07:15 -07:00
Dan Halbert b1d194505e Build both BIN and UF2 for RFM boards 2019-03-05 13:11:10 -05:00
Scott Shawcroft 785edf719e
Update translations based on git history 2019-02-22 15:28:29 -08:00
Scott Shawcroft 2a5a735d94
Add utility to remerge translations 2019-02-22 13:06:40 -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
Scott Shawcroft 3af57f3e92
Fix up heap analysis for dynamic heap location 2019-02-01 16:03:37 -08:00
Scott Shawcroft ec03887040
Fix hallowing and nrf builds 2019-01-31 11:42:15 -08:00
Scott Shawcroft 1a1dbef992
Hook up the terminal based on the first display. 2019-01-31 11:42:14 -08:00
Scott Shawcroft 590e029198
Begin font parsing and packing for terminal 2019-01-31 11:42:13 -08:00
Scott Shawcroft d30bdd4cb3
Fix board info script to skip removed boards. 2019-01-24 10:22:14 -08:00
Gregory P. Smith 7296b647ef Add MDK nRF52840 MDK USB Dongle support.
Adds support for https://wiki.makerdiary.com/nrf52840-mdk-usb-dongle/.

A cheap nRF52840 USB stick with optional headers, very Trinket and Itsy like.
2019-01-15 01:37:22 -08:00
vgoodwinv c1cfe5f5f0
Update build_release_files.py 2019-01-14 21:35:21 -05:00
vgoodwinv d1204c7cf3
Update build_release_files.py 2019-01-14 21:27:14 -05:00
vgoodwinv 6962c04f66
Update build_release_files.py
added language directories under exist board directories for #1441
2019-01-14 21:21:48 -05:00
Scott Shawcroft b5f35b82e1
Remove from build info too 2019-01-14 13:30:09 -08:00
Dan Halbert 50ee5ef24c merge translations; add bleio comments; fix minor sphinx issues in midi 2019-01-10 21:12:17 -05:00
Dan Halbert 516d7da641
Merge pull request #1449 from tannewt/midi
Add USB MIDI support for SAMD and nRF.
2019-01-10 19:49:33 -05:00
Scott Shawcroft 3dd59c3d5f
Polish thanks to Dan's feedback 2019-01-10 11:00:40 -08:00
Scott Shawcroft b5e40f52c2
Add USB MIDI support for SAMD and nRF.
The API should be identical to using a UART for MIDI.

Fixes #672
2019-01-09 14:02:11 -08:00
Dan Halbert d41ed768dc Fix sphinx build issues; add better travis fold reporting; update author info 2019-01-09 16:22:19 -05: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 b6b5ed9c89 Remove nRF52832 support 2018-12-30 22:49:20 -05:00
Carl Karsten 5f3a259827 Sync with micropython. closes #1414 2018-12-20 18:44:39 -06:00
Scott Shawcroft b1c882a26b
Default nrf boards to UF2 2018-12-11 11:51:07 -08:00
Scott Shawcroft 96e65fa641
Fix build board info for python3.5 2018-12-10 13:17:05 -08:00
Scott Shawcroft 7da85f5a4f
Strip a newline from the version tag. 2018-12-10 10:13:09 -08:00
Scott Shawcroft 06c4938120
Build UF2s for the particle boards 2018-12-07 17:37:25 -08:00
Dan Halbert 58f230d632 make sure travis sees some output in time 2018-12-05 15:01:58 -05:00
Scott Shawcroft b0da9ac780
Don't capture output 2018-12-04 18:20:51 -08:00
Scott Shawcroft 15c1fc873c
Add particle boards, fix cp32 and try to speed up atmel build 2018-12-04 18:20:48 -08:00
Scott Shawcroft df18d22a93
Capture stderr as well and work on nRF build 2018-11-30 12:59:05 -08:00
Scott Shawcroft cf70dc4f1c
Fix BLE build 2018-11-30 11:53:33 -08:00
Scott Shawcroft 56345ff997
A few tweaks based on review feedback 2018-11-30 10:58:27 -08:00
Scott Shawcroft 9d07e95351
Add support for adding release info into adafruit/circuitpython-org
This also changes the build script to python with better output.
2018-11-30 00:30:57 -08:00
Scott Shawcroft 913b513929
Merge pull request #1357 from ElectronicCats/add-electroniccats-catwan-usbstick
Added board Electronic Cats CatWAN USB Stick
2018-11-27 11:58:26 -08:00
sabas1080 a053eb2205 auto-built and documentation 2018-11-26 14:51:04 -06:00
Scott Shawcroft 0c55ddf0fc
Update to Xenial on Travis 2018-11-26 11:53:03 -08:00
Scott Shawcroft 43f7ca7985
Incorporate feedback:
* Clean up board defines.
* Add flush on eject and stay ejected.
* Swith back to NONE protocol for CDC.
2018-11-09 11:33:56 -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 bd79c0c0de
Merge pull request #1295 from ElectronicCats/mkr1300
Add board MKR1300 by Arduino
2018-10-26 20:15:20 -04:00
sabas1080 ba98d4ce9c minor changes in auto-built 2018-10-25 16:11:49 -05:00
Dan Halbert 09c44743b0
Merge pull request #1282 from tannewt/frozen_debug
Add debug info to the generated frozen_mpy.c
2018-10-23 12:32:45 -04:00
Scott Shawcroft 554f82fe9b
Merge pull request #1286 from klardotsh/topic-nrf52840-mdk
Add support for MakerDiary nRF52840 MDK board
2018-10-22 17:47:14 -07:00
sabas1080 37d784bcdc add auto-built by Travis mkr1300 2018-10-22 19:42:40 -05:00
Josh Klar 4a40919228
Make sure port is built as an NRF hex correctly 2018-10-20 03:36:55 -07:00
Scott Shawcroft b4dcbb79b2
Add back printing out code info. Whoops! 2018-10-18 14:23:17 -07:00
Scott Shawcroft 4f9c8b7361
Add debug info to the generated frozen_mpy.c
It adds size info and uses macros for byte code to make it more
readable.
2018-10-17 17:45:47 -07:00
sabas1080 6a1a2c7c7b add auto-built by Travis 2018-10-16 13:51:37 -05:00
Scott Shawcroft 623f8d3b8c
Don't freeze the tests directory 2018-10-05 15:14:34 -07:00
Dan Halbert cf3b40207e add pca10059 properly to build_adafruit_bins.sh; modernize that script; update translations (again) 2018-09-18 22:21:29 -04:00
Dan Halbert bc510e714f merge 3.0.2 to master 2018-09-18 15:38:12 -04:00
ladyada 14ad7d31db automate builds 2018-09-14 10:38:06 -04:00
Scott Shawcroft e29cbf694b
Auto-build grandcentral 2018-09-07 10:52:30 -07:00
Dan Halbert de9f9e8504 upload .uf2 for nrf52840 boards 2018-08-29 15:38:33 -04:00
Dan Halbert 85df32907f rename nrf boards to feather_nrf52832 and feather_nrf52840_express 2018-08-21 18:45:37 -04:00
Dan Halbert 1768057e87
add HalloWing 2018-08-20 10:52:24 -07:00
Scott Shawcroft de5a9d72dc
Compress all translated strings with Huffman coding.
This saves code space in builds which use link-time optimization.
The optimization drops the untranslated strings and replaces them
with a compressed_string_t struct. It can then be decompressed to
a c string.

Builds without LTO work as well but include both untranslated
strings and compressed strings.

This work could be expanded to include QSTRs and loaded strings if
a compress method is added to C. Its tracked in #531.
2018-08-16 17:40:57 -07:00
Scott Shawcroft 94c5ceab36
Initial SAMR board revision. 2018-08-09 05:36:46 -07:00
Scott Shawcroft 933add6cd8
Support internationalisation. 2018-08-07 14:58:57 -07:00
Scott Shawcroft a6d94b6845
Merge pull request #1068 from dhalbert/micropython-25ae98f-merge
Micropython 25ae98f merge
2018-07-30 12:33:44 -07:00
Dan Halbert fbe98ff9a9
Merge pull request #1071 from dhalbert/3.x-hallowing
add HalloWing
2018-07-29 20:24:47 -04:00
Dan Halbert 680597547c add HalloWing 2018-07-29 19:22:16 -04:00
Dan Halbert 2e260a0eab Merge remote-tracking branch 'adafruit/master' into micropython-25ae98f-merge 2018-07-28 14:13:54 -04:00
Scott Shawcroft 70df242f72
Update uf2 tools to support python3. 2018-07-25 09:39:46 -07:00
Dan Halbert 2809b4f9dd Merge branch 'master' into micropython-25ae98f-merge 2018-07-16 19:36:40 -04:00
Dan Halbert 7c219600a2 WIP: after merge; before testing 2018-07-11 16:45:30 -04:00
hathach 0e819599e7 Merge branch 'master' into nrf52840_usbboot 2018-07-10 02:02:52 +07:00
Scott Shawcroft f3f8e13b88
analyze everything 2018-07-03 05:45:51 -07:00
Scott Shawcroft 252aacdddf
Analysis fixes and long lived tweaks. 2018-07-03 05:45:50 -07:00
hathach 36e2f38933 update tools/uf2 to have family support 2018-07-03 17:49:59 +07:00
hathach 4d45565663 update tools/uf2 to support hex input for uf2conv.py 2018-06-25 23:27:37 +07:00
Damien George 92667dc2e5 tools/pydfu.py: Add support for multiple memory segments.
Segments are separated by / and begin with the memory address.  This
follows how the ST DFU tool works.
2018-06-22 15:32:32 +10:00
Scott Shawcroft 724bd7c17f Correct the tool build 2018-06-18 14:07:21 -07:00
Scott Shawcroft 05547b72ac Switch to Feather52s full name to avoid confusion with the nrf52840 later.
Fixes #940
2018-06-18 10:51:04 -07:00
Scott Shawcroft b4338921de Add auto-build for nrf52840 development kit, PCA10056 2018-06-15 16:34:26 -07:00
Jeff Epler bbba3e505f build_adafruit_bins: feather_huzzah need not be a special case 2018-06-10 14:56:55 -05:00
Scott Shawcroft 66b79723b6 Add code size analysis tool and shrink samd.clock a smidge. 2018-06-08 12:56:32 -07:00
Damien George 8fb95d6520 tools/pydfu.py: Increase download packet size to full 2048 bytes.
The ST DFU bootloader supports a transfer size up to 2048 bytes, so send
that much data on each download (to device) packet.  This almost halves
total download time.
2018-06-08 15:32:49 +10:00