summaryrefslogtreecommitdiff
path: root/util
diff options
context:
space:
mode:
Diffstat (limited to 'util')
-rwxr-xr-xutil/uf2conv.py44
-rw-r--r--util/uf2families.json19
-rw-r--r--util/vagrant/Dockerfile33
-rw-r--r--util/vagrant/readme.md12
4 files changed, 42 insertions, 66 deletions
diff --git a/util/uf2conv.py b/util/uf2conv.py
index 7f5645414a..52d3861cba 100755
--- a/util/uf2conv.py
+++ b/util/uf2conv.py
@@ -8,6 +8,7 @@ import os
import os.path
import argparse
import json
+from time import sleep
UF2_MAGIC_START0 = 0x0A324655 # "UF2\n"
@@ -276,23 +277,25 @@ def main():
parser = argparse.ArgumentParser(description='Convert to UF2 or flash directly.')
parser.add_argument('input', metavar='INPUT', type=str, nargs='?',
help='input file (HEX, BIN or UF2)')
- parser.add_argument('-b' , '--base', dest='base', type=str,
+ parser.add_argument('-b', '--base', dest='base', type=str,
default="0x2000",
help='set base address of application for BIN format (default: 0x2000)')
- parser.add_argument('-o' , '--output', metavar="FILE", dest='output', type=str,
+ parser.add_argument('-f', '--family', dest='family', type=str,
+ default="0x0",
+ help='specify familyID - number or name (default: 0x0)')
+ parser.add_argument('-o', '--output', metavar="FILE", dest='output', type=str,
help='write output to named file; defaults to "flash.uf2" or "flash.bin" where sensible')
- parser.add_argument('-d' , '--device', dest="device_path",
+ parser.add_argument('-d', '--device', dest="device_path",
help='select a device path to flash')
- parser.add_argument('-l' , '--list', action='store_true',
+ parser.add_argument('-l', '--list', action='store_true',
help='list connected devices')
- parser.add_argument('-c' , '--convert', action='store_true',
+ parser.add_argument('-c', '--convert', action='store_true',
help='do not flash, just convert')
- parser.add_argument('-D' , '--deploy', action='store_true',
+ parser.add_argument('-D', '--deploy', action='store_true',
help='just flash, do not convert')
- parser.add_argument('-f' , '--family', dest='family', type=str,
- default="0x0",
- help='specify familyID - number or name (default: 0x0)')
- parser.add_argument('-C' , '--carray', action='store_true',
+ parser.add_argument('-w', '--wait', action='store_true',
+ help='wait for device to flash')
+ parser.add_argument('-C', '--carray', action='store_true',
help='convert binary file to a C array, not UF2')
parser.add_argument('-i', '--info', action='store_true',
help='display header information from UF2, do not convert')
@@ -337,20 +340,23 @@ def main():
print("Converted to %s, output size: %d, start address: 0x%x" %
(ext, len(outbuf), appstartaddr))
if args.convert or ext != "uf2":
- drives = []
if args.output == None:
args.output = "flash." + ext
- else:
- drives = get_drives()
-
if args.output:
write_file(args.output, outbuf)
- else:
+ if ext == "uf2" and not args.convert and not args.info:
+ drives = get_drives()
if len(drives) == 0:
- error("No drive to deploy.")
- for d in drives:
- print("Flashing %s (%s)" % (d, board_id(d)))
- write_file(d + "/NEW.UF2", outbuf)
+ if args.wait:
+ print("Waiting for drive to deploy...")
+ while len(drives) == 0:
+ sleep(0.1)
+ drives = get_drives()
+ elif not args.output:
+ error("No drive to deploy.")
+ for d in drives:
+ print("Flashing %s (%s)" % (d, board_id(d)))
+ write_file(d + "/NEW.UF2", outbuf)
if __name__ == "__main__":
diff --git a/util/uf2families.json b/util/uf2families.json
index fafae82a60..c2140fe351 100644
--- a/util/uf2families.json
+++ b/util/uf2families.json
@@ -77,7 +77,7 @@
{
"id": "0x57755a57",
"short_name": "STM32F4",
- "description": "ST STM32F401"
+ "description": "ST STM32F4xx"
},
{
"id": "0x5a18069b",
@@ -188,5 +188,20 @@
"id": "0x9af03e33",
"short_name": "GD32VF103",
"description": "GigaDevice GD32VF103"
+ },
+ {
+ "id": "0x4f6ace52",
+ "short_name": "CSK4",
+ "description": "LISTENAI CSK300x/400x"
+ },
+ {
+ "id": "0x6e7348a8",
+ "short_name": "CSK6",
+ "description": "LISTENAI CSK60xx"
+ },
+ {
+ "id": "0x11de784a",
+ "short_name": "M0SENSE",
+ "description": "M0SENSE BL702"
}
-]
+] \ No newline at end of file
diff --git a/util/vagrant/Dockerfile b/util/vagrant/Dockerfile
deleted file mode 100644
index 951d4fc40d..0000000000
--- a/util/vagrant/Dockerfile
+++ /dev/null
@@ -1,33 +0,0 @@
-FROM qmkfm/qmk_cli
-
-# Basic upgrades; install sudo and SSH.
-RUN apt-get update && apt-get install --no-install-recommends -y \
- sudo \
- openssh-server \
- && rm -rf /var/lib/apt/lists/*
-RUN mkdir /var/run/sshd
-RUN sed -i 's/PermitRootLogin yes/PermitRootLogin no/' /etc/ssh/sshd_config
-RUN echo 'UseDNS no' >> /etc/ssh/sshd_config
-
-# Remove the policy file once we're finished installing software.
-# This allows invoke-rc.d and friends to work as expected.
-RUN rm /usr/sbin/policy-rc.d
-
-# Add the Vagrant user and necessary passwords.
-RUN groupadd vagrant
-RUN useradd -c "Vagrant" -g vagrant -d /home/vagrant -m -s /bin/bash vagrant
-RUN echo 'root:vagrant' | chpasswd
-RUN echo 'vagrant:vagrant' | chpasswd
-
-# Allow the vagrant user to use sudo without a password.
-RUN echo 'vagrant ALL=(ALL) NOPASSWD: ALL' > /etc/sudoers.d/vagrant
-
-# Install Vagrant's insecure public key so provisioning and 'vagrant ssh' work.
-RUN mkdir /home/vagrant/.ssh
-ADD https://raw.githubusercontent.com/mitchellh/vagrant/master/keys/vagrant.pub /home/vagrant/.ssh/authorized_keys
-RUN chmod 0600 /home/vagrant/.ssh/authorized_keys
-RUN chown -R vagrant:vagrant /home/vagrant/.ssh
-RUN chmod 0700 /home/vagrant/.ssh
-
-EXPOSE 22
-CMD ["/usr/sbin/sshd", "-D"]
diff --git a/util/vagrant/readme.md b/util/vagrant/readme.md
deleted file mode 100644
index a8396007ee..0000000000
--- a/util/vagrant/readme.md
+++ /dev/null
@@ -1,12 +0,0 @@
-# QMK Vagrant Utilities
-
-## Dockerfile
-Vagrant-friendly `qmkfm/qmk_cli`.
-
-In order for the Docker provider and `vagrant ssh` to function the container has a few extra requirements.
-
-* vagrant user
-* ssh server
- * configured with expected public key
-* sudo
- * passwordless for vagrant user