Rebel PC display programma

Eerste experimenten met een Python GUI programma.

Als je wat tijd over hebt, dan ga je programmeren….. en dat heb ik dus gedaan voor het Rebel project. Een eerste poging om een ‘executable’ programmaatje te maken dat OS onafhankelijk gebruikt kan worden.

De huidige RebelAllianceMod firmware heeft een functie waarbij display informatie naar de seriele USB port wordt gestuurd. Door in Pyhton een programma te schrijven kan deze informatie in een grafisch frame getoond worden. Ik heb hiervoor Python2.7 (op Windows Python3.3) geïnstaleerd met de Tkinter GUI software en daarnaast een pySerial library om via de USB poort te kunnen communiceren.

Het effect is verbluffend. In nog geen middagje googelen, testen, nalezen en programmeren heb ik een resultaat dat als voorbeeld gebruikt kan worden door de Rebel Yahoo group.

reader.py

Je kunt met de Tkinter GUI bibliotheek een zeer veelzijdige gebruikers interface maken. Voorlopig is het slechts een display applicatie met een S-meter (character gebaseerd) en verschillende kleuren.

reader_tx

Een volgende stap is om vanuit deze applicatie de Rebel te kunnen bedienen en om informatie door te sturen naar bv. Logger32 of HRD.

O ja met het cx_Freeze programma kun je van een Python3.3 source op Windows32 een .exe file maken. Hierbij krijg je een hele directory vol met de nodige .dll en hulp programma’s erbij, maar je kunt dan zonder verdere installatie van Python het programma op een willekeurige Windows32 PC afspelen.

De files zijn te downloaden op mijn GitHub plekje.

 

Rebel firmware release

Rebel Alliance Mod V1.0

Vandaag de officiële release van de Rebel Alliance Mod sketch laten plaats vinden. Een sketch is de Arduino naam voor programma. In feite behelst de sketch de firmware (embedded software voor een apparaat) voor de Ten-Tec Rebel Model 506.

Ik heb in diverse blogs al over dit leuke setje gesproken en er is een actieve Yahoo groep en ook op Github kun je diverse dingen tegenkomen.

Met de officiële release sluit ik voorlopig even een hoofdstuk Open Source QRP af. Ik heb bij de afdeling Zwolle en de afdeling Meppel aangegeven wel bereid te zijn om een lezing te houden over het fenomeen Open Source QRP en deze zullen denk ik in het voorjaar van 2014 plaats vinden.

De nu opgeleverde software is Open Source onder de zogeheten GNU General Public Licence regels (GPL) en is in feite geschreven door een aantal auteurs waar onder Paul, NA8E, James K4JK en van een paar modules door de oorspronkelijke programeurs (staat in de sketch vermeld). De samenhang en de nodige extra functionaliteit is door  mij erin gebouwd. De nu vrijgegeven versie heeft de volgende extra toeters en bellen:

  • Iambic A/B Keyer
  • Keyer speed control using on-board potentiometer
  • Keyer speed control using paddle (menu U1)
  • Automatic detection of Straight key / Paddle
  • CQ and BEACON generator
  • Switching between 20 and 40 meters (requires additional hardware)
  • Band memory when switching between bands
  • Display support for:
    • 20 x 4 LCD – 4BIT interface
    • 20 x 4 LCD – I2C interface
    • 16 x 2 LCD – 4BIT interface
    • 16 x 2 LCD – I2C interface
    • Nokia 5110
    • USB Terminal (PuTTY, Screen, Hyperterm)
  • Frequency Announce in morse code
  • CW Decoder (requires additional hardware) Not fully implemented

Het blijkt dat niet alle LCD displays dezelfde specificaties hebben. Sommige kunnen geen lower case karakters weergeven en ook de snelheid laat bij een aantal Ebay (CE=China Export) types te wensen over. Ik gebruik zelf nu een display simulatie via de USB poort naar een terminal programmaatje op de RPi! Het programma heet Screen (sudo apt-get install screen  en dan sudo screen /dev/ttyUSB0 115200 starten vanuit een LX terminal sessie). Maak hem Un/Decorate en Always on top en je hebt een prachtig snel werkend display zonder dat je de Rebel hoeft te verbouwen. O ja andere kleuren van achtergrond en tekst zijn natuurlijk ook mogelijk. Zie maar!

De sourcecode (.pde) vindt je hier en het bijbehorende manual hier.

Als volgende Rebel projectjes staan op stapel:

  1. TFT scherm, bij voorkeur via USB
  2. PSK31 ontvangst en zenden

Gegeven deze twee uitdagingen kan het zijn dat er een huwelijk plaats gaat vinden van Arduino met Raspberry Pi.

 

Rebel update

Het begint al een complete CW set te worden.

We zijn al een paar weken verder en de Ten-Tec Rebel model 506 (wat een naam hé) begint al behoorlijk wat meer functionaliteit te krijgen.  In een vorig blog heb ik al geschreven over de nieuwe firmware die we aan het maken zijn en de hardware uitbreiding om te kunnen schakelen tussen 20 en 40 meter.

Er zijn ook ontwikkelingen gaande rondom de CW Decoder, maar ik heb mijn eigen testen even gestaakt omdat we waarschijnlijk toch met een 567 decoder moeten werken (niet echt modern) en de decoderings-kwaliteit vermoedelijk tegen gaat vallen (althans dat wezen de eerste testen uit).
Overigens door vaker in morse te werken komt de vaardigheid in het nemen ook terug, dus is een hulpmiddel niet meer nodig 🙂

Goed de belangrijkste programmeeractiviteiten hadden te maken met de display functies en het opschonen van de code. Het moet wel modulair en overzichtelijk blijven!

Hier een paar foto’s van de Rebel met twee verschillende displays. Allereerst het grote LCD display met de 20 karakters en 4 regels. Dit display is qua communicatie wat langzaam, maar je hebt wel veel ruimte voor informatie en de onderste regel kan gebruikt worden voor een tekstkrant voor CW , RTTY of PSK31.


Ook heb ik de Nokia 5110 geïmplementeerd. Dit is een ‘oud’ telefoondisplay en is voor rond de €6 te koop onder andere bij eproto. Dit display doet in elk geval moderner aan en is super snel in communicatie. Ook hier is nog een regel beschikbaar en je kunt in principe ook afbeeldingen, logo’s en grafiekjes op het display afbeelden. Veel meer mogelijkheden dus.

Tja, de volgende stap is nu hoe gaan we het display inbouwen (of niet).  Zagen in een bestaande (en gelakte) kast geeft altijd cosmetische problemen. Ook het plaatsen in de bovenkant van de kast heeft een onlogisch effect. Alternatief is een losse display unit met een connector dan aan de achterkant van de Rebel kast waar overigens voldoende ruimte is. Je kan dan ook nog verschillende soorten displays uitwisselen omdat steeds dezelfde UNO32 pinnen gebruikt worden (kwestie van programmeren 🙂 ).

Overigens kun je ook rustig zonder display de set gebruiken. De software voorziet in een in CW geseinde ‘frequentieuitlezing’ en alle overige instellingen zijn met ledjes te identificeren. Ook kun je een PC aansluiten met een CAT programma (HRD, Logger32, etc.) en daarmee de frequentie uitlezen of zelfs de frequentie veranderen!

Eerdaags zullen we de officiële release hebben van de Rebel Alliance Mod firmware. Daarmee is de Rebel dan een complete CW rig voorzien van Keyer, CQ en Baken gever, Display, Bandswitch, CAT interface en Frequentie gever in CW. Mijn volgende halte wordt PSK31, waarbij ik de Rebel in echte FSK wil laten zenden.

Rebel uitbreidingen

De Ten-Tec Rebel model 506 experimenten.

Ondertussen al weer ruim een week aan het spelen met de Rebel en samen met Paul, KD8FJO en James, K4JK druk aan het programmeren en zelfs solderen.

We hebben de Rebel_Base sketch (software in Arduino termen) omgedoopt in RebelAllianceMod en op github.com/pstyle (of mirror github.com/pa3ang) kun je de laatste versie downloaden.

We hebben de volgende functionaliteit bijgebouwd:

  1. FEATURE selectie – hiermee kun je functionaliteit naar eigen behoefte aanschakelen.
  2. IAMBIC Keyer inclusief snelheidsinstelling met aanwezige potmeter op het RF Shield.
  3. BAKEN functie – hiermee kun je de rebel als 5 watt QRP baken laten werken (of CQ laten seinen).
  4. DISPLAY functies voor diverse soorten display modules.
  5. CAT control op basis van het Kenwood protocol. Hiermee kun je de Rebel bedienen vanuit bv. een logboek programma met DX Cluster.
  6. BAND SWITCH waarbij je vanuit de software de Rebel op de ander band kunt zetten. De originele Rebel wordt uitgeleverd met 5 handmatig verstelbare pin headers!
  7. FREQ ANNOUNCE seint de frequentie in morse waarop de Rebel is afgestemd.

De BAND SWITCH functie vereist een extra stukje hardware in de vorm van een opsteekprintje met twee DIL relais. Het printje is volledig modulair en kan zonder solderen op de Rebel RF shield geplaatst worden. Alleen de aansluitdraad naar een 12 Volt punt moet worden gesoldeerd.

Hier een paar foto’s van de noeste huisvlijt.

Door op het opsteekprintje ook pin headers te gebruiken kun je de ‘module’ eenvoudig op het RF shield plaatsen zonder beschadigingen. Ik las overigens op de yahoo group de vraag aan Ten-Tec of deze oplossing niet standaard op het RF shield kan worden ontworpen in een eventueel re-design.

Ik denk inderdaad dat de Rebel door deze uitbreiding, plus de CAT control, een zeer interessante QRP CW is geworden voor in de shack. Ik heb in elk geval al heel wat leuke verbindingen gemaakt. Als je hem in combinatie met een logbook programma gebruikt heb je zelfs geen display nodig. Misschien is het leuk om een eenvoudige besturingsprogrammaatje te maken voor Android of PC (een App-je) om de Rebel zeg maar headless te gebruiken. Je hoeft dan immers geen gaten in het deksel te maken of genoegen nemen met een ‘loshangend’ display.

In elk geval gaan we nog wel een tijdje experimenteren met dit toestel. De andere plannen zijn: Rebel_PSK31, Rebel_RTTY en Rebel_Voice. Genoeg te doen dus.

 

Mijn Rebel is gearriveerd!

De eerste batch is uitgeleverd.

Ten-Tec is begonnen om de eerste batch van de Rebel, model 506 uit te leveren aan de eerste klanten op de intekenlijst. Afgaand op de afschrijving op mijn creditkaartrekening kan ik niet anders concluderen dat mijn Rebel onderweg is!  (eerder blogje)

Op YouTube is het eerste filmpje al verschenen.

Ook op de Yahoo groep is de nodige activiteit waar te nemen. Kortom het wordt een leuk najaar met HF en programmeeractiviteit.

Na anderhalve week stond de man met de oranje sweater voor de deur met een doos uit Tennessee. Tijd om wat foto’s te maken en te starten met programmeren.

 

En weer mazzel. Customs gepasseerd zonder ‘problemen’. In de vrij grote doos een kleine, goed gefixeerde, transceiver. Verder een eenvoudige handleiding en verder niks. Is ook niet nodig want alle connectors zijn standaard. Dus aansluiten en .. ja hij werkt en netjes 5 watt in de dummyload. Vervolgens de kast open. Eindelijk een set die je meteen open wil (moet) maken.

Ondertussen ben ik al gestart om met James, K4JK en Paul, KD8FJO de Rebel_Base firmware uit te breiden met functionaliteit. Je kunt de ontwikkelingen volgen op github. https://github.com/pa3ang/Tentec506 en https://github.com/pstyle/Tentec506. We proberen synchroon te blijven.

Ondertussen hebben we bijgebouwd:

  • Keyer
  • Keyer snelheid instellen
  • Automatische detectie Keyer / Straight key
  • Bakenmode
  • CAT control (op basis van Kenwood protocol)
  • LCD-4BIT 20 x 4 display

Er wordt nu gewerkt aan een CW Decoder en aan een mogelijkheid om softwarematige van band (20/40 m) te wisselen.

Ander projecten kunnen zijn Rebel_PSK31, Rebel_RTTY en Rebel_Voice. genoeg te doen dus met dit kleine wondertje.

chipKIT Uno32 /w Basic IO shield

De eerste experimenten voor de Ten-Tec Rebel.

In een eerder blog heb ik al melding gemaakt van de Ten-Tec Rebel. Deze transceiver heeft als hart en besturing een chipKIT UNO32 gebaseerde architectuur. Aangezien de Rebel nog enige tijd op zich laat wachten heb ik alvast een chipKIT ontwikkelsetje laten komen, bestaande uit een Uno32 en een Basic I/O Shield (interface bordje) om alvast wat vertrouwd te raken met de software, de ontwikkeltool en uiteraard de hardware.

Ik vond in eproto een goede leverancier en binnen een dag had ik de twee bordjes plus een USB kabeltje in huis.

Meteen maar de boel aangesloten, de software gedownload en een demo programmaatje gecompileerd en op de Uno geladen. Zo, binnen 5 minuten QRV!

Tja wel warm op zo’n zomerse dag, maar het is snel en makkelijk programmeren met de MPIDE ontwikkeltool en qua aansluiting / interface hoef je geen moeilijke toeren uit te halen.

Even wat linkjes voor het gemak:

Op het Rebel forum is de voorlopige software voor de transceiver al te vinden. Ik ga er alvast mee stoeien.

 

en…. de eerste foto van het definitieve Rebel PCB zijn op de Yahoo groep geplaatst. Hier alvast een ‘sneak preview’

Duidelijk is te zien dat er een Uno32 boardje op (onder) de rebel geplaatst wordt en dat je aan de bovenkant nog weer een shield kunt plaatsen (je ziet hier in feite de onderkant). Ik ben ondertussen al druk bezig om een geschikte keyer te programmeren. De eerste resultaten zijn al hoopgevend.