summaryrefslogtreecommitdiff
path: root/tools
diff options
context:
space:
mode:
authorDavePutz <dwputz@gmail.com>2020-07-04 20:55:24 -0500
committerGitHub <noreply@github.com>2020-07-04 20:55:24 -0500
commit22d67b45f0dffe7c10718a05d3065cc211f811ee (patch)
tree46583fcf0e864e6e67e90b258aaea7b7475a41b1 /tools
parent73ce75c3f825d911d11dfe63a27193ec9176dc86 (diff)
parentf6aee980004426e0453cc1d2790e8f347a106aa4 (diff)
Merge pull request #10 from adafruit/main
updating my branch
Diffstat (limited to 'tools')
-rw-r--r--tools/build_board_info.py35
-rwxr-xr-xtools/codestats.sh10
-rwxr-xr-xtools/mksdiodata.py40
-rwxr-xr-xtools/pyboard.py2
4 files changed, 62 insertions, 25 deletions
diff --git a/tools/build_board_info.py b/tools/build_board_info.py
index 443302330..bbafe19f6 100644
--- a/tools/build_board_info.py
+++ b/tools/build_board_info.py
@@ -9,6 +9,9 @@ import base64
from datetime import date
from sh.contrib import git
+sys.path.append("../docs")
+import shared_bindings_matrix
+
sys.path.append("adabot")
import adabot.github_requests as github
@@ -56,7 +59,10 @@ extension_by_board = {
"makerdiary_nrf52840_mdk_usb_dongle": HEX_UF2,
"pca10056": BIN_UF2,
"pca10059": BIN_UF2,
- "electronut_labs_blip": HEX
+ "electronut_labs_blip": HEX,
+
+ # stm32
+ "meowbit_v121": UF2
}
aliases_by_board = {
@@ -147,7 +153,7 @@ def create_pr(changes, updated, git_info, user):
info["id"] = id
updated_list.append(info)
- updated = json.dumps(updated_list, sort_keys=True, indent=4).encode("utf-8") + b"\n"
+ updated = json.dumps(updated_list, sort_keys=True, indent=1).encode("utf-8") + b"\n"
#print(updated.decode("utf-8"))
pr_title = "Automated website update for release {}".format(changes["new_release"])
boards = ""
@@ -199,19 +205,6 @@ def create_pr(changes, updated, git_info, user):
print(changes)
print(pr_info)
-def update_downloads(boards, release):
- response = github.get("/repos/adafruit/circuitpython/releases/tags/{}".format(release))
- if not response.ok:
- print(response.text)
- raise RuntimeError("cannot get previous release info")
-
- assets = response.json()["assets"]
- for asset in assets:
- board_name = asset["name"].split("-")[2]
- if board_name not in boards:
- continue
- boards[board_name]["download_count"] += asset["download_count"]
-
def print_active_user():
response = github.get("/user")
@@ -243,6 +236,10 @@ def generate_download_info():
languages = get_languages()
+ support_matrix = shared_bindings_matrix.support_matrix_by_board(
+ use_branded_name=False
+ )
+
new_stable = "-" not in new_tag
previous_releases = set()
@@ -259,9 +256,6 @@ def generate_download_info():
board_mapping = get_board_mapping()
- for release in previous_releases:
- update_downloads(board_mapping, release)
-
for port in SUPPORTED_PORTS:
board_path = os.path.join("../ports", port, "boards")
for board_path in os.scandir(board_path):
@@ -280,7 +274,10 @@ def generate_download_info():
new_version = {
"stable": new_stable,
"version": new_tag,
- "files": {}
+ "modules": support_matrix.get(alias, "[]"),
+ "files": {},
+ "languages": languages,
+ "extensions": board_info["extensions"]
}
for language in languages:
files = []
diff --git a/tools/codestats.sh b/tools/codestats.sh
index d33db973b..5f7625c45 100755
--- a/tools/codestats.sh
+++ b/tools/codestats.sh
@@ -90,9 +90,9 @@ else
last_rev="v1.0"
fi
-# get a list of hashes between last revision (exclusive) and master
-hashes=$(git log --format=format:"%H" --reverse ${last_rev}..master)
-#hashes=$(git log --format=format:"%H" --reverse ${last_rev}..master | $AWK '{if (NR % 10 == 0) print $0}') # do every 10th one
+# get a list of hashes between last revision (exclusive) and main
+hashes=$(git log --format=format:"%H" --reverse ${last_rev}..main)
+#hashes=$(git log --format=format:"%H" --reverse ${last_rev}..main | $AWK '{if (NR % 10 == 0) print $0}') # do every 10th one
for hash in $hashes; do
@@ -182,6 +182,6 @@ EOF
done
-# checkout master and cleanup
-git checkout master
+# checkout main and cleanup
+git checkout main
$RM $pystoneavg
diff --git a/tools/mksdiodata.py b/tools/mksdiodata.py
new file mode 100755
index 000000000..0cce3819f
--- /dev/null
+++ b/tools/mksdiodata.py
@@ -0,0 +1,40 @@
+#!/usr/bin/python3
+
+def defines(name, function):
+ print(f'pin_function_t {name} [] = {{')
+ for instance in (0, 1):
+ for port in 'ABCD':
+ for idx in range(32):
+ pin = f'P{port}{idx:02d}'
+ pinmux = f'PINMUX_{pin}I_SDHC{instance}_{function}'
+ print(f'''\
+#if defined({pinmux}) && ! defined(IGNORE_PIN_{pin})
+ {{&pin_{pin}, {instance}, PIN_{pin}, {pinmux} & 0xffff}},
+#endif''')
+ print(f'{{NULL, 0, 0}}')
+ print(f'}};')
+ print()
+
+print('''\
+#include <stdint.h>
+#include "py/obj.h"
+#include "sam.h"
+#include "samd/pins.h"
+#include "mpconfigport.h"
+#include "atmel_start_pins.h"
+#include "hal/include/hal_gpio.h"
+
+typedef struct {
+ const mcu_pin_obj_t *obj;
+ uint8_t instance;
+ uint8_t pin;
+ uint16_t function;
+} pin_function_t;
+''')
+
+defines('sdio_ck', 'SDCK')
+defines('sdio_cmd', 'SDCMD')
+defines('sdio_dat0', 'SDDAT0')
+defines('sdio_dat1', 'SDDAT1')
+defines('sdio_dat2', 'SDDAT2')
+defines('sdio_dat3', 'SDDAT3')
diff --git a/tools/pyboard.py b/tools/pyboard.py
index 16ee41f70..bb5642bd7 100755
--- a/tools/pyboard.py
+++ b/tools/pyboard.py
@@ -191,7 +191,7 @@ class ProcessToSerial:
class ProcessPtyToTerminal:
- """Execute a process which creates a PTY and prints slave PTY as
+ """Execute a process which creates a PTY and prints secondary PTY as
first line of its output, and emulate serial connection using
this PTY."""