Passa al contenuto principale

Changelog

Tutte le modifiche rilevanti di questo progetto sono documentate in questo file.

[2.11] - 2026-08-17​

Aggiunto​

  • smartDrive:
    • Nuovo plugin per l'hardware owasys smartDrive: 4 ingressi analogici (ain_channels, frequenza di campionamento configurabile, scala/offset, campo di misura e riduzione dei dati), monitoraggio della tensione di alimentazione e della temperatura interna, LED di stato e un controllo periodico della connettività Internet (pingUrl, HTTP HEAD ogni 60 s).
    • Chiamate RPC getStatus, getInternalTemperature e getSupplyVoltage.
  • Siexpert (PREVIEW):
    • Nuovo plugin per la lettura dei file expert Siemens delle locomotive Vectron.
  • smartCORE:
    • Le voci di modulo in smartcore.json e smartcore_dynamic.json accettano una nuova chiave opzionale "configFile" (un singolo nome di file o un array di nomi). I file referenziati vengono caricati dal percorso di ricerca della configurazione e uniti in ordine — gli array vengono concatenati, gli oggetti uniti ricorsivamente — con il blocco "config" inline sempre prioritario. Ciò consente di mantenere una sola volta frammenti di configurazione condivisi e di riutilizzarli tra più moduli e dispositivi. I file mancanti o illeggibili vengono saltati con un avviso; la misura parte comunque.
  • TRDP:
    • Nuova proprietà trafficFilter: un elenco di coppie port / groupAddress, in modo che un'istanza di modulo possa ricevere più gruppi multicast e porte.
    • Nuova proprietà joinGroup (per voce di filtro, predefinito false): si unisce attivamente al gruppo multicast tramite IGMP sull'interfaccia di rete configurata, anziché limitarsi a filtrare il traffico che arriva comunque.
    • Nuova proprietà pollingIntervalMs (predefinito 1000, intervallo 100…2000).
  • Batmon:
    • Nuova proprietà configurationErrorChannelName. Il canale segnala il motivo per cui un set di parametri è stato rifiutato, ad es. VoltageAlwaysOnTooHigh (-3), WrongShutdownTime (2), OK (0).
  • Mav:
    • Controllo del paese: finché il nuovo canale booleano opzionale channelnameCountryCheck è true, i dati vengono inviati al server MÁV solo se il paese letto da channelnameCurrentCountryCode (ISO 3166-1 alpha-2) corrisponde all'impostazione targetCountryCode, con confronto senza distinzione tra maiuscole e minuscole. targetCountryCode ha come predefinito HU; un paese sconosciuto o vuoto sopprime l'invio. Se il canale è assente o false — impostazione predefinita — i dati vengono inviati indipendentemente dal paese, quindi le configurazioni esistenti si comportano come prima.
    • Nuova proprietà channelnameCustomerID: un attributo condiviso opzionale di optiCloud che sostituisce a runtime il sender configurato e viene trasmesso come attributo SOAP Sender.
    • Nuova proprietà channelnameHDOP: canale di ingresso float il cui valore filtrato abilita il rilevamento degli eventi di avvio/arresto della locomotiva e viene pubblicato come MAV.HdopFilt.
    • Nuova proprietà timezone (ID di fuso orario IANA, predefinito Europe/Budapest) utilizzata per formattare il campo GPSTime inviato al server MÁV.
    • Nuovo valore di stato NO_SENDER (-6) su MAV.Status; i sei valori esistenti mantengono i propri numeri. Tutti i valori di stato sono ora documentati nella descrizione del modulo.
  • Math:
    • funzione derive() per calcolare una derivata filtrata d/dt di un segnale di ingresso equidistante
    • macro #timezone per abilitare l'ora legale automatica nelle funzioni correlate, ad es.
      • decodeTime(..., {useTZ: <bool>})
      • timer(..., {useTZ: <bool>}) include la libreria date di Howard Hinnant
    • memory() fornisce una memoria indicizzata di una data dimensione; il tipo di dati viene ricavato dall'inizializzatore, con le modalità M=, M+= e M*=.
    • sScan(fmt, s) estrae valori da una stringa utilizzando segnaposto di formato in stile scanf.
    • sGetKV(s, k [, {format, filter}]) trova una coppia chiave-valore in un testo; i formati supportati sono json, ini, xml_attr e xml_node. Un indice opzionale seleziona l'n-esima corrispondenza.

Modificato​

  • Math:
    • Catalog Version 13
    • timer() ora emette tutti gli impulsi che rientrano in un intervallo di valutazione anziché solo il primo, e le voci crontab vengono risolte con precisione inferiore al secondo. In precedenza i timer potevano saltare impulsi con frequenze di tick elevate.
    • transit() / state machine: i cicli nMax annidati che condividono uno stato di destinazione ora contano in modo indipendente. Il contatore interno viene azzerato quando il ciclo esterno rientra nello stato iniziale del ciclo.
  • Batmon:
    • Il nome predefinito del canale della modalità operativa è cambiato da batmon__Operating_Mode a batmon__PluginState. Le installazioni che indirizzano il canale per nome devono adattarsi oppure mantenere il vecchio nome tramite operatingModeChannelName.
    • Il canale della modalità operativa ora riporta l'intera state machine del plugin (0…15, ad es. GetParameter (6), Running (9), PostponeShutDown (14)) anziché i quattro stati approssimativi precedenti.
    • I canali dell'evento di spegnimento e della richiesta di risparmio energetico sono ora descritti completamente nella documentazione del modulo. requestEnergySave è un flag con latch: viene impostato una volta che il risparmio energetico è stato richiesto dall'avvio del modulo e viene azzerato solo da un riavvio del modulo — non indica l'attività di risparmio energetico in corso.
  • Mav:
    • Sono stati corretti tre valori predefiniti che non corrispondevano al comportamento del modulo.
    • Le modifiche sui canali opzionali (LocoNr, CustomerID, CountryCheck, CurrentCountryCode) vengono segnalate a livello info anziché solo con debugLog, e solo quando il valore cambia effettivamente.
  • Dbc:
    • La proprietà separateEFFlag è stata rimossa. La distinzione tra indirizzamento a 11 bit e a 29 bit viene configurata nel modulo canbus tramite keepEFFFlag (introdotta nella 2.10.1).
  • TRDP:
    • port ora viene validato rispetto all'intervallo 0…65535 anziché essere accettato senza controllo.
  • GRPC:
    • Adattato all'API gRPC 1.80.0, fornita con Yocto Wrynose.
  • Librerie di terze parti:
    • valijson 1.1.0 → 1.1.3, utilizzata per validare la configurazione del modulo rispetto al suo schema.
    • Howard Hinnant date library v3.0.4 inclusa di nuovo; fornisce la gestione dei fusi orari alla base della macro math #timezone.

Rimosso​

  • Microstrain (PREVIEW): il modulo è stato rimosso.

Corretto​

  • Math
    • playback() fornisce valori predefiniti ai canali se non è attivo
    • Il timeout di #warn produceva numerosi falsi positivi se il primo campione era un intervallo attendibile più grande
    • correzioni di sicurezza e stabilità
    • Un segno unario iniziale veniva applicato alla base di un'espressione di potenza anziché al suo risultato: -2^2 restituiva 4 anziché -4. Ora si applica la consueta convenzione matematica (-2^2 = -(2^2)). Le formule che si basavano sul vecchio comportamento richiedono parentesi esplicite. Tutti gli altri operatori non sono interessati; ~ e ! mantengono la precedenza più alta.
    • La funzione stringa sRight() era registrata con il nome errato sRigth() e non poteva quindi essere chiamata con il nome documentato. Le formule che utilizzano il nome errato devono essere adattate.
    • playback() non inserisce più campioni attendibili all'intervallo del batch una volta che i dati di replay sono stati aggiunti.
    • prioEnc() in modalità edge restituiva un valore casuale anziché il valore "none" configurato quando non era presente alcun fronte, e restituiva il valore "none" anziché l'indice 0 per un fronte sul primo ingresso.
    • sResource({$ref: '...'}) non risolveva il proprio riferimento alla risorsa in fase di compilazione e falliva a runtime.
    • makeDim() non memorizzava l'intervallo di campionamento equidistante.
    • L'operatore ; causava una perdita di memoria quando una variabile non veniva né utilizzata né pubblicata.
    • Espressioni con annidamento profondo potevano causare l'arresto anomalo del modulo; la profondità delle espressioni è ora limitata a 128 livelli e segnalata come errore di sintassi.
    • I messaggi di errore del parser indicano correttamente la parentesi attesa (missing ']' anziché unbalanced opening ']').
  • smartCORE:
    • La prima lettura di un canale poteva restituire un campione fantasma con timestamp 0 e valore 0 prima del primo valore di misura reale. I moduli che leggono i canali lo ricevevano tramite la normale iterazione dei campioni.
  • Batmon:
    • Le temperature inferiori a 0 °C venivano interpretate come senza segno e riportate come grandi valori positivi.
    • Il canale dell'evento di risveglio riportava valori errati. L'assegnazione corretta è none (0), KL15 switch-on edge (1), U_batt below Always-OFF threshold (2), U_batt above Always-ON threshold (3), periodic timer wakeup in energy-saving mode (4), deprecated (5), wakeup after CAN-requested sleep (6). Le valutazioni di questo canale devono essere verificate rispetto all'assegnazione corretta.
  • Mav:
    • Veniva trasmesso un Sender vuoto quando né l'impostazione sender né il canale CustomerID fornivano un valore; il server MÁV rifiuta tali richieste. Il caso ora viene rilevato e segnalato come NO_SENDER (-6).
    • Un valore vuoto sull'attributo condiviso CustomerID sovrascriveva un sender configurato correttamente e lo manteneva sovrascritto finché non arrivava un valore non vuoto. Un guasto di optiCloud poteva quindi silenziare un veicolo la cui configurazione locale era valida. I valori vuoti ora vengono scartati con un avviso.
    • Il consumer HDOP non veniva rilasciato all'arresto del modulo. L'handle obsoleto sopravviveva a un ciclo di stop/start, dopo il quale il modulo non consumava più da quel canale.
  • Dbc:
    • Se un segnale multiplexato non aveva un multiplexer, i restanti segnali dello stesso messaggio venivano scartati in silenzio e i loro canali non comparivano mai.
  • Diagnostics:
    • I messaggi di errore senza una sorgente corrispondente non inondano più il log.
    • Il codice di errore predefinito configurato non veniva valutato.

[2.10.1] - 2026-05-12​

Aggiunto​

  • Supporto Tx93
  • Diagnostics:
    • Monitoraggio dei pattern <string>
  • Math:
    • rampLimit(), che limita la ripidità della curva di un segnale a un gradiente massimo.
    • encoder(), che emette una sequenza di impulsi come farebbe un encoder per una data velocità di rotazione
  • Fmproducer:
    • Tipi di immagine ANTIVALENT e ANTIVALENT2 come alias per un intero senza segno a 2 bit.
  • Airpurifier:
    • Un modulo personalizzato per il monitoraggio e il controllo di unità di filtraggio dell'aria
  • Canbus:
    • La nuova proprietà keepEFFFlag serve a passare il campo di bit 2312^{31} (EFF) all'ID del messaggio in fmproducer come firma per le modalità di indirizzamento a 29 bit. In questo modo i messaggi nell'intervallo 0..2047 possono essere distinti per tipo di indirizzamento (11 bit o 29 bit) e avere un proprio significato e una propria interpretazione specifici. Tutti gli indirizzi a 29 bit devono quindi essere traslati in fmproducer dell'offset 231=21474836482^{31} = 2147483648.

Modificato​

  • Osfwriter
    • riattivata la proprietà "compressed", il valore predefinito è false Deve essere impostata esplicitamente dal cliente nelle applicazioni RAIL / BATMON.
  • Diagnostics:
    • processo intensivo di code review e reimplementazione, documentazione
    • Nessuna distinzione tra ErrorStream e monitoraggio dei valori
    • Il tipo di monitoraggio è indipendente dal tipo di dati del canale monitorato
  • Math:
    • Catalog Version 12
    • La macro #version consente di limitare il catalogo di funzioni disponibile a una versione precedente.
  • Rawplayback:
    • processo di code review e documentazione
    • fmDispatcher riceve il nome dell'istanza del modulo
  • Fmproducer:
    • proprietà "addressSpec": l'etichetta enum ReversedForMsbNumerics è stata rinominata in EN61375_MVB
    • Lo schema EN61375_MVB rifiuta tutte le configurazioni non conformi alla norma EN/IEC, ad es. Little-Endian o lo spostamento di un'immagine oltre il confine di un byte.
  • smartCORE:
    • È stata introdotta una nuova classe API ChannelConsumer per leggere i canali smartCORE in modo neutro rispetto al tipo. Ciò semplifica e accelera lo sviluppo dei plugin.
  • Opticloud:
    • L'elenco di esclusione viene sempre esteso con i pattern "status.*" e "hidden.*", a meno che non siano specificati esplicitamente nel pattern di ricerca.
    • Suddivisione GPS per impostazione predefinita (se non elencato in "splitGpsLocationChannels"): rimuovere il suffisso ".Location" (se presente), aggiungere ".Latitude", ".Longitude", ".Altitude"
  • Batmon:
    • Disattivazione interna della configurazione AlwaysOn/Off se inferiore a 15.0 V

Corretto​

  • Diagnostics:
    • Malfunzionamento in funzione dei diversi tipi di dati
    • Un timeout strettamente limitato per i canali snapshot e monitorati, in modo che i messaggi possano essere inviati tempestivamente
  • Fmproducer:
    • Corretto il calcolo errato dell'offset per le immagini a 2 e 4 bit nello schema di compatibilità ?MVB?, ad es. ANTIVALENT2 o ENUM4
  • Canbus:
    • Il bit 2312^{31} (EFF) utilizzato come firma per le modalità di indirizzamento a 29 bit veniva sempre passato all'ID del messaggio in fmproducer. Di conseguenza i messaggi a 29 bit non venivano riconosciuti né elaborati. Ora, per impostazione predefinita, viene utilizzato solo l'indirizzo stesso, senza alcun flag di stato.
  • Opticloud:
    • Disattivato il trasferimento dei dati GPS come oggetto JSON (come utilizzato negli snapshot di allarme), non ancora supportato da opticloud,
    • I canali GPS non vengono più rimossi in silenzio se non sono elencati in "splitGpsLocationChannels", risolvendo così il comportamento insolito causato da un array "splitGpsLocationChannels" vuoto
  • Batmon:
    • I limiti alwaysOn/Off non assegnati portavano a valori predefiniti errati e a una violazione permanente della regola di distanza.
    • Invio dei comandi di controllo solo poco dopo la ricezione dei dati di misura, per evitare collisioni nella coda di elaborazione dei comandi di ATMEL
    • Workaround per il firmware PIC (bug 2C) per i parametri di tempo e tensione.
    • La seconda lettura del set di parametri veniva saltata a causa dei timestamp automatici sui dati dei parametri. Anche il comando get parameter ora viene ripetuto fino a 3 volte in caso di errore.
  • Math:
    • bTest() non selezionava correttamente il bit designato.
    • periodic(..., {mode: prbs}) ignorava la notazione p## per selezionare il polinomio di feedback
    • playback() corretta la gestione del secondo parametro come vettore
    • `playback

[2.10.0] - 2026-03-10​

Aggiunto​

  • Supporto smartRAIL V2.2
  • Baumer:
    • Nuovo plugin per il collegamento dell'encoder ad alte prestazioni senza cuscinetti BPIK di Baumer per la misura sugli assili dei veicoli ferroviari
    • Utilizza fmproducer per decodificare il contenuto dei telegrammi di dati
  • Mav:
    • Nuovo plugin per la segnalazione GPS alle Ferrovie dello Stato ungheresi Magyar Államvasutak
  • Math: implementa il Catalog V11
    • lo stato dei canali di ingresso viene segnalato a math ed è leggibile tramite isTimeout(), isEmpty(), isConnected(), isDefault()
    • isTimeout() restituisce true se i dati del canale di ingresso sono più vecchi dell'intervallo di timeout specificato
    • isEmpty() restituisce true se il canale di ingresso non ha ancora ricevuto alcun dato; può essere assegnato temporaneamente un valore predefinito
    • isConnected() restituisce true se il canale di ingresso è collegato a smartCore, altrimenti viene assegnato un valore predefinito
    • isDefault() restituisce true se una variabile di ingresso è forzata al valore predefinito
    • isError() restituisce true se un valore/espressione/variabile calcolato si trova in uno stato di errore
    • typeOf() restituisce l'indice del tipo di un valore
    • value() preleva il valore più recente dal canale di ingresso ignorando il timestamp, interrompendo le dipendenze circolari
    • time() restituisce l'ora corrente o il timestamp più recente del canale di ingresso
    • propagazione delle proprietà delle sequenze ai metadati del canale
    • sperimentale:
      • playback() riproduce singoli canali da file OSF
      • shiftT() regola la base dei tempi di un canale di ingresso di una piccola quantità di tempo
    • #property nuovi attributi timeout=<val> e default=<val>
    • timer() scrive un avviso nel log se nel crontab è presente una dichiarazione automatica inclusa
    • getField() supporta la lettura di numeri complessi e di tipi di dati array/matrice [...]
    • I valori Floatingpoint-NAN/INF venivano copiati nel contesto Math e potevano essere pubblicati nei canali smartCORE; ora vengono filtrati.
  • GRPC
    • aggiunte nuove chiamate: getRelaisCount, GetHasTerminationResistor (RS485)
  • GPS
    • aggiunto un nuovo segnale: TrackCourse
    • Aggiunto il filtro datareduction per le coordinate GPS e rimosso un parametro di produzione inutilizzato
  • Batmon
    • Aggiunta la notifica dello stato per i messaggi PING/ATTN
    • L'impostazione dei limiti di tensione viene sospesa se ciò causerebbe la perdita del BATMON alla tensione di esercizio corrente
    • Chiamata RPC requestShutdown({"sender": <str>}) per mettere il Batmon in modalità sleep in modo controllato
    • La proprietà "passive": <bool> esegue il plugin in modalità di sola lettura, per seguire il comando di spegnimento del BATMON
    • La proprietà "auxPower": <bool> disattiva lo spegnimento da parte di smartCORE e del kernel se smartRAIL non è alimentato dal BATMON (debug)
    • La proprietà "debug": <uint32> è una bitmask per controllare l'output di debug; il valore predefinito può cambiare con le versioni future / i miglioramenti della stabilità
  • FunctionGenerator:
    • aggiunto un controllo che verifica che i due parametri di timeout non siano entrambi 0, per evitare un carico CPU eccessivo
  • Ruuvi:
    • Aggiunto un parametro per impostare il valore reduceDelta per i filtri dei canali
    • Aggiunto il filtro di canale predefinito deltareduce di 0.1
  • OptiCloud:
    • Aggiunta la proprietà "transmitStatusChannels" : <bool> per attivare/disattivare i canali STATUS relativi al modulo optiCLoud
    • Proprietà: "debugMask": <uint32> per controllare l'output di debug dettagliato. Il significato dei bit è disponibile su richiesta.
    • Proprietà: "debugChannels": [<string>], array con pattern wildcard per abilitare il debug del trasferimento dati per i canali corrispondenti.
    • sharedAttributes[]: proprietà: "debug": <bool>, abilita il debug del trasferimento dati
    • Su canali booleani, interi o float vengono aggiunti punti di supporto ausiliari espliciti, che vengono trasferiti via MQTT un certo periodo (da 0.5 a 1.0 s) prima del trasferimento di tutti i dati di telemetria modificati.
  • fmProducer:
    • Proprietà "byteOrder": <enum>, predefinita per tutti i canali, supporto per littleEndian, bigEndian e mappatura personalizzata dei byte
    • Proprietà "addressSpec": <enum>, predefinita per tutti i canali, supporto per MVB, DBC e altri schemi di indirizzamento
    • channels[]:
      • proprietà "byteOrder": <enum>, sovrascrive il valore predefinito
      • proprietà "addressSpec": <enum>, sovrascrive il valore predefinito
      • proprietà "debug": <bool>, per ora: output delle informazioni di picking
      • proprietà "noFilter": <bool> per disattivare qualsiasi filtraggio dell'ingresso -> aumento delle prestazioni per i flussi di dati ad alta velocità
      • I valori Floatingpoint-NAN/INF prelevati venivano prodotti nei canali OSF; ora vengono filtrati
  • osfWriter:
    • I valori Floatingpoint-NAN venivano scritti nel file OSF; ora vengono filtrati.

Modificato​

  • Supporto per Debian versione 13 / Trixie
  • valijson: aggiornamento alla versione 1.1.0
  • fmProducer:
    • Rielaborazione sostanziale della classe interna "SimpleBufferPicker", utilizzata per prelevare valori dall'immagine di processo, per flessibilità, prestazioni e stabilità (vedere anche la sezione Corretto più sotto)
    • FastMessageDispatcher: rielaborazione sostanziale per prestazioni e stabilità
    • Supporto per i tipi di immagine "double" e "BCD"
    • bitlength: 1 impone <bool> come tipo di dati dell'immagine e del canale
    • "imageType": "bool" impone "bitlength": 1 come "float" (32) o "double" (64); anche "timedate48" (48) o "time64" (64) funzionano con la loro lunghezza implicita.
    • "dataType": <enum> è obsoleto per il 99% dei casi d'uso. Lasciare che sia il plugin a decidere in prima istanza.
  • Batmon:
    • Modifiche minori al codice nelle informazioni di notifica
    • Nuovo canale di stato 'PluginState' per la nuova state machine (nuovi tag enum) che sostituisce 'OperatingMode'
    • Tutti i valori misurati vengono ora pubblicati come float anziché double.
    • I segnali di uscita AboutToShutdown, CriticalPowerStates, LowPowerState, RequestEnergySave hanno modificato leggermente il loro comportamento, risultando ora più precisi rispetto al loro nome.
    • Controllo degli ID CAN non univoci e segnalazione
  • TRDP
    • passaggio alla libreria PcapPlusPlus
  • GPS
    • modificato il nome predefinito del canale
    • rimosso il segnale di stato, non supportato dal chip GPS
    • L'output GPS-Location è ora un canale persistente, che riparte dall'ultima posizione nota dopo il riavvio.
  • osfWriter
    • Ora scrive sempre in file osfz compressi, evitando ulteriori stream di lettura/scrittura sulla scheda SD per la compressione dei dati
    • La proprietà "compress": <bool> viene ignorata ma segnalata, se impostata su false.
  • opticloud
    • Rielaborazione sostanziale dell'implementazione per flessibilità, prestazioni e stabilità
    • Se uno splitter non è specificato o non corrisponde, i dati GpsLocation vengono codificati per impostazione predefinita come sotto-oggetto JSON "<chName>: {"lat": <numeric>, "lon": <numeric>, "alt": <numeric>}" anziché essere ignorati.
  • Math
    • Catalog Version e git-ID delle librerie vengono ora pubblicati in omVersions.ini.

Corretto​

  • alarmmanager:
    • Errore di integrità nell'elenco interno dei messaggi di allarme, responsabile di messaggi fantasma ed elaborazione incompleta -> risolto, continuare a monitorare
    • Mancato controllo della durata di vita dell'elenco interno dei messaggi di allarme -> risolto
  • fmProducer:
    • il picking dei tipi Timebase48, Time64, BiPolar, UniPolar è stato ottimizzato per le prestazioni ed è stata corretta una scalatura errata
    • il picking di String/ByteArray non rispettava il bitoffset configurato.
  • Math:
    • Venivano prodotti campioni non forniti da libmathexpressions -> corretto
    • Un canale di ingresso non collegato rimaneva orfano e non veniva gestito -> assegnato un valore predefinito costante
    • Venivano creati canali di serie temporali con lunghezza zero -> corretto
    • Il prelievo di un elemento con indice variabile da un vettore costante cVal[idx] o GetCol(cVal, idx) risultava a sua volta costante e non veniva mai aggiornato -> corretto.
    • decodeTime(): restituiva un errore in caso di successo -> corretto.
    • timer(): aveva 0 come predefinito per i filtri mese/giorno, ora 1
    • timer(): la sintassi a-b/n non partiva da a e non controllava prima l'intervallo
    • timer(): la sintassi */n non partiva da 1 per mese/giorno
    • assegnazione =: inoltra i flag const e linInterpolation
    • sample(): arriva solo fino a t_horizon, non INVAILD_TIME
    • trigger(), threshold(), delay(), pulse(), prioEnc() inoltravano ingressi costanti pur avendo parametri temporali
  • OPC/UA Server:
    • correzione per il caso in cui non esistano valori di canale
  • OPC/UA Client:
    • correzione per la disconnessione dal server. L'elenco dei nodi viene ricreato e gli ID dei nodi vengono letti di nuovo dal server
    • correzione per la riconfigurazione di smartcore; il messaggio di errore viene scritto una sola volta nel file di log
  • Batmon:
    • I dati storici della tensione della batteria venivano ricevuti con mod 2162^{16} per mV, limitando l'intervallo a 0 .. 65,5V. Ora i bit superiori mancanti vengono recuperati in base alla tensione misurata e ad ipotizzate variazioni lente. Si tratta di un workaround per il firmware smartIO BATMON precedente alla 2.1
    • I dati storici potevano avere timestamp nel futuro, ora vengono filtrati
    • Il trasferimento dei set di parametri al BATMON non causa più la perdita del dispositivo a causa di un set di parametri internamente invalidato. Si tratta di un workaround per il firmware smartIO BATMON precedente alla 2.1.
    • Gli snapshot di allarme ora contengono i nomi dei canali corretti, identici a quelli in smartCore
  • Ruuvi:
    • corretto un tipo di dati errato nello schema
  • GPS:
    • Perdita della base dei tempi durante la ricezione e la produzione di dati GPS.
    • Venivano prodotti valori NAN nei canali HDOP, VDOP, PDOP -> ora filtrati.
    • In qualche modo coordinate GPS nulle aggirano i filtri o venivano inserite in opticloud / osfwriter / math -> ora corretto.
  • opticloud:
    • Gestione di più corrispondenze nella selezione dei canali -> vince la prima, le altre vengono ignorate
    • Gestione della sintassi wild-mask nei pattern dei nomi dei canali -> corretta
    • Gestione dell'elenco di esclusione (automatico), se i canali di sistema o nascosti vengono selezionati esplicitamente nel pattern di ricerca.

[2.9.1] - 2025-05-23​

Aggiunto​

  • supporto per owa5x
  • Geofencing: aggiunta una funzione per specificare il giorno della settimana valido per un geofence
  • Dostos2: aggiunto il nuovo shared attribute AbfangenHyterese
  • Zedas: aggiunta l'importazione dei guasti alla creazione degli allarmi

Modificato​

  • AlarmManager: utilizzo del formato UUID V1 (basato su MAC + ora) anziché V4 per compatibilità con il database interno di optiCLOUD
  • optiCLOUD: invio dell'uuid dell'allarme senza parentesi graffe
  • optiCLOUD: aggiunto un parametro per scrivere nei file di log il payload MQTT degli allarmi
  • Math: versione 9 del catalogo di funzioni
  • Math: miglioramenti e implementazione delle seguenti funzioni: stopwatch(), sFind(), isScalar(), isVector(), isMatrix(), isTensor(), peakHold()
  • Dostos2: modificato il testo di stato per la decisione sette
  • Dostos2: rimosso il timescatter per lo starttime nel piano di spegnimento
  • Dosto2: utilizzo di valori predefiniti se due shared attribute non vengono trovati nel data pool
  • Dosto2: aumentato il numero della logica di turno
  • SCPI: MODules:FACTories:DOC?: restituisce la descrizione da metadata.json e l'URL della documentazione
  • modules: rimossi i file MD (documentazione e CHANGELOG)
  • thirdparty/valijson: aggiornamento alla versione 1.0.5

Corretto​

  • AlarmManager: corretto un errore nella gestione dei messaggi di allarme LoseSight dopo la riconfigurazione di smartcore.
  • optiCLOUD: rilascio degli allarmi terminati. Gestione degli stati Send e Idle
  • Math: correzioni minori di bug nel core di math
  • Geofencing: corretto un errore logico
  • Colibri: corretto un bug nella lettura del timestamp in millisecondi.
  • fmproducer, fmudp: corretti errori di sintassi JSON in metadata.json
  • Zedas: corretta la comunicazione SOAP di allarmi e guasti

[2.9] - 2025-03-05​

Aggiunto​

  • TRDP (PREVIEW) : NUOVO modulo (PREVIEW)
  • Geofencing : aggiunge l'opzione per specificare un periodo di tempo valido per un geofence
  • CAN-Bus : aggiunto il parametro di configurazione restart-ms
  • System Infos : consente il nome di interfaccia wwan usb (dispositivi Quectel NCM)
  • optiCLOUD : aggiunta l'opzione per tracciare ogni modifica degli shared attribute (per il debug)
  • Generic MQTT : aggiunta l'opzione per sopprimere i valori null
  • Generic MQTT : aggiunto il supporto per il token timestamp per generare un timestamp ISO 8601
  • CAN-Bus : aggiunto il controllo che i GPIO siano abilitati nelle impostazioni CMake
  • CAN-Bus : aggiunta l'opzione per registrare i frame rtr e di errore

Modificato​

  • Core : aggiornamento di valijson alla versione 1.0.4
  • Dosto2 : ridenominazione del nome di uno shared attribute
  • Dosto2 : aggiunti due nuovi shared attribute per la durata nello stato manuale
  • Dosto2 : modifiche alla logica di turno, 1° e 2° scenario
  • Math (PREVIEW) : aggiornamento di libmathexpressions all'ultima versione
  • optiCLOUD : segnalazione di tutti gli stati di connessione rilevanti
  • optiCLOUD : tracciamento degli shared attribute: contrassegno delle voci InitialValue
  • Generic MQTT : ignora i messaggi retained
  • CAN-Bus : parametri di configurazione rinominati e rimosso codice non necessario
  • CAN-Bus : documentazione aggiornata

Corretto​

  • Core : rimosso uno spostamento di thread non necessario all'arresto del thread
  • Core : SmartModuleThreaded: corretto un deadlock
  • Core : rimosso uno spostamento di thread non necessario all'arresto del thread
  • Core : corretta un'apparente perdita di memoria
  • Core : spostamento dei moduli sul thread di distruzione prima della distruzione
  • Geofencing : correzione nel controllo dei canali GPS durante il processo di inizializzazione
  • Geofencing : rimosso il canale min satcount inutilizzato
  • Geofencing : rimosso il canale satcount inutilizzato
  • Math (PREVIEW) : ultima correzione per l'operazione #timeless in math
  • System Infos : non sovrascrive più l'ICCID vecchio / esistente con n.a. se non viene trasmesso alcun iccid
  • optiCLOUD : CORREZIONE: la posizione GPS non veniva tradotta nei dati snapshot
  • optiCLOUD : rimosso l'avviso quando il messaggio degli shared attribute non contiene tutti i canali
  • optiCLOUD : corretta una perdita di memoria legata al threading
  • Generic MQTT : corretta una perdita di memoria legata al threading
  • SSH Client (PREVIEW) : CORREZIONE: copia di un file con percorso di destinazione non valido sul server (ora vengono controllati isNull(), isValid() e [0] == '\0') MOD: messaggi di avviso estesi con maggiori informazioni su percorsi e file

[2.8.1] - 2024-09-12​

Aggiunto​

  • microstrain (PREVIEW) : NUOVO modulo (PREVIEW)
  • performancereport (PREVIEW) : NUOVO modulo (PREVIEW)
  • fmproducer : migliorata la robustezza della configurazione consentendo, dove applicabile, la selezione dei valori enum senza distinzione tra maiuscole e minuscole

Corretto​

  • fmproducer : estrazione dei dati MVB di tipo BIPOLAR
  • Remote (PREVIEW) : gestione dei wildcard nella specifica dei nomi dei canali
  • Remote (PREVIEW) : riavvio dello streaming alle successive richieste ReadSamplesBegin
  • Remote (PREVIEW) : cleanup del modulo
  • System Infos : migliorata la documentazione MD
  • Uptime : la stima dell'uptime ora utilizza il clock monotonico, risolvendo problemi legati agli adeguamenti di data e ora

[2.8] - 2024-08-05​

Aggiunto​

  • batMON : NUOVI allarmi per gli stati di alimentazione bassa e critica e per il morsetto 15
  • CSV Writer (PREVIEW) : NUOVO modulo (PREVIEW)
  • Math (PREVIEW) : aggiunta la documentazione MD (PREVIEW)
  • ModBus : NUOVO parametro di trasporto deviceTimeoutInMilliseconds
  • OPC/UA Client (PREVIEW) : supporto per gli ID dei nodi anziché per il browsepath
  • OPC/UA Client (PREVIEW) : parametro per l'ID del nodo del segnale
  • OPC/UA Client (PREVIEW) : parametro alias per impostare il nome del canale
  • optiCLOUD : NUOVA opzione di configurazione del canale useTrueTimestamps
  • OSF Writer : NUOVO parametro di configurazione ignore per ignorare i canali da registrare
  • OSF Writer : NUOVO supporto per i frame CAN-Bus
  • Remote (PREVIEW) : NUOVO plugin per la comunicazione tra processi (PREVIEW)
  • SMS Alarms (PREVIEW) : NUOVO modulo (PREVIEW)
  • SSH Client (PREVIEW) : NUOVO modulo (PREVIEW)
  • ZEDAS (PREVIEW) : NUOVO modulo (PREVIEW)

Modificato​

  • Math (PREVIEW) : utilizzo del nuovo meccanismo di logging
  • OPC/UA Client (PREVIEW) : utilizzo del nuovo tipo di messaggio di log

Corretto​

  • Geofencing : aggiunta la documentazione MD
  • GPS : filtraggio delle posizioni contenenti coordinate pari a zero
  • Math (PREVIEW) : corretti problemi di consumo dei canali relativi ai campioni ritardati
  • ModBus : consentiti ID slave fino a 255
  • ModBus : migliorato il comportamento del logging
  • ModBus : corretti problemi di timeout della risposta
  • ModBus : la lettura dei blocchi di registri ora è raggruppata per slave
  • OPC/UA Client (PREVIEW) : aggiunta la documentazione MD in tedesco
  • System Infos : migliorato il comportamento del logging
  • SCPI : NUOVO parametro di configurazione in omScpi.ini per limitare l'accesso remoto

Rimosso​

  • notifier : PLUGIN RIMOSSO
  • MVB : RIMOSSO completamente il supporto D017M (TCN)

[2.7.1] - 2024-04-29​

Aggiunto​

  • Generic MQTT : NUOVA sottoscrizione di dati stringa
  • Generic MQTT : NUOVA opzione di configurazione del topic processOnChangeOnly
  • Generic MQTT : NUOVA opzione di configurazione del canale di pubblicazione publishLastValue
  • Generic MQTT : NUOVO payloadHint json-iterator
  • Generic MQTT : NUOVE funzionalità per l'estrazione avanzata dei timestamp dai dati sottoscritti

Corretto​

  • HTTP : trasmissioni di dati corrotte
  • SMS : gestione degli errori e formattazione dei valori di processo
  • SMS : problemi di accodamento degli eventi

[2.7] - 2024-04-04​

Aggiunto​

  • Ecowitt : NUOVO supporto per la selezione, nella simulazione, tra il display Ecowitt WS2910 con sensore WN67 e il gateway Ecowitt GW200A con sensore WH65
  • Geofencing : controllo del timeout per i dati GPS
  • Generic MQTT : NUOVO supporto per l'autenticazione tramite Azure SAS Token
  • OPC/UA Client (PREVIEW) : NUOVO modulo (PREVIEW)
  • System Infos : NUOVA stima delle statistiche del disco

Modificato​

  • RIMOSSO il supporto per Debian 11 (bullseye)
  • batMON : funzionamento con i parametri di configurazione correnti della flash quando la configurazione JSON non è valida
  • Ecowitt : NUOVI canali di dati di misura configurabili dall'utente
  • Geofencing : logging ripulito

Corretto​

  • Diagnostics (PREVIEW) : corretti allarmi mancanti
  • Diagnostics (PREVIEW) : migliorata la documentazione
  • GPS : migliorata la documentazione
  • Math (PREVIEW) : corretta la gestione del timeout degli ingressi
  • Math (PREVIEW) : corretta la gestione della memorizzazione persistente
  • ModBus : consentito l'indirizzo slave 247
  • Generic MQTT : NUOVO client MQTT che risolve diversi problemi
  • OPC/UA Client (PREVIEW) : corretti dati mancanti dopo la riconnessione
  • OPC/UA Client (PREVIEW) : rimossi i tentativi di connessione dalla fase di inizializzazione del modulo
  • OPC/UA Client (PREVIEW) : controllo della discrepanza del tipo di configurazione
  • OPC/UA Client (PREVIEW) : problemi di distruzione del modulo e di memoria
  • optiCLOUD : NUOVO client MQTT che risolve diversi problemi
  • SCPI : risposta alla query di identificazione

[2.6] - 2023-12-19​

Aggiunto​

  • CAN-Bus : modificata l'interfaccia dei parametri di configurazione, consentendo inoltre una selezione arbitraria
  • Diagnostics (PREVIEW) : NUOVO modulo (PREVIEW)
  • GPS : NUOVO parametro di configurazione speedLimit
  • GPS : NUOVO parametro di configurazione forwardToPort che consente l'inoltro della porta GPSD
  • GPS : NUOVO parametro di configurazione rebootIntervalMs per il riavvio in caso di connessione GPSD interrotta
  • Math (PREVIEW) : NUOVO modulo (PREVIEW)
  • Generic MQTT : NUOVO modulo (PREVIEW)
  • OPC/UA Client (PREVIEW) : supporto per i numeri in virgola mobile
  • OPC/UA Client (PREVIEW) : parametro di configurazione acceptAllCertificates
  • optiCLOUD : NUOVO meccanismo di trasmissione dei messaggi di allarme (PREVIEW) quando il parametro di configurazione alarmsEnabled è impostato su true
  • optiCLOUD : implementati i canali di stato
  • optiCLOUD : trasmissione del numero di serie del dispositivo
  • ruuvi : NUOVO modulo (PREVIEW)
  • System Infos : NUOVI canali per il volume di traffico WWAN mensile e totale mensile

Modificato​

  • Accelerometer : aggiornata la configurazione del sensore per configurare la modalità ad alta risoluzione
  • Accelerometer : aggiornato il valore di scala predefinito a 2g
  • HTTP : aggiornamento all'ultima libreria cURL
  • optiCLOUD : adeguate le categorie dei file di log
  • optiCLOUD : messaggi di log arricchiti con l'indice dell'istanza del modulo
  • optiCLOUD : aumentato a un secondo l'intervallo minimo del ciclo di polling
  • System Infos : rilevamento dei dispositivi optiMEAS
  • SCPI : integrato il modulo SCPI nell'applicazione smartCORE
  • SCPI : rese sincrone le azioni start, stop e restart

Corretto​

  • Accelerometer : calcolo per gli assi
  • Accelerometer : rimosso il logging di debug
  • batMON : scrittura dei dati storici in un file temporaneo
  • batMON : elaborazione solo dei dati storici registrati di recente
  • DBC : corretta la selezione automatica del tipo di dati del segnale
  • GPS : blocco nel meccanismo di riconnessione a GPSD
  • GPS : nessun riavvio diretto in caso di connessione GPSD interrotta
  • ModBus : saltata la configurazione RS485 su porta seriale generica
  • ModBus : corretto un arresto anomalo nella configurazione RS485
  • ModBus : corretto il calcolo dell'indirizzo LSB
  • ModBus : corretto un arresto anomalo in caso di configurazione di canale non valida
  • ModBus : consentiti bitOffset maggiori o uguali a 8
  • ModBus : corretto lo schema di ritorno per l'interfaccia di chiamata probeChanel
  • ModBus : consentite configurazioni multicanale basate su un singolo registro
  • OPC/UA Client (PREVIEW) : gestione di nodi e timestamp
  • OPC/UA Client (PREVIEW) : arresto anomalo alla distruzione del modulo
  • optiCLOUD : corretti problemi di denominazione nella suddivisione dei canali di posizione GPS
  • optiCLOUD : corretti problemi con le rappresentazioni NaN e Inf non valide nei payload JSON
  • optiCLOUD : corretta la formattazione errata dei timestamp che portava a perdite di connessione
  • optiCLOUD : corretta la conversione da valore a stringa
  • optiCLOUD : rimosso il limite alla dimensione totale dei messaggi in coda
  • playback : consentita la produzione di stringhe vuote
  • smartIO MVB : corretto il filtraggio delle porte MVB relativo ai dati dei messaggi, agli eventi singoli e agli eventi di gruppo
  • smartIO MVB : ignorati i timeout degli slave per eventi singoli, di gruppo e generali
  • smartIO MVB : interfaccia verso il modulo dei messaggi MVB
  • SCPI : segnalazione degli errori mancante in caso di riavvio non riuscito

[2.5] - 2023-06-29​

Aggiunto​

  • Accelerometer : NUOVO modulo
  • CAN-Bus : supporto per un massimo di quattro interfacce CAN-Bus
  • Event Counter : NUOVO modulo
  • GPS : NUOVO parametro di configurazione posFixModeStabilizationTimeMs
  • HTTP : NUOVO modulo
  • OPC/UA Client (PREVIEW) : NUOVO modulo (PREVIEW)
  • OPC/UA Server (PREVIEW) : NUOVO modulo (PREVIEW)
  • optiCLOUD : NUOVI parametri di configurazione per la temporizzazione del client MQTT e il numero di messaggi
  • optiCLOUD : NUOVI esempi di configurazione tipici
  • optiCLOUD : NUOVA opzione di configurazione trustStore
  • OSF Writer : NUOVO supporto per i canali equidistanti
  • playback : NUOVO modulo di simulazione
  • rawplayback : NUOVO modulo di simulazione
  • smartIO HP : NUOVO modulo
  • SMS : NUOVO modulo

Modificato​

  • NUOVO filtro combinato di riduzione dei dati
  • ModBus : riconnessione ModBus RTU in caso di errore di lettura
  • optiCLOUD : richiesta per impostazione predefinita dei valori iniziali degli shared attribute
  • optiCLOUD : creazione dei canali degli shared attribute in modo persistente, per consentire il supporto multi-cloud
  • optiCLOUD : rinominato il parametro di configurazione pollingIntervalMs (garantendo la compatibilità)
  • optiCLOUD : adeguato l'indirizzo broker predefinito
  • optiCLOUD : consentita la semplice specifica del nome di canale in chiaro

Corretto​

  • migliorata la documentazione
  • batMON : riproduzione dei parametri flash
  • batMON : stato non operativo in caso di query non riuscita della versione del firmware
  • fmproducer : arresti anomali al riavvio della misura
  • GPS : problemi di arresto del modulo
  • ModBus : migliorata la stabilità
  • MVB : arresti anomali al riavvio della misura
  • optiCLOUD : costruzione del client MQTT
  • optiCLOUD : meccanismo di richiesta degli shared attribute
  • optiCLOUD : messaggio di errore in caso di sottoscrizione non riuscita al topic RPC
  • System Infos : lettura dell'utilizzo combinato della CPU per tutte le CPU
  • System Infos : problemi di denominazione delle porte CAN

[2.4.1] - 2023-04-13​

Aggiunto​

  • GPS : semplice controllo di plausibilità della velocità GPS al suolo
  • Odometer : NUOVO parametro di offset

Modificato​

  • GPS : tentativi di riconnessione a GPSD e cicli di timeout di attesa di GPSD
  • GPS : segnalazione della prima frase GPS ricevuta
  • GPS : riavvio in caso di nuovo tentativo di riavvio di GPSD non riuscito

Corretto​

  • GPS : timeout di attesa di GPSD alla riconnessione
  • Odometer : calcolo del checksum
  • Odometer : problemi con la dimensione del buffer del canale
  • Odometer : logging ripulito

[2.4] - 2023-03-16​

Aggiunto​

  • CAN-Bus : funzione write dell'interfaccia di chiamata per l'invio di messaggi CAN
  • DBC : NUOVO supporto per il multiplexing CAN
  • Geofencing : documentazione MD
  • Geofencing : supporto per i poligoni
  • GPS : notifiche di posizione e di stato (in caso di connessione GPSD)
  • Odometer : documentazione MD
  • optiCLOUD : logging delle informazioni sulla libreria MQTT di build e di runtime
  • optiCLOUD : parametro specifico per canale minimumSendIntervalMs
  • optiCLOUD : canale per la stima del volume di traffico MQTT upstream
  • optiCLOUD : logging della prima trasmissione di messaggi MQTT alla riconnessione e in caso di errore
  • OSF Writer : NUOVO parametro di configurazione refreshIntervalMs per la riscrittura dei campioni basata sul consumer
  • OSF Writer : canale per la stima del volume di dati OSF
  • SCPI : aggiunta l'azione UPTIME:SET
  • smartIO MVB : parametro di configurazione programFileString per includere programmi FPGA codificati in base64
  • smartIO MVB : parametro di configurazione logEnabled
  • smartIO MVB : logging del primo frame MVB in arrivo alla connessione e alla riconnessione
  • smartIO MVB : smistamento dei codici funzione MVB MASTERSHIP (0x08), MVB GENERAL EVENT (0x09) e MVB DEVICE STATUS (0x0F)
  • System Infos : canale per le informazioni sul carico della CPU per thread
  • System Infos : canali per la stima del volume di traffico WWAN upstream e downstream
  • Uptime : NUOVA funzione dell'interfaccia di chiamata setCounter (utilizzata ad es. tramite l'azione SCPI UPTIME:SET)

Modificato​

  • batMON : funzionamento con i parametri flash correnti se vengono specificati parametri di configurazione JSON non validi
  • DBC : gestione combinata di channelPrefix e dei NUOVI parametri namespace
  • fmproducer : gestione combinata di channelPrefix e dei NUOVI parametri namespace
  • Geofencing : valore predefinito dell'id di posizione
  • MVB : gestione combinata di channelPrefix e dei NUOVI parametri namespace
  • Odometer : adeguati i nomi di canale predefiniti e i parametri di denominazione
  • optiCLOUD : invio, quando necessario, di un ulteriore ultimo campione consumato prima della variazione del valore
  • optiCLOUD : rinominato il parametro di configurazione reproductionTimeoutMs in refreshIntervalMs (garantendo la compatibilità)
  • optiCLOUD : rimosso il parametro di configurazione brokerClientId
  • optiCLOUD : il clientId predefinito viene integrato con l'indice dell'istanza quando vengono istanziati più moduli
  • OSF Writer : scrittura, quando necessario, di un ulteriore campione attendibile prima della variazione del valore
  • SCPI : scrittura di blocchi di dati OSF multi-campione all'interno della SCPI Live View (riducendo il volume di dati)
  • smartIO MVB : NUOVA abilitazione del filtraggio di porte e messaggi MVB in modalità di dispatching
  • smartIO MVB : disattivato tramite le opzioni di configurazione portFilterDisabled e messageFilterDisabled
  • smartIO MVB : disattivato il log aggiuntivo specifico del modulo per frame ed errori MVB, rimuovendo i vecchi file di log
  • Uptime : rinominato il parametro di configurazione counterChannel in outputChannel
  • Uptime : rimosso il parametro di configurazione counterVariable (ora impostato sul nome di outputChannel)

Corretto​

  • CAN-Bus : rimosso il parametro di riproduzione non necessario dalle configurazioni demo
  • DBC : migliorate le prestazioni
  • Geofencing : controllo di un id di geofence valido
  • Geofencing : logging ripulito
  • GPS : meccanismo di riconnessione al server GPSD
  • ModBus : aggiunto il parametro slaveId per la funzione dell'interfaccia di chiamata readWriteSequence
  • Odometer : problemi con il separatore dello spazio dei nomi dei canali
  • Odometer : problemi di distruzione del modulo
  • Odometer : aggiunta la riduzione dei dati mancante
  • optiCLOUD : corretti problemi di riconnessione e di rilevamento della perdita di connessione
  • optiCLOUD : rielaborato e semplificato il funzionamento interno del meccanismo di consumo
  • optiCLOUD : rielaborato e semplificato il funzionamento interno del meccanismo di trasmissione dei messaggi MQTT
  • optiCLOUD : rimosso il parametro di configurazione non necessario samplesPerConsume
  • optiCLOUD : corretto il comportamento di invio solo in caso di variazione
  • optiCLOUD : rinominata la categoria di logging del client MQTT per facilitarne l'identificazione
  • optiCLOUD : corretti problemi di verifica del server SSL quando l'RTC non era inizialmente sincronizzato
  • optiCLOUD : corretti problemi di blocco nella verifica SSL
  • optiCLOUD : migliorata la robustezza nella sottoscrizione degli shared attribute e dei topic delle richieste RPC
  • OSF Writer : rielaborato e semplificato il funzionamento interno del meccanismo di consumo
  • OSF Writer : corretta la scrittura di blocchi di dati OSF multi-campione vuoti
  • SCPI : sblocco dell'interfaccia in caso di transizione della state machine non riuscita
  • SCPI : corretta la query SYSTEM:VERSION:MINOR per le versioni con patch
  • smartIO MVB : NUOVO comportamento di riavvio di smartIO in caso di MVB End-Of-Stream
  • smartIO MVB : NUOVO parametro di configurazione eosRestartTimeoutMs (predefinito 60 s)
  • smartIO MVB : NUOVO riavvio SOLO in caso di perdita della connessione
  • smartIO MVB : migliorato il comportamento di logging della libreria smartIO MVB al riavvio
  • smartIO MVB : corretta la suddivisione dei file di log nel meccanismo di logging specifico del modulo
  • smartIO MVB : corretto il prefisso predefinito dei file di log nel meccanismo di logging specifico del modulo
  • smartIO MVB : rimossa la restrizione artificiale sul numero di file di log nel meccanismo di logging specifico del modulo
  • System Infos : corretti problemi di stabilità
  • Uptime : rielaborato e semplificato il funzionamento interno del meccanismo di consumo
  • Uptime : ora vengono utilizzati i timestamp del canale di trigger per i campioni del canale contatore
  • Uptime : garantita la compatibilità con il parametro di configurazione counterChannel

[2.3.1] - 2022-12-10​

Aggiunto​

  • batMON : NUOVO supporto per firmware che inviano frame CAN ACK ritardati
  • batMON : NUOVO parametro di configurazione voltageDropDelayTime (per FW>=2 e PIC FW>=2)
  • batMON : NUOVO canale di stato batMON
  • batMON : NUOVA interfaccia di chiamata per il blocco dello spegnimento (utilizzata ad es. con il modulo SMS)

Modificato​

  • batMON : NUOVA procedura di spegnimento SYSTEM:POWER:HALT (per sistemi smartMINI e smartRAIL con DeviceManager >= 20.2)
  • batMON : scrittura delle versioni del firmware nel file INI omVersions
  • batMON : l'RTC di smartIO batMON viene impostato una sola volta (e opzionalmente a 0 ns dall'epoca quando non sincronizzato)
  • batMON : integrato il meccanismo di estensione dello spegnimento nel nuovo meccanismo di blocco dello spegnimento

Corretto​

  • batMON : comportamento in caso di brevi cali di tensione
  • batMON : utilizzo dei timestamp CAN per i canali di diagnostica
  • batMON : la configurazione dell'ora di spegnimento ora è relativa all'offset interno
  • batMON : inizializzazione dei canali di diagnostica
  • batMON : formattazione dei dati dei frame CAN nell'output di diagnostica (ora codificati in HEX)
  • batMON : rimossa l'inizializzazione ridondante dello spegnimento tramite comando CAN

[2.3] - 2022-08-11​

Aggiunto​

  • batMON : canale di stato dell'errore di configurazione
  • CAN-Bus : configurazione di esempio per scrivere nel file OSF array di byte CAN grezzi
  • Ecowitt : NUOVO modulo
  • Geofencing : canale che rappresenta l'oggetto JSON di configurazione del geofencing
  • Geofencing : attributi di configurazione per scalatura e offset del raggio
  • GPS : NUOVO meccanismo di migrazione trasparente dai moduli GPS seriali (detti anche legacy) al backend basato su gpsd
  • ModBus : opzione enableInternalDataReduction (predefinito==false)
  • ModBus : canale Workload
  • OSF Writer : attributi tag e namespacesep nell'header OSF
  • OSF Writer : spostamento dell'ultimo campione (detto anche antico) per i canali senza produzione, impostando il suo timestamp come attributo del canale
  • SCPI : aggiunte le query di versione
  • SCPI : aggiunte le azioni e le query TIMEOUT e TIMEOUT? per il timeout di esecuzione
  • SCPI : aggiunto il meccanismo di migrazione per le configurazioni interne ed esterne specifiche del dispositivo
  • SCPI : aggiunte le query CONFIG:GET? e CONFIG:SET per la configurazione persistente
  • System Infos : NUOVO modulo per ottenere informazioni di sistema
  • System Infos : aggiunta la temperatura della scheda
  • System Infos : aggiunte le informazioni sul traffico della rete mobile

Modificato​

  • general : introdotti nomi di canale predefiniti standardizzati
  • general : aggiunti file di documentazione MD in inglese
  • general : aggiunti esempi di configurazione
  • general : migliorati i messaggi di log
  • batMON : NUOVO meccanismo di configurazione asincrono
  • fmproducer : semplificata la configurazione dei canali utilizzando valori predefiniti
  • fmproducer : riduzione dei dati basata su filter chain
  • Geofencing : controllo della validità del segnale GPS
  • Geofencing : adeguati i nomi di canale predefiniti e i parametri di denominazione
  • MVB : semplificata la configurazione dei canali utilizzando valori predefiniti
  • MVB : riduzione dei dati basata su filter chain
  • optiCLOUD : timestamp della telemetria quando l'orologio è sincronizzato
  • optiCLOUD : suddivisione automatica dei canali di posizione GPS
  • optiCLOUD : specifica dei nomi di canale senza distinzione tra maiuscole e minuscole
  • optiCLOUD : aggiunta l'opzione di configurazione ignore per escludere canali
  • OSF Writer : implementata la configurazione senza parametri
  • OSF Writer : specifica dei nomi di canale senza distinzione tra maiuscole e minuscole
  • System Infos : riduzione dei dati basata su filter chain
  • System Infos : utilizzo della comunicazione NTP UDP per verificare lo stato di sincronizzazione dell'orologio (solo Yocto 4)
  • System Infos : migliorati gli esempi di configurazione nei file di documentazione MD

Corretto​

  • general : schemi di configurazione
  • fmproducer : corretta l'estrazione dei dati LONG INT
  • fmproducer : supporto per messaggi indipendenti dalla chiave
  • Geofencing : aggiunta la riduzione dei dati mancante
  • Geofencing : ripuliti i metadati
  • Geofencing : corretti errori di ortografia
  • Geofencing : rimossi tipi di viaggio non validi dall'elenco ipd
  • Geofencing : logging ripulito
  • GPS : semplificata la configurazione dei dispositivi GPS NMEA
  • ModBus : miglioramenti all'Advanced ModBus Auto-Address
  • MVB : corretta l'estrazione dei dati LONG INT
  • optiCLOUD : rimossa la riduzione dei dati aggiuntiva, risolvendo la mancata trasmissione dei dati
  • optiCLOUD : corretto un arresto anomalo con indirizzo broker non valido
  • optiCLOUD : rimossa la coda interna dei messaggi
  • optiCLOUD : corretto il meccanismo di consumo in caso di overflow
  • OSF Writer : corretto il consumo dei campioni attendibili
  • OSF Writer : corretta la gestione delle variabili di processo (PV)
  • OSF Writer : corretto il meccanismo di consumo in caso di overflow
  • OSF Writer : rinominato il vecchio parametro utc
  • SCPI : corretto il comportamento di esecuzione delle istruzioni composte
  • SCPI : corrette le transizioni di start, stop e restart (in particolare in caso di modifica esterna della configurazione)
  • SCPI : corretto il comportamento di CONFIG:SET (in particolare riguardo agli overlay di configurazione)
  • Uptime : spostato il backup del file persistente su una partizione esterna
  • Uptime : migrati i canali contatore a serie temporali

Deprecato​

  • notifier : modulo DEPRECATO
  • candbc : modulo DEPRECATO (utilizzare invece canbus e dbc)

[2.2] - 2022-03-25​

Aggiunto​

  • Change log dei moduli
  • NUOVO schema di versionamento: distinzione tra release STABLE, UNSTABLE ed EXPERIMENTAL
  • batMON : filtro spike per tensione di alimentazione, corrente e temperatura del MOSFET
  • SysInfos : NUOVO modulo System Info che fornisce informazioni specifiche del dispositivo
  • Change log specifici dei moduli
  • SCPI : query per il recupero della documentazione e del change log

Corretto​

  • SCPI : query IDN?
  • SCPI : abilitato il riavvio nello stato Ready
  • calc, CAN DBC, DBC, smartCALC : potenziali perdite di memoria alla distruzione del filtro di riduzione dei dati
  • GPS : controllo di un'altitudine valida
  • ModBus : arresto del modulo
  • OSF writer : disabilitata la scrittura di campioni non validi

Modificato​

  • SCPI : disabilitata la validazione dello schema nell'azione CONFIG:SET

[2.1] - 2022-03-10​

Aggiunto​

  • File di documentazione dei moduli (MD)
  • OSF writer : inclusione dell'ultimo campione in ogni file OSF appena generato
  • GPS : segnalazione degli errori del parser NMEA

Corretto​

  • smartmvb : impostazioni predefinite dei file di log
  • GPS : meccanismi di configurazione e comunicazione
  • GPS, optiCLOUD : precisione di lat/lon/alt nella trasmissione alla dashboard optiCLOUD
  • uptime counter : corretto un arresto anomalo con canale di trigger inesistente
  • optiCLOUD : trasmissione dati Byte Array

Modificato​

  • SCPI : Revisione dell'interfaccia SCPI (??? TODO: describe what is changed !!!)
  • optiCLOUD : trasmissione dei dati non stringa secondo lo standard JSON

[0.174] - 2022-02-09​

Modificato​

  • SCPI : Revisione dell'interfaccia SCPI

[0.172] - 2022-02-03​

Modificato​

  • (classic) MVB : rimosso il driver duagon D017M

[0.171] - 2022-02-01​

Aggiunto​

  • Lettura robusta del contenuto di configurazione e DBC (rimozione automatica di '\r')

Corretto:​

  • Correzioni di bug nel filtro di riduzione dei dati

[0.167] - 2022-01-31​

Aggiunto​

  • candbc, dbc : riduzione dei dati avanzata
  • smartcalc : nuovo modulo di calcolo

Modificato:​

ModBus : rimozione dell'inizializzazione hardware specifica di BEKO Log

[0.165] - 2022-01-07​

Aggiunto​

  • batMON : Data
  • gpsd : nuovo modulo client gpsd
  • Completamento del supporto Cmake

[0.164] - 2021-12-17​

Aggiunto​

  • GPS/SCPI: nuove funzioni diagnostiche Location/Date e output di log
  • Geofencing: parametri aggiuntivi

Modificato:​

  • Serialbus: cleanup

Corretto:​

  • Modulo smartIO MVB: correzioni di errori
  • OSF_UDP_Streamer: correzione di bug
  • Odometer: corretta la gestione dei parametri

[0.161] - 2021-12-15​

Aggiunto​

  • Miglioramenti nell'output di log di smartCORE
  • Messa a disposizione delle informazioni GPS
    • nella sezione header dei file OSF
    • tramite l'interfaccia SCPI
    • tramite l'interfaccia di chiamata di smartCORE

Corretto:​

  • plugin opticloud:
    • Correzione di bug relativa a credenziali vuote per la dashboard

[0.157] - 2021-12-14​

Aggiunto​

  • Messa a disposizione del numero della scheda SIM / dell'intensità del segnale mobile
  • plugin opticloud:
    • Possibilità di utilizzare credenziali specifiche del dispositivo per la dashboard
    • Utilizzo del numero di serie del dispositivo come credenziali predefinite per la dashboard

Modificato:​

  • plugin scpi:
    • Rielaborazione

Corretto:​

  • plugin opticloud:

    • Meccanismo di riconnessione
    • Verifica del server SSL
  • plugin smartmvb:

    • Correzione di bug

[0.139] - 2021-10-21​

Modificato:​

  • plugin smartmvb:
    • Rielaborazione