Jaguar is Toit's development tool. It dynamically installs and runs program (as containers) on devices.
We assume that you have read the container introduction.
When Jaguar is flashed onto a device (with
jag flash) it automatically
adds a service version of Jaguar as container to the device. All other
programs that are executed or installed with Jaguar are installed
After flashing Jaguar onto a device, you can list the installed containers:
By default this should list a single container called
You can install additional containers with the
jag container install:
Note that Jaguar automatically compiles the given program (
into a snapshot before installing it.
Containers that are installed this way are automatically started after installation and at boot time.
You can uninstall containers with
jag container uninstall:
Sometimes it can be useful or necessary to disable Jaguar when running a specific container.
This can be done by installing the container with the
At the next boot this gives the container 10 seconds to run before Jaguar
is started. If 10 seconds is not enough, you can specify a different
-D jag.timeout=<duration>, where
<duration> is a
duration string like
The primary use case for disabling Jaguar is to run a container that needs full access to the WiFi module. For example, a container that implements a WiFi access point. The provision package falls into this category.
Disabling Jaguar can also be used to limit battery usage. For example,
a program could sample a sensor at regular intervals and immediately go
to deep-sleep without giving Jaguar a chance to
run and start the WiFi. Only if a certain condition is met (like a
button is pressed), it could avoid the call to
instead let Jaguar run.