Commit Graph

1040 Commits

Author SHA1 Message Date
MicroDev 39b4f26932
update ci 2023-01-21 11:01:09 +05:30
MicroDev 434c2355a0
multiple ci enhancements
- selectively fetch submodule tags
- conditionally build mpy-cross
- remove frozen from submodule cache
2023-01-14 17:10:40 +05:30
MicroDev 6bc0274aec
cache common submodules and share cp version 2023-01-14 10:58:04 +05:30
MicroDev 4a9d934008
escape `.` and `/` in regex 2023-01-11 20:56:53 +05:30
MicroDev 645499e819
check `//|` only after a file matches the doc pattern 2023-01-11 11:52:19 +05:30
MicroDev c94f83f2e6
fix pagination and some refactoring 2023-01-09 18:17:51 +05:30
MicroDev 565bbd5002
fix path in `set_docs_to_build` 2023-01-08 13:23:51 +05:30
MicroDev 70273316f8
run pre-commit formatting 2023-01-07 19:00:54 +05:30
MicroDev 8096c94e1b
build docs only when `//|` matches 2023-01-07 18:17:48 +05:30
MicroDev 0e46c77c14
fix for bug `fatal: error in object: unshallow` 2023-01-07 17:52:33 +05:30
MicroDev 03d4d63ab5
simplify fetching changed files 2023-01-07 17:48:39 +05:30
MicroDev da31232cdf
refactor variable naming 2023-01-07 11:50:31 +05:30
Bernhard Bablok 868a98323a added comment for IGNORE_DIRS 2022-12-21 15:18:33 +01:00
Bernhard Bablok f97925c66c ignore .devcontainer/* 2022-12-21 13:27:23 +01:00
Jeff Epler 41beca14af
only import a module if we use something from it
This prevents a bogus line such as `from types import ` from being
generated.

surprisingly this was not detected as a problem until a change
in isort! Formerly it would remove the bad line, but now it (correctly!)
errors
2022-12-13 16:04:07 -06:00
Dan Halbert 845b68c351
Merge pull request #7204 from jepler/build-python3x
return to using python 3.x for builds
2022-11-30 15:18:29 -05:00
Scott Shawcroft ad2d190507
Merge pull request #7247 from tannewt/picow_web_workflow
Enable* web workflow for Pico W
2022-11-28 14:19:42 -08:00
Scott Shawcroft 167a50658a
Try and fix ci change script 2022-11-22 09:42:59 -08:00
MicroDev 7ea563e661
fix json parse issue 2022-11-19 23:29:05 +05:30
MicroDev 4f2f489df4
ignore espressif_esp32s3_devkitc_1_n32r8 in vid:pid check 2022-11-18 09:54:40 +05:30
Scott Shawcroft c525322a29
Merge pull request #7132 from MicroDev1/ci
CI: Schedule PR jobs based on commit specific changes
2022-11-17 10:37:07 -08:00
Dominic Davis-Foster ca84d79809
Allow duplicate VID and PID in CI check. 2022-11-15 23:06:36 +00:00
Jeff Epler dec802a73b
build docs when .github/workflows changes
Closes: #7205
2022-11-13 13:26:46 -06:00
microDev 30f07fbf22
schedule pr jobs based on commit specific changes 2022-10-26 23:19:13 +05:30
Jeff Epler d08b43f704
We refer to port multiple times, make it convenient 2022-10-14 11:33:04 -05:00
Jeff Epler 641a398a54
only build subset of boards for bindings changes 2022-10-14 11:33:03 -05:00
Jeff Epler 3b600ac9b3
Potentially compute settings of fewer boards
.. when the file is within ports, just get the settings for boards
within the port
2022-10-14 11:33:03 -05:00
Jeff Epler ad130e87f0
Parallelize finding board settings
This reduces the _elapsed_ time running the script from ~90s to ~15s
on my AMD Ryzen 7 5700U. The CPU time is still around 2 minutes.
2022-10-14 11:33:03 -05:00
Jeff Epler cab4063057
Make it easier to locally test ci_set_matrix
Now you can e.g., `tools/ci_set_matrix.py ports/raspberrypi/mpconfigport.h`
and see what outputs would be set.
2022-10-14 11:33:02 -05:00
Jeff Epler 81154b4ee6
Revert "don't build other ports due to common-hal changes"
This reverts commit 91985cef7e.
2022-10-14 11:32:58 -05:00
Dan Halbert 91985cef7e don't build other ports due to common-hal changes 2022-10-14 11:26:37 -04:00
Jeff Epler a31ad57225
Use non-deprecated way to set build outputs
see https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
2022-10-12 13:45:30 -05:00
Dan Halbert e0517c7379
Merge pull request #6999 from jepler/picow-ssl
pico_w: implement ssl with caveats
2022-10-06 10:51:36 -04:00
Jeff Epler ecd140213b
populate nina-fw submodule whe needed 2022-10-06 08:14:50 -05:00
Dan Halbert 3d91ea444a run black on tools/ci_check_duplicate_usb_vid_pid.py 2022-10-05 17:37:33 -04:00
Jeff Epler 905a5957b9
allow gen_crt_bundle to generate a .S file directly
.. this gets rid of one of the steps of converting it
2022-10-05 14:56:25 -05:00
Jeff Epler b47d1d777b
black and fix doc typo 2022-10-05 14:56:24 -05:00
Jeff Epler b1ce1d05d7
Copy from esp-idf@d51f7d8821 2022-10-05 14:56:24 -05:00
Jeff Epler dcb650c513 pico w: add ssl module
Note: at this time, the ssl module on pico_w never verifies the server
certificate. This means it does not actually provide a higher security
level than regular socket / http protocols.
2022-10-05 13:12:43 -04:00
Kyle Mohr b417eacc5e
Update ci_check_duplicate_usb_vid_pid.py 2022-10-04 00:03:38 -05:00
Kyle Mohr ba2368c59e
Utilize VID/PID from native USB port 2022-10-03 23:46:23 -05:00
Kyle Mohr a948dc399b add esp32-s2-devkitc-1-n8r2 variant 2022-10-04 03:51:51 +00:00
Jeff Epler 907c5d387f
Tweak black_bindings
Originally, black_bindings found each contiguous "//|" block and sent
it to black independently. This was slower than it needed to be.

Instead, swap the comment prefix: when running black, take off
"//|" prefixes and put "##|" prefixes on all un-prefixed lines.
Then, after black is run, do the opposite operation

This more than doubles the overall speed of "pre-commit run --all",
from 3m20s to 55s CPU time on my local machine (32.5s to under 10s
"elapsed" time)

It also causes a small amount of churn in the bindings, because
black now sees enough context to know whether one 'def' follows another
or ends the 'def's in a 'class'. In the latter case, it adds an extra
newline, which becomes a "//|" line.

I'm less sure why a trailing comma was omitted before down in
rp2pio/StateMachine.c but let's roll with it.
2022-09-30 11:18:13 -05:00
Dan Halbert db065a299f
Merge pull request #6933 from jepler/🥧🐮
Implement a useful subset of `wifi` and `socketpool` modules on 🥧🐮
2022-09-28 18:09:24 -04:00
Jeff Epler 6c3cdceb45
Implement scan, connect, ping
My pings go out, and then they come back

```py
import os
import wifi
import ipaddress

wifi.radio.connect(os.getenv('WIFI_SSID'), os.getenv('WIFI_PASSWORD'))
ipv4 = ipaddress.ip_address("8.8.4.4")
print("Ping google.com: %f ms" % (wifi.radio.ping(ipv4)*1000))
```
2022-09-28 10:06:33 -05:00
Jeff Epler 3a0d237581
Run black_bindings during pre-commit 2022-09-27 15:22:55 -05:00
Jeff Epler 6a20aef382
new script to blacken docstrings in bindings 2022-09-27 15:20:49 -05:00
Jeff Epler a769beed3f
Use new unique ID for this board 2022-09-22 16:23:38 -05:00
Dan Halbert dd37c81136
Merge pull request #6847 from dhalbert/status-bar-control
Allow enabling and disabling of status bar
2022-09-08 10:48:36 -04:00
Dan Halbert 52080e24eb status bar control 2022-08-30 15:23:44 -04:00
Jeff Epler cb202ea344
Check uniqueness of creatorid:creationid
Turns out we already have one duplicate, so I 'endorsed' it, but probably
one should be reassigned.

Closes: #8628
2022-08-27 21:32:58 -05:00
Scott Shawcroft 1ae88c3131
Merge remote-tracking branch 'adafruit/main' into design_guide_update 2022-08-11 10:52:06 -07:00
Scott Shawcroft 9c6c8b5d62
Don't build boards for docs changes 2022-08-10 16:31:50 -07:00
Dan Ellis 9b5e00fcc5 py/formatfloat: Format all whole-number floats exactly.
Formerly, py/formatfloat would print whole numbers inaccurately with
nonzero digits beyond the decimal place.  This resulted from its strategy
of successive scaling of the argument by 0.1 which cannot be exactly
represented in floating point.  The change in this commit avoids scaling
until the value is smaller than 1, so all whole numbers print with zero
fractional part.

Fixes issue #4212.

Signed-off-by: Dan Ellis dan.ellis@gmail.com
2022-08-09 13:43:47 -04:00
Scott Shawcroft 167108a91f
Fix builds with displayio but not terminalio 2022-08-04 16:34:25 -07:00
Scott Shawcroft 3a2bcbc5c7
Enable title bar on all builds
* Tweak scroll area position so last line is complete and top is
  under the title bar.
* Pick Blinka size based on the font to minimize unused space in
  title bar. Related to #2791
* Update the title bar after terminal is started. Fixes #6078

Fixes #6668
2022-08-04 16:33:10 -07:00
Scott Shawcroft 51006f5eeb
Merge branch 'main' into webflow_edit_page 2022-07-29 10:03:07 -07:00
Scott Shawcroft bb734c75d7
Improve build matrix computation
If a changed file is in frozen, supervisor, shared-bindings,
shared-module or common-hal, then compute board settings to
determine if it is impacted.

This should reduce the boards built for changes that are in those
directories.
2022-07-26 15:33:13 -07:00
Neradoc f472996e80 move get_board_mapping to shared_binding_matrix because it just uses a list from there
uppercase some of the configuration lists and dicts
properly split the extensions into a list
2022-07-26 18:15:59 +02:00
Neradoc eabe8b971a list extensions instead of macros names ("bin,uf2" not BIN_UF2)
the modules_support_matrix usees a dictionnary per board instead of a list
optionally include the frozen modules URLs in it
2022-07-26 18:15:59 +02:00
Neradoc d021d9ae4a Move build extensions to board directories
- define CIRCUITPY_BUILD_EXTENSIONS to predefined values
- set CIRCUITPY_BUILD_EXTENSIONS in port and board config
- reuse the support matrix "get_settings_from_makefile" to get it
- move the existing port and board specific values
- remove the C3 specific board values because it's not the default
- update build_release_files.py to use get_settings_from_makefile
2022-07-26 18:15:50 +02:00
foamyguy d0782b60cb Merge branch 'main' into webflow_edit_page
# Conflicts:
#	supervisor/shared/web_workflow/web_workflow.c
2022-07-25 19:20:05 -05:00
Scott Shawcroft 47f718aa92
Merge pull request #6615 from askpatrickw/beetle-esp32-c3
Beetle esp32 c3
2022-07-25 15:00:05 -07:00
Patrick 71c22232f0 board config compelted 2022-07-17 11:48:45 -07:00
foamyguy 584e27139e add back /edit/ handler and specify ES6 quote chars for jsmin 2022-07-15 19:49:03 -05:00
Scott Shawcroft bad080a7bb
Merge pull request #6588 from jepler/signal-errors-ci-fetch-deps
signal errors in ci_fetch_deps subprocesses
2022-07-15 11:17:59 -07:00
Jeff Epler 8cdbeb62f6
Pass check=False for an expected-fail command 2022-07-14 15:16:28 -05:00
Scott Shawcroft ac460dd1e1
Merge branch 'main' into esp32 2022-07-13 15:30:53 -07:00
Jeff Epler 104ac5b965
signal errors in ci_fetch_deps subprocesses
A recent build failed. The original error seemed to be during ci_fetch_deps
where a build message said
```
  fatal: reference is not a tree: 346c936e14c6ea3a8d3d65cb1fa46202dc92999d
  fatal: Unable to checkout '346c936e14c6ea3a8d3d65cb1fa46202dc92999d' in submodule path 'extmod/ulab'
```
(along with other problems), but this step didn't signal failure to
github actions.

By adding the check= parameter, a failure of the subprocess will cause
a CalledProcessError to be raised, which will make ci_fetch_deps exit with
nonzero status. In turn, this should let Actions understand that something
went wrong with this step, instead of waiting for some subsequent step(s)
to go wrong.
2022-07-13 14:56:22 -05:00
Scott Shawcroft 23bbb19138
Merge remote-tracking branch 'adafruit/main' into websocket_serial 2022-07-12 13:15:38 -07:00
Scott Shawcroft 15fe386457
Fix build and minify html and js 2022-07-12 11:13:17 -07:00
Dan Halbert fa62c87536 ESP32 .bin only; update nvm.toml 2022-07-08 20:37:47 -04:00
Dan Halbert 2c7ad7a39f make translate and pre-commit formatting fixes 2022-07-08 16:53:53 -04:00
Dan Halbert a9d4f09360 Update ci_check_duplicate_usb_vid_pid.py for ESP32 2022-07-08 16:11:01 -04:00
Patrick 03c1871d6b Folders have underscores not dashes 2022-07-01 14:50:46 -07:00
Patrick f95edd93a0 C3 boards are Bin only 2022-07-01 14:50:46 -07:00
Scott Shawcroft 3cd05291d0
Static files + welcome page 2022-06-27 13:39:09 -07:00
Scott Shawcroft 7543dd9af0
CORS works and autoreload too 2022-06-27 13:39:08 -07:00
Scott Shawcroft eeb9b7881e
Disable/enable buttons 2022-06-27 13:39:08 -07:00
Scott Shawcroft d6eaaafee8
Basic JS 2022-06-27 13:39:08 -07:00
Matthew McGowan d03bba3adb feat(swan_r5): Enable UF2 support for Swan R5 board 2022-06-21 14:47:33 -07:00
Scott Shawcroft 4e70781c45
Remove extra glyph padding 2022-06-13 09:21:41 -07:00
Scott Shawcroft 6446010753
Wi-Fi autoconnect and title bar status
This adds support for CIRCUITPY_WIFI_SSID and CIRCUITPY_WIFI_PASSWORD
in `/.env`. When both are defined, CircuitPython will attempt to
connect to the network even when user code isn't running. If the
user code attempts to a network with the same SSID, it will return
immediately. Connecting to another SSID will disconnect from the
auto-connected network. If the user code initiates the connection,
then it will be shutdown after user code exits. (Should match <8
behavior.)

This PR also reworks the default displayio terminal. It now supports
a title bar TileGrid in addition to the (newly renamed) scroll area.
The default title bar is the top row of the display and is positioned
to the right of the Blinka logo when it is enabled. The scroll area
is now below the Blinka logo.

The Wi-Fi auto-connect code now uses the title bar to show its
state including the IP address when connected. It does this through
the "standard" OSC control sequence `ESC ] 0 ; <s> ESC \` where <s>
is the title bar string. This is commonly supported by terminals
so it should work over USB and UART as well.

Related to #6174
2022-06-09 14:55:54 -07:00
Nathan Young 761e66e85b Enable UF2 builds for STM32 Thing Plus 2022-06-04 15:21:06 +02:00
Neradoc bb4c63699a Fetch the submodules in readthedocs with ci_fetch_deps.py 2022-05-14 23:17:49 +02:00
Dan Halbert 1ae0c084c7
Merge pull request #6396 from Neradoc/add-frozen-modules-to-support-matrix
Fix readthedocs checking out frozen modules
2022-05-14 08:35:36 -04:00
Neradoc df024733aa fix readthedocs frozen modules 2022-05-14 04:48:57 +02:00
Dan Halbert 06dac4071d
Merge pull request #6288 from Neradoc/add-frozen-modules-to-support-matrix
List frozen modules in the support matrix
2022-05-13 20:34:41 -04:00
SimonVail 83cd533785
Update build_board_info.py 2022-05-12 17:26:39 -04:00
SimonVail 5a014e62a3
Update build_board_info.py 2022-05-12 12:51:46 -04:00
SimonVail 6903faee5f
Add files via upload 2022-05-12 12:48:55 -04:00
Neradoc 3afec13e82 add frozen submodules to CI deps for docs and website 2022-05-11 15:33:20 +02:00
Neradoc e08502fa85 list frozen modules in the support matrix
- fix the list of frozen modules in the board info, separate it from the builtin modules
- frozen modules are listed along with the link to their repository
- get the repository by running the git command in the frozen directory
- frozen modules are listed at the end
- they copy the style of the other modules
- frozen modules in build_board_info don't need the URLs, they are filtered out
2022-05-11 15:33:11 +02:00
Jeff Epler f7be4345d9
Merge remote-tracking branch 'origin/main' into floppy 2022-04-07 08:37:46 -05:00
Jeff Epler d91ca7369c
Merge remote-tracking branch 'origin/main' into revamp-duplicate-usb-check 2022-03-24 09:44:41 -05:00
Jeff Epler a07ac72cc5
Improve the USB vid:pid duplicate checker
To me, it made more sense to track which boards go together in a cluster;
when reviewing a request to actually use a duplicate vid/pid, you want
to know what board(s) it is aliasing.

I also revamped the detection of non-USB boards so that a board .mk file
that couldn't be parsed by the code here would raise a problem instead
of just being skipped for the purposes of checking.

There were some lines with comments on the end, and some variation in
capitalization of the IDs. These are all normalized and a (sometimes
unfriendly!) error printed when it's incorrect.

Before this, here were some ways to trick the duplicate vid/pid checker:
```
USB_PID = 0XABCD
USB_PID = 0xAbCd
USB_PID = 0xABCD # harmless comment?
```
None of these things were ever done on purpose.
2022-03-24 09:42:11 -05:00
Scott Shawcroft 623b6fad16
Fix nested categories in update_sdkconfig.py
Also, mark QTPy C3 as BIN only.
2022-03-21 17:04:19 -07:00
Jeff Epler 4465adfe01
Merge pull request #6175 from tannewt/mdns
Add mdns module
2022-03-21 15:55:03 -05:00
Scott Shawcroft 8319faa032
Merge pull request #6155 from prplz/lilygo_ttgo_t-01c3
Add board lilygo_ttgo_t-01c3
2022-03-17 18:41:05 -07:00
Jeff Epler e9d81c2826
Add mdns module
This allows for CircuitPython to resolve a .local domain and find
other devices with MDNS services.

First step for #6174
2022-03-17 18:16:16 -07:00