Shop OBEX P1 Docs P2 Docs Learn Events
Getting error — Parallax Forums

Getting error

ArchiverArchiver Posts: 46,084
edited 2003-02-20 01:22 in General Discussion
Alright, I did the stty -F /dev/ttyS0 9600 raw -echo -hupcl but now
plugging in the cable just freezes it up. I assume this is because it
is keeping one pin high now which confuses the stamp. So then I just
did the 9600 raw -echo without the -hupcl and there is the same
problem still, I didn't get this before and I used the exact same
settings.

And it all gives me ** no stamp or unable to identify.

How do I get my cord back to not freezing it?

Comments

  • ArchiverArchiver Posts: 46,084
    edited 2003-02-18 07:49
    1.) Can you show me all your /dev/ttyS0 settings (stty -F /dev/ttyS0 -
    a)?

    2.) Can you tell me the type of UART of your Computer?

    3.) Keeping a certain line high/low could confuse the stamp only if
    it is the DTR pin. I usually connect it to the stamp through a
    capacitor (helps to avoid some noise problems too).
    PC 100n stamp
    DTR
    ||----+
    RST
    |
    +--||---GND
    100n
    Once I had a problem where the stamp reset when I just touched it
    with the serial plug (was a grounding problem).
    Can you please show me the layout of your serial cable?
  • ArchiverArchiver Posts: 46,084
    edited 2003-02-19 02:36
    stty -F /dev/ttyS0 -a gives:

    speed 9600 baud; rows 0; columns 0; lines = 0;
    intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = <undef>;
    eol2 = <undef>; start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R; werase =
    ^W; lnext = ^V; flush = ^0; min = 1; time = 0;
    -parenb -parodd cs8 -hupcl -cstopb cread clocal -crtscts
    -ignbrk -brkint -ignpar -parmrk -inpck -istrip -inclr -igncr -icrnl
    -ixon -ixoff -iucle -ixany -imaxbel
    -opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0
    bs0 vt0 ff0
    -isig -icanon iexten -echo echoe echok -echonl -noflsh -xcase -tostop
    -echoprt echoctl echoke

    When I just touch the plug in the cord it locks up and restarts when I
    take it out.

    I was suspecting that the locking up for the stamp was caused by a pin
    being kept high as a result of mucking around with the settings
    because when I plug it into /dev/ttyS1 or another computer it works
    just fine.

    How can I detect the UART. This computer is quite new, so I suppose it
    would be *665*A or whatever it usually is.

    Thank you!
  • ArchiverArchiver Posts: 46,084
    edited 2003-02-19 02:54
    stty -F /dev/ttyS0 -a gives:

    speed 9600 baud; rows 0; columns 0; lines = 0;
    intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = <undef>;
    eol2 = <undef>; start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R; werase =
    ^W; lnext = ^V; flush = ^0; min = 1; time = 0;
    -parenb -parodd cs8 -hupcl -cstopb cread clocal -crtscts
    -ignbrk -brkint -ignpar -parmrk -inpck -istrip -inclr -igncr -icrnl
    -ixon -ixoff -iucle -ixany -imaxbel
    -opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0
    bs0 vt0 ff0
    -isig -icanon iexten -echo echoe echok -echonl -noflsh -xcase -tostop
    -echoprt echoctl echoke

    When I just touch the plug in the cord it locks up and restarts when I
    take it out.

    I was suspecting that the locking up for the stamp was caused by a pin
    being kept high as a result of mucking around with the settings
    because when I plug it into /dev/ttyS1 or another computer it works
    just fine.

    How can I detect the UART. This computer is quite new, so I suppose it
    would be *665*A or whatever it usually is.

    Thank you!
  • ArchiverArchiver Posts: 46,084
    edited 2003-02-19 02:54
    stty -F /dev/ttyS0 -a gives:

    speed 9600 baud; rows 0; columns 0; lines = 0;
    intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = <undef>;
    eol2 = <undef>; start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R; werase =
    ^W; lnext = ^V; flush = ^0; min = 1; time = 0;
    -parenb -parodd cs8 -hupcl -cstopb cread clocal -crtscts
    -ignbrk -brkint -ignpar -parmrk -inpck -istrip -inclr -igncr -icrnl
    -ixon -ixoff -iucle -ixany -imaxbel
    -opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0
    bs0 vt0 ff0
    -isig -icanon iexten -echo echoe echok -echonl -noflsh -xcase -tostop
    -echoprt echoctl echoke

    When I just touch the plug in the cord it locks up and restarts when I
    take it out.

    I was suspecting that the locking up for the stamp was caused by a pin
    being kept high as a result of mucking around with the settings
    because when I plug it into /dev/ttyS1 or another computer it works
    just fine.

    How can I detect the UART. This computer is quite new, so I suppose it
    would be *665*A or whatever it usually is.

    Thank you!
  • ArchiverArchiver Posts: 46,084
    edited 2003-02-19 02:54
    stty -F /dev/ttyS0 -a gives:

    speed 9600 baud; rows 0; columns 0; lines = 0;
    intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = <undef>;
    eol2 = <undef>; start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R; werase =
    ^W; lnext = ^V; flush = ^0; min = 1; time = 0;
    -parenb -parodd cs8 -hupcl -cstopb cread clocal -crtscts
    -ignbrk -brkint -ignpar -parmrk -inpck -istrip -inclr -igncr -icrnl
    -ixon -ixoff -iucle -ixany -imaxbel
    -opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0
    bs0 vt0 ff0
    -isig -icanon iexten -echo echoe echok -echonl -noflsh -xcase -tostop
    -echoprt echoctl echoke

    When I just touch the plug in the cord it locks up and restarts when I
    take it out.

    I was suspecting that the locking up for the stamp was caused by a pin
    being kept high as a result of mucking around with the settings
    because when I plug it into /dev/ttyS1 or another computer it works
    just fine.

    How can I detect the UART. This computer is quite new, so I suppose it
    would be *665*A or whatever it usually is.

    Thank you!
  • ArchiverArchiver Posts: 46,084
    edited 2003-02-19 09:13
    Hi

    Seems your tty settings are ok - the same as mine.

    To display the type of UART (I assume you have kinda 16550A) use
    setserial -a /dev/ttyS0

    You say the stamp resets when you just plug the cable in. So try
    the following:

    edit the file SBLoader.cc and locate the function 'resetDev', then
    add two lines of code as shown below.
    When forming the reset pulse I cleared and set DTR but did not clear
    it again. Thats what the two added lines of code do.

    I think this little bug did not catch me because I allways use a
    capacitor between ATN (not RST as I errnoeously mentioned earlier)
    and DTR.

    SBLoader::resetDev
    ...
    // form the reset pulse on DTR
    ioctl(m_fp, TIOCMBIC, &dtr_bit);
    usleep(RESET_DTRPULSE_US);
    ioctl(m_fp, TIOCMBIS, &dtr_bit);

    // add the following two lines
    usleep(RESET_DTRPULSE_US);
    ioctl(m_fp, TIOCMBIC, &dtr_bit);
    ...

    Regards
    Adrian
  • ArchiverArchiver Posts: 46,084
    edited 2003-02-19 16:21
    But the cord wouldn't reset the stamp earlier, and the program isn't
    even running when it does.

    Yeah, that's my UART.
  • ArchiverArchiver Posts: 46,084
    edited 2003-02-20 01:22
    Okay, I'm home now and I tried your adding those lines to your
    program. It works now, thank you SO MUCH. You have saved me the
    frustration and pain of finding and using a windows computer to do this.

    you rock!
    ~jeff
Sign In or Register to comment.