diff --git a/content/usage/advanced/available-services.png b/content/usage/advanced/available-services.png index 3829de6..25c3685 100644 Binary files a/content/usage/advanced/available-services.png and b/content/usage/advanced/available-services.png differ diff --git a/content/usage/advanced/firmware-sitl.png b/content/usage/advanced/firmware-sitl.png new file mode 100644 index 0000000..dfc65c2 Binary files /dev/null and b/content/usage/advanced/firmware-sitl.png differ diff --git a/content/usage/advanced/index.md b/content/usage/advanced/index.md index bcdb18f..cf80ee5 100644 --- a/content/usage/advanced/index.md +++ b/content/usage/advanced/index.md @@ -301,6 +301,40 @@ It's highly recommended to **flash the default parameters** for the vehicle when Check the [vehicle setup](#vehicle-setup) for more information. {% end %} +{% pirate() %} +#### SITL Simulation +If you want to do some testing without needing physical hardware, BlueOS includes a virtual +flight controller "board" for running ArduPilot [SITL](https://ardupilot.org/dev/docs/sitl-simulator-software-in-the-loop.html) +simulation builds. It comes pre-configured to run the latest stable [ArduSub](https://ardupilot.org/sub/) firmware, +but can be re-flashed with other ArduPilot firmware versions or variants like a normal flight controller board. + +The default setup is for a 6-thruster vectored ROV (like the [BlueROV2](https://bluerobotics.com/store/rov/bluerov2/)), +but if you want to simulate a different frame (especially if you have just flashed on a different firmware variant) you can click or copy +[this link](http://blueos-avahi.local:8000/v2.0/docs#/index_v1/set_sitl_frame_sitl_frame_post)[^1], then click +"Try it out" in the `POST: /sitl_frame` endpoint, select the frame you want in the dropdown, and "Execute". +{% end %} + +{{ easy_image(src="firmware-sitl", class="pirate", width=600) }} + +{% pirate() %} +As an example, to simulate a [BlueBoat](https://bluerobotics.com/store/boat/blueboat/blueboat/) you would first flash the +SITL board to ArduRover, change the frame to "motorboat" (as described above), then load Blue Robotics' default parameters +for the vehicle from the [Vehicle Setup](#vehicle-setup) "Configure" page. + +[^1]: If the provided link doesn't work, you can instead click the `/v2.0/docs` +link in the "version" column at the far right of the "Autopilot Manager" row in the [Available Services](#available-services) page. + +#### Lua Scripts +ArduPilot firmware supports using [Lua Scripts](https://ardupilot.org/dev/docs/common-lua-scripts.html) to add +custom functionality and drivers without needing to modify or build the firwmare itself. Once enabled +(via the [`SCR_ENABLE`](https://ardupilot.org/sub/docs/parameters.html#scr-parameters) parameter) +they can be conveniently managed through the `lua_scripts` folder in the [File Browser](#file-browser). + +Currently this functionality is only available to vehicles with a Linux-based flight controller board +(like a [Navigator](https://bluerobotics.com/store/comm-control-power/control/navigator/)), but general +support for serial-connected autopilots is [on the way](https://github.com/bluerobotics/BlueOS/issues/2722)! +{% end %} + ### Autopilot Parameters `New in 1.1`