TiLDA MK4/tilda-tools

From EMF Badge
Jump to navigation Jump to search

tilda_tools is a toolchain for working with the micropython environment on the badge.

Dependencies

  • Python 3
  • pyserial

Installation

  • Open a terminal in the Mk4-Apps/ directory. tilda_tools is in the root of this directory.
  • Windows Users - you will need to install Pyserial to get some commands working - Instructions here and download here

tilda-tools

tilda_tools <options>

Windows users, cd into the .development folder then run:

> python tilda_tools.py <options> 

NOTE: Alternatively, you can create a tilda_tools.bat windows batch file to do the same, containing the following:

@echo_off
CD ./.development
IF %1.==. GOTO No1
IF %2.==. GOTO No2
IF %3.==. GOTO No3
	python tilda_tools.py %1 %2 %3
@GOTO End1

:No1
	python tilda_tools.py --help
@GOTO End1
:No2
	python tilda_tools.py %1
@GOTO End1
:No3
	python tilda_tools.py %1 %2
:End1
@CD ..

This batch file copes with up to three parameters, but not more.If you need more command line options passing, you will need to add to the existing template to allow additional parameters.

Parameters
-----------------

-d --device  : serial interface (default: auto)
-s --storage : path to flash storage

Usage
------------------------------------

Reboot badge
$ tilda_tools reset

Soft reboot badge and start specific app
$ tilda_tools reset --boot my_app

Update files on the badge to match the current local version, restarts afterwards
$ tilda_tools sync

Update files in folder(s) to match current local version
$ tilda_tools sync my_game shared
$ tilda_tools sync <pattern1> <pattern2> ...

Sync (as above), but execute my_app after reboot
$ tilda_tools sync --boot my_app [<other sync parameter>]

Sync (as above), but execute a single file afterwards without copying it to the badge
$ tilda_tools sync --run some_other_file.py

Sync a given app and execute it
$ tilda_tools app home_default

Executes a single file on the badge without copying anything (Using pyboard.py)
$ tilda_tools run my_app/main.py

Runs local validation (doesn't require a badge, but doesn't run unit tests)
$ tilda_tools validate

Runs local validation and badge-side tests
$ tilda_tools test

Update firmware on badge (warning, this will delete all settings etc. stored on the badge!)
$ tilda_tools firmware-update

Setup wifi.json to be copied to the badge on every sync
$ tilda_tools wifi