# Smart Home This repository contains the description of a number of smart home devices as well as the source code for the corresponding firmware. # Compiling Compiling the display firmware requires a rust toolchain for ARMv6m: rustup target add thumbv6m-none-eabi Compiling the base station software depends on the targeted board. The following steps can be used to cross-compile the software for an ARMv7 target from a Fedora host: 1. Install the toolchain: sudo dnf copr enable lantw44/arm-linux-gnueabi-toolchain sudo dnf install arm-linux-gnueabi-gcc.x86_64 rustup target add arm-unknown-linux-gnueabi 2. Configure Rust to use the ARM GCC: cat > ~/.cargo/config [target.arm-unknown-linux-gnueabi] linker = "arm-linux-gnueabi-gcc" 3. Compile the software using the newly installed toolchain: cargo build --target=arm-unknown-linux-gnueabi # License The hardware contained in this repository is licensed under the [CERN Open Hardware Licence Version 2 - Weakly Reciprocal](cern_ohl_w_v2.txt), and the software is licensed under the [GNU General Public License v3](gpl-3.0.md).