Ciao, ho un altro problema.
Partendo dal secondo sketch visibile e scaricabile dal mio sito:
http://epsilonphoto.weebly.com/il-secondo-sketch.htmlsono andato avanti per svolgere la seguente funzione: come prima operazione, una volta collegato il telescopio (arduino) a stellarium, voglio dire a stellarium dove sta puntando il telescopio in quel momento. Potrei fare questa operazione in due modi:
1) attraverso una tastiera numerica collegata ad arduino inserisco le coordinate dell'oggetto puntato (ad esempio una stella luminosa). I valori inseriti aggiornano quelli memorizzati nelle variabili di tipo int nello Sketch;
2) punto il telescopio verso una stella luminosa, a quel punto su stellarium premo ctrl 1. Stellarium invia i dati seriali ad arduino che aggiornerà i valori delle variabili dello Sketch.
Mi sembrava più comoda la seconda soluzione, pertanto mi sono messo al lavoro ed è sorto un problema:
riesco ad aggiornare le coordinate di AR, ma le DEC no.
Vi spiego perché:
Usando lo Sketch accennato all'inizio, ho premuto ctrl 1, poi sono uscito da stellarium per leggermi il file di log in modo da capire in che modo stellarium invia le coordinate. Qui sotto c'è un estratto del file di log:
16150, 17:18:56.325920Z: Connection::performWriting: writeNonblocking(5) returned 5; #:GR#
16150, 17:18:56.372795Z: Connection::performReading: readNonblocking returned 9; 06:11:40#
16150, 17:18:56.372795Z: Lx200CommandGetRa::readAnswerFromBuffer: RA = 06:11:40
16150, 17:18:56.372795Z: Lx200Connection::writeFrontCommandToBuffer(Lx200CommandGetDec): queued
16150, 17:18:56.404045Z: Connection::performWriting: writeNonblocking(5) returned 5; #:GD#
16150, 17:18:56.450920Z: Connection::performReading: readNonblocking returned 10; +80ß45:05#
16150, 17:18:56.450920Z: Lx200CommandGetDec::readAnswerFromBuffer: Dec = +80:45:0516150, 17:18:56.779045Z: Lx200Connection::sendCommand(Lx200CommandStopSlew)
16150, 17:18:56.779045Z: Lx200Connection::writeFrontCommandToBuffer(Lx200CommandStopSlew): queued
16150, 17:18:56.779045Z: Lx200Connection::sendCommand(Lx200CommandSetSelectedRa(11:3:43))
16150, 17:18:56.779045Z: Lx200Connection::writeFrontCommandToBuffer(Lx200CommandSetSelectedRa(11:3:43)): queued
16150, 17:18:56.779045Z: Lx200Connection::sendCommand(Lx200CommandSetSelectedDec(+61:45:6))
16150, 17:18:56.779045Z: Lx200Connection::sendCommand(Lx200CommandGotoSelected)
16150, 17:18:56.794670Z: Connection::performWriting: writeNonblocking(17) returned 17; #:Q#:Sr 11:03:43#
16150, 17:18:56.825920Z: Lx200Connection::sendCommand(Lx200CommandGetRa)
16150, 17:18:56.825920Z: Lx200Connection::sendCommand(Lx200CommandGetDec)La parte in blu evidenzia le coordinate che avevo inserito di default nello Sketch del programma, mentre quelle in rosso mostrano cos'è successo quando ho premuto ctrl 1.
Sembrerebbe che stellarium invii entrambe le coordinate, ma il comando vero e proprio (#:Q#:Sr) è riferito solo a quella di AR.
E la DEC?
Ho pensato che chiedesse un aggiornamento alla volta e che quindi la DEC mi venisse chiesta successivamente. Ho scritto il terzo Sketck (provvisorio):
http://epsilonphoto.weebly.com/il-terzo-sketch.htmlnel quale avviene l'aggiornamento della coordinata di AR. Della DEC, però, manco l'ombra, nemmeno se premo nuovamente ctrl 1.
Ho provato ad usare un software che legge le comunicazioni seriali tra due dispositivi per capire cosa si dicono questi due ma alla riga 000958 (vedi immagine allegata) si vede solo l'invio delle coordinare AR.
Non so più cosa fare...
