/*
* ============================================================
* Arduino Core & Examples para FIBOCOM L610 (LTE Cat.1)
* Autor: Miguel Alexandre Wisintainer - Claude
* Data: Maio 2026
* ============================================================
*/
/*
* 55_AppVersion — Application Version Management
* Convertido de app_version_demo.c do SDK FIBOCOM
*
* Gere a versão da aplicação Arduino no L610.
* Útil para identificar remotamente a versão do firmware
* via AT commands ou MQTT.
*
* API real do SDK:
* fibo_set_app_version(ver_str) → definir versão da app
* fibo_get_version_info(buf, len) → ler versão completa do sistema
* fibo_get_imei(buf, simID) → IMEI do módulo
*
* AT command após fibo_set_app_version():
* AT+APP → responde com a versão definida
*
* Placa: FIBOCOM L610 (LTE Cat.1)
*/
#include <Arduino.h>
#include <string.h>
void user_signal_process(GAPP_SIGNAL_ID_T sig, va_list arg) { (void)sig; (void)arg; }
// Versão da tua aplicação Arduino
#define APP_VERSION "L610-Arduino-v1.0.0-2026"
void setup()
{
Serial.begin(115200);
Serial.println("[L610] App Version Management Demo");
// Definir versão da aplicação
int ret = fibo_set_app_version((char*)APP_VERSION);
Serial.printf("[VER] set_app_version('%s') ret=%d\n", APP_VERSION, ret);
// Ler versão completa do sistema (firmware + app)
char version[128] = {0};
ret = fibo_get_version_info(version, sizeof(version)-1);
Serial.printf("[VER] Sistema: %s (ret=%d)\n", version, ret);
// IMEI
UINT8 imei[20] = {0};
fibo_get_imei(imei, (CFW_SIM_ID)0);
Serial.printf("[VER] IMEI: %s\n", imei);
Serial.println("[VER] ─────────────────────────────");
Serial.printf("[VER] App: %s\n", APP_VERSION);
Serial.printf("[VER] FW: %s\n", version);
Serial.printf("[VER] IMEI: %s\n", imei);
Serial.println("[VER] ─────────────────────────────");
Serial.println("[VER] AT+APP → retorna versao da app");
}
void loop()
{
delay(30000);
char version[128] = {0};
fibo_get_version_info(version, sizeof(version)-1);
Serial.printf("[VER] Uptime=%lus FW=%s\n", millis()/1000, version);
}
Comments