This is the mail archive of the cygwin mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: stty icrnl


Warren Young wrote at 12:34 -0600 on Jun  9, 2016:
 > On Jun 7, 2016, at 6:05 PM, Brian Inglis <Brian.Inglis@SystematicSw.ab.ca> wrote:
 > > 
 > > 
 > > cu is the normal Unixy way of using a remote USB->serial line, but I can't
 > > find it in Cygwin packages
 > 
 > Taylor UUCP builds out of the box on Cygwin:
 > 
 >   $ wget ftp://ftp.gnu.org/pub/gnu/uucp/uucp-1.07.tar.gz
 >   $ tar xf uucp-1.07.tar.gz
 >   $ cd uucp-1.07
 >   $ configure && make -j11
 >   $ ./cu --version
 >   cu (Taylor UUCP) 1.07
 >   Copyright (C) 1991, 92, 93, 94, 1995, 2002 Ian Lance Taylor
 >   This program is free software; you may redistribute it under the terms of
 >   the GNU General Public LIcense.  This program has ABSOLUTELY NO WARRANTY.
 > 
 > > searching for \<cu\>, and cu spews too many hits. 
 > 
 > When searching on the Cygwin package search page, adding .exe to executables narrows the results considerably.
 > 
 > As it happens, there is a Cygwin package shipping *cu.exe, but it is not the cu(1) you are looking for.  Move along.
 > 
 > Adding a leading slash fixes that:
 > 
 >   Found 0 matches for /cu.exe
 > 
 > If you were searching elsewhere (e.g. Google) then, yes, âcuâ is a bad search term.  But if you knew that cu comes from the UUCP package, âcu uucpâ leads you right to Taylor UUCP.
 > 
 > See, I *knew* there was a reason I was spending my days on amber VT220s hacking Unix back when I could have been out making Vitamin D!

miniterm.py is a nice cross-platform (pure python) serial program
that is CLI (like tip/cu).  It's part of the pyserial package.

In the past, it (pyserial) has not been in the cygwin repo, but it
may be now.  If not, just install python-setuptools and do
'easy_install pyserial'.  I've used 'pip install pyserial' as well
(but probably had to 'easy_install pip' since pip also isn't
cygwin-packagified either).

I always meant to package pyserial for cygwin but never got around to
it.  A nice feature is the ability to toggle dynamically between
different settings including presentation modes (raw, escaped control
characters, hex), baud rate, flow ctrl or not, cr/lf line endings.

Plus it's easy to write little python scripts using the pyserial API
to twiddle things on the serial port
(http://pythonhosted.org/pyserial/).

Here's the live help screen:

--- pySerial (2.7) - miniterm - help
---
--- Ctrl+]   Exit program
--- Ctrl+T   Menu escape key, followed by:
--- Menu keys:
---    Ctrl+T  Send the menu character itself to remote
---    Ctrl+]  Send the exit character itself to remote
---    Ctrl+I  Show info
---    Ctrl+U  Upload file (prompt will be shown)
--- Toggles:
---    Ctrl+R  RTS          Ctrl+E  local echo
---    Ctrl+D  DTR          Ctrl+B  BREAK
---    Ctrl+L  line feed    Ctrl+A  Cycle repr mode
---
--- Port settings (Ctrl+T followed by the following):
---    p          change port
---    7 8        set data bits
---    n e o s m  change parity (None, Even, Odd, Space, Mark)
---    1 2 3      set stop bits (1, 2, 1.5)
---    b          change baud rate
---    x X        disable/enable software flow control
---    r R        disable/enable hardware flow control


and --help:


miniterm.py --help
Usage: miniterm.py [options] [port [baudrate]]

Miniterm - A simple terminal program for the serial port.

Options:
  -h, --help            show this help message and exit

  Port settings:
    -p PORT, --port=PORT
                        port, a number or a device name. (deprecated option,
                        use parameter instead)
    -b BAUDRATE, --baud=BAUDRATE
                        set baud rate, default 9600
    --parity=PARITY     set parity, one of [N, E, O, S, M], default=N
    --rtscts            enable RTS/CTS flow control (default off)
    --xonxoff           enable software flow control (default off)
    --rts=RTS_STATE     set initial RTS line state (possible values: 0, 1)
    --dtr=DTR_STATE     set initial DTR line state (possible values: 0, 1)

  Data handling:
    -e, --echo          enable local echo (default off)
    --cr                do not send CR+LF, send CR only
    --lf                do not send CR+LF, send LF only
    -D, --debug         debug received data (escape non-printable chars)
                        --debug can be given multiple times: 0: just print
                        what is received 1: escape non-printable characters,
                        do newlines as unusual 2: escape non-printable
                        characters, newlines too 3: hex dump everything

  Hotkeys:
    --exit-char=EXIT_CHAR
                        ASCII code of special character that is used to exit
                        the application
    --menu-char=MENU_CHAR
                        ASCII code of special character that is used to
                        control miniterm (menu)

  Diagnostics:
    -q, --quiet         suppress non-error messages


--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]