Shop OBEX P1 Docs P2 Docs Learn Events
Tachyon Forth — Parallax Forums

Tachyon Forth

Read the instructions to load Tachyon to Prop
Loaded the compiled image into the prop with prop tool ---> Started Tera Term set the serial port to com 3 (same as the prop),Baud to 115200 and 8N1 delay to 15msec/line.[img][/img]Screen shot
Then sent break and all I received was jumbled out caracters.
I attached a screen shot for clarification.As you can see from 2nd scren shot Tavyon V3 Juno loaded ok but the Extend file did not.
Iwas not able to load Tachyon and help is appreciated.

Thank you.
Siri

Comments

  • I forgot to add that I am using WIN 10 with the latest updates.

    Siri
  • Check your baud rate. That's the kind of garbage that spews when the transmit and receive baud rates are different.

    -Phil
  • MJBMJB Posts: 1,235
    ... Tavyon V3 Juno loaded ok but the Extend file did not.
    Iwas not able to load Tachyon and help is appreciated.

    Thank you.
    Siri
    any reason not to use the actual V4.7 or even the new V5.1 ??
    V3 is pretty outdated
  • @Phil _The baud rate is 115200 on both Prop and TeraTerm.The old version V3 loads ok but newer versions will
    not.AS you can see with the screen shots.
    @MJB - I tried V 4.7 first may times checked the communications setting s many times with no luck
    Then I tried the older version V3 just to test whether my settings are correct.

    Thank you.
    Siri
  • Peter JakackiPeter Jakacki Posts: 10,193
    edited 2018-03-02 02:47
    EDIT: I'm putting in an 80MHZ 115200 baud binary into the V5 folder, ready to use. It includes EXTEND and EASYFILE but since though the Prop tool doesn't load more than 32k then that means none of the ROMS are loaded. It's a start though. <just working on this right now>

    You will always need to check the clock and baud settings at the start of the file. Usually they are set for 80MHz using 5 or 10 MHz crystals or for 96MHZ. The baud rate is usually 115200 but check this as well. Since the Spin tool does not support conditional compilation the line comment the block comment trick is used to enable or disable the clock section as this shows (from 5.1) where the 5/10MHZ section is enabled because the { block comment is disabled by the preceding tick comment and a '} is ignored if it is not part of a block comment.
    CON { *** CLOCK MODES *** }
    '{ 5/10MHZ CRYSTAL
    _clkmode        = xtal1 + pll8x
    _xinfreq        = 10_000_000            ' <--- AUTOMATIC 5 or 10MHz operation change at boot
    sysfreq         = 80_000_000
    '}
    { 6MHZ CRYSTAL
    _clkmode        = xtal1 + pll16x
    _xinfreq        = 6_000_000
    sysfreq         = 96_000_000
    '}
    'baud            = 115200                ' <-- user change - tested from 300 baud to 3M baud
    baud            = 921600
    

    I do notice that the original Prop tool which was hand written '86 assembly has many limitations which tend to show up on these larger programs. When I went to compile V3 it said I had exceeded the 1024 DAT symbol limit. Same of course with V4 and V5. I however use BST because it always works and doesn't have these artificial limits plus it produces a proper location by location listing. Propeller IDE is another tool that works too. Any reason to stick with Prop Spin tool?
    I even have all the BST versions in my dropbox under Tachyon/more/tools.
    Make sure you have the latest versions of the source code or else attach the file that you are having problems with.

    Siri: - looks like the second screen shot shows that you may need to increase your TeraTerm line delay a bit, so try 20ms to be safe. I've just checked the

    In fact now I find I am using the Atom editor by adding a Tachyon Forth grammer, and use the bstc, the command line version of BST.

    BTW, the reason the header changes is because I am actively using it on different boards and I make changes to it so that it is always up-to-date. Sometimes that's a good thing and other times it's not so good :) I suppose I could have a not-so-up-to-date version that is always set to 80MHz and 115200 baud etc. Tachyon used to compile under Spin tool but somehow it has outgrown the limitations of that tool.

    I do recommend that you go with either 4.7 or better still, 5.1 as it works even better than 4.7.
  • @Peter,Thank you very much for the help .I have Tachyon V5 up and running now.

    Thank you
    Siri
  • Hi Peter,
    I noticed a you-tube video you posted regarding a morse code keyer. Did you ever post this code?
    Thanks,
    Michael
    K6MLE
  • Peter JakackiPeter Jakacki Posts: 10,193
    edited 2018-03-11 00:59
    K6MLE wrote: »
    Hi Peter,
    I noticed a you-tube video you posted regarding a morse code keyer. Did you ever post this code?
    Thanks,
    Michael
    K6MLE
    Sure, i even tested it with V5 recently in the V5 extras folder but here it is also. Treat this as an output device as in MORSE PRINT" HELLO WORLD" to send Morse. To test it i hooked up a piezo element to the differential output of an rs485 chip which drove it very nicely so that you adjust the pitch to suit. Use WPM and PITCH to vary the parameters.

    TACHYON V5
    
    module MORSE	PRINT" Morse code keyer 170702-0000 " ;
    { NOTES:
    Current version uses presettable cbyte/cword code variables - use EXTEND 170702-1440 or greater
    }
    
    --- my tone output - general version can specify pin when calling MORSE
    #P14	== *PIEZO
    #P15	== *EN
    
    --- setup preinitialized code space variables (170702)
    50 cbyte dotms
    800 cword _pitch
    
    
    TABLE _morse
    ( A )	%01_11			|| %11_01_01_01		|| %11_01_11_01		|| %11_01_01		||
    ( E )	%01			|| %01_01_11_01		|| %11_11_01		|| %01_01_01_01		||
    ( I )	%01_01			|| %01_11_11_11		|| %11_01_11		|| %01_11_01_01		||
    ( M )	%11_11			|| %11_01		|| %11_11_11		|| %01_11_11_01		||
    ( Q )	%11_11_01_11		|| %01_11_01		|| %01_01_01		|| %11			||
    ( U )	%01_01_11		|| %01_01_01_11		|| %01_11_11		|| %11_01_01_11		||
    ( Y )	%11_01_11_11		|| %11_11_01_01	||
    
    ( 1 )	%01_11_11_11_11		|| %01_01_11_11_11	|| %01_01_01_11_11	|| %01_01_01_01_11	||
    ( 5 )	%01_01_01_01_01		|| %11_01_01_01_01	|| %11_11_01_01_01	|| %11_11_11_01_01	||
    ( 9 )	%11_11_11_11_01		|| %11_11_11_11_11	||
    
    ( . )	%01_11_01_11_01_11	|| %11_11_01_01_11_11	|| %01_01_11_11_01_01	|| %01_11_11_11_11_01	||
    ( ! )	%11_01_11_01_11_11	|| %11_01_01_11_01	|| %11_01_11_11_01	|| %11_01_11_11_01_11	||
    ( & )	%01_11_01_01_01		|| %11_11_11_01_01_01	|| %11_01_11_01_11_01	|| %11_01_01_01_11	||
    ( + )	%01_11_01_11_01		|| %11_01_01_01_01_11	|| %01_01_11_11_01_11	|| %01_11_01_01_11_01	||
    ( $ )	%01_01_01_11_01_01_11	|| %01_11_11_01_11_01	||
    
    
    pri MC@ ( ch -- code )
    	" ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890.,?'!/()&:;=+-_"$@"
    	SWAP OVER FROM OVER LEN$
    	  FOR ( str ch ) I C@ OVER = IF DROP I LEAVE THEN NEXT
    	SWAP - 2* _morse + W@
    	;
    
    pri GAP			MUTE dotms C@ * ms ;
    pri TAP:		?DUP IF dotms C@ * _pitch W@ HZ ms 1 GAP THEN ;
    
    ---			enable counter as tone - redirect output
    pub MORSE ( -- )
    	*EN HIGH *PIEZO A APIN 	EMIT:
    pub TAP ( ch -- )
    	DUP $20 >
    	IF
    	  --- convert lower case to upper case
    	  $7F AND DUP $5F > IF $20 - THEN
    	  --- index morse table and convert 2-bit codes to Morse taps
    	  MC@ 8 FOR DUP 14 >> 3 AND TAP: 2 << NEXT DROP 3
    	ELSE
    	  DROP 7
    	THEN
    	GAP
    	;
    
    
    
    --- use this version for general use anbd specify pin
    \ pub MORSE ( pin -- )	A APIN 	' TAP uemit W! ;
    
    ( Usage: MORSE PRINT" HELLO WORLD" CON )
    
    
    --- The character speed is related to dot length in seconds by the following formula:
    --- Speed (WPM) = 2.4 * (Dots per second)
    pub WPM ( wpm -- )	1200 SWAP / dotms C! ;
    pub PITCH ( hz -- )	600 MAX 1000 MIN _pitch W! ;
    
    
    END
    

  • Thank you, Peter! As I seem to be losing my hearing, this, along with a little hardware I've put together, might make it possible to be more active with the CW bands.
Sign In or Register to comment.