[OT ITA] Lo spamm bar (Part 1)

io su linux uso questo:

http://code.google.com/p/andrei-development/downloads/detail?name=STM32F3-Discovery_USART_printf_sensors.tar.gz&can=2&q=

è un progetto eclipse, fatto per gcc-arm, notare che usa la FPU hardware e inizializza la pintf per stampare via usart, credo sui pin PA2 e PA3

/* Connect PXx to USARTx_Tx */
	GPIO_PinAFConfig(GPIOA, GPIO_PinSource2, GPIO_AF_7);

	/* Connect PXx to USARTx_Rx */
	GPIO_PinAFConfig(GPIOA, GPIO_PinSource3, GPIO_AF_7);

occhio però che lavora a 3.3V, se domani sono abbastanza fresco monto la circuiteria per passareil segnale da 3.3V a 5V, poi in pasto all'FTDI e vediamo se funziona :slight_smile:

Chiedo ancora aiuto a questo forum e cercherò di essere più chiaro possibile:
Ho la necessità di programmare una scheda STM32F3discovery da alcuni di voi usata, in particolare ho la necessità di dover leggere i segnali dell'unità IMU (possibilmente già sottoforma di acc. velocità e angoli della scheda rispetto al piano terrestre ) e generare dei segnali PPM su 4 uscite della scheda da mandare a degli ESCs.
Per far ciò ho bisogno di capire quale IDE di sviluppo utilizzare e quale libreria di alto livello utilizzare, cioè vorrei sapere precisamente quale ambiente di sviluppo utilizzare e un link da dove poterlo scaricare e quale libreria utilizzare e da dove poterla scaricare.
Come libreria mi aspetto una libreria di alto livello (munita di appropriata documentazione che spieghi come usare le funzioni e le struct in essa implementata) cioè che attraverso delle semplici funzioni mi permetta di gestire la maggior parte della scheda senza doverla programma in basso livello con la gestione dei registri CPU e cose del genere.
Come già risposto da alcuni utenti del forum la scheda è completamente programmabile in C e che i manuali di programmazione si trovano sul sito della ST, bene chiedo gentilmente di spiegarmi dove sono questi manuali perchè personalmente ho trovato solo delle AP (munite di semplici commenti che non permettono di capire nel dettaglio cosa fanno effettivamente gli applicazioni già implementate) e un manuale di bassissimo livello che prevede linguaggio assembly.
Un altro utente invece mi aveva consigliato di usare il software della multipilot32, bene ho sfogliato tutto il sito linkato e non ho trovato i link per scaricare ne l'IDE di sviluppo ne la libreria ne un manuale che spiegasse come usare la libreria stessa, quindi chiedo gentilmente di fornire proprio i link di queste 3 cose che ho chiesto. Inoltre non riesco a capire come adattare tale codice per la mia scheda cioè cosa devo modificare al software della multipilot32.
So che forse sono domande troppo pretensioso e che questo non è il forum adatto (Forum per la STM32f3discovery non ne ho trovati), ma sono completamente alle prime armi della programmazione di PIC e voglio cimentarmi in questo fantastico mondo, pensavo che la STM32F3 avesse una facilità di programmazione simile ad arduino, che è molto intuitivo nell'utilizzazione delle sue librerie (ma putroppo non ha la potenza che richiede la mia app), ma mi sono trovato completamente spiazzato e perso.
Spero che una buona anima abbia la voglia e il tempo per darmi delle risposte precise e non vaghe. Saluti Fabio
P.s. uso S.o. Windows P.S.2 ho letto i post precedenti che mi hanno creato solo tanta confusione

su windows ci sono un'infinità di ambienti, quasi tutti a pagamento... astro aveva detto il suo preferito, ma non ricordo il nome, guarda qualche pagina indietro. Sul sito STM trovi il link alle librerie ufficiali con degli esempi con tanto di progetti già settati per 3 o 4 ambienti, tra cui trovi gli esempi per i sensori.

Non devi lavorare con i registri grazie alle librerie ufficiali, ma comunque non è certo un getGyroX()... diciamo che se hai esperienza con I2c troverai la cosa intuitiva

pensavo che la STM32F3 avesse una facilità di programmazione simile ad arduino

ahahha no. :grin:
anzi direi che è assi più complessa di un PIC, in oltre essendo nuova è difficile trovare codice di esempio.

Se ti riferisci alla cartella del firmware della scheda quella l'ho trovata con tanto di esempi sui vari IDE, purtroppo dagli esempi è utopistico capire cosa fanno le varie istruzioni senza una documentazione che ti spiega il tutto. Gli AP dicono solo cosa deve fare il generale il programma e non mi basta per prendere dimestichezza con la libreria.
P.s. mai usato il protocollo 12c

gli esempi io li ho trovati molto semplici, più di così puoi aprire i file delle librerie che sono documentate da dio (parametri di ingresso, di uscita, cosa fa etc..)

Lesto è proprio quello che cerco: La documentazione.
Dal sito ho questa cartella "STM32F3-Discovery_FW_V1.1.0", se è la stessa che hai tu potresti dirmi gentilmente dove si trova la documetazione.
Di solito quando lavoro con librerie di terzi trovo sempre un file Htlm molto pratico, esiste anche in questo caso?

non credo che esista, io non l'ho mai trovato.

Ma intendevi aprire il file main.c e leggermi il codice???

sì, io faccio così

Fabio_automatico:
Di solito quando lavoro con librerie di terzi trovo sempre un file Htlm molto pratico, esiste anche in questo caso?

Guarda che la documentazione c'è ed è pure fatta molto bene, la libreria a cui devi fare riferimento è la CMSIS, per la documentazione basta aprire il file index.html che si trova nella cartella "\STM32F3-Discovery_FW_V1.1.0\Libraries\CMSIS", oppure vai sul sito ufficiale della libreria.
La cosa bella della CMSIS è che è hardware indipendent, questo vuol dire che le funzioni sono sempre le stesse per tutti i micro supportati, ovviamente compatibilmente con le risorse hardware disponibili.
Ovviamente il prerequisito per poter utilizzare questi micro è la conoscenza del C ANSI altrimenti non vai da nessuna parte e non è certo compito del produttore darti un manuale di programmazione C.

Astro avevo già trovato ieri quel file HTML in cui sono riportate la documentazione della libreria. Purtroppo ho notato che la libreria lavora ad un livello basso di programmazione non molto semplice da capire non conoscendo tutti i protocolli di comunicazione, anzi non ne conosco nemmeno uno in verità me li sto studiando ora per il mio progetto, e non sono riuscito a trovare la gestione dei GIOP(ad esempio la dichiarazione della struct associata ad ogni porta e le funzioni su tali struct per inizializzarli etc. utilizzate invece negli esempi).
Spulciando però tra le varie cartelle e i vari file .c e .h sono arrivata a questa cartella "STM32F3Discovery_FW_V1.1.0\Libraries\STM32F30x_StdPeriph_Driver".
Leggendo un po' il codice credo che in essa siano definite delle funzioni più user friendly per la gestione dei vari componenti montati sulla scheda,ad esempio dei GIOP, mentre nella cartella Utility credo siano implementate delle funzioni per la lettura dei dati dall'IMU, Confermi questa mia deduzione?
Inoltre secondo te quale IDE free per Windows è il migliore da usare?
P.s. Io so lavorare in C sinceramente non ho mai trovato come termine L'ANSI C cosa cambia dal C puro?

From wikipedia

Before there was an official standard for C, many users and implementors relied on an informal specification contained in a book by Dennis Ritchie and Brian Kernighan; that version is generally referred to as "K&R" C. In 1989 the American National Standards Institute published a standard for C (generally called "ANSI C" or "C89"). The next year, the same specification was approved by the International Organization for Standardization as an international standard (generally called "C90"). ISO later released an extension to the internationalization support of the standard in 1995, and a revised standard (known as "C99") in 1999. The current version of the standard (now known as "C11") was approved in December of 2011.

Fabio_automatico:
Inoltre secondo te quale IDE free per Windows è il migliore da usare?

Lascia perdere quelli free, perdi solo tempo, usa l'MDK ARM con la licenza trial da 30 giorni, lo installi su una macchina virtuale usa e getta e quando scade il trial lo reinstalli su una nuova macchina virtuale e così via.

P.s. Io so lavorare in C sinceramente non ho mai trovato come termine L'ANSI C cosa cambia dal C puro?

L'ANSI C è il C standard per eccellenza, in pratica è il K&R con qualche aggiunta e standardizzato.

Ho appena installato IAR nel caso non mi trovo bene proverò l'IDE che mi hai indicato, per quanto riguarda la questione ANSI C ho capito che è un documento che standardizza il linguaggio C ma avendolo imparato all'UNI presumo che sappia già programmare usando la standard su detto senza nemmeno saperlo (almeno spero XD) in questi giorni mi studio i progetti d'esempio e cerco di capirci qualcosa, come ultima domanda volevo chiedervi cosa secondo voi è di vitale importanza sapere per approcciare con la programmazione di PIC (so che nessuno li chiama più cosi ma io ormai mi sono abituato ad usare questo acronimo)? Non ho bisogno di risposte dettagliate mi basta avere anche una sola lista di protocolli o simili. Grazie in anticipo per il vostra aiuto

perchè dici che nessuno li chiama PIC?

BTW seriale funzionante, e collegamento con l'interfaccia grafica pure. Ci sono ancora bug da risolvere che fanno impazzire i contatori, o meglio sono tarati per sensori a 10 bit e quindi troppo sensibili per valori a 16bit.

uso il gyro con range massimo +-250degree/s (non intendo fare acro, e credo che comunque basterebbe, è quasi un 360 al secondo)
l'accelerometro con +-4G (dai vecchi test il limite 2G viene raggiunto facilmente)
il magnetometro a +-1.6Gauss (il minimo, in teroria il campo magnetico terreste è nel range 0.31–0.58 gauss)

da seriale a DCM: GitHub - lestofante/SerialToDCM: help you in the visualization of data
codice STM32F3: GitHub - lestofante/stm32f3stabilization: Stabilization algorithm with a stm32f3discovery, under development

Ragazzi finalmente sono riuscito ad avere a casa la scheda STM32F3Discovery e ho rimediato una copia dell'IDE MDK-ARM, purtroppo sono incappato in un nuovo problema:
Nella realizzazione di un progetto partendo da zero l'IDE continua a non riconoscermi le funzioni per la gestione della scheda (per intenderci quella contenuta in STM32F3-Discovery_FW_V1.1.0\Libraries) e quelle per la gestione dei sensori contenute in STM32F3-Discovery_FW_V1.1.0\Utilities.
Premetto che ho seguito alla lettera il tutorial del settaggio dell'IDE fornito dalla stessa ST e che in più nelle opzioni del progetto ho aggiunto i path in cui sono contenuti tutti gli header files cosi come fatto nel progetto demo, ma niente il problema permane.
Non contento ho provato ad aggiungere al mio progetto anche tutti i source files, ma continuo ad avere problemi ed errori in compilazione.
Sapreste dirmi passo passo come voi avete settate il tutto per la realizzazione di un nuovo progetto?

Fabio_automatico:
Sapreste dirmi passo passo come voi avete settate il tutto per la realizzazione di un nuovo progetto?

Andiamo per gradi, prima di tutto che versione hai del MDK ARM, seconda cosa hai provato a compilare il progetto di esempio, che scarichi dal sito di ST, del programma caricato di serie sulla scheda ?

MDK-ARM 4.60 si il progetto demo compilato e non da nessun errore a parte due warning per un casting di tipo ma niente di preocc

ma niente di preocc

azz è venuto meno mentre scriveva. meno male che con le utltime forze ha premuto invia :grin:

lol lesto me lo sono meritato ihihih

Comunque niente di "PREOCCUPANTE"