Shop OBEX P1 Docs P2 Docs Learn Events
TACHYON O/S V3.0 JUNO - Furiously Fast Forth, FAT32+LAN+VGA+RS485+OBEX ROMS+FP+LMM+++ - Page 22 — Parallax Forums

TACHYON O/S V3.0 JUNO - Furiously Fast Forth, FAT32+LAN+VGA+RS485+OBEX ROMS+FP+LMM+++

11920222425109

Comments

  • D.PD.P Posts: 790
    edited 2013-03-25 17:29
    I've updated the CHARLCD.fth file with a big digit mode plus a few other extras. The command codes are documented in the source code and as you may know the driver includes a lot of little extras such as tone generation, software controlled backlight brightness and contrast. The big digit mode is very handy for reading from a distance and allows up to 4 large digits on a 20x4.

    The driver is meant to be used a standard output stream device so rather than call methods which although possible is not desired as you simply send through the stream of controls and characters. This means you could substitute an output device or access it as a remote serial display.

    I use 8-bit parallel mode as standard but it can easily be adapted to 4-bit mode if you really want.

    Attachment not found.

    Hey that is neat Peter, BTW where can one find a winstar wh2004a lcd? No luck with my usual searches.
  • Peter JakackiPeter Jakacki Posts: 10,193
    edited 2013-03-25 18:56
    D.P wrote: »
    Hey that is neat Peter, BTW where can one find a winstar wh2004a lcd? No luck with my usual searches.
    All your usual 20x4 LCDs use the same interface as the standard Hitachi HD44780 compatible controller (ancient) which handles up to 80 characters. The controller that WINSTAR are using is the ST7066 which has a few extra enhancements but I don't use them. The particular display that I am using just happens to be FSTN for higher contrast and transflective so it works well in really bright sunlight and the amber backlight complements that nicely.
  • Peter JakackiPeter Jakacki Posts: 10,193
    edited 2013-03-27 06:25
    I had another need for CASE structures and so I implemented one which turned out quite simple. Rather than the conventional way of handling it (whichever way that is) I simplified the way it operates. Essentially CASE just saves the parameter in the "case" variable and the =[ operator simply fetches this and compares it to the parameter then executes an IF. The matching code is terminated by a ]= which essentially executes an EXIT follow by a THEN. This is how it looks in practice:
    [FONT=courier new]pub Navigate ( ch -- )
        CASE
        "4" =[ speed @ PanLeft ]=
        "6" =[ speed @ PanRight ]=
        "8" =[ speed @ TiltUp ]=
        "2" =[ speed @ TiltDown ]=
        "9" =[ ZOOMIN ]=
        "3" =[ ZOOMOUT ]=
        "0" =[ SetCam master C~ ]=
        "." =[ StopCam ]=
        $0D =[ StopStop master C~ ]= 
        ;
    [/FONT]
    

    To check for a range:
    [FONT=courier new]       "0" "9" ..[ case C@ EnterDigit ]=
    [/FONT]
    

    Anything that doesn't match falls through the statements and you can process it however you like or not at all. To read the original parameter it is necessary to fetch the variable that it's stored in at "case".
    So what do you think of this case structure?

    On another note since this thread has gone over 632 posts I think that I will separate the hardware posts into individual posts labelled as Tachyon <hardware> and keep the software on this thread or perhaps start another.
  • mindrobotsmindrobots Posts: 6,506
    edited 2013-03-27 07:50
    CASE - it looks elegant, useable and readable....not sure we could ask for much more!
  • sven98desven98de Posts: 8
    edited 2013-04-25 04:37
    Hi,
    does a "FORGET" word in Tachyon exist to remove words from the dictionary ?

    Sven
  • MJBMJB Posts: 1,235
    edited 2013-04-25 05:31
    see: http://forums.parallax.com/showthread.php/141061-TACHYON-A-Fast-and-small-Forth-byte-code-VM-%28source-code-available%29-Web-pages?p=1145270&viewfull=1#post1145270
    PETER wrote:
    I didn't forget to forget, I just didn't forget. Got it?

    Because of the way I create vector table entries with each new code entry I just haven't bothered to implement a word that is in my opinion unnecessary. If the code I have loaded is only sitting in RAM then I just hit a ^C or some other reset it so that I can reload again, it only takes a couple of seconds. Alternatively since Tachyon generates very compact code I just load new code over the top of the old.

    In the event that I have done a BACKUP then that's different and at present I just load all the modules back in again. Even though this process only takes a few seconds I am looking at ways to lock the modules so that I only need to load the latest module. But once again I don't feel a pressing need to implement a FORGET which proved useful when you had to load from slow floppies and memory was limited as well.
  • sven98desven98de Posts: 8
    edited 2013-04-26 03:29
    Thanks, I haven't found that in this long thread.
    I also found nothing about intergrating assembler code in Tachyon forth.
    Is it possible to integrate assembler instructions in Tachyon forth words like in propforth ?

    Sven
    MJB wrote: »
  • MJBMJB Posts: 1,235
    edited 2013-04-26 04:53
    sven98de wrote: »
    Thanks, I haven't found that in this long thread.
    I also found nothing about intergrating assembler code in Tachyon forth.
    Is it possible to integrate assembler instructions in Tachyon forth words like in propforth ?

    Sven

    it is different than in propforth.
    The approach I took was:
    - using peters PASM module mechanism to load small pieces of PASM code into the COG and the run it there, as he is doing this for various time critical modules (SPI etc.)

    - adding my PASM code to the TACHYON source file and compiling with BST. Extracting the BINARY code and transferring into a byte array to be loaded later.

    - it is even possible to extend the TACHYON image, that is loaded into the COG. but there is VERY little space for this - AND you really need to know what you do.

    see the code for my contest entry - there has no winner been announced yet ...:
    http://forums.parallax.com/showthread.php/143961-quot-Forth-of-the-Forth-quot-Challenge-(in-December)?p=1147312&viewfull=1#post1147312
  • Brian RileyBrian Riley Posts: 626
    edited 2013-06-04 15:00
    Does anyone have any Tachyon code for reading the touchpads on a QuickStart board?

    Thanks, in advance .... BBR
  • Peter JakackiPeter Jakacki Posts: 10,193
    edited 2013-06-04 18:38
    Does anyone have any Tachyon code for reading the touchpads on a QuickStart board?

    Thanks, in advance .... BBR
    Hi Brian, did you try something as simple as PINS to check the state of the I/O pins. I found that this reports it's either open or else pulled-down when you touch it. Here's a simple word that checks to see if a pin is floating or loaded and you can increase the sensitivity by increasing the delay. Alternatively you can just lock the delay into the word either as a constant or as a variable. BTW, I hope to get back into Tachyon and some more enhancements as well as other things after being buried in work and life for so long.

    [FONT=courier new]pub TOUCH? ( level pin# -- flg )
        DUP PINSET DUP PININP SWAP us PIN@ NOT
        ;
    
    
    \ demo usage (verbose)
    #1,000 #P0 TOUCH? .
    
    [/FONT]
    
  • Brian RileyBrian Riley Posts: 626
    edited 2013-06-04 21:43
    TNX ... I will give it a try in the morning
  • Brian RileyBrian Riley Posts: 626
    edited 2013-06-05 15:10
    Hi Brian, did you try something as simple as PINS to check the state of the I/O pins. I found that this reports it's either open or else pulled-down when you touch it. Here's a simple word that checks to see if a pin is floating or loaded and you can increase the sensitivity by increasing the delay. Alternatively you can just lock the delay into the word either as a constant or as a variable. BTW, I hope to get back into Tachyon and some more enhancements as well as other things after being buried in work and life for so long.

    [FONT=courier new]pub TOUCH? ( level pin# -- flg )
        DUP PINSET DUP PININP SWAP us PIN@ NOT
        ;
    \ demo usage (verbose)
    #1,000 #P0 TOUCH? .
    [/FONT]
    

    The word works perfectly .... thank you Peter.

    OBTW ... the "bleeding edge" EXTEND.fth (130603) has BACKUP broken. It gets from ?BACKUP to BACKUP and locks before it even starts to spin its little propeller. I used the next older version (CHANGELOG entry 130328) and all was well again. my base kernel was 130520
  • Peter JakackiPeter Jakacki Posts: 10,193
    edited 2013-06-05 15:44
    The word works perfectly .... thank you Peter.

    OBTW ... the "bleeding edge" EXTEND.fth (130603) has BACKUP broken. It gets from ?BACKUP to BACKUP and locks before it even starts to spin its little propeller. I used the next older version (CHANGELOG entry 130328) and all was well again. my base kernel was 130520

    I just had a look at the "Touch Buttons.spin" file and it dedicates a cog to scanning multiple keys. Handling multiple keys is just as easy as handling one and you have a choice of whether to capture these in real time in which case a proper FIFO buffer would be in order or else for many applications polling is fine. I will check out code for multiple keys shortly and post that as a link on the intro page.

    The reason BACKUP might not seem to work is that I made a decision to change the COGREG that the CLOCK instruction uses for it's mask. I2C routines use CLOCK and previously it always used 0 COGREG whereas now it uses 4 COGREG so that requires the newer kernel for the I2C routines to work. The bleeding edge files are the Google docs but I will update the text files in Dropbox. Why the change? I have SPI routines in applications that use these COGREGs to hold the masks for SCK,MOSI,MISO etc but the I2C accesses in-between were having to save and restore 0 COGREG which seemed redundant when there was a spare parameter register available.
  • Brian RileyBrian Riley Posts: 626
    edited 2013-06-05 17:04
    The reason BACKUP might not seem to work is that ....

    It locks up and never gives control back to me! ... and nevr gives an "ok" ... I tried it on 3 different boards ... same everywhere.


    cheers .... BBR
  • Peter JakackiPeter Jakacki Posts: 10,193
    edited 2013-06-05 17:34
    You just need the new kernel so I've updated the Dropbox files in case you are using those.
  • Peter JakackiPeter Jakacki Posts: 10,193
    edited 2013-06-05 18:21
    Here's the code for reading multiple inputs just like the Quick Start demo does in case you need it. It filters the input so that you need 32 consecutive reads of an active input to obtain a valid signal. This is probably a little bit of overkill in which case you could reduce the code to just the first line instead.
    Code execution time is mainly dependant upon the decay delay which is this case is set to 500us. Tachyon reports: NEWCNT TOUCH@ .LAP 680us ok


    [FONT=courier new]BYTE touch #31 ALLOT
    pub TOUCH@ ( -- pins )
        $FF DUP OUTSET INPUTS #500 us P@ INVERT $FF AND        \ Pulse the pins and read state after a delay
        touch DUP 1+ #31 <CMOVE                    \ make room for the new entry (shift method)
        touch C!                        \ update buffer
        $FF touch #32 ADO I C@ AND LOOP                \ Calculate filtered result
        ; 
    [/FONT]
    

    You can run this code in it's own cog if you want constant and predictable scanning in which case you would do this:
    [FONT=courier new]BYTE reading    
    pub TOUCHTASK
        BEGIN
          TOUCH@ ?DUP IF reading C! THEN            \ get the latest reading and update only if it's valid (easy for app to read and reset)
        AGAIN
        ;
        
    \ Add this code to your startup or just run it    
    ' TOUCHTASK TASK? RUN
    [/FONT]
    
    This one only has a single byte global variable as the buffer but it does prevent the reading from being overwritten by a key release in which case even a lazy app will detect the keypress after which it will clear the reading.
  • RickInTexasRickInTexas Posts: 124
    edited 2013-06-06 05:41
    Hi Peter. Great to see you're still active on Tachyon, thanks for the tremendous gift to the Propeller world!

    I have been following Tachyon, mostly passively from the beginning. Your recent additions have renewed my interest in it.

    I have been hoping that this issue would go away, but it has not --- I'm stuck at version " Propeller .:.:--TACHYON--:.:. Forth V20120919.1215" in the sense that in every release from there I have the following symptoms:

    I can load Tachyon, and it works, but exhibits this strange behavior:

    1) I hit <enter> and get the familiar "ok" prompt. Joy.

    2) I enter "WORDS" <enter> and get "WORDS ???". No Joy.

    I get the same "___ ???" response from all my "warm and fuzzy" test WORDS such as .VER, PINS, QWORDS etc.

    I can however get working a simple test sequence like:

    2 3 + .S <enter> and get "2 3 + . 5 ok".

    I suspect a serial/comms issue, as I've been unable to get " EXTEND.fth" to load since the aforementioned "V20120919.1215" release. I think I uploaded that the hard way, cutting and pasting a line at a time, IIRC. Ugh. Thank God for the EEPROM backup words!

    I am running a PC and have tried:

    1) Several different Prop boards, most recently a Quickstart that I bought thinking that going from 32 to 64 KB, and ruling out a Prop HW issue. Nope.

    2) Different terminal apps including PuTTY, "Parallax Serial Terminal", CoolTerm, Termite and "Br@y++ 1.9b".

    I could not get "Minicom2.6.1" working under Windows or Linux in a VM, but I did just get a Raspberry Pi, FWIW.

    Thoughts? Is anyone successfully using this under Windows?

    Rick (In Texas)

    P.S. I have also tried the available binaries from Dropbox; same results.
  • Peter JakackiPeter Jakacki Posts: 10,193
    edited 2013-06-06 06:28
    Hi Peter. Great to see you're still active on Tachyon, thanks for the tremendous gift to the Propeller world!

    I have been following Tachyon, mostly passively from the beginning. Your recent additions have renewed my interest in it.

    I have been hoping that this issue would go away, but it has not --- I'm stuck at version " Propeller .:.:--TACHYON--:.:. Forth V20120919.1215" in the sense that in every release from there I have the following symptoms:

    I can load Tachyon, and it works, but exhibits this strange behavior:

    1) I hit <enter> and get the familiar "ok" prompt. Joy.

    2) I enter "WORDS" <enter> and get "WORDS ???". No Joy.

    I get the same "___ ???" response from all my "warm and fuzzy" test WORDS such as .VER, PINS, QWORDS etc.

    I can however get working a simple test sequence like:

    2 3 + .S <enter> and get "2 3 + . 5 ok".

    I suspect a serial/comms issue, as I've been unable to get " EXTEND.fth" to load since the aforementioned "V20120919.1215" release. I think I uploaded that the hard way, cutting and pasting a line at a time, IIRC. Ugh. Thank God for the EEPROM backup words!

    I am running a PC and have tried:

    1) Several different Prop boards, most recently a Quickstart that I bought thinking that going from 32 to 64 KB, and ruling out a Prop HW issue. Nope.

    2) Different terminal apps including PuTTY, "Parallax Serial Terminal", CoolTerm, Termite and "Br@y++ 1.9b".

    I could not get "Minicom2.6.1" working under Windows or Linux in a VM, but I did just get a Raspberry Pi, FWIW.

    Thoughts? Is anyone successfully using this under Windows?

    Rick (In Texas)

    P.S. I have also tried the available binaries from Dropbox; same results.

    To get the latest kernel just grab the files from the Dropbox account and compile Tachyon V2.1.spin with the correct crystal and PLL settings for your board. Once loaded you can switch to your terminal emulator and if you are using Windows I recommend TeraTerm. Make sure you configure this at 230400 baud 8N2 and 10ms line delay with char delay set to 0. Disable any handshake controls. From there just copy and paste or "File Send" EXTEND.fth. You now have your Tachyon up and running. This whole procedure from whoa to go takes less than 30 seconds. Is that what you are doing?

    You can also use the Google docs versions even though they have graphics and tables in there, just copy and paste, both for the kernel spin file into the Prop tool etc. BTW, I still use BST as it also outputs a listing which Is important for honing the kernel.

    Anyhow, hope that gets you going otherwise I don't have a clue what's going on there.

    EDIT: I've included part of the Dropbox directory listing so you can check the dates etc.
    Screenshot from 2013-06-06 23:29:50.png


    I've just checked it with TeraTerm in Windows and I had to set it to 8N2, that is 2 stop bits and then I don't have any problems pasting files through the terminal. I also tested compiling the kernel in the Spin tool and that works fine too on an old demo board.
    Screenshot from 2013-06-06 23:41:03.jpg
  • D.PD.P Posts: 790
    edited 2013-06-06 09:48
    Hi Peter. Great to see you're still active on Tachyon, thanks for the tremendous gift to the Propeller world!

    I have been following Tachyon, mostly passively from the beginning. Your recent additions have renewed my interest in it.

    I have been hoping that this issue would go away, but it has not --- I'm stuck at version " Propeller .:.:--TACHYON--:.:. Forth V20120919.1215" in the sense that in every release from there I have the following symptoms:

    I can load Tachyon, and it works, but exhibits this strange behavior:

    1) I hit <enter> and get the familiar "ok" prompt. Joy.

    2) I enter "WORDS" <enter> and get "WORDS ???". No Joy.

    I get the same "___ ???" response from all my "warm and fuzzy" test WORDS such as .VER, PINS, QWORDS etc.

    I can however get working a simple test sequence like:

    2 3 + .S <enter> and get "2 3 + . 5 ok".

    I suspect a serial/comms issue, as I've been unable to get " EXTEND.fth" to load since the aforementioned "V20120919.1215" release. I think I uploaded that the hard way, cutting and pasting a line at a time, IIRC. Ugh. Thank God for the EEPROM backup words!

    I am running a PC and have tried:

    1) Several different Prop boards, most recently a Quickstart that I bought thinking that going from 32 to 64 KB, and ruling out a Prop HW issue. Nope.

    2) Different terminal apps including PuTTY, "Parallax Serial Terminal", CoolTerm, Termite and "Br@y++ 1.9b".

    I could not get "Minicom2.6.1" working under Windows or Linux in a VM, but I did just get a Raspberry Pi, FWIW.

    Thoughts? Is anyone successfully using this under Windows?

    Rick (In Texas)

    P.S. I have also tried the available binaries from Dropbox; same results.

    Just rebuilt the world with the lastest Tachyon files and Extend.fth, no problems.
    Mac OSX 10.8.2, BST, MiniComm. I've also confirm the build / functionality with Win7, PropTool, TeraTerm
    I'm sure this thread can help you figure this out.
    Also I'm looking forward to more neat Tachyon stuff.
    Oh and thanks Peter!
  • RickInTexasRickInTexas Posts: 124
    edited 2013-06-06 19:03
    D.P and Peter. Thanks for the quick replies.

    Still same symptoms. Loaded Latest Tachyon file "Tachyon V2.1.spin" with the following changes for QuickStart:

    CON
    _CLKMODE = XTALL + PLL16 ' <
    change to suit
    _XINFREQ = 5_000_000 ' <
    change to suit your crystal

    baud = 115_200 ' <-- change - tested from 300 baud to 3M baud

    This works so far. Next I did a "File Upload" on the latest "EXTEND.fth. TeraTerm chokes with Peter's settings. I even tried a 1 MS per character delay on top of the 10 MS per line delay

    Could someone possibly upload a binary with these settings to help me isolate this?.

    Thanks, Rick (In Texas) Scheck@Gmail.com. First name plus Last name@gmail.com..
  • Peter JakackiPeter Jakacki Posts: 10,193
    edited 2013-06-06 21:12
    D.P and Peter. Thanks for the quick replies.

    Still same symptoms. Loaded Latest Tachyon file "Tachyon V2.1.spin" with the following changes for QuickStart:

    CON
    _CLKMODE = XTALL + PLL16 ' <
    change to suit
    _XINFREQ = 5_000_000 ' <
    change to suit your crystal

    baud = 115_200 ' <-- change - tested from 300 baud to 3M baud

    This works so far. Next I did a "File Upload" on the latest "EXTEND.fth. TeraTerm chokes with Peter's settings. I even tried a 1 MS per character delay on top of the 10 MS per line delay

    Could someone possibly upload a binary with these settings to help me isolate this?.

    Thanks, Rick (In Texas) Scheck@Gmail.com. First name plus Last name@gmail.com..

    Sounds like something wrong with the serial setup although I've never had a problem, might even be the serial cable except it's a QuickStart. Anyway TeraTerm should be setup as indicated previously and under "Terminal setup" just make sure that "new line" is set to CR for both rx and tx. A failure on a 1ms char delay cannot be a failure of the kernel but something else seems to be going on. I will make a binary to suit and load it into Dropbox binaries folder shortly but I don't think that will solve your problem. Do you have the latest USB drivers and what version of Windows are you using not that I think that the problem could be there.

    I've attached my TeraTerm ini file, just remove the .bin in the name and copy to your TeraTerm folder then run TeraTerm.
  • Brian RileyBrian Riley Posts: 626
    edited 2013-06-06 22:05
    I occasionally have had a similar problem with copy/paste of EXTEND.fth choking and when I reach my self abuse limit I recompile the kernel spin file for 57,600 and EXTEND almost always goes in on the first try at that speed. EXTEND ends with a ?BACKUP, so your work is safe . Now I run at 115_200 so I do a

    #115_200 CONBAUD BACKUP REBOOT

    Don't forget too change your terminal baud rate to match the 115_200 or whatever you chose.
  • Peter JakackiPeter Jakacki Posts: 10,193
    edited 2013-06-06 22:31
    I occasionally have had a similar problem with copy/paste of EXTEND.fth choking and when I reach my self abuse limit I recompile the kernel spin file for 57,600 and EXTEND almost always goes in on the first try at that speed. EXTEND ends with a ?BACKUP, so your work is safe . Now I run at 115_200 so I do a

    #115_200 CONBAUD BACKUP REBOOT

    Don't forget too change your terminal baud rate to match the 115_200 or whatever you chose.

    Okay, so I run at 23400 using Minicom with a 10ms delay and all's fine. When I use TeraTerm in Windows it's the same except I need 2 stop bits and this is probably because my receive cog is doing a bit of extra processing on each character and needs that little bit of time between stop and start bits. BTW, when you do a CONBAUD you don't need to BACKUP as this information is written directly into EEPROM anyway and doesn't become effective until a REBOOT (or just ^C).

    I've been trying to test a binary image dump and load but it hasn't been working so I'm just digging into why it isn't. Once I do I will reactivate the binary dump method and update the binary images in Dropbox.

    EDIT: Sorted out my problem with BINARYDUMP and now there is a new binary that includes EXTEND.fth set for 115200 baud and 5MHz crystal. I may put some others in there also.
    EDIT: fixed link to binary - was set to 230400 baud
  • D.PD.P Posts: 790
    edited 2013-06-07 09:56
    Okay, so I run at 23400 using Minicom with a 10ms delay and all's fine. When I use TeraTerm in Windows it's the same except I need 2 stop bits and this is probably because my receive cog is doing a bit of extra processing on each character and needs that little bit of time between stop and start bits. BTW, when you do a CONBAUD you don't need to BACKUP as this information is written directly into EEPROM anyway and doesn't become effective until a REBOOT (or just ^C).

    I've been trying to test a binary image dump and load but it hasn't been working so I'm just digging into why it isn't. Once I do I will reactivate the binary dump method and update the binary images in Dropbox.

    EDIT: Sorted out my problem with BINARYDUMP and now there is a new binary that includes EXTEND.fth set for 115200 baud and 5MHz crystal. I may put some others in there also.
    EDIT: fixed link to binary - was set to 230400 baud

    Since the build of 05/20/2013 <BEGIN AGAIN> has been removed.

    Could you fix up this simple for word with suitable replacement syntax?
    : MYPWM ( duty pin -- )
    	MASK DUP OUTCLR
    	@SCK COGREG!
    	#100 MIN
    	#1000 * #100005 OVER -	\ Scale to lower frequency ( duty off pin ) 
    	<BEGIN
    	  CLOCK OVER DELTA
    	  CLOCK DUP DELTA
    	  KEY? AND			\ keep doing this until we hit a key
    	AGAIN>	
    	2DROP
    	;
    
  • RickInTexasRickInTexas Posts: 124
    edited 2013-06-07 10:34
    Hurray! I'm very happy now. Loaded the binary from Post #654
    Propeller .:.:--TACHYON--:.:. Forth V21130605.0000

    NAMES: $623B...7448 for 4621 (22459 bytes added) with 22735 bytes free
    CODE: $0000...2999 for 6028 (4377 bytes added) with 22119 bytes free
    CALLS: 0622 vectors free

    AUTORUN BOOT
    MODULES LOADED:
    1880: EXTEND.fth Primary extensions to TACHYON kernel - 130604.1300

    I am making several backups of that binary gem now.
    To get the latest kernel just grab the files from the Dropbox account and compile Tachyon V2.1.spin with the correct crystal and PLL settings for your board. Once loaded you can switch to your terminal emulator and if you are using Windows I recommend TeraTerm. Make sure you configure this at 230400 baud 8N2 and 10ms line delay with char delay set to 0. Disable any handshake controls. From there just copy and paste or "File Send" EXTEND.fth. You now have your Tachyon up and running. This whole procedure from whoa to go takes less than 30 seconds. Is that what you are doing?

    Oh yes, EXACTLY and then with a bunch of super-conservative settings out of desperation really.

    @Brian. Interesting to see that. Serial RS-232 etc (heck I can remember those acoustically-couple modems) has always been such a basic utility that just plain works >99.9% of the time. In fact Tachyon has been most impressive, working fine now at 460_800, nice.

    As for the pasting/uploading stuff, I'm pretty burned out on that. I've been thinking of a utility program that parses and input file or pasted code, EXTEND.fth et. al. and then manages the upload by waiting for an "ok" as an ACK before sending the next line.

    It is frustrating to me to mess with something when I cannot see what is really going on. I don't have a serial protocol analyzer.

    I guess I'm spoiled by years of electronics/avionics where I had whatever I needed to truly understand and see what is happening at the lowest level. At least a good 100Mhz scope (actually have that now) up to a $500k specialized test stack for 1030/1090 Mhz Mode-S transponders.

    <end tantrum>

    Thanks everyone for your patient and detailed help. I think that ttermpro was the only serial program I did not try. Damn it's old, there's a dl for Win 3.1! Hey, maybe I'll try that on Raspberry Pi!

    Peter, thanks for your most excellent documentation. It is a rare duck that has the superb technical capabilities couple with top-notch docs that are great for techies yet accessible to a first-grader!

    Rick In (Plano) Texas.
  • Peter JakackiPeter Jakacki Posts: 10,193
    edited 2013-06-07 15:18
    D.P wrote: »
    Since the build of 05/20/2013 <BEGIN AGAIN> has been removed.

    Could you fix up this simple for word with suitable replacement syntax?
    : MYPWM ( duty pin -- )
        MASK DUP OUTCLR
        @SCK COGREG!
        #100 MIN
        #1000 * #100005 OVER -    \ Scale to lower frequency ( duty off pin ) 
        <BEGIN
          CLOCK OVER DELTA
          CLOCK DUP DELTA
          KEY? AND            \ keep doing this until we hit a key
        AGAIN>    
        2DROP
        ;
    

    The enhanced version of the PWM that runs in its own cog is built into EXTEND.fth, the usage of which is shown below and besides you would need an UNTIL instead of an AGAIN if you wanted to terminate the loop. I never really used <BEGIN and AGAIN> although the concept is good but the cog memory is limited. Just use BEGIN AGAIN UNTIL WHILE REPEAT words instead. Gotta fly now but I will get back to this thread a little later.
    [B][FONT=courier new][COLOR=#000000][B]USAGE: [/B][/COLOR]
    [/FONT]
    [FONT=courier new][COLOR=#000000]( implement 8 PWM channels on P0..P7 )[/COLOR]
    [/FONT]
    [FONT=courier new][COLOR=#000000]\ setup area for PWM values[/COLOR]
    [/FONT]
    [FONT=courier new][COLOR=#000000]TABLE pwmtbl #252 ALLOT		[/COLOR]
    [/FONT]
    [FONT=courier new][COLOR=#000000]\ Set the frequecy to[/COLOR] 5kHz
    [/FONT]
    [FONT=courier new][COLOR=#000000]#5000 PWMFREQ			[/COLOR]
    [/FONT]
    [FONT=courier new][COLOR=#000000]\ Start up PWM using from P0 for 8 channels	[/COLOR]
    [/FONT]
    [FONT=courier new][COLOR=#000000]#P0 8 pwmtbl RUNPWM		[/COLOR]
    [/FONT]
    [FONT=courier new]
    [COLOR=#000000][/COLOR][/FONT][FONT=courier new][COLOR=#000000]\ Set PWM channel 0 for 50%[/COLOR][/FONT]
    [FONT=courier new][COLOR=#000000]$80 0 PWM![/COLOR][/FONT]
    [FONT=courier new][COLOR=#000000]\ Set PWM channel 7 for 25%[/COLOR][/FONT]
    [FONT=courier new][COLOR=#000000]#25 % 7 PWM!			[/COLOR][/FONT]
    [FONT=courier new]
    [COLOR=#000000][/COLOR][/FONT][COLOR=#000000][FONT=Ubuntu Mono]}[/FONT][/COLOR]
    
    [/B]
    
  • Peter JakackiPeter Jakacki Posts: 10,193
    edited 2013-06-07 15:22
    Hurray! I'm very happy now. Loaded the binary from Post #654

    Something at last, but TeraTerm Pro is the old old version and the link I gave for TeraTerm is the new new Open Source version. Thanks for the feedback, I will get back to you later.
  • RickInTexasRickInTexas Posts: 124
    edited 2013-06-07 19:26
    Something at last, but TeraTerm Pro is the old old version and the link I gave for TeraTerm is the new new Open Source version. Thanks for the feedback, I will get back to you later.

    Doh! I hit the download link and saw this page (but it was in JAPANESE on my PC)
    .
    http://en.sourceforge.jp/projects/ttssh2/releases/://

    So I ended up with version 2.3. Sheesh, the availability of versions for DEC Apha and WinCE should have been a clue

    Looking at it now on my iPad, I see the current release, 4.78, though through my carelessness I didn't see It. Need to page down to see the new release.

    Well, at least I know where to get a legacy terminal should I load up Win 3.1 to show my kids what a PC looked like in the good old days.


    RickInTexas
  • Brian RileyBrian Riley Posts: 626
    edited 2013-06-07 21:26
    I pulled the most recent DropBox TF folder, compiled and burnt EEPROM for 230400 baud and did my copy/paste this time at 230400 8n2... still no love!!!! Soooo ... it was back to 115200 and 8n1 and all was well in Mudville once again.

    My setup is a late 2012 iMac with a quad core I7 , up-to-date Mtn Lion and Zterm

    cheers ... BBR
  • Peter JakackiPeter Jakacki Posts: 10,193
    edited 2013-06-07 21:57
    I pulled the most recent DropBox TF folder, compiled and burnt EEPROM for 230400 baud and did my copy/paste this time at 230400 8n2... still no love!!!! Soooo ... it was back to 115200 and 8n1 and all was well in Mudville once again.

    My setup is a late 2012 iMac with a quad core I7 , up-to-date Mtn Lion and Zterm

    cheers ... BBR
    I will hook up the scope and have a look at the timing as I can simulate a download from another Prop so that I can control the timing a little better. It may be that I need to optimize the receive post-processing to make sure it's ready for the next character. But truly, under Linux Mint (Ubuntu base) and using FT232Rs and Minicom and i7 I am not experiencing any of these problems though obviously they exist.
Sign In or Register to comment.