1
0
Fork 0
Commit graph

37 commits

Author SHA1 Message Date
Daniel Thompson
2a3ffad07d wasptool: Automatically create directories during upload
Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2021-09-10 21:17:57 +01:00
Andreas Kloeckner
bbadbd34c7 Fix escape sequences in wasptool
Signed-off-by: Andreas Kloeckner <inform@tiker.net>
2021-07-25 09:42:39 +01:00
Daniel Thompson
04e35d437e wasptool: Make mem_free issue data as csv
Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2021-07-25 09:42:26 +01:00
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