Software
Programmi vari, radioamatoriali e non,
per Linux, DOS e Windows


I programmi qui presenti sono distribuiti nella speranza che siano utili, ma senza alcuna garanzia. Salvo avviso contrario, sotto tutti rilasciati sotto la GNU Public License.

Legenda: programmi per Linux programmi per DOS programmi per Windows

Il progetto Kylix di Borland è da tempo defunto. Ho di conseguenza rimosso tutti i link alle relative pagine.
Un interessante RAD nativo per Linux, simile a Delphi e sempre basato sull'Obiect Pascal è Lazarus.
Si tratta in un progetto ancora in fase di sviluppo, ma già usabile anche per progetti non proprio banali.


Drivers per la scheda ESCC
Sono drivers modulari per la scheda ESCC in DMA (vedi la sezione hardware) costruita dal GPCM (Gruppo Packet Casale Monferrato). Il primo è un driver specifico basato sui drivers della PI e previsto per i kernel 2.2.X. Il secondo è basato sul driver generico DMASCC, quindi va bene non solo per la GPCM-ESCC ma per molte altre schede simili e prevede la compilazione condizionale per varie versioni di kernel (2.2.X, 2.3.X e probabilmente anche 2.4.X).

IK4BLV ha colpito ancora!
È ora disponibile la versione di dmascc.c col modo "clock esterno" modificato per un corretto funzionamento in unione agli RTX a 1.2 Mbit di Matjaz Vidmar!

[gpcmescc-0.8.tgz] [dmascc-GPCM+IK4BLV.tgz]

TTYLINK 0.98a
Client e server TTYLINK. Il server è previsto per essere lanciato da inetd, mentre il client è un'applicazione per la console basata su NCURSES. Permette il salvataggio e l'invio in email automatico del testo ricevuto in caso di mancata risposta da parte dell'operatore. La versione 0.98a è una maintenance release per allineare i sorgenti alla ultima Debian testing/unstable.

[ttylink.tgz] [Uno screenshot]

VN (View Nasa)
Un visualizzatore per i file grafici nel formato utilizzato dalla NASA nel suo Planetary Data System. Permette la visualizzazione sia delle immagini che dei dati memorizzati nei file ed alcune funzioni speciali (aumento del contrasto, ecc.). Si tratta di un'applicazione da console che richiede SVGALIB ed una scheda video che supporti 1024x768 256 colori.

[vn.tgz]

SmartMonitor
Un programma per gestire la segnalazione di eventi esterni attraverso la porta parallela o seriale, previsto per essere usato in unione al package powerd di Alessandro Rubini, ma usabile anche stand-alone, lanciandolo in background e ridirigendo la sua uscita su /dev/null.

Il programma SmartMonitor è altamente configurabile, potendo utilizzare uno qualsiasi dei bit d'ingresso della porta parallela o della porta seriale standard per ciascuna funzione desiderata. Sono ugualmente configurabili il livello attivo dei bit, il messaggio registrato su log ed inviato in email al destinatario, anch'esso configurabile, e il comando da eseguire in occasione dell'attivazione di ciascun bit.

La nuova versione di SmartMonitor incorpora la gestione di tutte le interfacce sinora sviluppate: le due interfacce "dumb" per acquisire lo stato di interruttori e/o segnali logici dalla porta parallela o dalla porta seriale e la nuova interfaccia "smart" per la porta parallela, che incorpora un convertitore A/D a 8 bit e quindi permette il rilevamento, oltre che dei consueti quattro ingressi digitali, anche di quattro grandezze analogiche (tensioni nel range 0-5V).

È prevista anche la gestione dell'interfaccia "smart" seriale basata su ST6 ST6mon, che però è ancora in fase di sviluppo.

Questo programma ed il relativo hardware è nato per tenere sotto controllo lo stato di un armadio contenente un nodo packet radio, controllando lo stato dell'alimentazione (rete o UPS), di una ventola che parte solo superata una certa temperatura interna e delle porte dell'armadio stesso ed annunciando gli eventi via email ai sysop.

Nel programma sono anche compresi un esempio di script CGI (sotto forma di script BASH per Linux e simili) e uno di script PHP per creare una paginetta web dinamica che mostri lo stato del server, sommando le informazioni ottenute da SmartMonitor, da lm_sensors e dal programma di gestione dell'UPS (nel caso un APC). Qui potete vedere il collage di due screenshot (non ci stava in una schermata sola...) della pagina generata da tali script su ir1bi.1.it.ampr.org.

Gli schemi di interfaccia, sia quelli minimi con semplici interruttori, sia quelli "smart" (per ora solo quello parallelo) sono disponibili nella sezione hardware.

[smartmonitor.tgz]

NOS NWIDG
L'ennesima versione del NOS di KA9Q per DOS, contenente varie modifiche e soprattutto il driver per la scheda GPCM-ESCC Si tratta di un grosso file ZIP (1.3 MB) contenente varie versioni del NOS, compilate con ottimizzazioni per processori 8086, 80186, 80286 e 80386, alcuni programmi accessori ed un file batch di autoinstallazione. Il copyright del NOS originale di KA9Q prevedeva il libero uso solo per scopi educativi e radioamatoriali. Essendo questo un lavoro derivato da esso, il suo utilizzo è soggetto alla stessa limitazione.

[NOSNWIDG.ZIP]

Grazie alla collaborazione di IK4BLV è stato rivisto, corretto, collaudato e fatto funzionare il driver per la scheda ESCC in unione con gli RTX a 1Mbps di S53MV, Matiaz Vidmar. Nella versione del driver reperibile qui sotto il modo CLOCK ESTERNO (baudrate=0) è previsto appunto per l'interfacciamento con tali RTX.

Il driver modificato è ovviamente incorporato negli eseguibili contenuti nell'archivio NOSNWIDG.ZIP. Chi non vuole scaricare nuovamente tale grosso file ed è in grado di ricompilare i sorgenti, può prelevare il solo sorgente del nuovo driver, scompattarlo, sostituire il file gpcmescc.c così ottenuto al vecchio e ricompilare il NOS.

[gpcmescc.c per RTX 1Mbps]

Pur essendo il NOS un programma veramente degno di nota,è ormai obsoleto ed ha senso usarlo ancora solo su macchine altrettanto obsolete (286 o meno) o con poca memoria (4MB o meno). Se stavate progettando di usare il NOS per qualche applicazione radioamatoriale e disponete di una macchina relativamente recente con sufficiente memoria (386 o meglio con almeno 32 MB di RAM) considerate l'ipotesi di passare a Linux.

Programma di test scheda ESCC
Questo programma è compreso nell'archivio NOSNWIDG.ZIP, ma siccome potrebbe servire anche a qualcuno che non ha nessun interesse nel NOS, lo si è reso disponibile separatamente.

Il programma esegue una verifica abbastanza accurata del funzionamento della scheda ESCC, verificando le temporizzazioni e cercando inoltre di determinare automaticamente l'IRQ ed il DMA utilizzati. È consigliabile lanciarlo sotto DOS puro in quanto va a scrivere direttamente sui registri della scheda, che potrebbero anche non esserci, con conseguenze imprevedibili.

L'archivio ZIP comprende sia l'eseguibile che il sorgente del programma. Il sorgente è previsto per Borland C 3.1.

[GPCMTEST.ZIP]

ColCalc 1.4
Questo è un programma didattico sul codice a colori mediante il quale viene espresso il valore dei resistori di piccola potenza.

Il programma permette di calcolare il valore risultante da una data combinazione di colori o, viceversa, quali colori corrispondono ad un dato valore, oppure fare un browsing visuale fra i valori standard disponibili nella serie corrispondente alla tolleranza impostata. Poiché al suo interno contiene i valori resistivi standard di tutte le serie fra E3 ed E192 (oltre Hic Sunt Leones, in altre parole non ho trovato nulla che dica se esiste una standardizzazione e quale sia), può essere usato anche per determinare il valore standard più vicino ad un valore dato entro una certa serie. Infatti la conversione Valore => Colori viene fatta cercando il valore standard che meglio approssima il valore dato.

Il programma è stato scritto in Object Pascal sotto Delphi 1.0 (che è reperibile sul CD allegato a Dev n. 58).L'archivio ZIP comprende sia il file EXE che tutti i sorgenti (pochissimo commentati).

Nella versione 1.2 sono stati corretti alcuni bachi e risolte alcune incongruenze delle versioni precedenti.

Nella versione 1.3 è stata rivista e unificata la struttura dei menù fra le versioni Linux e Windows ed è stata aggiunta on'opzione per ricalcolare automaticamente il valore (o i colori) non appena si modificano i colori (o il valore).

Nella versione 1.4 sono state apportate alcune modifiche di secondaria importanza (aggiunta della serie E3, correzione del colore associato al coefficiente di temperatura di 1ppm) per uniformarsi allo standard descritto nella

M.E.C. Technical Note MTN201
General Information - Understanding Resistor Value Coding
The Model Electronics Company.

Di questo programma è ora disponibile anche la versione Linux, scritta utilizzando la Open Edition di Kylix, alias Delphi for Linux.

NOTA: per limitarne le dimensioni, nell'archivio TGZ non sono comprese le librerie standard di Kylix utilizzate (nella fattispecie libqtintf.so).

[COLCALC.ZIP (versione Windows)] [Uno screenshot]

[Uno screenshot]

Questo programma serve solo a chi possiede un ricetrasmettitore T7F. Esso permette, tramite una comoda interfaccia utente, di leggere, settare, salvare su disco e richiamare le frequenze dei dieci canali disponibili su tale ricetrasmettitore.
La possibilità di salvare e richiamare una data configurazione di canali è particolarmente utile quando si debbano configurare allo stesso modo più T7F, ad esempio per l'uso su nodi packet.
Questo programma utilizza il componente TCOMMPORTDRIVER di Marco Cocco. Per agevolare l'eventuale ricompilazione del programma, l'archivio ZIP include anche i sorgenti di tale componente.

La versione 1.01 corregge una piccola dimenticanza: cambiando passo di canalizzazione non venivano ricalcolate e visualizzate le nuove frequenze corrispondenti ai fattori di divisione impostati. Ora tale ricalcolo viene effettuato.

La versione 1.2, eccezion fatta per il comando File/New, non introduce nuove prestazioni, ma solo alcuni miglioramenti nel controllo della validità degli input e nella gestione degli errori e risincronizza la versione Windows, il cui sviluppo si era fermato alla versione 1.01, con quella Linux.

La versione 1.21 corregge solo una svista (un finally al posto di un except) che impediva di selezionare porte diverse da /dev/ttyS0, e migliora la gestione degli errori (se si tenta di aprire una seriale inesistente viene emesso un appropriato messaggio).

Di questo programma è ora disponibile anche la versione Linux, scritta utilizzando la Open Edition di Kylix, alias Delphi for Linux.

NOTA: per limitarne le dimensioni, nell'archivio TGZ non sono comprese le librerie standard di Kylix utilizzate (nella fattispecie libqtintf.so).

[T7F.ZIP (versione Windows)] [Uno screenshot]

[T7F.TGZ (versione Linux/Kylix)] [Uno screenshot]

WinRally 0.8b
Questo programma è ancora in stato alpha. Il suo scopo è quello di ricevere via packet radio i tempi dei concorrenti dallo stop delle prove speciali stampando un foglio con gli stessi ed eventuali note da passare alla Direzione Gara. Per l'invio dei tempi è possibile utilizzare qualsiasi programma di terminale, inviando messaggi con una sintassi tipo quella mostrata qui sotto (N.B. ^A=CONTROL-A, cioè il carattere ASCII 1H) e avendo cura di impostare sul TNC SENDPAC $01, in modo che i tempi vengano trasmessi in un unico pacchetto al momento in cui si batte il CONTROL-A di fine dati (IMPORTANTE!):


$T
PS 1 F 1
1 1.11.1
2 1.11.2
3 1.11.3
4 1.11.4
5 1.11.5
^A
				
È peraltro consigliabile far utilizzare alle stazioni agli stop PS il programma GPCMDAT (vedi più avanti), con il quale vengono automatizzate molte operazioni: ad esempio, basta inserire i tempi, il formato richiesto viene generato automaticamente dal programma, il numero del foglio si autoincrementa ad ogni nuovo foglio scritto, i fogli inviati vengono salvati su disco e possono essere ritrasmessi a piacere, i parametri del TNC vengono automaticamente inizializzati al valore richiesto, ecc.).

Per ora sono supportati il TNC del TM-D700, i TNC2 compatibili a 10 e 5 stream ed il PK232 in modo TNC normale (niente KISS o Hostmode vari) collegati ad una qualsiasi delle quattro porte seriali standard. La stampa può avvenire su qualsiasi stampante supportata da Windows.

Il programma è stato scritto in Object Pascal sotto Delphi 1.0 (che è reperibile sul CD allegato a Dev n. 58). L'archivio ZIP comprende sia il file EXE che tutti i sorgenti (pochissimo commentati).

Trattandosi di una applicazione a 16 bit, il programma funziona sia sotto Windows 3.1X, come potete vedere qui, dove l'oggetto sta girando su un Compaq Contura Aero 4/25, sia sotto Win95 e Win98. Avendo ora Win2000 a disposizione, posso attestare che funziona anche lì tutto perfettamente, compresa la configurazione della stampante. Questo, almeno, con tutte le stampanti che ho provato sinora e Win2000 SP2. Per quanto riguarda il funzionamento sotto XP, invece, non ho notizie.

La versione 0.8b non aggiunge nuove prestazioni, ma corregge alcuni piccoli bug relativi alla costruzione dei menù delle classifiche, che in precedenza non venivano aggiornati in tutte le occasioni in cui ciò era necessario (ad esempio, all'arrivo di un nuovo foglio di una nuova PS) e si era costretti a far generare una classifica generale per ottenerne l'aggiornamento. Ora lo stesso dovrebbe essere fatto automaticamente in tutti - almeno si spera - i casi in cui ciò è logicamente necessario.

La versione 0.8 è la prima rilasciata su questo sito dopo la 0.44. Questo per varie ragioni, la più importante delle quali è che tutte le versioni intermedie erano versioni di sviluppo, con prestazioni mezzo finite e mezzo no. In questa versione tutte le prestazioni aggiunte si possono considerare stabilizzate, salvo la visualizzazione della classifica ufficiosa per una data classe e per/sino a una data prova speciale, di cui è stato scritto tutto il codice necessario, ma non ho ancora deciso come organizzare il menù. Per questa ragione, in questa versione le relative voci sono sempre disabilitate.

Le prestazioni che la versione 0.8 fornisce sono:

  • ricezione e stampa automatica dei fogli tempi trasmessi dalle varie stazioni agli stop delle prove speciali;
  • connessione permessa solo ai nominativi elencati in fase di configurazione, indipendentemente dall'SSID utilizzato. Le stazioni non in elenco che tentassero la connessione al programma vengono cortesemente ma fermamente disconnesse;
  • gestione dei tempi con formato configurabile mm'ss'', mm'ss''d oppure mm'ss''cc con rifiuto del foglio (ed acconcio messaggio inviato alla stazione corrispondente) se i tempi non si conformano all'impostazione o se sono assurdi (ad es. in caso uno dei tempi fosse 8'75''5)
  • completo controllo del tipo e della dimensione dei font utilizzati nella fase di stampa del foglio;
  • possibilità di visualizzare/stampare/cancellare i fogli già ricevuti;
  • possibilità di editare i fogli ricevuti, per correggere errori o per crearne uno nuovo (ad esempio perchè, per qualche ragione, i relativi dati sono stati passati in fonia);
  • stampa su qualsiasi formato di fogli supportato dalla stampante utilizzata, con scalamento automatico del testo e delle tabelle alle dimensioni del foglio utilizzato. Questa prestazione è stata ampiamente collaudata su fogli A5, molto meno su fogli A6, per niente su altre dimensioni);
  • stampa di un dato numero di copie di ciascun foglio;
  • inserimento all'interno di ciascun foglio stampato di due righe di sottotitolo del rally e di un messaggio personalizzabile di due righe;
  • inserimento all'interno di ciascun foglio stampato di un messaggio personalizzabile scritto in piccolo col nome delle sezioni (o dei gruppi) che realizzano la trasmissione dei dati;
  • segnalazione della ricezione di un nuovo foglio mediante, a scelta, cambio colore e/o avviso acustico;
  • segnalazione dell'avvenuta stampa del foglio sull'elenco dei fogli ricevuti;
  • gestione di una classifica ufficiosa, costruita sulla base dei tempi ricevuti (quindi senza tener conto di penalità et similia), generale o per classe;
  • gestione dell'invio dei tempi in automatico ai conometristi tramite porta seriale.
    NOTA BENE. QUESTA FUNZIONE NON È MAI STATA COLLAUDATA E NON È DETTO CHE FUNZIONI; posso solo assicurare che dalla seriale escono i tempi in un formato che mi sembra aderente alle specifiche...

Quello che manca ancora per arrivare alla versione 1.0 è soprattutto il completamento degli help in linea. Si cercano sempre amanuensi di buona volontà in grado di dare una mano a scriverli.

*** Il port sotto Linux/Kylix di questo programma inizierà una volta stabilizzato il codice Windows.

[WINRALLY.ZIP] [Uno screenshot]

GpcmDat 2.5

Questo programma, scritto a quattro mani con IW1CNF è previsto per essere usato in unione a WinRally descritto prima e permette la redazione, la memorizzazione e l'invio dei fogli tempi gestendo direttamente un TNC2.

Per consentire l'utilizzo di portatili stagionati, lenti e con poca memoria, reperibili per poche lire, si tratta di una applicazione console sotto DOS, capacissima di girare persino su un M15.
Nell'archivio zip sono contenute, oltre al sorgente BASIC, due versioni già compilate, una (GPCMD86.EXE) compilata con le ottimizzazioni per 286 disabilitate (e quindi in grado di girare su qualsiasi CPU, anche un 8088) e una (GPCMDAT.EXE) che, essendo stata compilata con tali ottimizzazioni abilitate, richiede per girare un processore 286 o superiore.

Nella versione 2.5 sono state aggiunte alcune funzionalità minori, cioè la possibilità di settare dal menù di configurazione il numero del foglio iniziale (utile per quando, al secondo giro della PS, si deve ripartire da 1) ed il salvataggio dei dati correnti in una directory BACKUP/RLAAMMDD dove AAMMDD sono anno, mese e giorno correnti.

[GPCMDAT.ZIP] [Uno screenshot (della versione 2.31)]

Setkiss per TM-D700

Questo piccolo shell script permette di accendere il TM-D700, passare in modo TNC PKT e attivare il modo KISS. Può darsi funzioni anche col gemellino portatile di casa Kenwood, ma non garantisco. Io l'ho provato solo col D700.
Ovviamente va lanciato (con gli opportuni privilegi, l'utente deve essere autorizzato a scrivere sulla porta seriale utilizzata) PRIMA di lanciare il programma che userà il modo KISS, altrimenti la seriale è bloccata e non ci si può fare nulla.

Setkiss per TM-D700