K1URC sketch voor de Rebel

Bandscope en CW decoder voor de Rebel.

In een eerder blog had ik al iets gezegd over de toepassingen welke mogelijk zijn met de veel snelle Arduinon kloon, de ChipKIT UNO32. Mede door de kloksnelheid van 80 MHz zijn realtime functies makkelijker beschikbaar.

Omdat de Rebel een Open Source concept is zijn er meerdere mensen aan het programmeren geslagen. Hieronder is ook Ronald, K1URC. Hij heeft een wat mij betreft fantastische sketch gemaakt voor de Rebel. Hierbij is naast een bandscope functie ook het decoderen van CW geïmplementeerd. Je moet weliswaar een kleine hardware ingreep uitvoeren op de Rebel, maar daar krijg je wel een zeer compleet apparaat voor terug.

Ik heb er maar eens een filmpje van gemaakt waarbij je de sketch in het gebruik kunt bekijken.

 

 

De sketch is te vinden op de Rebel Yahoo Group in de files directory.

 

Open Source, Arduino en de Patriot.

Je eigen set programmeren.  

In een vorig blog heb ik jullie kennis laten maken met de Patriot transceiver. Een ‘Open Source’ zend-ontvanger concept, waarbij de hardware en software vrij toegankelijk is. Ten-Tec is als leverancier met dit concept op de markt gekomen en ondertussen zijn er al twee transceivers gepubliceerd en te koop. Beide transceivers hebben een eigen Yahoo Group en er is veel belangstelling voor met name het gebruiken van de setjes en in de beschikbare software. In dit blog wil ik jullie een beetje inwijden wat je zoals nodig hebt om zelf je setje te gaan programmeren.

patriot

Arduino kloon, ChipKIT UNO32.
Ten-Tec gebruikt in zijn ontwerpen een UNO32 processor bordje van ChipKIT. Dit is een Arduino kloon met betere eigenschappen dan een ‘standaard’ Arduino. Zo heeft het bordje veel meer digitale en analoge aansluiting met de buitenwereld en is de processorsnelheid 80MHz. Hierdoor is het mogelijk om real time functionaliteit zoals CW decodering of een bandscope te implementeren of een voor ons zendamateurs zo belangrijke S-meter.

(more…)

Verbeterde Rebel Sketch

Rebel Alliance Mod V2.0

Nu ik wat meer vrije tijd heb doordat ik geen langlopende qrl projecten heb en ook mijn voorzitterschap van de Fontein heb kunnen overdragen, ben ik weer aan de knutsel gegaan met de Rebel. In afwachting van de Patriot (volgens info van Ten-Tec kan het nog wel even duren) ben ik de V1.1 versie van de Rebel Alliance Mod sketch gaan verbeteren.

Op het Yahoo forum waren een paar kleine bugs gerapporteerd en ook vond ik dat de code nogal veel FEATURES had waarbij er nogal eens wat verwarring ontstond in het gebruik en met name de I2C display types erg langzaam reageerden. Vanuit het standpunt ‘minder is meer’ heb ik de sketch alleen nog maar geschikt gemaakt voor de NOKIA5110 display. Dit display is erg snel en kan ook verschillende karakterformaten aan en zelfs graphics. Ook heb ik de mogelijkheid voor een ‘display’ functie met een PuTTY sessie geoptimaliseerd.

(more…)

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.