1
0
Fork 0
Commit Graph

34 Commits (jebbatime)

Author SHA1 Message Date
Daniel Thompson 3bbd808115 wasptool: Fix progress bar numbering
Currently direct callers of draw_pbar() can have 20 or more digits after
the decimal place. Fix this by moving the rounding function.

Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2021-05-05 21:02:16 +01:00
thefenriswolf d966c960c1 wasptool: add --battery to check battery level
Signed-off-by: thefenriswolf <stefan.rohrbacher97@gmail.com>
2021-03-27 09:03:14 +00:00
Daniel Thompson cabe6f143c tools: wasptool: Fix binary downloads for a specific special case
Currently if the binary file being downloaded contains single quote
characters then it gets wrapped differently by repr() so we have to add
additional cases to strip the wrapper.

Fix this the "obvious" way... where by "obvious" I mean almost anything
but.

Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2021-02-25 07:25:32 +00:00
Daniel Thompson b734037115 tools: wasptool: Additional adoption of the run_command wrapper
run_command has particular benefits for handle_binary_download() because
we can greatly simplify the code to handle running repr() on the target.

Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2021-02-21 17:08:32 +00:00
Daniel Thompson 326caa3fa5 tool: wasptool: Add a free memory reporting tool
Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2021-02-21 17:02:02 +00:00
Daniel Thompson 88347f9c7c tools: wasptool: Better REPL integration
Add a run_command method for the "console". This allows running a command
on the target and capturing the result. Normally this is handled using
REPLWrapper but that doesn't work well with the NUS console because local
echo gets in the way.

Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2021-02-21 17:01:36 +00:00
Daniel Thompson 80c340b005 tools: wasptool: Add push/pull commands
--push is very similar to --binary --upload but handles directories
differently. --pull allows us to copy binary files from the target.

Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2021-02-21 09:53:49 +00:00
Daniel Thompson e79625685d wasptool: Allow files to be renamed during an upload
For example:

    ./tools/wasptool --upload docs/main/chrono.py --as main.py

Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2021-01-10 14:49:36 +00:00
Daniel Thompson 2b244ec2a3 tools: wasptool: Improve error reporting if we can't sync
Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2020-10-21 20:49:48 +01:00
Daniel Thompson 2bb0837440 tools: wasptool: Fix verbose/not-verbose handling
Fixes: 2839a04 ("tools: wasptool: Hide the stack trace on pexpect timeout")
Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2020-10-21 20:48:12 +01:00
Daniel Thompson 2839a042be tools: wasptool: Hide the stack trace on pexpect timeout
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-10 21:42:51 +01:00
Daniel Thompson b6357ad4d8 tools: wasptool: Wait longer for DFU to come up
Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2020-10-10 21:42:51 +01:00
Panagiotis Vasilopoulos eca0551c3e
wasptool: Change Python shebang to ensure compatibility
- 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-14 08:53:27 +03:00
Daniel Thompson b4e78935ba wasptool: Add support for selecting devices by name and MAC address
Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2020-07-26 21:04:30 +01:00
Daniel Thompson ae5743529f wasp: Switch to scheduling from interrupt
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-30 23:04:01 +01:00
Daniel Thompson f102d75ee7 wasptool: Add support for binary uploads
Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2020-06-20 20:16:25 +01:00
Daniel Thompson d172349565 wasptool: Fix --reset
Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2020-06-20 20:15:36 +01:00
Daniel Thompson 60c48b447c wasptool: Better reporting of out-of-memory problems when pasting 2020-05-25 09:23:58 +01:00
Daniel Thompson 1abda8dd17 wasptool: Enable fully automatic OTA firmware delivery 2020-05-24 14:20:50 +01:00
Daniel Thompson d11e6eb4a1 Make wasp-os namig consistant
Rename WASP to wasp-os (or Wasp-os)
2020-05-14 22:41:05 +01:00
Daniel Thompson 399b956eb5 wasptool: Add a command to compare RTC against the local workstation
This allows us to observe RTC drift during reboot relatively easily.
2020-05-09 14:21:39 +01:00
Daniel Thompson 2e7db3ae19 tools: wasptool: Improve command output for --exec and --eval 2020-04-26 15:01:48 +01:00
Daniel Thompson 1fe0602995 tools: wasptool: Introduce simple chunking
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-17 17:18:27 +01:00
Daniel Thompson fe43091bcf tools: wasptool: Add support for --reset 2020-04-17 17:17:24 +01:00
Daniel Thompson 8cf9369efa tools: wasptool: Change characters used in the progress bar 2020-04-10 20:31:26 +01:00
Daniel Thompson 02b92ff90d tools: wasptool: Add a progress bar to the BLE uploads 2020-04-06 22:04:21 +01:00
Daniel Thompson b9fe31241c Add licensing information for all wasp-os files. 2020-03-22 15:40:18 +00:00
Daniel Thompson f8bd1a7461 Rename manager.py and expose its interfaces to all applications
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-22 12:37:19 +00:00
Daniel Thompson 321484b845 tools: wasptool: Sneaky hack to avoid copying docstrings to the device 2020-03-09 21:34:01 +00:00
Daniel Thompson 753a1e68f1 tools: wasptool: Reorder the execution of arguments.
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-03-08 10:16:49 +00:00
Daniel Thompson 3d091e3422 wasptool: Launch the console after all other arguments
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-19 19:57:08 +00:00
Daniel Thompson df11539c29 wasp: Simple shell commands (based on upysh) 2020-02-19 19:57:08 +00:00
Daniel Thompson f689c90498 wasp: Add full dd-mm-yyyy calender tracking 2020-02-19 19:57:08 +00:00
Daniel Thompson c9ab38d757 wasptool: Simple tool for interacting with wasp-os devices 2020-02-19 19:57:08 +00:00