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 49 — Parallax Forums

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

14647495152109

Comments

  • MJBMJB Posts: 1,235
    edited 2014-06-13 03:16
    That's basically it and later on I will probably transfer the block send routines from easynet over to the drivers instead. I will send you a link to the new W5100.fth which I haven't started working with yet but just setting up the page which was copied from W5200.fth.
    thanks

    W5100, W5200 and even W5500 seem to have a lot in common.
    Do you think it would make sense to have separate lower layers for the 3 of them
    and a shared upper layer, instead of keeping 3 seperate drivers, that have to be kept current
    if one of them gets extended?
  • D.PD.P Posts: 790
    edited 2014-06-13 10:43
    MJB wrote: »
    thanks

    W5100, W5200 and even W5500 seem to have a lot in common.
    Do you think it would make sense to have separate lower layers for the 3 of them
    and a shared upper layer, instead of keeping 3 seperate drivers, that have to be kept current
    if one of them gets extended?

    I didn't have any luck with my W5100.fth attempt. I'm just gonna be patient and help test the new spinneret W5100 driver when it's ready. There are so many enhancements in the lastest kernel and extend that I will wait for the new design.
  • MJBMJB Posts: 1,235
    edited 2014-06-13 10:59
    D.P wrote: »
    I didn't have any luck with my W5100.fth attempt. I'm just gonna be patient and help test the new spinneret W5100 driver when it's ready. There are so many enhancements in the lastest kernel and extend that I will wait for the new design.
    there doesn't seem to be too much differences between W5100 and W5200.
    if you don't need all new functionality from W5200.

    Peter made a start from his W5200.fth to the new W5100.fth, where I am working on right now.
    If he sends you the link you can watch, assist, contribute with your experience.
    I don't know how to do this.
  • D.PD.P Posts: 790
    edited 2014-06-13 11:49
    MJB wrote: »
    there doesn't seem to be too much differences between W5100 and W5200.
    if you don't need all new functionality from W5200.

    Peter made a start from his W5200.fth to the new W5100.fth, where I am working on right now.
    If he sends you the link you can watch, assist, contribute with your experience.
    I don't know how to do this.

    I think the link is a google docs link.

    If so you could cut and paste the link in a PM. I don't think Peter would mind, I believe he just doesn't want it in the wild before it's ready to compile.

    No worries I can wait though, plenty to do.

    dp
  • MJBMJB Posts: 1,235
    edited 2014-06-13 13:48
    D.P wrote: »
    I think the link is a google docs link.
    dp
    see PM
  • Peter JakackiPeter Jakacki Posts: 10,193
    edited 2014-06-13 21:35
    D.P wrote: »
    I didn't have any luck with my W5100.fth attempt. I'm just gonna be patient and help test the new spinneret W5100 driver when it's ready. There are so many enhancements in the lastest kernel and extend that I will wait for the new design.

    You will always have luck with anything you manage to achieve in Forth, even if you didn't get the W5100 running, you should be able to access the registers. As you know, the interactive environment of Forth permits all kinds of testing and development. Once you have that working right you take the next step and the next and before you know it, it's done. That's the way I got it working in the first place. I don't have much time at the moment but I will see what I can achieve in 30 minutes then!

    BTW, if you already have permission to edit you also have permission to add others as well. Here is the link to the read-only webpage document.
  • D.PD.P Posts: 790
    edited 2014-06-13 22:19
    You will always have luck with anything you manage to achieve in Forth, even if you didn't get the W5100 running, you should be able to access the registers. As you know, the interactive environment of Forth permits all kinds of testing and development. Once you have that working right you take the next step and the next and before you know it, it's done. That's the way I got it working in the first place. I don't have much time at the moment but I will see what I can achieve in 30 minutes then!

    BTW, if you already have permission to edit you also have permission to add others as well. Here is the link to the read-only webpage document.

    You are correct on all counts. I didn't put enough effort toward this goal. I had such an easy go using Tachyon and the Air Sense K30 CO2 sensor. That sensor is running just fine in it's own task. This mis-step has been a case of impatience with my learning Tachyon and Forth. Appreciate the reminder.
  • Peter JakackiPeter Jakacki Posts: 10,193
    edited 2014-06-13 23:01
    D.P wrote: »
    You are correct on all counts. I didn't put enough effort toward this goal. I had such an easy go using Tachyon and the Air Sense K30 CO2 sensor. That sensor is running just fine in it's own task. This mis-step has been a case of impatience with my learning Tachyon and Forth. Appreciate the reminder.

    I spent about 30 minutes on it and added the bus interface words for the indirect registers as well as the 16-bit registers plus a quick test method. Still not quite right but you are welcome to play with it until I can get back to it later. Just use the section in red.
  • Peter JakackiPeter Jakacki Posts: 10,193
    edited 2014-06-14 07:45
    Now that I've spent a couple of good hours looking at the W5100 again and converting W5200.fth down into a W5100 driver I have been able to load up a Spinneret with all the filesystem and network drivers. I am slowly going through the code tweaking any little differences but I basically have FTP, WEB, and Telnet running. The published source code webpage document is here. Build your system as indicated at the end of the document and remember to CREATE SMALL before you first load EXTEND.fth.

    This is the boot screen.
    [COLOR=#2f4f4f][FONT=courier new]  Propeller .:.:--TACHYON--:.:. Forth V23140606.2000
    
    NAMES:  $50B9...740D for 9044 (0910 bytes added)
    CODE:   $0000...4EEB for 11159 (3803 bytes added)
    CALLS:  0165 vectors free
    RAM:    0462 bytes free
    
    MODULES LOADED: 
    4010: EASYNET.fth         WIZNET NETWORK SERVERS 140517.0100 
    38B5: W5100.fth           WIZNET W5100 driver 140613.0000 
    2E8B: EASYFILE.fth        FAT32 Virtual Memory Access File System Layer V1.1 140528-0000 
    29D0: SDCARD.fth          SD CARD Toolkit - 140121.2200 
    286D: SPINNERET.fth       Spinneret + W5100 HARDWARE DEFINITIONS 131204.1200 
    1881: EXTEND.fth          Primary extensions to TACHYON kernel - 140604-02OO
    BOOT: EXTEND.boot
    BOOT: EASYNET
    
    *** Tachyon Forth Network and File Server *** 
    
     Mounted SD Card 
    Media mounted as CAC0.660D          NO NAME     FAT32    Cluster size = 2,768   Sectors = 6,320
    
    Listing directory 
    NO NAME    
    
    TEST0001.TXT   SYSLOG  .TXT   FAVICON .ICO   HOME    .HTM   HTTP404 .HTM   
    FIRMWARE.ROM    ... ready! 
    
    ************ W5100 STATUS ************ 
    LINK DOWN
    CHIP VER  0000
    SRC IP    192.168.016.151.
    MASK      255.255.255.000.
    GATEWAY   192.168.016.001.
    MAC       02.FF.0B.FA.F3.78.
    *** SOCKETS *** 
    #0 40:42:41 MODE= TCP  PORT#   80        TXRW=    .    .RXRW=    .    .RXSZ=    .IR=00 ST=14 LISTEN      
    #1 40:42:41 MODE= TCP  PORT#   21        TXRW=    .    .RXRW=    .    .RXSZ=    .IR=00 ST=14 LISTEN      
    #2 40:42:41 MODE= CLSD PORT#             TXRW=    .    .RXRW=    .    .RXSZ=    .IR=00 ST=00 CLOSED      
    #3 40:42:41 MODE= TCP  PORT#10001        TXRW=    .    .RXRW=    .    .RXSZ=    .IR=00 ST=14 LISTEN      
    
    * WEB, FTP, and TELNET servers running * 
    
    [/FONT][/COLOR]
    
  • MJBMJB Posts: 1,235
    edited 2014-06-14 13:58
    Now that I've spent a couple of good hours looking at the W5100 again and converting W5200.fth down into a W5100 driver
    I had the honor of watching Peter in this ...
    meanwhile I undusted my Spinneret, found the PropStick and with little movement to limit my back pain loaded all the modules.
    Started and ... no SD-card found ... I remember there is Peters SD image on dropbox - will have a look later ...
    ok take one from a smartphone I just had available
    startup again ... directory gets listet
    ... aha I need to type GO ;-)
    webserver started ... and I can connect from Browser - no .htm files found ... because non are there
    Filezilla started ... shows the dir, but nothing more ... connection timeout ...
    Telnet startet ... connection times out
    not bad, given that I have not read the documentation completely

    i.o.w. very impressive - thanks Peter
  • D.PD.P Posts: 790
    edited 2014-06-14 16:35
    Now that I've spent a couple of good hours looking at the W5100 again and converting W5200.fth down into a W5100 driver I have been able to load up a Spinneret with all the filesystem and network drivers. I am slowly going through the code tweaking any little differences but I basically have FTP, WEB, and Telnet running. The published source code webpage document is here. Build your system as indicated at the end of the document and remember to CREATE SMALL before you first load EXTEND.fth.

    This is the boot screen.
    [COLOR=#2f4f4f][FONT=courier new]  Propeller .:.:--TACHYON--:.:. Forth V23140606.2000
    
    NAMES:  $50B9...740D for 9044 (0910 bytes added)
    CODE:   $0000...4EEB for 11159 (3803 bytes added)
    CALLS:  0165 vectors free
    RAM:    0462 bytes free
    
    MODULES LOADED: 
    4010: EASYNET.fth         WIZNET NETWORK SERVERS 140517.0100 
    38B5: W5100.fth           WIZNET W5100 driver 140613.0000 
    2E8B: EASYFILE.fth        FAT32 Virtual Memory Access File System Layer V1.1 140528-0000 
    29D0: SDCARD.fth          SD CARD Toolkit - 140121.2200 
    286D: SPINNERET.fth       Spinneret + W5100 HARDWARE DEFINITIONS 131204.1200 
    1881: EXTEND.fth          Primary extensions to TACHYON kernel - 140604-02OO
    BOOT: EXTEND.boot
    BOOT: EASYNET
    
    *** Tachyon Forth Network and File Server *** 
    
     Mounted SD Card 
    Media mounted as CAC0.660D          NO NAME     FAT32    Cluster size = 2,768   Sectors = 6,320
    
    Listing directory 
    NO NAME    
    
    TEST0001.TXT   SYSLOG  .TXT   FAVICON .ICO   HOME    .HTM   HTTP404 .HTM   
    FIRMWARE.ROM    ... ready! 
    
    ************ W5100 STATUS ************ 
    LINK DOWN
    CHIP VER  0000
    SRC IP    192.168.016.151.
    MASK      255.255.255.000.
    GATEWAY   192.168.016.001.
    MAC       02.FF.0B.FA.F3.78.
    *** SOCKETS *** 
    #0 40:42:41 MODE= TCP  PORT#   80        TXRW=    .    .RXRW=    .    .RXSZ=    .IR=00 ST=14 LISTEN      
    #1 40:42:41 MODE= TCP  PORT#   21        TXRW=    .    .RXRW=    .    .RXSZ=    .IR=00 ST=14 LISTEN      
    #2 40:42:41 MODE= CLSD PORT#             TXRW=    .    .RXRW=    .    .RXSZ=    .IR=00 ST=00 CLOSED      
    #3 40:42:41 MODE= TCP  PORT#10001        TXRW=    .    .RXRW=    .    .RXSZ=    .IR=00 ST=14 LISTEN      
    
    * WEB, FTP, and TELNET servers running * 
    
    [/FONT][/COLOR]
    

    Very nice Peter, I need to review the code and keep learning.

    Could you post a binary please, thanks
  • Peter JakackiPeter Jakacki Posts: 10,193
    edited 2014-06-14 16:46
    D.P wrote: »
    Very nice Peter, I need to review the code and keep learning.

    Could you post a binary please, thanks

    I feel asleep before I could finish tweaking it! I still need to sift through the operation of it as some parts aren't responding consistently but overall the functionality appears sound. I will pop a current binary into Dropbox, updating the current Spinneret binary.
  • Peter JakackiPeter Jakacki Posts: 10,193
    edited 2014-06-15 01:27
    The Spinneret is now accessible via the internet at tachyonforth.com:81 as well as the W5200 at normal port 80. The Spinneret binary is in the dropbox account (see my sig)
  • D.PD.P Posts: 790
    edited 2014-06-16 14:55
    I have been having problems with the current Kernel and Extend. I can complie and download the Kernel just fine with BST but when I go and load Extend the system goes into a constant RESET before executing the BACKUP command in Extend? In another thread I read this from PhiPi
    When this happens with the PropPlug plugged in, is the USB cable to the computer also connected? If not, this is a known issue, wherein the P30 output from the Prop tries to power the PropPlug which, in turn, resets the Prop via the USB chip's DTR line. This will happen continuously if your program starts one of the serial I/O objects, keeping your program from getting any kind of start. The remedy is to not start serial I/O under this condition or to add a 2.2K-4.7K pull-up to P30, which will keep the PropPlug powered all the time.

    Also I can load a V2.1 Kernel and associated Extend just fine so I am really stumped about this. Luckily Peter has provided the binaries for me that allow me to continue on.
  • Peter JakackiPeter Jakacki Posts: 10,193
    edited 2014-06-16 17:40
    D.P wrote: »
    I have been having problems with the current Kernel and Extend. I can complie and download the Kernel just fine with BST but when I go and load Extend the system goes into a constant RESET before executing the BACKUP command in Extend? In another thread I read this from PhiPi



    Also I can load a V2.1 Kernel and associated Extend just fine so I am really stumped about this. Luckily Peter has provided the binaries for me that allow me to continue on.

    That sounds more like a hardware problem for some reason but please check your V2.3 copy, there was one a while ago that I had let the txd line float high in but decided to revert back as not all boards have pull-ups. I've just updated all the Dropbox files anyway so it should see that they have been modified recently, just in case you account is not synching. The other thing to do is just go back to the basics and measure the power rails while all this is happening, even put your meter on AC in case of ripple etc.
  • D.PD.P Posts: 790
    edited 2014-06-16 19:06
    That sounds more like a hardware problem for some reason but please check your V2.3 copy, there was one a while ago that I had let the txd line float high in but decided to revert back as not all boards have pull-ups. I've just updated all the Dropbox files anyway so it should see that they have been modified recently, just in case you account is not synching. The other thing to do is just go back to the basics and measure the power rails while all this is happening, even put your meter on AC in case of ripple etc.

    Fixed.

    These files built correctly so it was a version of 2.3 I must have had with the "float high" configuration.
  • D.PD.P Posts: 790
    edited 2014-06-17 12:14
    Just downloaded fresh copies of both Tachyon and Extend, twice, double checked twice. Complied twice and I get this stuff again?
    1796
    
    00
      Propeller .:.:--TACHYON--:.:. Forth V23140616.0000
    
    ropeller .:.:--TACHYON--:.:. Forth V23140616.0000
    
    ropeller .:.:--TACHYON--:.:. Forth V23140616.0000
    
    ropeller .:.:--TACHYON--:.:. Forth V23140616.0000
    
    ropeller .:.:--TACHYON--:.:. Forth V23140616.0000
    
    ropeller .:.:--TACHYON--:.:. Forth V23140616.0000
    
    ropeller .:.:--TACHYON--:.:. Forth V23140616.0000
    
    ropeller .:.:--TACHYON--:.:. Forth V23140616.0000
    
    ropeller .:.:--TACHYON--:.:. Forth V23140616.0000
    
    And the version of Extend is: pub EXTEND.fth ." Primary extensions to TACHYON kernel - 140604-02OO" ;
  • MJBMJB Posts: 1,235
    edited 2014-06-17 12:32
    D.P.
    just loaded the very latest into PropBOE
    TACHYON
      Propeller .:.:--TACHYON--:.:. Forth V23140617.0000
     ok
    
    00:00:00  End of source code, 1797 lines processed and 0000 errors found
    MODULES LOADED:
    1880: EXTEND.fth          Primary extensions to TACHYON kernel - 140604-02OO
    
    
    NAMES:  $5C92...743E for 6060 (3623 bytes added)
    CODE:   $0000...3481 for 7381 (7169 bytes added)
    CALLS:  0467 vectors free
    RAM:    10257 bytes free
     ok
    \
    EEPROM  9600d SERBAUD  ok
    ?BACKUP  ok
      ok
      ok
    
  • D.PD.P Posts: 790
    edited 2014-06-17 15:20
    MJB wrote: »
    D.P.
    just loaded the very latest into PropBOE
    TACHYON
      Propeller .:.:--TACHYON--:.:. Forth V23140617.0000
     ok
    
    00:00:00  End of source code, 1797 lines processed and 0000 errors found
    MODULES LOADED:
    1880: EXTEND.fth          Primary extensions to TACHYON kernel - 140604-02OO
    
    
    NAMES:  $5C92...743E for 6060 (3623 bytes added)
    CODE:   $0000...3481 for 7381 (7169 bytes added)
    CALLS:  0467 vectors free
    RAM:    10257 bytes free
     ok
    \
    EEPROM  9600d SERBAUD  ok
    ?BACKUP  ok
      ok
      ok
    

    My PBOE works as well, just not the P Professional Dev Board?
  • Peter JakackiPeter Jakacki Posts: 10,193
    edited 2014-06-17 16:59
    D.P wrote: »
    My PBOE works as well, just not the P Professional Dev Board?

    No idea except it seems that Tachyon does run on the PPDB in that it compiles EXTEND.fth, but where does it fail, during or after or compiling, or after boot? The 1796 at the top of the screen almost looks like a line number right at the end, try commenting out ?BACKUP etc and see if that helps. If it's during boot then comment out the AUTORUN EXTEND.boot part, put it's still a mystery to me though but if you can be a bit more detailed and what does work, what doesn't and at what point etc then that may help narrow it down. There's nothing special about the hardware of the PPDB but perhaps some volunteer with one could try the same.
  • D.PD.P Posts: 790
    edited 2014-06-17 21:09
    No idea except it seems that Tachyon does run on the PPDB in that it compiles EXTEND.fth, but where does it fail, during or after or compiling, or after boot? The 1796 at the top of the screen almost looks like a line number right at the end, try commenting out ?BACKUP etc and see if that helps. If it's during boot then comment out the AUTORUN EXTEND.boot part, put it's still a mystery to me though but if you can be a bit more detailed and what does work, what doesn't and at what point etc then that may help narrow it down. There's nothing special about the hardware of the PPDB but perhaps some volunteer with one could try the same.

    Comment out BACKUP? no joy

    Comment out BUTORUN EXTEND.boot I am booted.

    Stepping through boot line by line and:
    pub EXTEND.boot
    	RND boot !                                         \ OKAY
     	keypoll W~ --- stop any background polling in case it's been locked in      \ OKAY
    	' TIMERTASK 7 RUN			\ always run this in cog 7      \ OKAY
     	OFF CURSOR              \ REBOOT
     	SPLASH          \  didn't try by itself
    	.STATS           \ REBOOT
    	.MODULES     \ didn't try
     	.BOOTS          \ didn't try
    	uboot W@ ?DUP IF DUP PFA>NFA IF DUP .AUTORUN CALL ELSE DROP THEN THEN	\ disregard invalid or expired boot     \ didn't try
     	CR
    	;
    
  • Peter JakackiPeter Jakacki Posts: 10,193
    edited 2014-06-17 21:15
    D.P wrote: »
    Comment out BACKUP? no joy

    Comment out BUTORUN EXTEND.boot I am booted.

    OFF CURSOR is meant for ANSI compatible terminals such as Teraterm, minicom etc but it is possible that a non-standard terminal may respond to all those escape sequences. Have you tried this with a standard ANSI (VT100 compatible) terminal?
  • D.PD.P Posts: 790
    edited 2014-06-17 23:04
    OFF CURSOR is meant for ANSI compatible terminals such as Teraterm, minicom etc but it is possible that a non-standard terminal may respond to all those escape sequences. Have you tried this with a standard ANSI (VT100 compatible) terminal?

    Yes, you are correct once again. minicom doesn't want to play well with some devices for some reason. Zterm was no better. After firing up TeraTerm in a VM everything works just fine. Now I will just run my VM in Coherence Mode and leave minicom and the others alone, I use a Mac.

    Thanks for the help.
  • Peter JakackiPeter Jakacki Posts: 10,193
    edited 2014-06-17 23:15
    D.P wrote: »
    Yes, you are correct once again. minicom doesn't want to play well with some devices for some reason. Zterm was no better. After firing up TeraTerm in a VM everything works just fine. Now I will just run my VM in Coherence Mode and leave minicom and the others alone, I use a Mac.

    Thanks for the help.

    Don't get frustrated, you wouldn't want to know what I have to endure most of the time ....... treat it as a learning exercise :)

    The funny thing is I use minicom all the time but remember that you can configure minicom not just from the menu but there are also other settings that must be done through the command line to SET or UNSET etc.
    I may add some checking to EXTEND to test whether the terminal is ANSI or not and to switch off any ANSI stuff if the terminal can't handle it.
  • D.PD.P Posts: 790
    edited 2014-06-18 00:23
    Don't get frustrated, you wouldn't want to know what I have to endure most of the time ....... treat it as a learning exercise :)

    The funny thing is I use minicom all the time but remember that you can configure minicom not just from the menu but there are also other settings that must be done through the command line to SET or UNSET etc.
    I may add some checking to EXTEND to test whether the terminal is ANSI or not and to switch off any ANSI stuff if the terminal can't handle it.

    Well this is the command line I use to launch minicom:

    minicom -D /dev/tty.usbserial-0000103D -b 230400

    I just can't seem to find the parameters for the -t <term> parameter.

    I'll keep moving on.
  • base2designbase2design Posts: 78
    edited 2014-06-18 13:17
    D.P wrote: »
    Yes, you are correct once again. minicom doesn't want to play well with some devices for some reason. Zterm was no better. After firing up TeraTerm in a VM everything works just fine. Now I will just run my VM in Coherence Mode and leave minicom and the others alone, I use a Mac.

    Thanks for the help.

    If you use "homebrew" (http://brew.sh) you can pretty easily install minicom on your Mac (I use both picocom and minicom from brew, btw).
  • D.PD.P Posts: 790
    edited 2014-06-18 14:57
    If you use "homebrew" (http://brew.sh) you can pretty easily install minicom on your Mac (I use both picocom and minicom from brew, btw).

    minicom is running fine, it's trying to change the term setting from the command line with -t parameter. do you know how to do this?
  • base2designbase2design Posts: 78
    edited 2014-06-18 16:20
    D.P wrote: »
    minicom is running fine, it's trying to change the term setting from the command line with -t parameter. do you know how to do this?

    What do you want to change the terminal type to? The default on my system (via "echo $TERM") is xterm-256color, which seems to work with the ANSI-emitting words in Tachyon Forth at least on my system. If you wanted to change it to something else, take a look at the output of "toe -a" to see a listing of terminals ncurses knows about on your mac... since Tachyon Forth isn't using termcap or ncurses to influence what how it sends ANSI commands, I'm not sure it has much effect, but maybe I'm making too many assumptions about how you're using minicom.
  • D.PD.P Posts: 790
    edited 2014-06-18 18:34
    What do you want to change the terminal type to? The default on my system (via "echo $TERM") is xterm-256color, which seems to work with the ANSI-emitting words in Tachyon Forth at least on my system. If you wanted to change it to something else, take a look at the output of "toe -a" to see a listing of terminals ncurses knows about on your mac... since Tachyon Forth isn't using termcap or ncurses to influence what how it sends ANSI commands, I'm not sure it has much effect, but maybe I'm making too many assumptions about how you're using minicom.

    Mine is xterm-color.

    Everything works just fine on quickstarts and PBOEs but I get the "error" on spinneret and PPDB. But everything work correctly using TeraTerm so it must be my minicom config.

    I can work without minicom, no worries, but a solution is always welcome.
  • artkennedyartkennedy Posts: 174
    edited 2014-06-18 22:34
    Thanks for your comments and improved code, Peter. Your changes are good learning for me. I have been away from this code long enough to need to study it again to understand. When I first looked at Tachyon I made this comment to myself in a note file: "NOT F****** AROUND WITH THIS ANYMORE. Tachyon is for chip heads that are way deeper than me. Bye bye . . ." but this environment is too beguiling so I came back. I'm still dog paddling but it's good.
Sign In or Register to comment.