Caricamento di un generico file nella flash di destinazione specificata: il tipo di caricamento viene specificato usando gli appositi flag.
Sintassi |
flashFileLoad(string source, string target, uint flags, uint @nackx, uint gid=0): bool |
---|---|
source |
Nome del file sorgente |
target |
Nome del file destinazione sulla flash |
flags |
Impostazioni di caricamento |
nackx |
Riferimento ad eventuale codice NACK esteso, in caso di errore |
gid |
Identificativo dell'eventuale elemento di percentuale grafico da utilizzare, creabile con la funzione addGauge() |
Esito |
Ritorna esito logico operazione |
Le impostazioni (flags) valide per la funzione sono le seguenti:
Flag |
Descrizione |
---|---|
flashFileLoad_Overwrite |
Sovra-scrittura del file di destinazione, qualora già esistente |
flashFileLoad_Recover |
Tenta il recupero del caricamento la dove interrotto: se non è possibile esegue un caricamento ex novo. (#1) |
flashFileLoad_NoBif16 |
Disabilita la gestione BIF16 (solo RRT e vecchi gestori) |
flashFileLoad_AsBoot |
Caricare il file sorgente come BOOT (#2) |
flashFileLoad_AsBios |
Carica il file sorgente come BIOS (#2) |
flashFileLoad_AsMain |
Carica il file sorgente come MAIN (#2) |
flashFileLoad_AsCfg |
Carica il file sorgente come CFG (#2) |
Annotazioni:
•Il file sorgente, qualora il nome file fosse relativo, considera come percorso corrente quello del workspace corrente. Se si vuole fare riferimento al percorso corrente della shell, che può essere diverso da quello del workspace, utilizzare la funzione dirBase().
•Il file destinazione deve obbligatoriamente specificare il percorso flash destinazione.
•Il codice NACK esteso contiene in loWord(nackx) il codice NACK effettivo, mentre in hiWord(nackx) l'eventuale informazione aggiuntiva.
•(#1) Il flag flashFileLoad_Recover richiede un'operazione piuttosto lenta, per cui vi potrebbero essere problemi lato controllo numerico se l'operazione viene effettuata con assi energizzati (tipo caduta del WD). Tale funzionalità potrebbe non essere supportata su alcuni dispositivi o in alcune modalità.
•(#2) Questo tipo di caricamento ignora il nome file destinazione (target) e se non eseguito in modo corretto potrebbe portare al danneggiamento o malfunzionamento dell'apparecchiatura in questione. Questi flag non possono essere combinati, ovvero solo uno può essere.
Esempio d'utilizzo
Per caricare il file RTE.CFG nella cartella /FA/, considerando il file sorgente nel percorso base della shell.
uint nackx uint gid = addGauge() if (flashFileLoad(dirBase() + "/rte.cfg", "/fa/rte.cfg", 0, @nackx, gid)) ; TODO: caricamento ok else printNack(nackx) ; TODO: gestione errore end |