Shop OBEX P1 Docs P2 Docs Learn Events
Serial Terminal Errors in Vista — Parallax Forums

Serial Terminal Errors in Vista

bubbagimpbubbagimp Posts: 3
edited 2008-07-04 13:37 in General Discussion
I've about had it with vista. The only thing stopping me from ditching it is the fact I would have to give them MORE money to downgrade /rant

That aside, I can use the Javelin IDE and FTDI drivers (USB -> Serial) to connect to my Javelin stamp however I can't use anything else. I've tried a couple programs, 232Analyzer and Putty. With 232Analyzer I get the error tabctl32.ocx or one of its dependents is missing. Using Putty I get a "ding" with no error message. I've verified tabctl32.ocx is registered, however I have no clue what dependents it wants. I scoured google for over an hour and apparently I don't know what I'm searching for. Anybody know anything I could try before this computer is out in the rain?

Thanks

Edit: Found a link to JideWinTerm from Peter, that did the trick. Still unsure why other programs don't work but at this point I really don't care.

Post Edited (bubbagimp) : 7/4/2008 12:44:09 PM GMT

Comments

  • Peter VerkaikPeter Verkaik Posts: 3,956
    edited 2008-07-04 13:06
    Hi,
    In this case Vista is not to blame. Those programs you used would not have
    worked on any windows os.
    You are trying to communicate with the javelin using its JIDE port
    via Terminal.getChar() and System.out.print() statements.
    The JIDE port uses 28800 baud and encodes any data, send or receive,
    into a message. Only the javelin IDE and·my JideWinTerm program
    have implemented this protocol, so these can do the
    communication.

    Here is the protocol:

    What is the protocol used to send messages to and from the Sin and Sout pins?

    Debug messages sent from the Javelin conform to the following pattern:

    0x05 0x03 <messagedata> 0x7E

    <messagedata> is the sequence of bytes being sent by the CPU.message() native method. It is byte-stuffed. This means that if <messagedata> contains a byte <b> that has the value 0x7F or 0x7E then that byte is replaced with 0x7F <b>^0x20. i.e. 0x7F followed by the orginal byte xored with 0x20.

    Terminal characters are sent to the Javelin using the following algorithm:
    1. When it is ready to receive a byte (the Terminal.getByte() native method is called) the Javelin transmits 0x11 out Sout.
    2. If the terminal has no data to send to the Javelin it replies with 0x13.
    3. If the terminal has a byte <b> to send, then it replies with 0x12 <b>.

    After the Javelin is reset it send 0x0F followed a pause followed by 0x50 (the version of the Javelin firmware).

    Running the following simple program:

    public class HelloWorld { public static void main() { System.out.println("Hello World"); } }

    will generate the following on Sout:

    0F 50 05 03 48 65 6C 6C 6F 20 57 6F 72 6C 64 7E 05 03 0D 0A 7E 05 05 7E

    Note that the sequence 0x05 0x05 0x7E indicates that the Java program has ended.


    regards peter
  • bubbagimpbubbagimp Posts: 3
    edited 2008-07-04 13:37
    Thanks Peter! I just broke out all my gear again and starting to play again. My old setup was on a different computer that is no longer around meaning I lost all my code as well cry.gif At least half the fun was trying to figure out how the hell I was going to accomplish my project. I loaded up the Terminaltest program and that's where my errors began. Still having troubles with the terminal window but I saw your other post regarding the resistor and terminal variant, so I'll follow that.
Sign In or Register to comment.