Nuovo firmware per Celestron Compustar

Aggiornamento 27 Dicembre 2017: Nuova versione, 1.70!
Aggiornamento 29 Marzo 2018: Nuova versione, 1.71!
Aggiornamento 19 Dicembre 2018: Nuova versione, 1.80!
Aggiornamento 28 Novembre 2019: Nuova versione, 1.90!

Una delle ragioni per cui ho scritto l’emulatore del Celestron Compustar (cliccate qui per l’articolo completo) è che volevo modificare il firmware del Compustar stesso, sia perché avevo un po’ di idee in mente sia perchè volevo semplificare l’utilizzo che facciamo del Compustar all'”Osservatorio Città di Legnano“.

Il fatto di conoscere l’assembler dell’8051 (che è il microprocessore, prodotto da Intel, utilizzato dal Compustar) mi ha reso le cose più semplici, ma c’è comunque stata una lunga fase di analisi (che è anche stata divertente, almeno per me) per capire come funzionasse il firmware originale e dove potessi apportare le modifiche necessarie ad implementare tutte le cose che avrei voluto aggiungere (come, ad esempio, un chip aggiuntivo di real time clock per non dover inserire la data ogni volta che utilizzavo il telescopio).

Il firmware che sto rilasciando ora è basato su quello originale del Compustar e quindi utilizza il catalogo originale del 1986, ma ovviamente accetta qualunque data a partire dal 1 gennaio 2000. E’ la versione 1.60 perché ho deciso di non rilasciare tutte le versioni intermedie che ho sviluppato negli anni.

La versione 1.70 aggiunge un po’ di cose e ne corregge altre, ma la novità principale è un aggiornamento del protocollo RS232 che ne permette l’uso con un computer (tramite un driver -ASCOM- sul PC). Se siete interessati, questo articolo vi spiega tutto. Sfortunatamente, non sono riuscito a far stare questo nuovo protocollo nella EPROM standard da 32KByte, per cui è necessario utilizzarne una da 64KByte (il che richiede una modifica hardware al Compustar). In ogni caso ho rilasciato la versione 1.70 anche in una EPROM da 32KByte, nel caso non siate interessati al protocollo ASCOM ma volete comunque tutto il resto.

La versione 1.71 corregge un altro piccolo bug ed introduce le EPROM con i database Y2K-Normal e Y2K-Alt di Tom Sorbel, che ringrazio per avermi dato l’autorizzazione a pubblicare queste versioni.

La versione 1.80 aggiunge il supporto per pilotare una cupola, corregge qualche bug e aggiunge una nuova e differente rampa di accelerazione per i motori, rampa disegnata da Tom Sorbel (che ringrazio).

La versione 1.90 corregge un po’ di bugs, migliora il supporto della cupola, aggiunge un nuovo menù per gestire la luminosità del display e genera un segnale quando il telescopio si muove in velocità SLEW.

Ci sono un sacco di modifiche/fix/aggiunte in questo firmware e, se facessi una semplice lista con tutte, verrebbe una lista piuttosto confusionaria. Per cui la divido in sezioni, sperando di migliorare un pochino la situazione.

Bug fixati

Versione 1.60
  1. Sistemato il bug dell'”ultimo giorno di Febbraio”. (Se la data cambiava dall’ultimo giorno di febbraio al primo di marzo, a causa di un confronto con 28 fatto in esadecimale invece che in decimale, la data diventava il 29 di febbraio o il 30 nel caso di anni bisestili)
  2. Sistemato un bug nel timer (che stava incrementando un byte errato, per cui il timer corrompeva l’orologio dopo 6553.5 secondi).
  3. Fixato DISP/TIMEDATE che stava lasciando gli indicatori di RA e DEC attivi.
  4. Aggiunta la possibilità di dare un ABORT durante la ricerca della stella di riferimento nelle procedure di BEGIN o ALIGN.
  5. SET/TIMEDATE (ed anche BEGIN, dal momento che utilizzano la stessa routine) ora accetta un anno a partire dall’anno 2000.
  6. Fare SLEW/OBJ dopo SLEW/COORDS non applica la rifrazione atmosferica una seconda volta (era già stata applicata alle coordinate dell’oggetto durante lo SLEW/COORDS).
  7. La funzione per l’inserimento dell’epoca (SET/EPOCH) permette ora l’inserimento di un anno dal 1900 al 2100 inclusi. Tra parentesi, l’epoca inserita in SET/EPOCH viene usata per il puntamento fatto con SLEW/COORDS. Se si punta un oggetto del database, viene automaticamente utilizzata l’epoca del database (e l’epoca impostata con SET/EPOCH non viene modificata)
  8. SET/EPOCH cancella lo schermo prima di richiedere la nuova epoca.
Versione 1.70
  1. Corretta una attivazione spuria di OPT-0/OPT-1 durante il boot. Questo problema era presente anche nel firmware originale, ma senza una NVRAM (che permette di avere queste opzioni già abilitate all’avvio) la cosa passava inosservata.
  2. Corrette le opzioni di default per C11/C14 (nella versione 1.60 c’era attiva anche OPT-9-6 che non avrebbe dovuto esserlo).
  3. Corretto la velocità di inseguimento lunare, che avevo impostata ad un valore sbagliato. Ora è 14.439 arcsec/s.
  4. Il tasto “-” non è più abilitato nel menù OPT (dove comunque non serviva a nulla)
  5. Accese le etichette di ABORT durante e dopo la procedura di END
  6. Gli indicatori della velocità e di UP/DOWN non venivano ripristinati se si usciva dalla procedura di END.
Versione 1.71
  1. Corrette (di nuovo) le opzioni di default per C11/C14 (nella versione 1.70 c’erano attiva anche OPT-3 e OPT-5 che non avrebbero dovuto esserlo).
Versione 1.80
  1. Corretto un piccolo bug (presente sin dal firmware originale) nel calcolo della ascensione retta quando veniva selezionato un oggetto del database (e ringrazio Tom Sorbel per aver notato questo bug).
  2. Corretto un errato output del log (se attivo) fatto durante la procedura di BEGIN
Versione 1.90
  1. Corretto un bug nella versione da 32K che faceva ripartire SCAN/LOOK dall’inizio ogni volta che si premeva il tasto ABORT
  2. Corretto l’utilizzo dello stack che avrebbe potuto portare ad un overflow (almeno teoricamente) e a malfunzionamenti del sistema
  3. Migliorata l’affidabilità dei dati trasmessi sull’uscita per la cupola (per i dettagli, vedere Output del Compustar per automatizzare la cupola)
  4. Corretto un problema per cui i tasti di movimento non muovevano il telescopio in modalità PC quando l’inseguimento era stato interrotto
  5. Corretta la velocità di guida (pulse guide) in declinazione che non era quella che avrebbe dovuto essere

 

Modifiche varie

Versione 1.60
  1. Il sito di default è ora Legnano (351 05, 45 36 N).
  2. Accorciato il lampeggio all’avvio.
  3. La versione del firmware viene visualizzata all’avvio.
  4. La versione del firmware può anche venire visualizzata con DISP/SCOPE/REV.
  5. Aggiunto DISP/SCOPE/EPOCH per visualizzare l’epoca corrente (quella impostata con SET/EPOCH).
  6. SET/SCOPECOORDS/OBJ non è più un sinonimo di SYNC, ma imposta come oggetto corrente le coordinate del telescopio (che poi è l’equivalente di fare SLEW/COORDS alle coordinate del telescopio). Utile per “segnare” un posto, spostarsi e tornare al posto segnato con SLEW/OBJ.
  7. Lo schermo viene parzialmente cancellato dopo un ABORT, per non lasciare visualizzate informazioni parziali. Non sono sicuro al 100% che questa modifica sia completamente funzionale, comunque.
  8. Quando viene visualizzato un oggetto CNGC che è anche un oggetto Messier, il Compustar visualizza sia l’indicatore “CNGC” che l’indicatore “M” alla sinistra del numero (CNGC) dell’oggetto. E’ ora possibile visualizzare anche il numero Messier, usando DISP/OBJ/M.
  9. Quando viene visualizzato un oggetto Messier (c’è l’indicazione “M” attiva e il numero è tra 1 e 110), è ora possibile anche visualizzare il corrispondente numero CNGC, usando DISP/OBJ/CNGC.
  10. Aggiunta la visualizzazione (non calibrata, e quindi approssimata!) della tensione di batteria assieme alla versione del firmware in DISP/SCOPE/REV.
  11. Durante la procedura di allineamento del telescopio nella funzione di BEGIN (quando c’è sia l’indicatore di ALIGN e che l’indicatore di OBJ lampeggianti sulla tastiera), il firmware originale aveva attivi entrambi gli ABORT, il tasto BACK e il tasto ENTER, ma sia BACK che ENTER facevano di fatto ENTER. Ora il tasto BACK non c’è più, ed è stato aggiunto il tasto SPEED che permette di alternare la velocità tra SET e SLEW.
Versione 1.70
  1. Aggiunto le versioni di firmware per il C8
  2. Stampa l’intestazione del log osservativo se l’OPT-0 è abilitata all’avvio (grazie al fatto di avere una NVRAM)
  3. Alla fine della procedura di END (dopo che il telescopio è stato parcheggiato) la scritta “PARKED” comparirà sul Compustar.
  4. Aggiunto un suono specifico (tipo bip-bip-bip) alla fine di un goto
  5. Aggiunta la modalità PC/protocollo di supporto ASCOM sulla seriale (più informazioni in “Driver ASCOM per il Celestron Compustar”, qui. Solo per EPROM da 64KByte).
Versione 1.71
  1. Aggiunte le versioni di firmware per i database Y2K-Normal e Y2K-Alt
Versione 1.80
  1. Supporto per l’automazione cupola (ulteriori informazioni le trovate qui: Output del Compustar per automatizzare la cupola)
  2. Nuovo formato del comando DISP/SCOPE/REV che visualizza anche il modello del telescopio (C8 o C14), il database usato e la dimensione della EPROM
  3. Aggiunto un nuovo tasto in tutti i menu opzioni (OPT) per ripristinare le opzioni ai valori di default (OPT-BEGIN, OPT-8-BEGIN, OPT-9-BEGIN)
  4. Modificato come DISP/SCOPE/ALT-AZ viene visualizzata: invece di calcolare altezza e azimuth una volta sola, i valori visualizzati sono continuamente aggiornati fino a che si rimane in quel menù. Usare ABORT per uscire e tornare al menù principale
Versione 1.90
  1. Aggiunto un nuovo menù (SET/SCOPE/DISP) per spegnere temporaneamente e totalmente il display (SET/SCOPE/DISP/ALL, poi basta premere un tasto qualunque per riattivare il display) e per ridurre la luminosità del display (SET/SCOPE/DISP/REV alterna tra luminosità normale e luminosità ridotta, mentre SET/SCOPE/DISP/0 sceglie la luminosità ridotta e SET/SCOPE/DISP/1 quella normale)
  2. Per via della modifica al punto 1, SET/SCOPE COORDS è diventato SET/SCOPE/COORDS
  3. Aggiunto SLEW/ALIGN per segnalare alla cupola di forzare un ri-allineamento (solo per la EPROM da 64K)
  4. Il pin 3 di CN1 (il connettore che collega il Compustar alla PowerBox) segnala quando il telescopio si sta muovendo in velocità SLEW (Basso=velocità normale o fermo, Alto=movimento di almeno un asse in velocità SLEW). Questo segnale può venire utilizzato in una Power Box modificata per modificare la tensione di alimentazione dei motori.

Opzioni aggiunte e/o modificate

  1. Modificata l’opzione OPT-0 di log: ora la data viene stampata con l’anno a 4 cifre e viene aggiunta un’intestazione quando l’opzione stessa viene attivata.
  2. Aggiunta l’opzione OPT-2 per stampare la data e l’ora con dei separatori per renderli maggiormente leggibili: aaaa-mm-gg oo:mm:ss invece di aaaammggoommss. Notare che questa opzione rende la riga di log più lunga di 80 caratteri.
  3. OPT-3 se attivata disabilita l’inserimento delle coordinate del sito nella procedura di BEGIN.
  4. OPT-4 se attivata disabilita l’inserimento della data e dell’ora nella procedura di BEGIN.
  5. OPT-5 se attivata visualizza il nome di Bayer della stella invece della magnitudine per le 100 stelle di riferimento (da REF 1 a REF 100).
  6. OPT-6 attiva/disattiva il supporto ASCOM.
  7. OPT-7 attiva/disattiva la sincronizzazione della cupola.
  8. OPT-8-6 limita la velocità di spostamento in RA al 50% della velocità massima. Questo può risultare utile per evitare stalli del motore nel caso il telescopio non sia sufficientemente bilanciato.
  9. OPT-8-7 limita la velocità di spostamento in DEC al 50% della velocità massima. Questo può risultare utile per evitare stalli del motore nel caso il telescopio non sia sufficientemente bilanciato.
  10. OPT-8-2 e OPT-8-3 sono opzioni destinate al funzionamento della cupola e il loro significato viene definito dal controller della cupola.
  11. OPT-8-4 abilita la sincronizzazione automatica della cupola durante la procedura di BEGIN e ferma questa sincronizzazione automatica durante la procedura di END.
  12. OPT-8-5 abilita la rampa di accelerazione di Tom Sorbel
  13. OPT-8-0 e OPT-8-1 scelgono la velocità di inseguimento. Vedere la tabella qui sotto. Quando viene scelta una velocità di inseguimento diversa da quella siderale l’indicatore READY lampeggia.

Selezione velocità di inseguimento

OPT-8-0OPT-8-1Velocità di inseguimentoIndicatore READYCommento
Non impostataN/A15.041 arcsec/sFissaVelocità siderale (la normale velocità di inseguimento del Compustar)
ImpostataNon impostata15.000 arcsec/sLampeggianteVelocità solare
ImpostataImpostata14.539 arcsec/sLampeggianteVelocità lunare (molto approssimata), aggiornata nel firmware 1.70

Per la motivazione che sta dietro alle opzioni OPT-3 e OPT-4 leggete il prossimo paragrafo!

Aggiornamento hardware: aggiunta di una memoria non volatile ed in un orologio al Compustar

Questo firmware supporta una memoria non volatile ed un orologio (chiamato Real Time Clock, RTC) installato in uno zoccolo altrimenti inutilizzato nel compustar!!! La memoria non volatile permette di salvare ciò che è stato configurato (le opzioni, le coordinate del sito osservativo) e mantenerle configurate anche quando il Compustar viene spento.

L’RTC permette invece di programmare la data/ora del Compustar una volta (utilizzando sia BEGIN che SET/TIMEDATE) e trovarsela già corretta le volte successive.

Per una descrizione sulla procedura per installare il chip RTC, fate riferimento alla pagina “Modifiche hardware per il Compustar Celestron”, qui.

Con questo circuito integrato installato è possibile avere una partenza molto più rapida del Compustar (utile soprattutto nelle installazioni fisse): basta attivare le opzioni OPT-3, OPT-4 e l’opzione OPT-9-6 (che è l’opzione standard per saltare l’allineamento alla stella polare durante la procedura di BEGIN): la procedura di BEGIN diventa un semplice allineamento verso una stella di riferimento scelta dal Compustar nei pressi del meridiano. E’ anche possibile lasciare le opzioni OPT-3 e OPT-4 disattivate e iniziare con ALIGN invece che con BEGIN.

Lista aggiornata delle opzioni disponibili

OpzioneDisponibile dal firmware...Descrizione
OPT-0Firmware originaleLog osservativo: 1=Attivo
OPT-1Firmware originaleRichiedi commento per log osservativo. 1=Attivo. Vedere nota sotto
OPT-21.60Formattazione data/ora nel log osservativo. 0=Compatto, 1=Leggibile (ma la riga supera gli 80 caratteri)
OPT-31.600=Chiedi, 1=Non chiedere le coordinate del sito osservativo nella procedura di BEGIN
OPT-41.600=Chiedi, 1=Non chiedere la data/ora nella procedura di BEGIN
OPT-51.60Per le 100 stelle REF: 0=Visualizza la magnitudine, 1=Visualizza il nome BAYER
OPT-61.700=Support ASCOM disabilitato, 1=Supporto ASCOM abilitato
OPT-71.801=La cupola deve essere sincronizzata con il telescopio
OPT-8-01.600=Velocità di inseguimento siderale, 1=Velocità di inseguimento impostata con OPT-8-1
OPT-8-11.600=Velocità di inseguimento solare, 1=Velocità di inseguimento lunare approssimata
OPT-8-21.80Opzione per cupola
OPT-8-31.80Opzione per cupola
OPT-8-41.801=Auto-Sync: la cupola viene sincronizzata (OPT-7) durante la procedura di BEGIN e de-sincronizzata (togliendo OPT-7) durante la procedura di END
OPT-8-51.801=Usa una differente rampa di accelerazione (fatta da Tom Sorbel).
0=Usa le rampe originali
OPT-8-61.600=Velocità di movimento in RA massima, 1=Velocità di movimento in RA limitata al 50% della massima
OPT-8-71.600=Velocità di movimento in DEC massima, 1=Velocità di movimento in DEC limitata al 50% della massima
OPT-9-0Firmware originaleRapporto in RA: 0=360:1, 1=720:1
OPT-9-1Firmware originaleRapporto in DEC: 0=216:1, 1=432:1
OPT-9-2Firmware originale0=Parcheggia chiuso, 1=Parcheggia aperto
OPT-9-3Firmware originale0=Parcheggia N/S, 1=Parcheggia orizzontale
OPT-9-4Firmware originale0=Rotazione RA normale, 1=Rotazione RA inversa
OPT-9-5Firmware originale0=Rotazione DEC normale, 1=Rotazione DEC inversa
OPT-9-6Firmware originale1=Salta l'allineamento alla polare nella procedura di BEGIN
OPT-9-7Non usata

Un paio di note riguardanti queste opzioni:

  • Non ho mai trovato documentata l’opzione OPT-1. Quello che ho descritto nella tabella sopra è quello che ho dedotto analizzando il codice. La ragione per cui potrebbe non essere stata documentata è perché la richiesta del numero viene fatta anche quando il Compustar fa dei movimenti ad uso interno che potrebbero non essere evidenti all’utente, come durante l’avvio e durante le procedure di BEGIN, ALIGN e END.
  • Ho trovato da altre parti documentata l’opzione OPT-9-7 come “0=Montatura a forcella, 1=Montatura alla tedesca” ma il firmware originale non legge mai questa opzione.
  • Si possono accendere (quasi) tutti i led del display facendo DISP/SCOPE/ALTAZ e poi OPT/<il tasto tra lo 0 e ENTER>. Funziona anche con il firmware originale! Questo è stato cambiato con la versione 1.80 del firmare: il tasto da usare è quello a destra del tasto ‘5’ (senza nessuna etichetta illuminata) e non si deve più fare DISP/SCOPE/ALT-AZ prima.
  • Le opzioni OPT-6 e OPT-7 non possono venire abilitate sui firmware da 32KByte.
  • (Versione 1.80+) Tutti i menù OPT abilitano il tasto BEGIN per poter ripristinare le opzioni al loro valore di default (nel caso aveste fatto casino, e la NVRAM non vi permette di ripristinarle semplicemente spegnendo e riaccendendo il Compustar)

Come provare questo firmware con l’emulatore del Compustar

Prima di programmare una vera e propria EPROM per installare questo nuovo firmware in un vero Compustar, la potete provare con l’emulatore.

E’ sufficiente downloadare il file (vedere sotto) in una cartella, scompattarlo, avviare l’emulatore e caricare questo firmware al posto dei quello originale selezionando nel’emulatore il menù Options e poi la voce Settings. Si aprirà la finestra delle impostazioni, cliccate sul bottone alla destra della casella “Code (A)” e selezionate il file che avete appena scompattato.

Potrete anche simulare la presenza del chip di memoria non volatile/RTC, mettendo la spunta a fianco di “Enable DS1643 (Socket D)”.
Se volete provare un firmware da 64KByte, dovrete mettere la spunta anche all’opzione “Enable 64Kbytes code eprom”.

Cliccate OK e riavviate il Compustar (per caricare il nuovo firmware) selezionando la voce “Reset Compustar” sempre dal menù “Options”.

Vedrete il nuovo firmware avviarsi come il firmware che già conoscete ma con l’aggiunta del numero “1.60” (la versione del firmware) nella parte in basso a sinistra del display.

La prima cosa che suggerisco di provare è attivare l’opzione OPT-5 e visualizzare i dati di qualche stella, per esempio Schedar (REF 4, Alpha Cassiopea) premento DISP/REF/4/ENTER (in questo caso si può saltare la procedura di BEGIN dal momento che non stiamo lavorando con il vero Compustar). Vedrete che il Compustar vi dirà che la stella è ALP CAS (ALPha CASsiopea).

Un’altra cosa che potete provare è questa: andate alle coordinate RA 10h00 e DEC 70 00 (SLEW/COORDS/10 00 0/ENTER/70 00/ENTER) e aspettate che il telescopio finisca il movimento. Supponiamo che a questo punto vediate una galassia nell’oculare e volete scoprire cosa è. Premete il tasto FIELD sul Compustar che vi dirà che è CNGC 3034, ma allo stesso tempo vi dirà che questa galassia è anche nel catalogo Messier accendendo l’indicatore “M”. Con questo nuovo firmware potrete farvi dire di che oggetto Messier si tratta: premete ABORT per uscire dalla funzione di FIELD e premete poi DISP/OBJ/M. Il Compustar vi dirà che si tratta di M82!!

Nota: questo esempio potrebbe non funzionare se avete impostato il Compustar in un sito in cui M82 non è visibile.

 

Il nuovo firmware

Questo nuovo firmware per il Compustar ora supporta sia il database originale del 1986 che i database Y2K aggiornati da Tom Sorbel. Utilizzate il firmware corretto per il database che avete.

Nel file .ZIP che scaricate, troverete 12 file differenti:

FileTelescopioDatabaseTipo di EPROMSupporto ASCOM/CupolaChecksum
C8_190_32K-1986.binC8198627C256 (32K)No0x0886
C8_190_64K-1986.binC8198627C512 (64K)0x2374
C14_190_32K-1986.binC11/C14198627C256 (32K)No0x0865
C14_190_64K-1986.binC11/C14198627C512 (64K)0x2353
C8_190_32K-Normal.binC8Y2K+Normal27C256 (32K)No0x3B97
C8_190_64K-Normal.binC8Y2K+Normal27C512 (64K)0x5685
C14_190_32K-Normal.binC11/C14Y2K+Normal27C256 (32K)No0x3B76
C14_190_64K-Normal.binC11/C14Y2K+Normal27C512 (64K)0x5664
C8_190_32K-Alt.binC8Y2K+Alt27C256 (32K)No0xDCA9
C8_190_64K-Alt.binC8Y2K+Alt27C512 (64K)0xF418
C14_190_32K-Alt.binC11/C14Y2K+Alt27C256 (32K)No0xDC88
C14_190_64K-Alt.binC11/C14Y2K+Alt27C512 (64K)0xF3F7

Nota: le EPROM da 64KByte richiedono ulteriori modifiche al circuito del Compustar. Fate riferimento a “Modifiche hardware per il Compustar Celestron”, qui.

Dopo aver downloadato il file, dovrete scompattarlo e programmare una EPROM vergine da 32KByte (27C256) oppure una da 64KByte (27C512) con il firmware scelto e rimpiazzare la EPROM più lontana dal connettore DB9 del joystick. Le altre due EPROM (che contengono il database) vanno lasciate installate.

 

Leave a Reply

Your email address will not be published.