summaryrefslogtreecommitdiff
path: root/tools
AgeCommit message (Collapse)Author
2020-12-13tools: themer: Fix the online helpDaniel Thompson
Correct the indentation and the quoting of the theme strings. Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2020-12-13widgets: BatteryMeter: Fix theme handlingDaniel Thompson
Add the battery frame to the theme so it matches the frame used for charging and rename accordingly. Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2020-12-13Added basic theming engine.kozova1
This theming engine uses a bytestring (but supports anything indexable, as long as the index results are a byte long), stored as `wasp.system._theme`. It has a default value, which should not change anything about the way this looks currently. The theme can be set via `wasp.system.set_theme`, but this should *ONLY* be used in `main.py`. `wasp.system.set_theme` will return True if it was successful, or False if the theme is of an old format. Using an old format theme will *not* crash the watch, but will use the default theme instead. To theme this, one has to use tools/themer.py (use flag -h for complete explanation) to generate a bytestring that's added in main.py (see diff). The bytestring is then loaded into 'wasp.system._theme'. Theme values can be looked up by apps by using `wasp.system.theme("theme-key")`. Theme keys appear in the function body of `wasp.system.theme()`. I've took the liberty of converting existing apps to use this method, and it seems to work well. A test theme is provided in `tools/test_theme.py` Signed-off-by: kozova1 <mug66kk@gmail.com>
2020-12-12tools: Update intelhex, hexmerge.py and nrfutil for python 3.9 compatibilitySiroj42
Signed-off-by: Joris Warmbier <siroj42@t-online.de> [daniel@redfelineninja.org.uk: Remove changes to tools/hexmerge.py] Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2020-12-10tools: hexmerge: Replace redundant copy with a symlinkDaniel Thompson
Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2020-11-08tools: rle_encode: Add support for rendering 2-bit RLEs to C srcDaniel Thompson
Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2020-11-04hex2c.py: Adopt a maximum chunk sizeDaniel Thompson
Large segments will be chunked into 32K blocks to they can be handled seperate. Creating a maximum chunk size allows us to perform a few tricks in the reloader by allowing us to overwrite parts of the reloader whilst it is running! Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2020-10-21tools: wasptool: Improve error reporting if we can't syncDaniel Thompson
Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2020-10-21tools: wasptool: Fix verbose/not-verbose handlingDaniel Thompson
Fixes: 2839a04 ("tools: wasptool: Hide the stack trace on pexpect timeout") Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2020-10-10tools: wasptool: Hide the stack trace on pexpect timeoutDaniel Thompson
The default pexpect exception dump is verbose and potentially useful if you know how to read it... but let's handle timeouts in a friendlier way. Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2020-10-10tools: wasptool: Wait longer for DFU to come upDaniel Thompson
Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2020-08-14wasptool: Change Python shebang to ensure compatibilityPanagiotis Vasilopoulos
- Certain Unix-like systems (such as *BSD systems) do not use /usr/bin/python3 as the default Python path. This small change will ensure a higher degree of compatibility. Signed-off-by: Panagiotis Vasilopoulos <hello@alwayslivid.com>
2020-08-02tools: preprocess: Ensure we use python3 interpreterDaniel Thompson
Not being explicit about the correct python interpreter causes trouble on distros that do not alias python to python3 and/or that do not install python2 by default. Reported by: Mirko Covizzi <mrkcvzz@gmail.com> Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2020-07-26wasptool: Add support for selecting devices by name and MAC addressDaniel Thompson
Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2020-06-30wasp: Switch to scheduling from interruptDaniel Thompson
This has two useful properties. Firstly it means the watch will be maintained in the background, allowing the REPL to be used for notifications and other updates. Secondly it will save a little bit of power by reducing the work needed to handle spurious wake ups. Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2020-06-20wasptool: Add support for binary uploadsDaniel Thompson
Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2020-06-20wasptool: Fix --resetDaniel Thompson
Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2020-06-09tools: hex2c: Add crc32s for each segmentDaniel Thompson
Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2020-05-25wasptool: Better reporting of out-of-memory problems when pastingDaniel Thompson
2020-05-24wasptool: Enable fully automatic OTA firmware deliveryDaniel Thompson
2020-05-18draw565: Switch to a different palette for RLE 2-bit imagesDaniel Thompson
This is an incompatible change... older 2-bit images will need to be re-encoded to display correctly.
2020-05-15pynus: Switch to the wasp-os versionDaniel Thompson
2020-05-14Make wasp-os namig consistantDaniel Thompson
Rename WASP to wasp-os (or Wasp-os)
2020-05-09wasptool: Add a command to compare RTC against the local workstationDaniel Thompson
This allows us to observe RTC drift during reboot relatively easily.
2020-05-09tools: ota-dfu: Adopt latest versionDaniel Thompson
2020-04-26reloader: OTA flashing tool for wasp-osDaniel Thompson
2020-04-26tools: ota-dfu: Include a Linux-native OTA DFU toolDaniel Thompson
2020-04-26tools/hexmerge: Fix file permissionsDaniel Thompson
2020-04-26tools: wasptool: Improve command output for --exec and --evalDaniel Thompson
2020-04-17tools: wasptool: Introduce simple chunkingDaniel Thompson
This reduces the memory overhead required to --exec a file (although we will still have problems with big classes). For now we have avoided matching "^def" since we need additional handling for decorators!
2020-04-17tools: wasptool: Add support for --resetDaniel Thompson
2020-04-11wasp: Automatically generate watch.py for PineTimeDaniel Thompson
This should ensure that main.py is always up to date.
2020-04-10tools: wasptool: Change characters used in the progress barDaniel Thompson
2020-04-10tools: rle_encode: Optimize the 2-bit encoding slightlyDaniel Thompson
This results in a image that is entirely ROMable.
2020-04-06tools: wasptool: Add a progress bar to the BLE uploadsDaniel Thompson
2020-04-06tools: rle_encode: Add a new "2-bit" encoding mode.Daniel Thompson
2020-03-22Add licensing information for all wasp-os files.Daniel Thompson
2020-03-22Rename manager.py and expose its interfaces to all applicationsDaniel Thompson
This is a big change that break compatiblity with existing applications *and* with existing installed versions of main.py. When upgrading it is import to update main.py: ./tools/wasptool --upload wasp/main.py
2020-03-09tools: wasptool: Sneaky hack to avoid copying docstrings to the deviceDaniel Thompson
2020-03-08tools: wasptool: Reorder the execution of arguments.Daniel Thompson
The new ordering is tuned to allow --exec to be used to download new code, --eval to be used to set it up and then --console used to interact with it.
2020-02-19wasp: Add a simple font rendererDaniel Thompson
2020-02-19wasptool: Launch the console after all other argumentsDaniel Thompson
This allows for an elegant iterative development approach where we upload some code than then interact with it, for example: wasptool --exec wasp/drivers/nrf_rtc.py --console rtc = RTC(watch.rtc.counter)
2020-02-19wasp: Simple shell commands (based on upysh)Daniel Thompson
2020-02-19wasp: Add full dd-mm-yyyy calender trackingDaniel Thompson
2020-02-19wasptool: Simple tool for interacting with wasp-os devicesDaniel Thompson
2020-02-03tools: rle_encode: Derive variable names from filenamesDaniel Thompson
2020-01-28tools: rle_encode: Experimental color encoderDaniel Thompson
The output from this is a bit too bulky so the code isn't hooked up to anything at the moment.
2020-01-28tools: rle_encode: Implement proper argument parsingDaniel Thompson
2020-01-28tools: rle_encode: Rework into proper functionsDaniel Thompson
2020-01-23WIP: tools: Simple RLE encoderDaniel Thompson