13 Commits

Author SHA1 Message Date
e30d6d3f22 delay works
Some checks failed
Rust/va108xx-rs/pipeline/pr-main There was a failure building this commit
2024-09-30 11:21:21 +02:00
7603185156 bootloader works
All checks were successful
Rust/va108xx-rs/pipeline/pr-main This commit looks good
2024-09-30 10:58:32 +02:00
2b6c013241 App A does not boot for some reason
All checks were successful
Rust/va108xx-rs/pipeline/pr-main This commit looks good
2024-09-30 10:25:38 +02:00
ee8a481c4f tons of fixes 2024-09-27 20:44:10 +02:00
ea35221d41 clean up 2024-09-27 19:55:16 +02:00
a1a5156caf re-work NVM interface 2024-09-27 19:06:13 +02:00
0f3614465f something is still wrong
All checks were successful
Rust/va108xx-rs/pipeline/pr-main This commit looks good
2024-09-27 16:34:53 +02:00
52f5d42358 all flashloader adaptions
All checks were successful
Rust/va108xx-rs/pipeline/pr-main This commit looks good
2024-09-27 15:33:50 +02:00
1f4d6f601d now needs tests
All checks were successful
Rust/va108xx-rs/pipeline/pr-main This commit looks good
2024-09-27 14:52:45 +02:00
f7ff74940a updated UART echo RTIC example 2024-09-27 10:31:04 +02:00
60305ef393 update UART example, update UART HAL 2024-09-26 22:08:17 +02:00
ce7a8665a3 bootloader addr corrections
All checks were successful
Rust/va108xx-rs/pipeline/pr-main This commit looks good
2024-09-24 10:21:23 +02:00
784a6d7146 bootloader docs
All checks were successful
Rust/va108xx-rs/pipeline/head This commit looks good
Rust/va108xx-rs/pipeline/pr-main This commit looks good
2024-09-20 11:58:41 +02:00
16 changed files with 56 additions and 161 deletions

View File

@ -19,11 +19,6 @@ This workspace contains the following released crates:
It also contains the following helper crates: It also contains the following helper crates:
- The [`bootloader`](https://egit.irs.uni-stuttgart.de/rust/va108xx-rs/src/branch/main/bootloader)
crate contains a sample bootloader strongly based on the one provided by Vorago.
- The [`flashloader`](https://egit.irs.uni-stuttgart.de/rust/va108xx-rs/src/branch/main/flashloader)
crate contains a sample flashloader which is able to update the redundant images in the NVM which
is compatible to the provided bootloader as well.
- The [`board-tests`](https://egit.irs.uni-stuttgart.de/rust/va108xx-rs/src/branch/main/board-tests) - The [`board-tests`](https://egit.irs.uni-stuttgart.de/rust/va108xx-rs/src/branch/main/board-tests)
contains an application which can be used to test the libraries on the board. contains an application which can be used to test the libraries on the board.
- The [`examples`](https://egit.irs.uni-stuttgart.de/rust/va108xx-rs/src/branch/main/examples) - The [`examples`](https://egit.irs.uni-stuttgart.de/rust/va108xx-rs/src/branch/main/examples)

View File

@ -14,6 +14,7 @@ embedded-hal-nb = "1"
embedded-io = "0.6" embedded-io = "0.6"
[dependencies.va108xx-hal] [dependencies.va108xx-hal]
version = "0.7"
path = "../va108xx-hal" path = "../va108xx-hal"
features = ["rt"] features = ["rt"]

View File

@ -1,4 +1,4 @@
VA108xx Bootloader Application VA416xx Bootloader Application
======= =======
This is the Rust version of the bootloader supplied by Vorago. This is the Rust version of the bootloader supplied by Vorago.
@ -11,10 +11,10 @@ The bootloader uses the following memory map:
| ------ | ---- | ---- | | ------ | ---- | ---- |
| 0x0 | Bootloader start | code up to 0x3FFC bytes | | 0x0 | Bootloader start | code up to 0x3FFC bytes |
| 0x2FFE | Bootloader CRC | word | | 0x2FFE | Bootloader CRC | word |
| 0x3000 | App image A start | code up to 0xE7F8 (~58K) bytes | | 0x3000 | App image A start | code up to 0x1DFFC (~120K) bytes |
| 0x117F8 | App image A CRC check length | word | | 0x117F8 | App image A CRC check length | word |
| 0x117FC | App image A CRC check value | word | | 0x117FC | App image A CRC check value | word |
| 0x11800 | App image B start | code up to 0xE7F8 (~58K) bytes | | 0x11800 | App image B start | code up to 0x1DFFC (~120K) bytes |
| 0x1FFF8 | App image B CRC check length | word | | 0x1FFF8 | App image B CRC check length | word |
| 0x1FFFC | App image B CRC check value | word | | 0x1FFFC | App image B CRC check value | word |
| 0x20000 | End of NVM | end | | 0x20000 | End of NVM | end |

View File

@ -33,9 +33,10 @@ default-features = false
features = ["critical-section"] features = ["critical-section"]
[dependencies.ringbuf] [dependencies.ringbuf]
version = "0.4.7" version = "0.4"
git = "https://github.com/us-irs/ringbuf.git"
branch = "use-portable-atomic-crate"
default-features = false default-features = false
features = ["portable-atomic"]
[dependencies.va108xx-hal] [dependencies.va108xx-hal]
path = "../../va108xx-hal" path = "../../va108xx-hal"

View File

@ -125,7 +125,6 @@ fn main() -> ! {
Some(spi_clk_cfg), Some(spi_clk_cfg),
Some(SPI_MODE), Some(SPI_MODE),
BLOCKMODE, BLOCKMODE,
true,
false, false,
); );
spi.cfg_transfer(&transfer_cfg); spi.cfg_transfer(&transfer_cfg);
@ -139,7 +138,6 @@ fn main() -> ! {
Some(SPI_MODE), Some(SPI_MODE),
Some(hw_cs_pin), Some(hw_cs_pin),
BLOCKMODE, BLOCKMODE,
true,
false, false,
); );
spi.cfg_transfer(&transfer_cfg); spi.cfg_transfer(&transfer_cfg);

View File

@ -19,12 +19,15 @@ version = "0.2"
default-features = false default-features = false
[dependencies.rtt-log] [dependencies.rtt-log]
version = "0.4" version = "0.3"
git = "https://github.com/us-irs/rtt-log-rs.git"
branch = "allow-usage-on-non-cas-systems"
[dependencies.ringbuf] [dependencies.ringbuf]
version = "0.4.7" version = "0.4"
git = "https://github.com/us-irs/ringbuf.git"
branch = "use-portable-atomic-crate"
default-features = false default-features = false
features = ["portable-atomic"]
[dependencies.once_cell] [dependencies.once_cell]
version = "1" version = "1"

View File

@ -1,4 +1,4 @@
VA108xx Flashloader Application VA416xx Flashloader Application
======== ========
This flashloader shows a minimal example for a self-updatable Rust software which exposes This flashloader shows a minimal example for a self-updatable Rust software which exposes
@ -7,7 +7,7 @@ called the `image-loader.py` which can be used to upload compiled images to the
application to write them to the NVM. application to write them to the NVM.
Please note that the both the application and the image loader are tailored towards usage Please note that the both the application and the image loader are tailored towards usage
with the [bootloader provided by this repository](https://egit.irs.uni-stuttgart.de/rust/va108xx-rs/src/branch/main/bootloader). with the [bootloader provided by this repository](https://egit.irs.uni-stuttgart.de/rust/va416xx-rs/src/branch/main/bootloader).
The software can quickly be adapted to interface with a real primary on-board software instead of The software can quickly be adapted to interface with a real primary on-board software instead of
the Python script provided here to upload images because it uses a low-level CCSDS based packet the Python script provided here to upload images because it uses a low-level CCSDS based packet
@ -31,7 +31,7 @@ pip install -r requirements.txt
to install all required dependencies. to install all required dependencies.
After that, it is recommended to use `./image-load.py -h` to get an overview of some options. After that, it is recommended to use `./image-load.py -h` to get an overview of some options.
The flash loader uses the UART0 with the Pins PA8 (RX) and PA9 (TX) interface of the VA108xx to perform CCSDS based The flash loader uses the UART0 interface of the VA416xx board to perform CCSDS based
communication. The Python image loader application will search for a file named `loader.toml` and communication. The Python image loader application will search for a file named `loader.toml` and
use the `serial_port` key to determine the serial port to use for serial communication. use the `serial_port` key to determine the serial port to use for serial communication.
@ -51,7 +51,7 @@ You can use
cd flashloader/slot-a-blinky cd flashloader/slot-a-blinky
cargo build --release cargo build --release
cd ../.. cd ../..
./image-loader.py -t a ./slot-a-blinky/target/thumbv6m-none-eabi/release/slot-a-blinky ./image-loader.py -t a ./slot-a-blinky/target/thumbv7em-none-eabihf/release/slot-a-blinky
``` ```
to build the slot A sample application and upload it to a running flash loader application to build the slot A sample application and upload it to a running flash loader application

View File

@ -1,6 +1,6 @@
MEMORY MEMORY
{ {
FLASH : ORIGIN = 0x00003000, LENGTH = 0xE7F8 /* (128k - 12k) / 2 - 8 */ FLASH : ORIGIN = 0x00003000, LENGTH = 0x20000 /* 128K */
RAM : ORIGIN = 0x10000000, LENGTH = 0x08000 /* 32K */ RAM : ORIGIN = 0x10000000, LENGTH = 0x08000 /* 32K */
} }

View File

@ -1,6 +1,6 @@
MEMORY MEMORY
{ {
FLASH : ORIGIN = 0x00011800, LENGTH = 0xE7F8 /* (128k - 12k) / 2 - 8 */ FLASH : ORIGIN = 0x00011800, LENGTH = 0x20000 /* 128K */
RAM : ORIGIN = 0x10000000, LENGTH = 0x08000 /* 32K */ RAM : ORIGIN = 0x10000000, LENGTH = 0x08000 /* 32K */
} }

View File

@ -8,8 +8,6 @@ and this project adheres to [Semantic Versioning](http://semver.org/).
## [unreleased] ## [unreleased]
## [v0.8.0] 2024-09-30
## Changed ## Changed
- Improves `CascardSource` handling and general API when chosing cascade sources. - Improves `CascardSource` handling and general API when chosing cascade sources.

View File

@ -1,6 +1,6 @@
[package] [package]
name = "va108xx-hal" name = "va108xx-hal"
version = "0.8.0" version = "0.7.0"
authors = ["Robin Mueller <muellerr@irs.uni-stuttgart.de>"] authors = ["Robin Mueller <muellerr@irs.uni-stuttgart.de>"]
edition = "2021" edition = "2021"
description = "HAL for the Vorago VA108xx family of microcontrollers" description = "HAL for the Vorago VA108xx family of microcontrollers"

View File

@ -301,9 +301,6 @@ pub struct TransferConfig {
/// the BMSTOP bit is set on a dataword. A frame is defined as CSn being active for the /// the BMSTOP bit is set on a dataword. A frame is defined as CSn being active for the
/// duration of multiple data words /// duration of multiple data words
pub blockmode: bool, pub blockmode: bool,
/// Only used when blockmode is used. The SCK will be stalled until an explicit stop bit
/// is set on a written word.
pub bmstall: bool,
pub hw_cs: HwChipSelectId, pub hw_cs: HwChipSelectId,
} }
@ -312,7 +309,6 @@ impl TransferConfigWithHwcs<NoneT> {
clk_cfg: Option<SpiClkConfig>, clk_cfg: Option<SpiClkConfig>,
mode: Option<Mode>, mode: Option<Mode>,
blockmode: bool, blockmode: bool,
bmstall: bool,
sod: bool, sod: bool,
) -> Self { ) -> Self {
TransferConfigWithHwcs { TransferConfigWithHwcs {
@ -322,7 +318,6 @@ impl TransferConfigWithHwcs<NoneT> {
mode, mode,
sod, sod,
blockmode, blockmode,
bmstall,
hw_cs: HwChipSelectId::Invalid, hw_cs: HwChipSelectId::Invalid,
}, },
} }
@ -335,7 +330,6 @@ impl<HwCs: HwCsProvider> TransferConfigWithHwcs<HwCs> {
mode: Option<Mode>, mode: Option<Mode>,
hw_cs: Option<HwCs>, hw_cs: Option<HwCs>,
blockmode: bool, blockmode: bool,
bmstall: bool,
sod: bool, sod: bool,
) -> Self { ) -> Self {
TransferConfigWithHwcs { TransferConfigWithHwcs {
@ -345,7 +339,6 @@ impl<HwCs: HwCsProvider> TransferConfigWithHwcs<HwCs> {
mode, mode,
sod, sod,
blockmode, blockmode,
bmstall,
hw_cs: HwCs::CS_ID, hw_cs: HwCs::CS_ID,
}, },
} }
@ -428,11 +421,6 @@ impl SpiConfig {
self self
} }
pub fn bmstall(mut self, enable: bool) -> Self {
self.bmstall = enable;
self
}
pub fn mode(mut self, mode: Mode) -> Self { pub fn mode(mut self, mode: Mode) -> Self {
self.init_mode = mode; self.init_mode = mode;
self self
@ -756,8 +744,12 @@ where
} else { } else {
w.sod().clear_bit(); w.sod().clear_bit();
} }
w.blockmode().bit(transfer_cfg.cfg.blockmode); if transfer_cfg.cfg.blockmode {
w.bmstall().bit(transfer_cfg.cfg.bmstall) w.blockmode().set_bit();
} else {
w.blockmode().clear_bit();
}
w
}); });
} }

View File

@ -3,8 +3,7 @@
//! ## Examples //! ## Examples
//! //!
//! - [UART simple example](https://egit.irs.uni-stuttgart.de/rust/va108xx-rs/src/branch/main/examples/simple/examples/uart.rs) //! - [UART simple example](https://egit.irs.uni-stuttgart.de/rust/va108xx-rs/src/branch/main/examples/simple/examples/uart.rs)
//! - [UART with IRQ and RTIC](https://egit.irs.uni-stuttgart.de/rust/va108xx-rs/src/branch/main/examples/rtic/src/bin/uart-echo-rtic.rs) //! - [UART with IRQ and RTIC](https://egit.irs.uni-stuttgart.de/rust/va108xx-rs/src/branch/va108xx-update-package/examples/rtic/src/bin/uart-rtic.rs)
//! - [Flashloader exposing a CCSDS interface via UART](https://egit.irs.uni-stuttgart.de/rust/va108xx-rs/src/branch/main/flashloader)
use core::{convert::Infallible, ops::Deref}; use core::{convert::Infallible, ops::Deref};
use fugit::RateExtU32; use fugit::RateExtU32;
use va108xx::Uarta; use va108xx::Uarta;
@ -864,7 +863,7 @@ impl<Uart: Instance> Tx<Uart> {
/// ///
/// This does not necesarily mean that the FIFO can process another word because it might be /// This does not necesarily mean that the FIFO can process another word because it might be
/// full. /// full.
/// Use the [Self::write_fifo] function to write a word to the FIFO reliably using the [nb] /// Use the [Self::read_fifo] function to write a word to the FIFO reliably using the [nb]
/// API. /// API.
#[inline(always)] #[inline(always)]
pub fn write_fifo_unchecked(&self, data: u32) { pub fn write_fifo_unchecked(&self, data: u32) {
@ -917,7 +916,7 @@ impl<Uart: Instance> embedded_io::Write for Tx<Uart> {
/// Serial receiver, using interrupts to offload reading to the hardware. /// Serial receiver, using interrupts to offload reading to the hardware.
/// ///
/// You can use [Rx::into_rx_with_irq] to convert a normal [Rx] structure into this structure. /// You can use [Rx::to_rx_with_irq] to convert a normal [Rx] structure into this structure.
/// This structure provides two distinct ways to read the UART RX using interrupts. It should /// This structure provides two distinct ways to read the UART RX using interrupts. It should
/// be noted that the interrupt service routine (ISR) still has to be provided by the user. However, /// be noted that the interrupt service routine (ISR) still has to be provided by the user. However,
/// this structure provides API calls which can be used inside the ISRs to simplify the reading /// this structure provides API calls which can be used inside the ISRs to simplify the reading

View File

@ -21,7 +21,7 @@ bitfield = "0.17"
version = "0.3" version = "0.3"
[dependencies.va108xx-hal] [dependencies.va108xx-hal]
version = ">=0.7, <=0.8" version = ">=0.7, <0.8"
path = "../va108xx-hal" path = "../va108xx-hal"
features = ["rt"] features = ["rt"]

View File

@ -327,7 +327,7 @@
"device": "Cortex-M0", "device": "Cortex-M0",
"svdFile": "./va108xx/svd/va108xx.svd.patched", "svdFile": "./va108xx/svd/va108xx.svd.patched",
"preLaunchTask": "blinky-hal", "preLaunchTask": "blinky-hal",
"executable": "${workspaceFolder}/target/thumbv6m-none-eabi/debug/examples/blinky", "executable": "${workspaceFolder}/target/thumbv6m-none-eabi/debug/examples/adxl343-accelerometer",
"interface": "jtag", "interface": "jtag",
"runToEntryPoint": "main", "runToEntryPoint": "main",
}, },
@ -460,7 +460,7 @@
"device": "Cortex-M0", "device": "Cortex-M0",
"svdFile": "./va108xx/svd/va108xx.svd.patched", "svdFile": "./va108xx/svd/va108xx.svd.patched",
"preLaunchTask": "bootloader", "preLaunchTask": "bootloader",
"executable": "${workspaceFolder}/target/thumbv6m-none-eabi/release/bootloader", "executable": "${workspaceFolder}/target/thumbv6m-none-eabi/debug/bootloader",
"interface": "jtag", "interface": "jtag",
"runToEntryPoint": "main", "runToEntryPoint": "main",
"rttConfig": { "rttConfig": {
@ -484,7 +484,7 @@
"device": "Cortex-M0", "device": "Cortex-M0",
"svdFile": "./va108xx/svd/va108xx.svd.patched", "svdFile": "./va108xx/svd/va108xx.svd.patched",
"preLaunchTask": "flashloader", "preLaunchTask": "flashloader",
"executable": "${workspaceFolder}/target/thumbv6m-none-eabi/release/flashloader", "executable": "${workspaceFolder}/target/thumbv6m-none-eabi/debug/flashloader",
"interface": "jtag", "interface": "jtag",
"runToEntryPoint": "main", "runToEntryPoint": "main",
"rttConfig": { "rttConfig": {
@ -500,4 +500,4 @@
} }
}, },
] ]
} }

View File

@ -7,9 +7,7 @@
"label": "rust: cargo build", "label": "rust: cargo build",
"type": "shell", "type": "shell",
"command": "~/.cargo/bin/cargo", // note: full path to the cargo "command": "~/.cargo/bin/cargo", // note: full path to the cargo
"args": [ "args": ["build"],
"build"
],
"group": { "group": {
"kind": "build", "kind": "build",
"isDefault": true "isDefault": true
@ -19,13 +17,7 @@
"label": "rust: cargo build hal tests", "label": "rust: cargo build hal tests",
"type": "shell", "type": "shell",
"command": "~/.cargo/bin/cargo", // note: full path to the cargo "command": "~/.cargo/bin/cargo", // note: full path to the cargo
"args": [ "args": ["build", "--bin", "board-tests", "--features", "rt"],
"build",
"--bin",
"board-tests",
"--features",
"rt"
],
"group": { "group": {
"kind": "build", "kind": "build",
"isDefault": true "isDefault": true
@ -35,11 +27,7 @@
"label": "rust: cargo build rtt", "label": "rust: cargo build rtt",
"type": "shell", "type": "shell",
"command": "~/.cargo/bin/cargo", // note: full path to the cargo "command": "~/.cargo/bin/cargo", // note: full path to the cargo
"args": [ "args": ["build", "--example", "rtt-log"],
"build",
"--example",
"rtt-log"
],
"group": { "group": {
"kind": "build", "kind": "build",
"isDefault": true "isDefault": true
@ -49,13 +37,7 @@
"label": "rust: cargo build systick", "label": "rust: cargo build systick",
"type": "shell", "type": "shell",
"command": "~/.cargo/bin/cargo", // note: full path to the cargo "command": "~/.cargo/bin/cargo", // note: full path to the cargo
"args": [ "args": ["build", "--example", "timer-ticks", "--features", "rt"],
"build",
"--example",
"timer-ticks",
"--features",
"rt"
],
"group": { "group": {
"kind": "build", "kind": "build",
"isDefault": true "isDefault": true
@ -65,11 +47,7 @@
"label": "rust: cargo build uart", "label": "rust: cargo build uart",
"type": "shell", "type": "shell",
"command": "~/.cargo/bin/cargo", // note: full path to the cargo "command": "~/.cargo/bin/cargo", // note: full path to the cargo
"args": [ "args": ["build", "--example", "uart"],
"build",
"--example",
"uart"
],
"group": { "group": {
"kind": "build", "kind": "build",
"isDefault": true "isDefault": true
@ -79,11 +57,7 @@
"label": "rust: cargo build spi", "label": "rust: cargo build spi",
"type": "shell", "type": "shell",
"command": "~/.cargo/bin/cargo", // note: full path to the cargo "command": "~/.cargo/bin/cargo", // note: full path to the cargo
"args": [ "args": ["build", "--example", "spi"],
"build",
"--example",
"spi"
],
"group": { "group": {
"kind": "build", "kind": "build",
"isDefault": true "isDefault": true
@ -93,13 +67,7 @@
"label": "rust: cargo build pwm", "label": "rust: cargo build pwm",
"type": "shell", "type": "shell",
"command": "~/.cargo/bin/cargo", // note: full path to the cargo "command": "~/.cargo/bin/cargo", // note: full path to the cargo
"args": [ "args": ["build", "--example", "pwm", "--features", "rt"],
"build",
"--example",
"pwm",
"--features",
"rt"
],
"group": { "group": {
"kind": "build", "kind": "build",
"isDefault": true "isDefault": true
@ -109,13 +77,7 @@
"label": "rust: cargo build cascade", "label": "rust: cargo build cascade",
"type": "shell", "type": "shell",
"command": "~/.cargo/bin/cargo", // note: full path to the cargo "command": "~/.cargo/bin/cargo", // note: full path to the cargo
"args": [ "args": ["build", "--example", "cascade", "--features", "rt"],
"build",
"--example",
"cascade",
"--features",
"rt"
],
"group": { "group": {
"kind": "build", "kind": "build",
"isDefault": true "isDefault": true
@ -125,11 +87,7 @@
"label": "uart-echo-rtic-example", "label": "uart-echo-rtic-example",
"type": "shell", "type": "shell",
"command": "~/.cargo/bin/cargo", // note: full path to the cargo "command": "~/.cargo/bin/cargo", // note: full path to the cargo
"args": [ "args": ["build", "--bin", "uart-echo-rtic"],
"build",
"--bin",
"uart-echo-rtic"
],
"group": { "group": {
"kind": "build", "kind": "build",
"isDefault": true "isDefault": true
@ -139,11 +97,7 @@
"label": "blinky-hal", "label": "blinky-hal",
"type": "shell", "type": "shell",
"command": "~/.cargo/bin/cargo", // note: full path to the cargo "command": "~/.cargo/bin/cargo", // note: full path to the cargo
"args": [ "args": ["build", "--example", "blinky"],
"build",
"--example",
"blinky"
],
"group": { "group": {
"kind": "build" "kind": "build"
} }
@ -152,11 +106,7 @@
"label": "rust: cargo build led blinky", "label": "rust: cargo build led blinky",
"type": "shell", "type": "shell",
"command": "~/.cargo/bin/cargo", // note: full path to the cargo "command": "~/.cargo/bin/cargo", // note: full path to the cargo
"args": [ "args": ["build", "--example", "blinky-leds"],
"build",
"--example",
"blinky-leds"
],
"group": { "group": {
"kind": "build", "kind": "build",
"isDefault": true "isDefault": true
@ -166,11 +116,7 @@
"label": "rust: cargo build button blinky", "label": "rust: cargo build button blinky",
"type": "shell", "type": "shell",
"command": "~/.cargo/bin/cargo", // note: full path to the cargo "command": "~/.cargo/bin/cargo", // note: full path to the cargo
"args": [ "args": ["build", "--example", "blinky-button-irq"],
"build",
"--example",
"blinky-button-irq"
],
"group": { "group": {
"kind": "build", "kind": "build",
"isDefault": true "isDefault": true
@ -180,11 +126,7 @@
"label": "rust: cargo build temp sensor", "label": "rust: cargo build temp sensor",
"type": "shell", "type": "shell",
"command": "~/.cargo/bin/cargo", // note: full path to the cargo "command": "~/.cargo/bin/cargo", // note: full path to the cargo
"args": [ "args": ["build", "--example", "adt75-temp-sensor"],
"build",
"--example",
"adt75-temp-sensor"
],
"group": { "group": {
"kind": "build", "kind": "build",
"isDefault": true "isDefault": true
@ -194,11 +136,7 @@
"label": "rust: cargo build button blinky rtic", "label": "rust: cargo build button blinky rtic",
"type": "shell", "type": "shell",
"command": "~/.cargo/bin/cargo", // note: full path to the cargo "command": "~/.cargo/bin/cargo", // note: full path to the cargo
"args": [ "args": ["build", "--example", "blinky-button-rtic"],
"build",
"--example",
"blinky-button-rtic"
],
"group": { "group": {
"kind": "build", "kind": "build",
"isDefault": true "isDefault": true
@ -208,11 +146,7 @@
"label": "rust: cargo build accelerometer", "label": "rust: cargo build accelerometer",
"type": "shell", "type": "shell",
"command": "~/.cargo/bin/cargo", // note: full path to the cargo "command": "~/.cargo/bin/cargo", // note: full path to the cargo
"args": [ "args": ["build", "--example", "adxl343-accelerometer"],
"build",
"--example",
"adxl343-accelerometer"
],
"group": { "group": {
"kind": "build", "kind": "build",
"isDefault": true "isDefault": true
@ -222,11 +156,7 @@
"label": "rust: cargo build adc", "label": "rust: cargo build adc",
"type": "shell", "type": "shell",
"command": "~/.cargo/bin/cargo", // note: full path to the cargo "command": "~/.cargo/bin/cargo", // note: full path to the cargo
"args": [ "args": ["build", "--example", "max11619-adc"],
"build",
"--example",
"max11619-adc"
],
"group": { "group": {
"kind": "build", "kind": "build",
"isDefault": true "isDefault": true
@ -236,11 +166,7 @@
"label": "reb1-nvm", "label": "reb1-nvm",
"type": "shell", "type": "shell",
"command": "~/.cargo/bin/cargo", // note: full path to the cargo "command": "~/.cargo/bin/cargo", // note: full path to the cargo
"args": [ "args": ["build", "--example", "nvm"],
"build",
"--example",
"nvm"
],
"group": { "group": {
"kind": "build", "kind": "build",
"isDefault": true "isDefault": true
@ -250,43 +176,25 @@
"label": "rtic-example", "label": "rtic-example",
"type": "shell", "type": "shell",
"command": "~/.cargo/bin/cargo", // note: full path to the cargo "command": "~/.cargo/bin/cargo", // note: full path to the cargo
"args": [ "args": ["build", "--bin", "rtic-example"]
"build",
"--bin",
"rtic-example"
]
}, },
{ {
"label": "embassy-example", "label": "embassy-example",
"type": "shell", "type": "shell",
"command": "~/.cargo/bin/cargo", // note: full path to the cargo "command": "~/.cargo/bin/cargo", // note: full path to the cargo
"args": [ "args": ["build", "--bin", "embassy-example"]
"build",
"--bin",
"embassy-example"
]
}, },
{ {
"label": "bootloader", "label": "bootloader",
"type": "shell", "type": "shell",
"command": "~/.cargo/bin/cargo", // note: full path to the cargo "command": "~/.cargo/bin/cargo", // note: full path to the cargo
"args": [ "args": ["build", "--bin", "bootloader"]
"build",
"--bin",
"bootloader",
"--release",
]
}, },
{ {
"label": "flashloader", "label": "flashloader",
"type": "shell", "type": "shell",
"command": "~/.cargo/bin/cargo", // note: full path to the cargo "command": "~/.cargo/bin/cargo", // note: full path to the cargo
"args": [ "args": ["build", "--bin", "flashloader"]
"build",
"--bin",
"flashloader",
"--release"
]
} }
] ]
} }