Stima V4 Slave RAIN  4.2
canardClass::master::file Class Reference

#include <canard_class_rain.hpp>

Public Member Functions

void start_request (uint8_t remote_node, uint8_t *param_request_name, uint8_t param_request_len, bool is_firmware)
 Avvia una richiesta remota di download file ed inizializza le risorse nella classe. More...
 
char * get_name (void)
 Nome del file in download. More...
 
CanardNodeID get_server_node (void)
 Legge il nodo master file server che richiede il caricamento del file. More...
 
bool download_request (void)
 Gestione file, verifica richiesta di download da un nodo remoto. More...
 
bool is_download_complete (void)
 Gestione file, fine con successo del download file da un nodo remoto. Il nodo non risponde più alle richieste del comando fino a nuovo restart. More...
 
void download_end (void)
 Gestione file, abbandona o termina richiesta di download da un nodo remoto. Il nodo non risponde più alle richieste del comando fino a nuovo restart. More...
 
bool is_firmware (void)
 Controlla se il file è di tipo firmware o altra tipologia. More...
 
uint64_t get_offset_rx (void)
 Legge l'offset corrente. More...
 
void set_offset_rx (uint64_t remote_file_offset)
 Imposta l'offset RX per la lettura di un blocco specifico del file in donload remoto. More...
 
bool is_first_data_block (void)
 Verifica se è il primo blocco di un file. Da utilizzare per rewrite file o init E2Prom Space. More...
 
bool next_retry (void)
 Gestione automatica totale retry del comando file all'interno della classe MAX retry è gestito nel file di configurazione module_config.h. More...
 
bool next_retry (uint8_t *avaiable_retry)
 Gestione automatica totale retry del comando file all'interno della classe MAX retry è gestito nel file di configurazione module_config.h. More...
 
void start_pending (uint32_t timeout_us)
 Avvia un comando per il metodo corrente con timeOut di validità More...
 
void reset_pending (void)
 Resetta lo stato dei flag pending per il metodo corrente. More...
 
void reset_pending (size_t message_len)
 Resetta lo stato dei flag pending per il metodo corrente. More...
 
bool event_timeout (void)
 Gestione timeout pending file. Controlla il raggiungimento del timeout. More...
 
bool is_pending (void)
 Verifica se un comando per il relativo modulo è in attesa. Diventerà false o verrà attivato il timeout. More...
 

Private Attributes

uint8_t _node_id
 
char _filename [CAN_FILE_NAME_SIZE_MAX]
 
bool _is_firmware
 
bool _updating
 
uint8_t _updating_retry
 
bool _updating_eof
 
uint64_t _offset
 
uint64_t _timeout_us
 
bool _is_pending
 

Detailed Description

Definition at line 238 of file canard_class_rain.hpp.

Member Function Documentation

◆ download_end()

void canardClass::master::file::download_end ( void  )

Gestione file, abbandona o termina richiesta di download da un nodo remoto. Il nodo non risponde più alle richieste del comando fino a nuovo restart.

Definition at line 634 of file canard_class_rain.cpp.

◆ download_request()

bool canardClass::master::file::download_request ( void  )

Gestione file, verifica richiesta di download da un nodo remoto.

Returns
true se è in corso una procedura di ricezione file (start comando o download)

Definition at line 621 of file canard_class_rain.cpp.

◆ event_timeout()

bool canardClass::master::file::event_timeout ( void  )

Gestione timeout pending file. Controlla il raggiungimento del timeout.

Returns
true se entrata in timeout del comano

Definition at line 719 of file canard_class_rain.cpp.

◆ get_name()

char * canardClass::master::file::get_name ( void  )

Nome del file in download.

Returns
puntatore e buffer al nome del file per il dowloading. Non necessità di inizializzazione buffer.

Definition at line 609 of file canard_class_rain.cpp.

◆ get_offset_rx()

uint64_t canardClass::master::file::get_offset_rx ( void  )

Legge l'offset corrente.

Returns
l'offste corrente del file attualmente in download

Definition at line 649 of file canard_class_rain.cpp.

◆ get_server_node()

CanardNodeID canardClass::master::file::get_server_node ( void  )

Legge il nodo master file server che richiede il caricamento del file.

Returns
node_id UAVCAN

Definition at line 615 of file canard_class_rain.cpp.

◆ is_download_complete()

bool canardClass::master::file::is_download_complete ( void  )

Gestione file, fine con successo del download file da un nodo remoto. Il nodo non risponde più alle richieste del comando fino a nuovo restart.

Returns
true se è finita la procedura di ricezione file con successo

Definition at line 628 of file canard_class_rain.cpp.

◆ is_firmware()

bool canardClass::master::file::is_firmware ( void  )

Controlla se il file è di tipo firmware o altra tipologia.

Returns
true se il file in download è di tipo firmware

Definition at line 641 of file canard_class_rain.cpp.

◆ is_first_data_block()

bool canardClass::master::file::is_first_data_block ( void  )

Verifica se è il primo blocco di un file. Da utilizzare per rewrite file o init E2Prom Space.

Returns
true se il blocco ricevuto è il primo del file

Definition at line 661 of file canard_class_rain.cpp.

◆ is_pending()

bool canardClass::master::file::is_pending ( void  )

Verifica se un comando per il relativo modulo è in attesa. Diventerà false o verrà attivato il timeout.

Returns
true se un comando è in attesa

Definition at line 727 of file canard_class_rain.cpp.

◆ next_retry() [1/2]

bool canardClass::master::file::next_retry ( uint8_t *  avaiable_retry)

Gestione automatica totale retry del comando file all'interno della classe MAX retry è gestito nel file di configurazione module_config.h.

Parameters
avaiable_retryretry ancora disponibili
Returns
true se ci sono ancora retry disponibili per il comando

Definition at line 679 of file canard_class_rain.cpp.

◆ next_retry() [2/2]

bool canardClass::master::file::next_retry ( void  )

Gestione automatica totale retry del comando file all'interno della classe MAX retry è gestito nel file di configurazione module_config.h.

Returns
true se ci sono ancora retry disponibili per il comando

Definition at line 668 of file canard_class_rain.cpp.

◆ reset_pending() [1/2]

void canardClass::master::file::reset_pending ( size_t  message_len)

Resetta lo stato dei flag pending per il metodo corrente.

Parameters
message_lenlunghezza del messaggio ricevuto in risposta

Definition at line 706 of file canard_class_rain.cpp.

◆ reset_pending() [2/2]

void canardClass::master::file::reset_pending ( void  )

Resetta lo stato dei flag pending per il metodo corrente.

Definition at line 697 of file canard_class_rain.cpp.

◆ set_offset_rx()

void canardClass::master::file::set_offset_rx ( uint64_t  remote_file_offset)

Imposta l'offset RX per la lettura di un blocco specifico del file in donload remoto.

Parameters
remote_file_offsetindirizzo offset del byte da leggere

Definition at line 655 of file canard_class_rain.cpp.

◆ start_pending()

void canardClass::master::file::start_pending ( uint32_t  timeout_us)

Avvia un comando per il metodo corrente con timeOut di validità

Parameters
timeout_usmicrosecondi per entrata in timeOut di mancata risposta

Definition at line 689 of file canard_class_rain.cpp.

◆ start_request()

void canardClass::master::file::start_request ( uint8_t  remote_node,
uint8_t *  param_request_name,
uint8_t  param_request_len,
bool  is_firmware 
)

Avvia una richiesta remota di download file ed inizializza le risorse nella classe.

Parameters
remote_nodenodo di provenienza della richiesta, controllo messaggi in coerenza con il nodo
param_request_namenome del file (parametro request->element entrante)
param_request_lenlunghezza del nome del file (parametro request->count)
is_firmwareimposta il flag che indica se è un file firmware

Definition at line 590 of file canard_class_rain.cpp.

Member Data Documentation

◆ _filename

char canardClass::master::file::_filename[CAN_FILE_NAME_SIZE_MAX]
private

Definition at line 265 of file canard_class_rain.hpp.

◆ _is_firmware

bool canardClass::master::file::_is_firmware
private

Definition at line 266 of file canard_class_rain.hpp.

◆ _is_pending

bool canardClass::master::file::_is_pending
private

Definition at line 272 of file canard_class_rain.hpp.

◆ _node_id

uint8_t canardClass::master::file::_node_id
private

Definition at line 264 of file canard_class_rain.hpp.

◆ _offset

uint64_t canardClass::master::file::_offset
private

Definition at line 270 of file canard_class_rain.hpp.

◆ _timeout_us

uint64_t canardClass::master::file::_timeout_us
private

Definition at line 271 of file canard_class_rain.hpp.

◆ _updating

bool canardClass::master::file::_updating
private

Definition at line 267 of file canard_class_rain.hpp.

◆ _updating_eof

bool canardClass::master::file::_updating_eof
private

Definition at line 269 of file canard_class_rain.hpp.

◆ _updating_retry

uint8_t canardClass::master::file::_updating_retry
private

Definition at line 268 of file canard_class_rain.hpp.


The documentation for this class was generated from the following files: