### Example netplan get output Source: https://docs.duckietown.com/ente/opmanual-dd24/40-duckiedrone-handling/70-network-configuration.html Example output of `sudo netplan get` for a Duckiedrone configured with one Wi-Fi network. The password is redacted in this example. ```yaml network: version: 2 wifis: wlan0: dhcp4: true optional: true access-points: "my-network": password: "" ``` -------------------------------- ### Example Dockerfile placeholders Source: https://docs.duckietown.com/ente/devmanual-software/beginner/dtproject/create-project.html Example of the Dockerfile after replacing the placeholders with actual values. ```dockerfile ARG REPO_NAME="my-project" ARG DESCRIPTION="My first Duckietown project" ARG MAINTAINER="Duckie (duckie@duckietown.com)" ``` -------------------------------- ### Set up local SSL certificate with dts setup mkcert Source: https://docs.duckietown.com/ente/opmanual-dd24/50-learning-experiences/lx-general-procedure.html Installs the NSS tools and sets up a local SSL certificate with mkcert. Required only the first time an LX is run on a new computer. If a Duckietown Workspace is used, install mkcert on the host system instead of running these commands inside the dev container. ```bash sudo apt install libnss3-tools dts setup mkcert ``` -------------------------------- ### Build and install SD card overlay Source: https://docs.duckietown.com/ente/opmanual-duckiebot/06-troubleshooting/flashing-okdo-jetson-nano.html Configures and builds the SD card device tree overlay, then copies it to /boot. ```bash cd seeed-linux-dtoverlays sed -i '17s#JETSON_COMPATIBLE#"nvidia,p3449-0000-b00+p3448-0002-b00"\,"nvidia\,jetson-nano"\, "nvidia\,tegra210"#' overlays/jetsonnano/jetson-sdmmc-overlay.dts make overlays/jetsonnano/jetson-sdmmc-overlay.dtbo sudo cp overlays/jetsonnano/jetson-sdmmc-overlay.dtbo /boot/ ``` -------------------------------- ### Prepare flashing environment: download and extract Jetson Nano files Source: https://docs.duckietown.com/ente/opmanual-duckiebot/06-troubleshooting/reflashing-jetson-nano-development-kit-4gb-duckietown.html Run these commands once on your computer to set up the flashing environment. It creates a working directory, downloads the Jetson Nano Linux and root filesystem archives, downloads a memory patch overlay, extracts them, copies configuration and device tree files, applies binaries, and extracts the overlay into the Linux_for_Tegra directory. ```bash mkdir -p /tmp/duckietown/jn/overlay cd /tmp/duckietown/jn curl -LO "https://developer.nvidia.com/downloads/embedded/l4t/r32_release_v7.6/t210/jetson-210_linux_r32.7.6_aarch64.tbz2" curl -LO "https://developer.nvidia.com/downloads/embedded/l4t/r32_release_v7.6/t210/tegra_linux_sample-root-filesystem_r32.7.6_aarch64.tbz2" curl -Lo overlay_32.7.5_PCN211181.tbz2 "https://drive.google.com/uc?export=download&id=1Kmocz6tPmEaepPIvwKc3bT7MpJqpwkvv" tar -xpf jetson-210_linux_r32.7.6_aarch64.tbz2 tar -xpf tegra_linux_sample-root-filesystem_r32.7.6_aarch64.tbz2 -C Linux_for_Tegra/rootfs tar -xpf overlay_32.7.5_PCN211181.tbz2 -C overlay cp overlay/Linux_for_Tegra/bootloader/t210ref/BCT/P3448_A00_lpddr4_204Mhz_P987.cfg Linux_for_Tegra/bootloader/t210ref/BCT cp -r overlay/Linux_for_Tegra/kernel/dtb/. Linux_for_Tegra/kernel/dtb ./Linux_for_Tegra/apply_binaries.sh tar -xpf overlay_32.7.5_PCN211181.tbz2 -C Linux_for_Tegra ``` -------------------------------- ### Start dt-core on Watchtowers Source: https://docs.duckietown.com/ente/opmanual-autolab/localization.html Starts the dt-core container on Watchtowers only. Run from your desktop/laptop. Ensure the AprilTag detector is spinning and you get detection messages in 'rostopic hz'. ```bash dts stack up -H [HOSTNAME] core -d ``` -------------------------------- ### Start interface part of agent with launchers/run_interface.sh Source: https://docs.duckietown.com/ente/opmanual-duckiebot/05-learning-experiences/introduction-to-duckietown-lxs.html In interactive mode, first start the interface part of the agent when using the duckeitown_baseline image. Press ENTER after seeing ros nodes start to get the command line back. ```bash launchers/run_interface.sh. ``` -------------------------------- ### Relative link to a document Source: https://docs.duckietown.com/ente/devmanual-docs/language/format/index.html Shows the syntax and result for a relative link to a document. The example links to a style guide page. ```markdown [](path/to/document) ``` ```markdown Ref to [](../style/index) ``` -------------------------------- ### Show help for dts init_sd_card Source: https://docs.duckietown.com/ente/opmanual-duckiebot/01-setup/03-duckiebot/flashing-sd-card-duckiebot-initialization-complete.html Run this command to see a full list of options available for `init_sd_card`. ```bash dts init_sd_card --help ``` -------------------------------- ### Expected test-tf output Source: https://docs.duckietown.com/ente/opmanual-autolab/localization.html Example output from the test-tf command showing AprilTag detections from watchtowers. Ensure you get detections from all watchtowers. ```text watchtower03/camera_optical_frame tag/326 watchtower03/camera_optical_frame tag/307 watchtower03/camera_optical_frame tag/326 watchtower02/camera_optical_frame tag/308 watchtower02/camera_optical_frame tag/322 ``` -------------------------------- ### Example of over-specifying the editor: vi /this/file Source: https://docs.duckietown.com/ente/devmanual-docs/language/style/index.html Shown as an example of excessive detail when instructing users to edit a file. The style guide says to simply say "edit `/this/file`" and only specify an editor when the task requires editor-specific functionality. ```text vi /this/file ``` -------------------------------- ### Install library in editable mode with python setup.py develop Source: https://docs.duckietown.com/ente/devmanual-software/beginner/first-python-library/index.html Installs the library in editable mode so changes to the source are immediately reflected. Run this inside the same virtual environment used for testing. ```bash python setup.py develop ``` -------------------------------- ### Enter fw-device-hut directory Source: https://docs.duckietown.com/ente/opmanual-duckiebot/02-operations/01-duckiebot-handling/db21-hardware-update-hut.html Navigate into the cloned firmware repository. ```bash cd fw-device-hut ``` -------------------------------- ### Relative link with custom text Source: https://docs.duckietown.com/ente/devmanual-docs/language/format/index.html Shows the syntax and result for a relative link with custom text. The example links to a style guide page. ```markdown [text](path/to/document) ``` ```markdown See [here](../style/index) for more information. ``` -------------------------------- ### Run output Source: https://docs.duckietown.com/ente/devmanual-software/beginner/ros/create-project.html Example output when running the project, showing the empty launch script message. ```text ... ==> Launching app... This is an empty launch script. Update it to launch your application. <== App terminated! ``` -------------------------------- ### Quote: Example Source: https://docs.duckietown.com/ente/devmanual-docs/language/format/index.html An example of a blockquote. ```markdown > this is a quote ``` -------------------------------- ### Add Docker GPG key and repository Source: https://docs.duckietown.com/ente/opmanual-duckiebot/01-setup/02-software/docker-installation.html Sets up the official Docker repository on Ubuntu by creating the keyrings directory, downloading and dearmoring the GPG key, and adding the Docker apt source list. ```bash sudo mkdir -m 0755 -p /etc/apt/keyrings curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg echo \ "deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \ "$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | \ sudo tee /etc/apt/sources.list.d/docker.list > /dev/null ``` -------------------------------- ### Successful bootloader flashing output (Ubuntu) Source: https://docs.duckietown.com/ente/opmanual-dd24/30-duckiedrone-setup-and-config/41-flight-controller-initialization.html Example output of a successful bootloader flash on Ubuntu, showing the same dfu-util progress and final transition to dfuMANIFEST state. ```text jatinvira@ultron:~$ dfu-util -a 0 --dfuse-address 0x08000000:leave -d 0483:df11 -D omnibusf4sd_bl.bin dfu-util 0.11 Copyright 2005-2009 Weston Schmidt, Harald Welte and OpenMoko Inc. Copyright 2010-2021 Tormod Volden and Stefan Schmidt This program is Free Software and has ABSOLUTELY NO WARRANTY Please report bugs to http://sourceforge.net/p/dfu-util/tickets/ dfu-util: Warning: Invalid DFU suffix signature dfu-util: A valid DFU suffix will be required in a future dfu-util release Opening DFU capable USB device... Device ID 0483:df11 Device DFU version 011a Claiming USB DFU Interface... Setting Alternate Interface #0 ... Determining device status... DFU state(10) = dfuERROR, status(10) = Device's firmware is corrupt. It cannot return to run-time (non-DFU) operations Clearing status Determining device status... DFU state(2) = dfuIDLE, status(0) = No error condition is present DFU mode device DFU version 011a Device returned transfer size 2048 DfuSe interface name: "Internal Flash " Downloading element to address = 0x08000000, size = 9612 Erase [=========================] 100% 9612 bytes Erase done. Download [=========================] 100% 9612 bytes Download done. File downloaded successfully Submitting leave request... Transitioning to dfuMANIFEST state ``` -------------------------------- ### Markdown image syntax and example Source: https://docs.duckietown.com/ente/devmanual-docs/language/format/index.html Syntax and example for embedding an image with standard Markdown. The example uses an external URL. ```markdown ![alt-text](path/to/image) ``` ```markdown ![](https://tinyurl.com/39ewhkab) ``` -------------------------------- ### Install ARM toolchain and convert bootloader hex (macOS) Source: https://docs.duckietown.com/ente/opmanual-dd24/30-duckiedrone-setup-and-config/41-flight-controller-initialization.html Install the ARM bare-metal toolchain on macOS and convert the downloaded PX4 bootloader hex to a raw binary. If the PX4 dev toolchain is already installed via `brew tap PX4/px4 && brew install px4-dev`, the cask install can be skipped. ```bash brew install --cask gcc-arm-embedded # provides arm-none-eabi-objcopy curl -L -o omnibusf4sd_bl.hex \ https://github.com/PX4/PX4-user_guide/raw/main/assets/flight_controller/omnibus_f4_sd/omnibusf4sd_bl_d52b70cb39.hex arm-none-eabi-objcopy -I ihex -O binary omnibusf4sd_bl.hex omnibusf4sd_bl.bin ``` -------------------------------- ### Install dfu-util on Linux (Ubuntu) Source: https://docs.duckietown.com/ente/opmanual-dd24/30-duckiedrone-setup-and-config/41-flight-controller-initialization.html Installs dfu-util via apt on Ubuntu. Run these commands in a terminal. ```bash sudo apt update sudo apt install dfu-util ``` -------------------------------- ### numref with custom text syntax and example Source: https://docs.duckietown.com/ente/devmanual-docs/language/format/index.html Syntax and example for numref with custom text. The example uses 'Figure %s' to include the number. ```markdown {numref}`text %s