Miguel Wisintainer
Published © CC BY

Arduino Fibocom L610-gl

Don't like or not understand the L610-GL sdk, please, use Arduino to program it :)

BeginnerWork in progress1 hour13
Arduino Fibocom L610-gl

Things used in this project

Software apps and online services

Arduino IDE
Arduino IDE
Fibocom SDK to L610-GL

Story

Read more

Code

App version

Arduino
Example that can compiled using Arduino and create bin to code to L610-GL
/*
 * ============================================================
 *  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);
}

Credits

Miguel Wisintainer
2 projects • 1 follower
Thanks to Claude AI.

Comments