From 11bad84ce7a44c9d2ef0141459a2dc175e5b671a Mon Sep 17 00:00:00 2001 From: Vladimir Date: Fri, 24 Mar 2023 01:15:05 -0700 Subject: [PATCH 1/2] Add FW version to BLE characteristic (#1633) Implements #1610 --- source/Core/BSP/Pinecilv2/ble_handlers.cpp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/source/Core/BSP/Pinecilv2/ble_handlers.cpp b/source/Core/BSP/Pinecilv2/ble_handlers.cpp index ad2c3fe8..2f7f2518 100644 --- a/source/Core/BSP/Pinecilv2/ble_handlers.cpp +++ b/source/Core/BSP/Pinecilv2/ble_handlers.cpp @@ -27,6 +27,7 @@ #include "ble_handlers.h" #include "pd.h" #include "power.hpp" +#include "../../version.h" #if POW_PD #include "USBPD.h" #include "pd.h" @@ -176,9 +177,9 @@ int ble_char_read_bulk_value_callback(struct bt_conn *conn, const struct bt_gatt // TODO: Need to store non-encoded version break; case 3: - // Build - // TODO: Need to store non-encoded version - break; + // FW Version + memcpy(buf, &BUILD_VERSION, sizeof(BUILD_VERSION) - 1); + return sizeof(BUILD_VERSION) - 1; case 4: // Device unique id { From 6177d4e2a4736992c651847556f2dc97a1ae59cb Mon Sep 17 00:00:00 2001 From: Vladimir Date: Fri, 24 Mar 2023 06:19:52 -0700 Subject: [PATCH 2/2] Add building steps for Pinecil V2 to Development.md (#1634) --- Documentation/Development.md | 37 ++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) diff --git a/Documentation/Development.md b/Documentation/Development.md index 79497af5..b43ae2d1 100644 --- a/Documentation/Development.md +++ b/Documentation/Development.md @@ -104,3 +104,40 @@ If you _need_ an IDE I have used [Nuclei's IDE](https://nucleisys.com/download.p Follow the same idea as the STM Cube IDE notes above. ## Building Pinecil V2 + +To build the Pinecil V2 firmware, you can use a Docker container that provides a consistent development environment across different operating systems, including Windows with WSL2. Here's how to do it: + +### Prerequisites + +Docker Desktop: Install the latest version of Docker Desktop for your operating system from the official website. + +On Windows follow the instructions on the official documentation to install 'Windows Subsystem for Linux' (WSL2). + +### Building Steps + +1. Clone the repository, initialize and update submodules: + + ```sh + git clone --recurse-submodules https://github.com/Ralim/IronOS.git + ``` + +2. Start the Docker container with the development environment: + + ```sh + cd IronOS + ./start_dev.sh + ``` + + This script will build a Docker image and run a container with the necessary tools to build the firmware. + +3. Build the firmware for Pinecil V2: + + ```sh + cd source/source + ./build.sh -l EN -m Pinecilv2 + ``` + + This command will compile the firmware with English language support for Pinecil V2 board. + +4. Find the firmware artifacts: + After the build completes successfully, you can find the firmware artifacts in the `source/Hexfile` directory.