Add EEPROM EUI-48 device identity across firmware and API.

Read the factory 24AA025E48 serial after ADAU I2C boot, derive SoftAP SSID, BT name, STA hostname, and expose serialNumber on GET /api/health with graceful fallbacks.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-07-07 09:00:38 +02:00
co-authored by Cursor
parent 11ad6b43ad
commit cd94e36a9d
35 changed files with 999 additions and 83 deletions
@@ -17,6 +17,7 @@
#include "core/Bt1035At.hpp"
#include <expected>
#include <string_view>
namespace bt1035 {
@@ -168,6 +169,20 @@ public:
*/
[[nodiscard]] std::expected<void, Bt1035Error> disconnectA2dp();
/**
* @brief setDeviceName — set the module GAP friendly name (AT+NAME).
*
* @dname setDeviceName
* @param name Bluetooth name (Feasycom FSC-BT1035 AT+NAME command).
* @return Ok on success, or Bt1035Error.
* @pubstate sends AT+NAME after boot; does not alter AT+AUXCFG=1 init.
*
* @author Michele Bigi
* @date 2026-07-07
*/
[[nodiscard]] std::expected<void, Bt1035Error> setDeviceName(
std::string_view name);
private:
[[nodiscard]] std::expected<void, Bt1035Error> ensureBooted() const;
[[nodiscard]] std::expected<void, Bt1035Error> runInitSequence();