Torna indietro   BaroneRosso.it - Forum Modellismo > Elettronica > Radiocomandi


Rispondi
 
Strumenti discussione Visualizzazione
Vecchio 13 gennaio 13, 17:04   #1 (permalink)  Top
User
 
L'avatar di HappyFly
 
Data registr.: 01-01-2008
Residenza: Perugia
Messaggi: 672
Immagini: 12
TURNIGY 9X : Hello World !

TURNIGY T9X : Hello World !

Circa tre anni orsono, tanto per non avere niente da fare la sera, mi ero impegnato a progettare "da zero" un radiocomando, solo motherboard ovviamente senza sezione RF (per la sezione RF basta prendersi un qualunque modulo TX con relativa RX); la motherboard era biprocessore (come le radio di alta fascia) uno per l'interfaccia uno per calcolo/volo mentre l'ambiente di sviluppo era Microchip, essendo il tutto basato su PIC 16F877.





Dopo alcuni sforzi ed alcuni prototipi (peraltro funzionanti, almeno di base) mi sono fermato sullo chassis; avevo recuperato varie vecchie radio mi ero accorto che l'hardware e l'integrazione con la motherboard erano lo scoglio principale.

Ovviamente l'uscita della TG9X e dei relativi software open-source hanno reso meno interessante tutto questo mio lavoro; dato che però la parte che mi interessa di più è il codice mi sono rimesso al lavoro per sulla TG9X dal lato software.

Vi propongo in questo thread di aiutarmi (gli utenti più esperti) per arrivare al tipico "hello world!" di ogni ambiente di sviluppo, ovvero nel caso di una trasmittente calcolo e volo di un solo modello, senza fasi mixer e niente altro.

PER INTENDERCI BENE TUTTO QUESTO HA LO SCOPO ESCLUSIVAMENTE DIDATTICO !!!

Il tutto usando come base una delle distribuzioni attuali tipo er9x/open9x e come eeprom editor companion9x; non mi interessa la sezione interfaccia della radio, così come le varie opzioni per telemetrie, voce o altro.

Vorrei passo passo, illustrando quanto riesco a fare da solo e chiedendo aiuto agli esperti, implementare (facendo copia ed incolla) di :

1) settaggi base : centro, limiti ed inversioni servi
2) dual rate ed esponenziale
3) sezione calcolo e volo

I requisiti minimi sono ovviamente conoscenza del C e dello sviluppo su microcontrollori; lo scorso inverno avevo scaricato ed installato l'ambiente di sviluppo necessario (WinAVR ed accessori ...) ed avevo inziato l'opera di "sfrondatura".

Dato che ho cambiato PC in queste sere mi rimetto all'opera e se gradito posso postare passo passo le operazioni, dalla preparazione dell'ambiente fino alla riduzione del main() del codice alla sola schermata principale ed aggiungendo funzione per funzione per arrivare a quanto sopra indicato.

Ciao ed attendo commenti ;-)
Icone allegate
TURNIGY 9X : Hello World !-schema.jpg   TURNIGY 9X : Hello World !-code.jpg  
Files allegati
Tipo file: pdf fly.pdf‎ (20,0 KB, 310 visite)
Tipo file: pdf interface.pdf‎ (25,3 KB, 359 visite)
__________________
Ducunt volentem fata, nolentem trahunt

Ultima modifica di HappyFly : 13 gennaio 13 alle ore 17:07
HappyFly non è collegato   Rispondi citando
Vecchio 13 gennaio 13, 18:12   #2 (permalink)  Top
Adv Moderator
 
L'avatar di romoloman
 
Data registr.: 15-08-2007
Residenza: sto a Massa ma sono molto Positivo
Messaggi: 12.069
Citazione:
Originalmente inviato da HappyFly Visualizza messaggio
TURNIGY T9X : Hello World !

Circa tre anni orsono, tanto per non avere niente da fare la sera, mi ero impegnato a progettare "da zero" un radiocomando, solo motherboard ovviamente senza sezione RF (per la sezione RF basta prendersi un qualunque modulo TX con relativa RX); la motherboard era biprocessore (come le radio di alta fascia) uno per l'interfaccia uno per calcolo/volo mentre l'ambiente di sviluppo era Microchip, essendo il tutto basato su PIC 16F877.





Dopo alcuni sforzi ed alcuni prototipi (peraltro funzionanti, almeno di base) mi sono fermato sullo chassis; avevo recuperato varie vecchie radio mi ero accorto che l'hardware e l'integrazione con la motherboard erano lo scoglio principale.

Ovviamente l'uscita della TG9X e dei relativi software open-source hanno reso meno interessante tutto questo mio lavoro; dato che però la parte che mi interessa di più è il codice mi sono rimesso al lavoro per sulla TG9X dal lato software.

Vi propongo in questo thread di aiutarmi (gli utenti più esperti) per arrivare al tipico "hello world!" di ogni ambiente di sviluppo, ovvero nel caso di una trasmittente calcolo e volo di un solo modello, senza fasi mixer e niente altro.
Che vuol dire senza mixer e niente altro ?
senza mixer come conti di mandare gli stick ad un modello ?

Comunque pensa questo, ti servono un interrupt per la generazione del PPM (lo fai bit banged) e un interrupt per la lettura degli stick.

Quindi la mera conoscenza del C non basta, dotati di datasheet del ATMEGA64.

Per l'hello world ti consiglio di partire dalle prime versioni di TH9X
r2 - th9x - Alternative Firmware for 9-ch FlySky RC-Control - Google Project Hosting
Più semplice da capire e sfoltire rispetto a un er9x o un open9x.
__________________
Vivere in qeusto mondo e molto belo belo e vale la pena starci ma a volte in questa UNICA vita che ci apartiene posono succedere cose brute brute alora mi chiedo perche siete incazziati domani pole esere anche lultimo
Grazie "TRANQUILLO"
FAI 15766
romoloman non è collegato   Rispondi citando
Vecchio 13 gennaio 13, 20:24   #3 (permalink)  Top
User
 
L'avatar di HappyFly
 
Data registr.: 01-01-2008
Residenza: Perugia
Messaggi: 672
Immagini: 12
Citazione:
Originalmente inviato da romoloman Visualizza messaggio
Che vuol dire senza mixer e niente altro ?
senza mixer come conti di mandare gli stick ad un modello ?
Forse è una questione di nomi, io chiamo calcolo il trasferimento da comando a canale, senza mixer intendevo senza la possibilità di fare miscelazioni tra i canali ... per semplificare sul vecchio prototipo trasferivo direttamente dall'uscita dr/expo al generatore PPM sui singoli canali ...

Citazione:
Originalmente inviato da romoloman Visualizza messaggio
Comunque pensa questo, ti servono un interrupt per la generazione del PPM (lo fai bit banged)
Ovvio, per generare il frame PPM mica ci si può fidare dei tempi con i ritardi ...

Citazione:
Originalmente inviato da romoloman Visualizza messaggio
e un interrupt per la lettura degli stick.
Qui se mi dai una dritta mi aiuti, cosa intendi un interrupt con timer per rilevare a tempo l'ADC degli stick oppure un interrupt agganciato sul valore dell'ADC ? Nel prototipo che mi avevo realizzato prendevo una serie di misure degli stick ad ogni ciclo di PPM

Citazione:
Originalmente inviato da romoloman Visualizza messaggio
Quindi la mera conoscenza del C non basta, dotati di datasheet del ATMEGA64
Si conosco di massima l'ATMEGA64, sono più ferrato sul PIC16F877 ma mi sono letto un paio di volte lo scorso inverno il datasheet dell'ATMEGA64, comunque grazie del consiglio più che giusto, a questo livello di programmazione devi conoscere bene l'hardware, non hai risorse e spazio come con codice di più altro livello ...

Citazione:
Originalmente inviato da romoloman Visualizza messaggio
Per l'hello world ti consiglio di partire dalle prime versioni di TH9X r2 - th9x - Alternative Firmware for 9-ch FlySky RC-Control - Google Project Hosting
Più semplice da capire e sfoltire rispetto a un er9x o un open9x.
Ora guardo, aveva molti bug TH9X quando è stato fermato lo sviluppo ?

Comunque grazie intanto per le dritte, sei un mito con il lavoro che hai fatto per ora sul firmware della 9X
__________________
Ducunt volentem fata, nolentem trahunt
HappyFly non è collegato   Rispondi citando
Vecchio 13 gennaio 13, 21:57   #4 (permalink)  Top
Adv Moderator
 
L'avatar di romoloman
 
Data registr.: 15-08-2007
Residenza: sto a Massa ma sono molto Positivo
Messaggi: 12.069
Citazione:
Originalmente inviato da HappyFly Visualizza messaggio
Forse è una questione di nomi, io chiamo calcolo il trasferimento da comando a canale, senza mixer intendevo senza la possibilità di fare miscelazioni tra i canali ... per semplificare sul vecchio prototipo trasferivo direttamente dall'uscita dr/expo al generatore PPM sui singoli canali ...


Ovvio, per generare il frame PPM mica ci si può fidare dei tempi con i ritardi ...


Qui se mi dai una dritta mi aiuti, cosa intendi un interrupt con timer per rilevare a tempo l'ADC degli stick oppure un interrupt agganciato sul valore dell'ADC ? Nel prototipo che mi avevo realizzato prendevo una serie di misure degli stick ad ogni ciclo di PPM


Si conosco di massima l'ATMEGA64, sono più ferrato sul PIC16F877 ma mi sono letto un paio di volte lo scorso inverno il datasheet dell'ATMEGA64, comunque grazie del consiglio più che giusto, a questo livello di programmazione devi conoscere bene l'hardware, non hai risorse e spazio come con codice di più altro livello ...


Ora guardo, aveva molti bug TH9X quando è stato fermato lo sviluppo ?

Comunque grazie intanto per le dritte, sei un mito con il lavoro che hai fatto per ora sul firmware della 9X
TH9X non ha lo sviluppo fermato, ti ho consigliato la rev 2 perchè c'era poca roba dentro e diventa più facile da capirsi.
Siamo quasi alla rev 300, ma la rev2 è praticamente poco più dell'hello world che stavi cercando..
__________________
Vivere in qeusto mondo e molto belo belo e vale la pena starci ma a volte in questa UNICA vita che ci apartiene posono succedere cose brute brute alora mi chiedo perche siete incazziati domani pole esere anche lultimo
Grazie "TRANQUILLO"
FAI 15766
romoloman non è collegato   Rispondi citando
Rispondi

Bookmarks




Regole di scrittura
Non puoi creare nuove discussioni
Non puoi rispondere alle discussioni
Non puoi inserire allegati
Non puoi modificare i tuoi messaggi

BB code è Attivato
Le faccine sono Attivato
Il codice [IMG] è Attivato
Il codice HTML è Disattivato
Trackbacks è Disattivato
Pingbacks è Disattivato
Refbacks è Disattivato


Discussioni simili
Discussione Autore discussione Forum Commenti Ultimo Commento
Adattatore per caricare Turnigy 2650mAh Tx Pack con Turnigy Accucel-6 FabioPE Batterie e Caricabatterie 19 04 febbraio 12 11:56
mig15/17 in the world porcu69 Aeromodellismo Ventole Intubate 19 17 gennaio 11 00:03
F3A World Cup Valle Isarco 2009 - FAI World Cup ippepi Calendario Manifestazioni 0 06 marzo 09 11:41
Hello World! Alesanco Automodellismo Mot. Elettrico On-Road 0 24 aprile 08 10:16



Tutti gli orari sono GMT +2. Adesso sono le 09:13.


Basato su: vBulletin versione 3.8.11
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
E' vietata la riproduzione, anche solo in parte, di contenuti e grafica. Copyright 1998/2019 - K-Bits P.I. 09395831002