"Porting" di sketch Arduino su altri micro

Ciao NG,

Il mio super-hyper-watchdog++ transgenico sta venendo su benino e dato che ho scritto nel mio solito modo pulito e ordinato, non mi dispiacerebbe poterlo far funzionare anche altrove.

Per pulito e ordinato intendo che apparentemente non usa librerie esterne ma solo le normali funzioni dei pin e "millis()", altro credo non ci sia.

funzione di Arduino in una il cui corpo viene modificato con le macro del preprocessore. Ma ho il dubbio - e per questo ho detto che apparentemente non usa niente di esterno - che sotto il cofano succeda di tutto e che un

Presumo che altrove non ci siano "init()" e "loop()", sarebbe facile anche wrappare quelle due, e chi sa quante cose che non so. In rete tanto per cambiare trovo poco.

Ora, prima di mettermi a fare questo lavoro, anche se minimo rispetto alla lunghezza del sorgente, chiedo a voi. Non devo farlo domani, anzi potrei non farlo io se lo rendessi disponibile su sourceforge o altro, ma non voglio nemmeno fare qualcosa di inutile.

Ha senso pensare a una cosa del genere o lo lascio per

controlli vari e per quanto posso vedere niente che faccia richieste specifiche all'hardware. O almeno sembra.

Grazie

Apx.

--
- Se scegli la pillola blu la tua vita 

- E se scelgo quella rossa?
Reply to
Archaeopteryx
Loading thread data ...

Archaeopteryx ha scritto:

se non devi brevettarlo, :-) , puoi postare lo schema?

i

posso

da quel poco che ho trafficato con il C, ti posso dire che il linguaggio di Arduino assomiglia molto, ma molto, a mikroC della Mikroelettronica quindi una "traduzione" non mi sembra impossibile

Reply to
emilio

Archaeopteryx ha scritto:

--
Elio Fabri
Reply to
Elio Fabri

Non serviva niente dopo la virgola, con tutto quello che ti devo... :)

In sostanza l'idea alla base della tecnica del "wrapping"

usare quella in tutti i files del progetto. Al suo interno

Questa funzione esterna sfrutta il preprocessore del C/C++ che permette di effettuare sostituzioni a livello lessicale, prima della compilazione, e queste istruzioni possono venire attivate o inibite da un solo file. Per esempio potrei scrivere

void ScriviPin (int numeropin) { #ifdef PIATTAFORMA_1 ScriviPinPerHardware1 (numeropin) ; #elif PIATTAFORMA_2 OtherHardwarePinout (numeropin) ; #endif }

E usarla lungo tutto il programma.

esiste PIATTAFORMA_1 oppure PIATTAFORMA_2. Quello che non

Normalmente si usa inserire i vari

#define PIATTAFORMA_1

In un solo file che centralizza tutto il flusso della

programma da un hardware all'altro. Nel caso specifico la

Scusa l'esposizione poco scientifica ma forse un discorso

--
- Se scegli la pillola blu la tua vita 

- E se scelgo quella rossa?
Reply to
Archaeopteryx

sarei molto contento di contribuire al mondo opensource.

formatting link
p=sharing

Tieni conto che ho iniziato a scriverlo meno di una settimana fa con ampi ritagli di tempo e non credo si possa definire nemmeno alla versione alfa. I pin sono dati

molti.

direzione su cui ci sarebbe da fare.

portarlo a una versione beta.

--
- Se scegli la pillola blu la tua vita 

- E se scelgo quella rossa?
Reply to
Archaeopteryx

Archaeopteryx ha scritto: > Non serviva niente dopo la virgola, con tutto quello che > ti devo... :) Mi dispiace che non hai colto l'ironia e la parola "traduzione". Grosso modo quello che mi hai gentilmente scritto l'avevo afferrato. Lo scopo del mio post era un altro :-)

--
Elio Fabri
Reply to
Elio Fabri

Non l'ho minimamente capito, mi spiace... :( A questo punto se me lo spiegassi mi farebbe piacere.

--
- Se scegli la pillola blu la tua vita 

- E se scelgo quella rossa?
Reply to
Archaeopteryx

O forse lo scopo era un invito a evitare anglicismi? Forse

intenzione.

--
- Se scegli la pillola blu la tua vita 

- E se scelgo quella rossa?
Reply to
Archaeopteryx

Vanno benissimo gli anglicismi. Anzi, ben vengano se permettono di capirsi meglio.

nome deriva dal miscuglio del latino pitecus con il greco antropos:^)

Reply to
asdf

? del

LOL! :-)

Reply to
emilio

Da qualche parte dovrei avere una lista dei termini

almeno un po' di equilibrata resistenza a innovazioni troppo rapide non la vedo male. Sicuramente un buon 70% dei termini di cui sono infarciti i tg sono evitabili. Per alcuni resisto io con tutte le mie forze, come ad esempio

macchinoso. E ce ne sono diversi altri.

--
- Se scegli la pillola blu la tua vita 

- E se scelgo quella rossa?
Reply to
Archaeopteryx

Archaeopteryx ha scritto:

mi ha fatto ridere l'esempio del pitecantropo ! :-)

Reply to
emilio

E vogliamo parlare dell'aulico "orchiclasta" per "rompic..."? :D

--
- Se scegli la pillola blu la tua vita 

- E se scelgo quella rossa?
Reply to
Archaeopteryx

Niente di che; dopo opportuno trigger (pin o tempo dalla partenza) aspetta un po' poi emette una sequenza di impulsi su un pin, aspetta un altro po' e poi si mette in ascolto su un pin. Se non arriva segnale entro un tempo assegnato, lo segnala su un altro pin. Poi ci sono altre cose come monitoraggio dello stato sulla seriale, reset

adesso tutte le chiamate all'hardware sono su un file separato.

computer dei vari Apollo e ho trovato un libro che lo descrive; solo dopo aver scritto qualche timer si capisce che incredibile virtuosismo tecnologico sia stato considerata l'epoca.

--
- Se scegli la pillola blu la tua vita 

- E se scelgo quella rossa?
Reply to
Archaeopteryx

Potresti postare il titolo ed edit. di questo libro? Giorgio

Reply to
Giorgio

Il 18/04/2021 13:13, Archaeopteryx ha scritto:

ma i sistemi di navigazione degli anni 60, intendo giroscopi, accelerometri ed altro, in quegli anni erano puramente meccanici/ idraulici?, intendo quei sistemi che bene o male tengono il razzo/ aviogetto su una determinata rotta, o si interfacciavano con i "computer" dell'epoca?

Reply to
d.Martin

A quanto ho capito da una lettura a bocconcini del libro il computer emetteva i comandi e leggeva i dati dei sensori. Non c'era un protocollo di comunicazione che per esempio potesse confermare al sensore che il computer aveva ricevuto ed elaborato, oltretutto parliamo di memorie di pochissimi k a nuclei di ferrite. Ciononostante c'era un rudimentale multitasking e altre soluzioni non banali nemmeno oggi. L'intero sistema si basava sull'assunzione che il comando sarebbe stato eseguito in

formatting link

--
- Se scegli la pillola blu la tua vita 

- E se scelgo quella rossa?
Reply to
Archaeopteryx

Il 19/04/2021 20:47, Archaeopteryx ha scritto:

Visto che siamo in argomento beccatevi pure questa

formatting link

Reply to
RobertoA

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.