Visualizza messaggio singolo
Vecchio 25 novembre 16, 16:12   #101 (permalink)  Top
LONGFLYER
User
 
L'avatar di LONGFLYER
 
Data registr.: 06-09-2008
Messaggi: 11.388
Smile

Citazione:
Originalmente inviato da TermicOne Visualizza messaggio
Non ho ancora provato ad ottimizzare il codice anche perchè stavo cercando un sistema per misurare l'effettivo miglioramento ottenuto con le ottimizzazioni....che comunque farò. La % di CPU consumata dallo script è infatti visualizzabile solo nei mix scripts ma non nei telemetry scripts.

Sicuramente occorre essere efficaci negli script anche perchè gli script LUA sono controllati dal software della Taranis che garantisce massima priorità alle funzioni fondamentali della radio. Se gli script consumano troppa CPU o troppa memoria vengono brutalmente stoppati dalla saggia Taranis. Ecco perchè è scritto abbastanza chiaramente di non usare script LUA per gestire o filtrare output vitali come i movimenti delle parti mobili.

"Mix scripts should not exceed allowed run-time/ number of instructions.
Mix scripts are run with less priority than built-in mixes. Their execution period is around 30ms and is not guaranteed!
Mix scripts can be disabled/killed anytime due to logic errors in script, not enough free memory, etc...)
WARNING - Do not use Lua mix scripts for controlling any aspect of your model that could cause a crash if script stops executing."
Ciao, visto che non c'è un timestamp < 10ms e la bassa priorità degli script non garantisce una regolarità, penso che per avere un indice di miglioramento puoi solo osservare quante volte risparmi di eseguire intere ramificazioni di codice. Per l'appunto, ponendo:
- un contatore (var. statica) aggiornato a prescindere ad ogni ingresso di script;
- in una ramificazione di codice per una cella di batteria, stampi il valore del contatore e poi lo resetti;
- se vuoi, puoi affiancarlo al precedente così da avere anche un minimo di storia per meglio vedere il trend ... nulla poi vieta di riportare per ciascuno il relativo timestamp.

In questo modo, vedrai sul display della radio quante volte hai risparmiato la ramificazione di codice della cella. Visto che le celle sono 6, avrai risparmiato quel valore * 6 (se non ricordo male lo script che lessi).
__________________
"If flying were the language of man,
soaring would be its poetry."

Ultima modifica di LONGFLYER : 25 novembre 16 alle ore 16:22
LONGFLYER non è collegato   Rispondi citando