'Back in the day' nog voordat de personal computer gemeengoed was, gebruikten radiozendamateurs al RTTY - telex via radio.
Toen SSB zenders nog niet echt gemeengoed waren, ging dat door een capaciteit bij of af te schakelen aan de VFO, om dus op de mark en space frequenties te komen. De telex was uiteraard zo'n elektromechanisch bakbeest.
Deze methode van sleutelen wil ik eens testen. Het HF gebeuren zal wel lukken. Maar ik kom in de knoop met het genereren van de telex code. Alle moderne zendamateursoftware levert je heel gemakkelijk een audiosignaaltje wat je naar iedere SSB zender kan sturen. Maar ik wil juist een binair signaal - aan/uit. Waarmee ik dus de condensator in/uit de kring kan schakelen.
Ik denk dat dit voor de 'wat oudere' computerhobbyist bijna triviaal is. Maar ik wil dus de meest gangbare RTTY snelheid met mijn computer (mag ouderwets zijn, ik heb win95/98 bakjes met seriele poort) opwekken
Hoe doe ik dat? Kan hyperterminal dit? Hoe stel ik dat dan in, dat ie baudotcode geeft, op de correcte snelheid, en geen ASCII?
Ik zal het morgen even nakijken maar ik dacht dat in het boek:RTTY Ervaringen en beschouwing van ON4ACN zo een schakeling staat.
Je propt er ASCII in(met een 'domme' terminal of PC of hobby computer)en er komt Baudot uit met de jouw gewenste snelheid op een RS-232 poort.(45,45,50,57,75 of 100 Baud).
In een Elektuurboek staat ook zoiets maar daar gaat de omzetting van ASCII naar Baudot met een diode matrix.
Kwam ook dit nog tegen,dat werkt bidir:https://apps.dtic.mil/dtic/tr/fulltext/u2/a240676.pdf
Waarom de U.S.A voor RTTY weer andere AFSK tonen gebruikte dan hier in Europa
is mij nog steeds een raadsel.
(Die 60 Hertz netfrequentie ook,maar dat is weer een andere discussie) 
[Bericht gewijzigd door Hubie op (15%)]
Ik heb het gewoon gedaan met 2 UART's,, eenje ontvangt de ASCII code, en de andere zet het door naar Baudot.Een UART kan je instellen op 5 bits, en 1,5 stopbits.
Wel moet je een of andere omzetting hebben, een Eprom of zo iets.En een mogelijkheid om om te schakelen tussen Cijfers en Letters.
Deze komt dan natuurlijk tussen de datalijnen van de UART's.
buckfast_beekeeper
Van Lambiek wordt goede geuze gemaakt.
Ik denk dat dit het eenvoudigste te realiseren is onder DOS ((win95/98 kan je in puur dos starten). Daar een programma in qbasic of gwbasic de parallelle poort laten sturen. Bijvoorbeeld pen 14 linefeed. Vanaf Win ME wordt het lastiger.
Met het programma mmtty zet je een fsk signaal op de serieele poort .
https://hamsoft.ca/pages/mmtty.php
Arco
Special Member
Arco - "Simplicity is a prerequisite for reliability" - hard-, firm-, en software ontwikkeling: www.arcovox.com
In Windows gaat dat ook prima, als je de control-lijnen van de RS232 poort gebruikt, die kun je rechtstreeks aansturen (RTS,DTR,...)
Handshake lijnen aansturen vanuit windows kun je vergeten. De timing van Windows is afhankelijk van een groot aantal factoren en kan tot 50 milliseconds oplopen.
Ik zou een arduino koppelen en daarin de vertaling doen van ASCII naar Baudot.
Arco
Special Member
Arco - "Simplicity is a prerequisite for reliability" - hard-, firm-, en software ontwikkeling: www.arcovox.com
Op 6 september 2019 04:48:08 schreef Hubie:
[bijlage]Ik heb hier nog een oude doos staan: https://www.universal-radio.com/catalog/decoders/m8000.htmlIk denk zo'n beetje de laatste echte hardware RTTY decoder,heeft ook een Baudot uitgang op RS-232 niveau(is in te stellen)
Kan div.RTTY modi decoderen die al 20 jaar niet meer uitgezonden worden. Kon zelfs Piccolo (MFSK)chat berichten van UK ambassades decoderen en VFT Multi channel kanalen.
Daar heb ik nu niet zoveel meer aan natuurlijk maar ik zie het als een stukje nostalgie wat nog steeds in de shack staat.Met amateur RTTY schrijft hij nog perfect mee.Die doos werkt met 2 switched capacitor filters* die stapjes maken tot ze perfect afgestemd zijn.
* National Semiconductors MF-8
Allemaal vergane glorie in vergelijking met de huidige DSP techniek.
Ik heb hier nog een oude doos staan: https://www.universal-radio.com/catalog/decoders/m8000.html
Ik denk zo'n beetje de laatste echte hardware RTTY decoder,heeft ook een Baudot uitgang op RS-232 niveau(is in te stellen)
Kan div.RTTY modi decoderen die al 20 jaar niet meer uitgezonden worden. Kon zelfs Piccolo (MFSK)chat berichten van UK ambassades decoderen en VFT Multi channel kanalen.
Daar heb ik nu niet zoveel meer aan natuurlijk maar ik zie het als een stukje nostalgie wat nog steeds in de shack staat. 
Met amateur RTTY schrijft hij nog perfect mee.Die doos werkt met 2 switched capacitor filters* die stapjes maken tot ze perfect afgestemd zijn.
* National Semiconductors MF-8
Allemaal vergane glorie in vergelijking met huidige DSP techniek. 
[Bericht gewijzigd door Hubie op (36%)]
Ik gebruik gewoon een DJ6HP ontvangstconverter met een processor geval er achter die er ASCII van maakt.Dat gaat dan een pc in.
joopv
Golden Member
Volgens mij kunnen de moderne seriële poorten nog steeds 5 bits en 50 baud maken.
En is het dus alleen maar een kwestie van de juiste software gebruiken en het rs232 seriële signaal gebruiken om het vfo te sleutelen.
Dat is dus mijn doel, die software vinden. Zelf schrijven kan ik niet. Kan het wellicht wel leren, maar het is nogal een tijdsinvestering voor een 'omdat het kan' projectje.
Lijkt me stug dat er nooit iemand een DOS programmatje uitgewerkt heeft. Wel in de pre-internet tijd, maar het zal toch moeten bestaan?
De software die tot nu toe genoemd is, produceert direct de tonen op de seriele poort. Dat is niet waar ik naar op zoek ben.
[Bericht gewijzigd door Ledlover op (14%)]
Arco
Special Member
Arco - "Simplicity is a prerequisite for reliability" - hard-, firm-, en software ontwikkeling: www.arcovox.com
Je zou kunnen kijken of dit programmaatje werkt (kan hier nu niet testen)
Zou "BAUDOT TEST" moeten versturen via COM1 (75baud)
Geen user interface (je ziet dus niets op je scherm)
Edit: zat foutje in, nieuwe versie gepost... 
[Bericht gewijzigd door Arco op (12%)]
flipflop
"We cannot solve our problems with the same thinking we used when we created them" - Albert Einstein
Arco
Special Member
Arco - "Simplicity is a prerequisite for reliability" - hard-, firm-, en software ontwikkeling: www.arcovox.com
Bedankt, Arco!
Ik zal even een wat antiekere laptop uit de voorraad trekken, testen, en laten horen of 't gelukt is 
Kan even duren, m'n laptopvoorraad ligt 200km verderop 
Arco
Special Member
Arco - "Simplicity is a prerequisite for reliability" - hard-, firm-, en software ontwikkeling: www.arcovox.com
Arco
Special Member
Arco - "Simplicity is a prerequisite for reliability" - hard-, firm-, en software ontwikkeling: www.arcovox.com
Op 7 september 2019 01:15:59 schreef Arco:
Console screen toegevoegd. Kun je zelf tekst intypen...[bijlage]
Top, bedankt!
In het kader van 'dan leren we er ook nog wat van', kan je ook de broncode posten?
En de oudste laptop die ik hier in Groningen bij me heb, is 10 jaar oud. Al geen seriële poort meer...
[Bericht gewijzigd door Ledlover op (17%)]
Arco
Special Member
Arco - "Simplicity is a prerequisite for reliability" - hard-, firm-, en software ontwikkeling: www.arcovox.com
Zo'n FTDI omzetter USB->RS232 schijnt als laagste 183 Baud te halen... (dus daar gaat het niet mee...)
De sourcecode:
'============================================================================================================
' Baudot code test program
'============================================================================================================
#COMPILE EXE "Baudot.exe"
#COMPILER PBCC 5
#DIM ALL
FUNCTION PBMAIN () AS LONG
LOCAL lRet,lCnt,lCh,lKey,lShift,lOldShift,InitDone AS LONG, lStr, Shifted, NotShifted, Shiftless AS STRING
'..........................................................................................................
COMM OPEN "COM1" AS #1 'Serial port opening and settings
IF ERR THEN PRINT "Can't open COM port, terminating. (error: " & FORMAT$(ERR) & ")" : SLEEP 2000 : EXIT FUNCTION
COMM SET #1, BAUD = 50
COMM SET #1, BYTE = 5
COMM SET #1, STOP = 1
COMM SET #1, PARITY = 0
COMM SET #1, TXBUFFER = 2048
'..........................................................................................................
NotShifted = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
Shifted = "1234567890,.):=+?'\-(@" & CHR$(7,9)
Shiftless = CHR$(10,13,32)
'..........................................................................................................
WHILE lStr <> CHR$(27) 'Wait key
IF InitDone = 0 THEN
COLOR 15,0 : PRINT STRING$(80,"-") 'Print hdr
PRINT " Baudot test V1.06 at 50 Baud, 1 start, 1.5 stop, no parity. Press <"; : COLOR 12,0
PRINT "Esc";: COLOR 15,0 : PRINT "> to end."
PRINT " Type any text you want (only Baudot characters allowed)"
PRINT " (<" ;: COLOR 12,0 : PRINT "@" ;: COLOR 15,0 : PRINT "> = BELL, ";
PRINT "<" ;: COLOR 12,0 : PRINT "Tab";: COLOR 15,0 : PRINT "> = WHO ARE YOU, ";
PRINT "<" ;: COLOR 12,0 : PRINT "Down Arrow";: COLOR 15,0 : PRINT "> = LF, ";
PRINT "<" ;: COLOR 12,0 : PRINT "Del";: COLOR 15,0 : PRINT "> = Clr Screen)"
PRINT STRING$(80,"-")
InitDone = 1
END IF
'........................................................................................................
lStr = INKEY$
IF lStr = CHR$(0,80) THEN
lStr = CHR$(10) :COLOR 12,0 : PRINT "[LF]" : COLOR 15,0
IF CURSORY >= 26 THEN SCROLL 1,6,1,25,100 : LOCATE 25,1
END IF
IF lStr = "@" THEN lStr = CHR$(7)
IF INSTR(lStr, ANY "abcdefghijklmnopqrstuvwxyz") AND LEN(lStr) = 1 THEN lStr = CHR$(ASC(lStr)-&h20)
IF lStr = CHR$(7) THEN COLOR 12,0 : PRINT "[BELL]"; : COLOR 15,0
IF lStr = CHR$ (9) THEN COLOR 12,0 : PRINT "[WHO ARE YOU]"; : COLOR 15,0
IF lStr = CHR$(13) THEN
COLOR 12,0 : PRINT "[CR]" : COLOR 15,0
IF CURSORY >= 26 THEN SCROLL 1,6,1,25,100 : LOCATE 25,1
END IF
IF lStr = CHR$(0,83) THEN CLS : InitDone = 0
lShift = 0
'........................................................................................................
IF LEN (lStr) = 1 THEN 'See if
IF INSTR(lStr, ANY NotShifted) THEN lShift = 1 : PRINT lStr; 'lower or
IF INSTR(lStr, ANY Shifted) THEN lShift = 2 : IF ASC(lStr) > 9 THEN PRINT lStr; 'upper
IF INSTR(lStr, ANY Shiftless) THEN lShift = 3 : IF lStr = " " THEN PRINT lStr; 'shift is
END IF 'needed
IF CURSORX > 75 THEN
IF CURSORY >= 25 THEN
SCROLL 1,6,1,25,100
LOCATE 25,1
' print
ELSE
PRINT
END IF
END IF
lCh = ASC(lStr)
IF LEN(lStr) = 1 THEN
'........................................................................................................
lRet = CHOOSE(lCh+1,_
&h00,&h00,&h00,&h00,&h00,&h00,&h00,&h0B,&h00,&h09,&h02,&h00,&h00,&h08,&h00,&h00, _ 'Ascii to
&h00,&h00,&h00,&h00,&h00,&h00,&h00,&h00,&h00,&h00,&h00,&h00,&h00,&h00,&h00,&h00, _ 'Baudot
&h04,&h00,&h00,&h00,&h00,&h00,&h00,&h05,&h0F,&h12,&h00,&h11,&h0C,&h03,&h1C,&h00, _ 'table
&h16,&h17,&h13,&h01,&h0A,&h10,&h15,&h07,&h06,&h18,&h0E,&h00,&h00,&h1E,&h00,&h19, _ '
&h00,&h03,&h19,&h0E,&h09,&h01,&h0D,&h1A,&h14,&h06,&h0B,&h0F,&h12,&h1C,&h0C,&h18, _ '
&h16,&h17,&h0A,&h05,&h10,&h07,&h1E,&h13,&h1D,&h15,&h11,&h00,&h1D,&h00,&h00,&h00) '
'.......................................................................................................
IF (lShift <> lOldShift) AND (lShift < 3) AND (lShift > 0) THEN '
lOldShift = lShift 'Send
IF lShift = 2 THEN COMM SEND #1, CHR$(&h1B) 'extra
IF lShift = 1 THEN COMM SEND #1, CHR$(&h1F) 'shiftbyte
END IF 'if needed
IF lShift THEN COMM SEND #1, CHR$(lRet) '
END IF
WEND 'Send data
IF CURSORX > 1 THEN PRINT
PRINT "Terminating, please wait..." '
COMM CLOSE #1 '
END FUNCTION '
'============================================================================================================
[Bericht gewijzigd door Arco op (17%)]
Top! Bedankt.
Lijkt me leuk om zo'n goedkoop chinees Pixie kitje van 4 euro geschikt te maken voor RTTY. Als het zover is, laat ik weten wat de resultaten zijn.