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. diff --git a/source/Core/BSP/MHP30/configuration.h b/source/Core/BSP/MHP30/configuration.h index bee0914c..3cc7202d 100644 --- a/source/Core/BSP/MHP30/configuration.h +++ b/source/Core/BSP/MHP30/configuration.h @@ -137,7 +137,7 @@ #define MAX_TEMP_C 350 // Max soldering temp selectable °C #define MAX_TEMP_F 660 // Max soldering temp selectable °F #define MIN_TEMP_C 10 // Min soldering temp selectable °C -#define MIN_TEMP_F 60 // Min soldering temp selectable °F +#define MIN_TEMP_F 50 // Min soldering temp selectable °F #define MIN_BOOST_TEMP_C 150 // The min settable temp for boost mode °C #define MIN_BOOST_TEMP_F 300 // The min settable temp for boost mode °F #define NO_DISPLAY_ROTATE // Disable OLED rotation by accel diff --git a/source/Core/BSP/Miniware/configuration.h b/source/Core/BSP/Miniware/configuration.h index d3ff9432..e0df0efe 100644 --- a/source/Core/BSP/Miniware/configuration.h +++ b/source/Core/BSP/Miniware/configuration.h @@ -141,7 +141,7 @@ #define MAX_TEMP_C 450 // Max soldering temp selectable °C #define MAX_TEMP_F 850 // Max soldering temp selectable °F #define MIN_TEMP_C 10 // Min soldering temp selectable °C -#define MIN_TEMP_F 60 // Min soldering temp selectable °F +#define MIN_TEMP_F 50 // Min soldering temp selectable °F #define MIN_BOOST_TEMP_C 250 // The min settable temp for boost mode °C #define MIN_BOOST_TEMP_F 480 // The min settable temp for boost mode °F diff --git a/source/Core/BSP/Pinecil/configuration.h b/source/Core/BSP/Pinecil/configuration.h index a6ae918e..f029c6b3 100644 --- a/source/Core/BSP/Pinecil/configuration.h +++ b/source/Core/BSP/Pinecil/configuration.h @@ -132,7 +132,7 @@ #define MAX_TEMP_C 450 // Max soldering temp selectable °C #define MAX_TEMP_F 850 // Max soldering temp selectable °F #define MIN_TEMP_C 10 // Min soldering temp selectable °C -#define MIN_TEMP_F 60 // Min soldering temp selectable °F +#define MIN_TEMP_F 50 // Min soldering temp selectable °F #define MIN_BOOST_TEMP_C 250 // The min settable temp for boost mode °C #define MIN_BOOST_TEMP_F 480 // The min settable temp for boost mode °F diff --git a/source/Core/BSP/Pinecilv2/ble_handlers.cpp b/source/Core/BSP/Pinecilv2/ble_handlers.cpp index 68e1dc7b..8aad6372 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 {