Citazione:
Originalmente inviato da Minestrone Ho anche incontrato una certa anomalia facendo delle prove col simulatore. Non ho scritto nel post precedente perchè gli argomenti sono diversi.
Ho implementato nel simulatore un programma che registra in una variabile globale la posizione dello stick del gas fino a quando un certo switch è attivo. Quando si disattiva lo switch la variabile globale smette di essere aggiornata. La variabile globale riprende ad essere aggiornata solo quando si riattiva lo switch e il valore dello stick egualia il valore della variabile globale. Per fare questo ho implementato un'autoritenuta che si attiva quando si avvera la condizione AND di cui sopra. Ebbene questo programma funziona saltuariamente. Qualche volta disattivando lo switch e riattivandolo la variabile globale riprende ad essere aggiornata, qualche volta no. In pratica, saltuariamente, la condizione AND blocca il programma perchè non viene mai verificata. Mi è sembrato di capire che muovendo lo stick del gas non vengano spazzati tutti i valori e se il valore della GVAR non viene toccato ovviamente la AND non si attiva.
Premesso che ho provato solo col simulatore mi piacerebbe capire in che cosa ho sbagliato oppure se è un'anomalia di Companio9x/Opentx.
Grazie |
Una risposta più precisa la potrà dare Romolo ma credo che il problema sia nella frequenza di lettura della posizione degli stick. Se, ad esempio, la lettura avviene ogni 20ms e tu sposti lo stick ad una velocità di "un valore" ogni 25ms, allora le letture "spazzoleranno" certamente tutti i possibili valori. Se invece tu muovi lo stick più velocemente, la probabilità che il valore che tu cerchi venga scavalcato è alta.
Dovresti trovare il modo di usare un range di valori in cui far riconoscere la posizione dello stick, ad esempio un +/- 10 rispetto al valore attuale... Ora non ho sotto mano il simulatore, quindi non sono in grado di proporti una possibile soluzione pratica.
Carlo