No description
Find a file
Blizzard Finnegan ed897d6ff7
All checks were successful
Basic Cargo Checks / docker-build (push) Successful in 1m40s
Basic Cargo Checks / docker-check (push) Successful in 1m37s
Merge pull request 'v.2.3.1' (#9) from devel into stable
Reviewed-on: #9
2023-06-20 12:24:22 -04:00
.forgejo/workflows revert previous change 2023-06-14 15:31:37 -04:00
src Version bump 2023-06-20 10:59:09 -04:00
.gitignore Start writing rust 2023-05-05 15:47:53 -04:00
build_requirements.md Add build requirements documentation 2023-06-06 09:38:04 -04:00
Cargo.lock Version bump 2023-06-20 10:59:09 -04:00
Cargo.toml Version bump 2023-06-20 10:59:09 -04:00
LICENSE Create LICENSE 2023-05-04 18:22:57 -04:00
log-containing-uboot-prompt.txt Remove some logging for storage purposes 2023-06-16 14:00:43 -04:00
notes.md Add notes for auto-serial check 2023-06-19 13:42:26 -04:00
README.md Version bump 2023-06-20 10:59:09 -04:00
shell.nix Add Nix dev environment 2023-06-17 15:41:35 -04:00

Seymour Life

This is a personal/professional project, which makes use of serial communications (tty over USB via UART) and Raspberry Pi GPIO to simulate long term use of a Seymour device.

Note that this project will ONLY run properly on a Raspberry Pi. It is developed on, and tested for, the Raspberry Pi 400. This should also be compatible with the Raspberry Pi 4, and Raspberry Pi 3, although they have not been explicitly tested. Older models of Raspberry Pi may work properly, however as this project is originally intended for the aarch64/ARM64 architecture, and older compatibility will not be tested.

Install

Precompiled Binary

Pre-compiled binaries can be found in the releases tab. Download the preferred version to your preferred directory, then run the following command to make the code executable:

sudo chmod u+x ./seymour_life

To run the binary, simply run:

sudo ./seymour_life

Note that this command MUST be run as sudo/root, due to the way it interacts with GPIO. For more information, please see the GPIO documentation.

Build From Source

Note: At this time, this project can only reliably be built on Linux. Build instructions for Windows will be written eventually.

To build this project from source, first, download the repository. This can be done by using the Download ZIP button, or running the following command in a terminal where git is installed:

git clone https://git.blizzard.systems/blizzardfinnegan/seymourLifeRust

Once the repository has been downloaded, the project can be built with cargo. This can be done using any of the listed install methods on the Rust install website.

Once cargo has been installed, run the following to build the project:

cargo build --release

The runnable command can then be run by the following:

sudo ./target/release/seymour_life

You can also build without the --release flag, which wil take less time, but will be less optimised for the hardware. If you do this, substitue ./target/release/seymour_life for ./target/debug/seymour_life in the above command.

Build Dependencies

The following dependencies are also necessary for building this project:

  • pkg-config
  • libudev

See below for platform specific requirements.

Debian-based

This applies for all distributions of Linux using the apt package manager, including but not limited to Debian, Ubuntu, Raspbian/Raspberry Pi OS, and Linux Mint.

sudo apt-get install librust-libudev-sys-dev librust-pkg-config-dev

Fedora-based

This applies for all distributions of Linux using the dnf package manager, including but not limited to CentOS, Redhat Enterprise Linux (RHEL), and Fedora.

sudo dnf install rust-libudev-sys-devel rust-pkg-config-devel

Nix

This applies to both NixOS, and any distribution where the Nix package manager can be installed.

If you have the Nix package manager installed, this project comes with a shell.nix containing the necessary build dependencies. Simply run nix-shell to download the necessary dependencies.