13 releases
| 0.3.10 | Nov 27, 2025 |
|---|---|
| 0.3.8 | Oct 20, 2025 |
| 0.3.7 | Mar 5, 2025 |
| 0.3.4 | Dec 24, 2024 |
| 0.1.0 | May 18, 2024 |
#1055 in Embedded development
Used in bestool
34KB
796 lines
A Raspberry Pi driver for the ST7789V2-based WaveShare 1.69" LCD display.
This crate provides a high-level interface for controlling a WaveShare 1.69" LCD display connected to a Raspberry Pi over SPI.
It implements both a simple "image"-based interface and embedded_graphics' traits.
Example
let mut lcd = Driver::new(Default::default())?;
lcd.init()?;
lcd.probe_buffer_length()?;
let mut image = lcd.image();
image.solid(Rgb565::new(255, 0, 255));
lcd.print((0, 0), &image)?;
bestool
All-in-one tool for BES ops and dev tasks.
It manifests as a single binary that can be easily uploaded to Windows machines, or downloaded from the internet, and also works cross-platform on Linux and Mac for many tasks.
See bestool <subcommand> --help for extensive help.
Download
Current release: 1.4.0
| Platform | Variant | Download |
|---|---|---|
| Windows | x86 | bestool.exe |
| Linux | x86 | bestool |
| Linux | x86 static | bestool |
| Linux | ARM64 | bestool |
| Mac | Intel | bestool |
| Mac | ARM64 | bestool |
Self-update
If you already have bestool, it can self-update to the latest version:
$ bestool self-update
APT repository
If you're on Debian or a derivative, you can use our APT repo:
curl -fsSL https://tools.ops.tamanu.io/apt/bes-tools.gpg.key | sudo gpg --dearmor -o /etc/apt/keyrings/bes-tools.gpg
echo "deb [signed-by=/etc/apt/keyrings/bes-tools.gpg] https://tools.ops.tamanu.io/apt stable main" | sudo tee /etc/apt/sources.list.d/bes-tools.list
sudo apt-get update
sudo apt-get install bestool
Always-latest URLs
The above URLs are for the current release. If you want to always get the latest version, you can use the following URLs:
| Platform | Variant | Download |
|---|---|---|
| Windows | x86 | bestool.exe |
| Linux | x86 | bestool |
| Linux | x86 static | bestool |
| Linux | ARM64 | bestool |
| Mac | Intel | bestool |
| Mac | ARM64 | bestool |
In GitHub Actions
- name: Download bestool
shell: bash
run: |
curl -Lo ${{ runner.os == 'Windows' && 'bestool.exe' || 'bestool' }} https://tools.ops.tamanu.io/bestool/gha/${{ runner.os }}-${{ runner.arch }}?bust=${{ github.run_id }}
[[ -f bestool ]] && chmod +x bestool
- name: Use bestool
shell: bash
run: |
bestool=bestool
[[ ${{ runner.os }} == "Windows" ]] && bestool=bestool.exe
./$bestool --version # or something more useful
Or combined:
- name: Download bestool
shell: bash
run: |
bestool=bestool
[[ ${{ runner.os }} == "Windows" ]] && bestool=bestool.exe
curl -Lo $bestool https://tools.ops.tamanu.io/bestool/gha/${{ runner.os }}-${{ runner.arch }}?bust=${{ github.run_id }}
[[ -f bestool ]] && chmod +x bestool
./$bestool --version # or something more useful
With Binstall
$ cargo binstall bestool
With cargo (compiling)
$ cargo install bestool
Development
Install rust, clone the repo, then run:
$ cargo check
To run the tool:
$ cargo run -- --help
To build the tool like for production:
$ cargo build --release
Commits should follow the Conventional Commits format. Types are listed in the cliff.toml file.
Releasing
To make a release, install cargo-release and git-cliff, then:
$ git switch main
$ git pull
$ cargo release minor --execute
(or patch or major instead of minor)
Dependencies
~12MB
~133K SLoC