[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Bug #763] serial input escape sequence recognition issues
From: |
nobody |
Subject: |
[Bug #763] serial input escape sequence recognition issues |
Date: |
Wed, 03 Jul 2002 14:09:18 -0400 |
=================== BUG #763: LATEST MODIFICATIONS ==================
http://savannah.gnu.org/bugs/?func=detailbug&bug_id=763&group_id=68
Changes by: Ilguiz Latypov <address@hidden>
Date: 2002-Jul-03 18:09 (GMT)
------------------ Additional Follow-up Comments ----------------------------
Everything is OK now on a Geode board at 115200 bps and 9600 bps.
To clear the suspicions against the original timer based implementation, the
currticks() readings have resolution of 1/18 sec, so the escape sequence wait
period was 1/9 sec.
The patch didn't refresh the wait timer once a part of valid escape sequence
was received. On the positive side, it didn't wait at all when any other
sequence such as single alphanumeric character was received.
=================== BUG #763: FULL BUG SNAPSHOT ===================
Submitted by: ilgiz Project: grub
Submitted on: 2002-Jun-27 05:14
Category: Terminal Severity: Ordinary
Priority: Normal Bug Group: Action Request
Resolution: None Assigned to: okuji
Status: Open Release: 2002-06-26
Reproducibility: Intermittent Planned Release: 0.93
Summary: serial input escape sequence recognition issues
Original Submission: a) The serial input escape sequence recognition delay
depends
on CPU speed.
b) The sequence translation is not invoked on each character read.
This means the eascape recognition delay will slow down alphanumeric
input.
A patch that restores the original behavior of the serial input
mechanism is attached.
Follow-up Comments
*******************
-------------------------------------------------------
Date: 2002-Jul-03 18:09 By: ilgiz
Everything is OK now on a Geode board at 115200 bps and 9600 bps.
To clear the suspicions against the original timer based implementation, the
currticks() readings have resolution of 1/18 sec, so the escape sequence wait
period was 1/9 sec.
The patch didn't refresh the wait timer once a part of valid escape sequence
was received. On the positive side, it didn't wait at all when any other
sequence such as single alphanumeric character was received.
-------------------------------------------------------
Date: 2002-Jul-02 23:44 By: okuji
I've modified the logic a bit. Could you try?
BTW, the reason why I don't want to incorporate your patch
is not because of the size. Rather, I didn't like the
previous implementation, because it waited for at most
two seconds. That was really irritating. So I'm attempting
to add a delay, as short as possible.
Okuji
-------------------------------------------------------
Date: 2002-Jul-02 16:38 By: ilgiz
All my difficulties were due to my own attempt to restore the wait escape
sequence policy which existed before terminal code streamlining.
However, when I reverted my patch I found that after holding an arrow key in
the command line for few seconds I was brought into the boot entry selection
menu. I think that could be due to the wait loop being too fast. Will the
115200 bps rate produce intervals of hundreds microseconds? And what if I use
a slower bit rate?
On reapplying my patch the problem has gone. The patch may not be efficient in
terms of amount of code. It adds 96 bytes to stage2.
-------------------------------------------------------
Date: 2002-Jun-29 20:57 By: okuji
Could you tell me what difficulty you have?
I thought the delay would be at most some microseconds,
even on an old 386 box.
Thanks,
Okuji
File Attachments
****************
-------------------------------------------------------
Date: 2002-Jun-27 05:14 Name: grub-serial-escape.diff Size: 3KB By: ilgiz
a patch for better (former) serial input escape sequence recognition
http://savannah.gnu.org/bugs/download.php?group_id=68&bug_id=763&bug_file_id=44
For detailed info, follow this link:
http://savannah.gnu.org/bugs/?func=detailbug&bug_id=763&group_id=68