Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE/bug_report.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
name: Bug Report
description: Report a bug to help us improve HighBoy Firmware.
description: Report a bug to help us improve High Boy Firmware.
labels: ["bug"]
body:
- type: markdown
Expand Down
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE/feature_request.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
name: Feature Request
description: Suggest a new feature or improvement for HighBoy.
description: Suggest a new feature or improvement for High Boy.
labels: ["enhancement"]
body:
- type: textarea
Expand Down
430 changes: 430 additions & 0 deletions CHANGELOG.md

Large diffs are not rendered by default.

4 changes: 2 additions & 2 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Contributing to HighBoy Firmware
# Contributing to High Boy Firmware

Thank you for your interest in contributing to HighBoy! We welcome contributions from everyone. This document provides guidelines and instructions to help you get started.
Thank you for your interest in contributing to High Boy! We welcome contributions from everyone. This document provides guidelines and instructions to help you get started.


## Getting Started
Expand Down
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
</p>


# HighBoy Firmware (Beta)
# High Boy Firmware (Beta)

[![License](https://img.shields.io/github/license/HighCodeh/TentacleOS)](LICENSE)
[![GitHub Stars](https://img.shields.io/github/stars/HighCodeh/TentacleOS)](https://github.com/HighCodeh/TentacleOS/stargazers)
Expand All @@ -12,7 +12,7 @@

> **Languages**: [🇺🇸 English](README.md) | [🇧🇷 Português](README.pt.md)

This repository contains a **firmware in development** for the **HighBoy** platform.
This repository contains a **firmware in development** for the **High Boy** platform.
**Warning:** this firmware is in its **beta phase** and is **still incomplete**.

---
Expand Down
4 changes: 2 additions & 2 deletions README.pt.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
</p>


# Firmware HighBoy (Beta)
# Firmware High Boy (Beta)

[![License](https://img.shields.io/github/license/HighCodeh/TentacleOS)](LICENSE)
[![GitHub Stars](https://img.shields.io/github/stars/HighCodeh/TentacleOS)](https://github.com/HighCodeh/TentacleOS/stargazers)
Expand All @@ -12,7 +12,7 @@

> **Idiomas**: [🇺🇸 English](README.md) | [🇧🇷 Português](README.pt.md)

Este repositório contém um **firmware em desenvolvimento** para a plataforma **HighBoy**.
Este repositório contém um **firmware em desenvolvimento** para a plataforma **High Boy**.
**Atenção:** este firmware está em **fase beta** e **ainda está incompleto**.

---
Expand Down
2 changes: 1 addition & 1 deletion firmware_c5/assets/config/OTA/firmware.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"system_hardware": "HighBoy",
"version": "0.1.0",
"version": "1.1.0",
"ota_repository_url": "https://repo.highboy.com.br/firmware/system/update.json",
"changelog": ""
}
2 changes: 1 addition & 1 deletion firmware_p4/assets/config/OTA/firmware.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"system_hardware": "HighBoy",
"version": "0.1.0",
"version": "1.1.0",
"ota_repository_url": "https://repo.highboy.com.br/firmware/system/update.json",
"changelog": ""
}
Expand Down
4 changes: 4 additions & 0 deletions firmware_p4/components/Service/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -100,9 +100,13 @@ idf_component_register(SRCS

# Embed C5 Firmware Binary into Service component (used by c5_flasher)
set(C5_BIN_PATH "${CMAKE_SOURCE_DIR}/../firmware_c5/build/TentacleOS_C5.bin")
set(C5_FIRMWARE_EMBEDDED 0)
if(EXISTS ${C5_BIN_PATH})
Copy link

Copilot AI Mar 22, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

if(EXISTS ${C5_BIN_PATH}) should quote the path (if(EXISTS "${C5_BIN_PATH}")) to avoid mis-parsing when the source dir path contains spaces or special characters. This is a common CMake footgun and can cause the embed step to be skipped unexpectedly.

Suggested change
if(EXISTS ${C5_BIN_PATH})
if(EXISTS "${C5_BIN_PATH}")

Copilot uses AI. Check for mistakes.
target_add_binary_data(${COMPONENT_LIB} "${C5_BIN_PATH}" BINARY)
set(C5_FIRMWARE_EMBEDDED 1)
message(STATUS "Embedding C5 Firmware: ${C5_BIN_PATH}")
else()
message(WARNING "C5 Firmware binary not found at ${C5_BIN_PATH}. Firmware update feature will be disabled.")
endif()

target_compile_definitions(${COMPONENT_LIB} PRIVATE C5_FIRMWARE_EMBEDDED=${C5_FIRMWARE_EMBEDDED})
7 changes: 7 additions & 0 deletions firmware_p4/components/Service/c5_flasher/c5_flasher.c
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,10 @@ static const char *TAG = "C5_FLASHER";
#define FLASH_BLOCK_SIZE 1024

// Access to embedded binary symbols
#if C5_FIRMWARE_EMBEDDED
extern const uint8_t c5_firmware_bin_start[] asm("_binary_TentacleOS_C5_bin_start");
extern const uint8_t c5_firmware_bin_end[] asm("_binary_TentacleOS_C5_bin_end");
#endif

// ESP Serial Protocol Constants
#define ESP_ROM_BAUD 115200
Expand Down Expand Up @@ -104,8 +106,13 @@ void c5_flasher_reset_normal(void) {

esp_err_t c5_flasher_update(const uint8_t *bin_data, uint32_t bin_size) {
if (!bin_data) {
#if C5_FIRMWARE_EMBEDDED
bin_data = c5_firmware_bin_start;
bin_size = c5_firmware_bin_end - c5_firmware_bin_start;
#else
ESP_LOGE(TAG, "Embedded C5 firmware is unavailable");
return ESP_ERR_NOT_FOUND;
Comment on lines +113 to +114
Copy link

Copilot AI Mar 22, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

When bin_data is NULL and the firmware binary wasn't embedded, this now returns ESP_ERR_NOT_FOUND. In the current codebase bridge_manager_init() treats any non-OK as a hard failure (and the CMake warning claims the feature is “disabled”), so this can cause startup failures on builds that don't have the C5 .bin present. Consider making callers explicitly guard on C5_FIRMWARE_EMBEDDED / handle ESP_ERR_NOT_FOUND, or change the behavior to align with “disabled” semantics (e.g., a no-op with a distinct return code that callers treat as non-fatal).

Suggested change
ESP_LOGE(TAG, "Embedded C5 firmware is unavailable");
return ESP_ERR_NOT_FOUND;
ESP_LOGW(TAG, "C5 firmware update skipped: embedded firmware is unavailable and no external binary was provided");
return ESP_OK;

Copilot uses AI. Check for mistakes.
#endif
}

if (bin_size == 0) {
Expand Down
2 changes: 1 addition & 1 deletion firmware_p4/components/Service/ota/include/ota_version.h
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
#ifndef OTA_VERSION_H
#define OTA_VERSION_H

#define FIRMWARE_VERSION "0.1.0"
#define FIRMWARE_VERSION "1.1.0"

#endif // OTA_VERSION_H
Loading
Loading