Uwe Hermann
6a76efebc1
serial.c: Fix a few return values.
2013-11-14 23:48:28 +01:00
Uwe Hermann
a0dfaa6c4c
serial.c: Cosmetics, coding-style.
2013-11-14 23:48:28 +01:00
Martin Ling
0d4405ce5e
Update for renamed libserialport header file.
2013-11-14 23:48:16 +01:00
Martin Ling
c9bc57b6bc
Update to new libserialport API.
2013-11-14 23:48:16 +01:00
Martin Ling
a9bce5a561
Use libserialport for serial port access.
2013-11-14 23:48:16 +01:00
Matthias Heidbrink
50a9aba21b
serial: Removed flag OPOST (turn off all output processing).
2013-10-25 19:11:15 +02:00
Matthias Heidbrink
a510d55571
serial: Added flags CLOCAL (ignore modem status lines) and CREAD (start receiver).
2013-10-25 19:11:15 +02:00
Matthias Heidbrink
1b943b6d8b
serial: Added flag IXANY (any char will restart) to XON/XOFF handshaking.
2013-10-25 19:11:14 +02:00
Matthias Heidbrink
b21d7eebe2
serial: Changed order of flags PARENB and PARODD in deletion to same order as in setting (cosmetic).
2013-10-18 16:58:33 +02:00
Daniel Thompson
5715e84fe3
serial: Only sleep when no characters are received.
...
g_usleep(XX) sleeps for *at least* XX microseconds but may sleep for
longers (on older kernels the sleep will typically be 10000us). Thus
byte receive loops containing an unconditional sleep will perform
very poorly (for example it causes the scan in agilent-dmm to timeout
prematurely).
Even on modern kernels serial_readline() has a 2ms sleep per byte which
means it will read at a maximum rate of half a character per millisecond
(~4800baud).
This is fixed by only sleeping when read() returns no data.
Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2013-09-26 14:57:37 +02:00
Uwe Hermann
045e9a9918
serial.c: Drop unneeded <glob.h>.
...
This is no longer used, and also it is not available on Android and thus
breaks cross-compilation for Android.
Thanks Marcus Comstedt <marcus@mc.pp.se> for reporting.
2013-08-30 16:35:56 +02:00
Uwe Hermann
29a27196a1
s/DRIVER_LOG_DOMAIN/LOG_PREFIX/.
...
This is more correct anyway, and also a bit shorter and more readable.
2013-05-03 21:59:32 +02:00
Uwe Hermann
50985c2019
GPL headers: Use correct project name.
2013-04-23 22:24:30 +02:00
Uwe Hermann
cc840ab618
serial.c: FreeBSD and OpenBSD don't have OFILL either.
2013-03-17 15:07:50 +01:00
Uwe Hermann
7d4abe5a77
serial.c: NetBSD doesn't have OFILL.
2013-01-27 01:23:01 +01:00
Bert Vermeulen
b1a051544d
serial: more serial processing flags to turn off
2013-01-23 02:32:58 +01:00
Uwe Hermann
86c02e6554
serial.c: Fix copy-paste error.
...
Thanks Bert Vermeulen for reporting.
2013-01-21 01:47:30 +01:00
Uwe Hermann
b97cbca6c9
serial.c: OpenBSD doesn't have B460800.
2013-01-19 15:55:22 +01:00
lelazary
26ddb5baca
Added flow control to serial configuration to support xon/xoff for link-mso19
2013-01-08 01:00:13 +01:00
Bert Vermeulen
d92faf6cac
serial: more debug cleanup
2012-12-24 11:22:01 +01:00
Bert Vermeulen
49aaa0bc68
serial: get rid of overly verbose spew
...
It just made spew-level logging unusable; the way sigrok async comms work
guarantees most of it was a false error.
2012-12-24 11:22:01 +01:00
Uwe Hermann
006dbe5587
serial_stream_detect(): Drop unneeded sr_spew().
2012-12-17 14:21:12 +01:00
Alexandru Gagniuc
ea088bb693
serial.c: Be more verbose about failing to parse parameter string
...
Signed-off-by: Alexandru Gagniuc <mr.nuke.me@gmail.com>
2012-12-02 22:22:07 +01:00
Uwe Hermann
5ddb0cc7d4
serial: Don't hardcode parity and stop bits on Windows.
2012-12-02 14:10:27 +01:00
Uwe Hermann
5ae35c29a7
serial: Full baudrate support on Windows/MinGW.
2012-12-02 13:56:13 +01:00
Uwe Hermann
39e5d79826
serial: RTS/DTR support on Windows/MinGW.
2012-12-02 13:41:49 +01:00
Uwe Hermann
a54dd31e38
serial: Use OS-independent flags for serial port opening.
...
Add SERIAL_RDWR, SERIAL_RDONLY, and SERIAL_NONBLOCK (for now), which are
mapped to the respective OS-specific mechanism in serial_open().
2012-12-02 12:45:54 +01:00
Uwe Hermann
0f84cda05d
serial: Fix Windows build.
2012-12-01 22:34:53 +01:00
Bert Vermeulen
71caaad46b
serial: allow for extra rts and dtr options in conn string
...
Options in addition to the usual "9600/8n1" syntax start with a
slash, and take the form of key=value, where different options are
also separated by slashes. For example:
"9600/8n1/rts=0/dtr=1"
This sets RTS low and DTR high.
2012-11-27 00:55:08 +01:00
Uwe Hermann
700dcd5caa
serial: Initial code for setting DTR/RTS.
...
Currently disabled until option parsing is in place.
2012-11-26 17:01:15 +01:00
Alexandru Gagniuc
551c3d8ce3
serial.c: Sanitize serial_stream_detect
...
Print the timeout in miliseconds, not microseconds.
Only calculate elapsed time once oer loop.
Signed-off-by: Alexandru Gagniuc <mr.nuke.me@gmail.com>
2012-11-21 19:18:21 -06:00
Uwe Hermann
766456be1c
Move serial_stream_detect() to serial.c.
2012-11-14 18:40:07 +01:00
Uwe Hermann
4da1a800df
serial: Compile-fix for Windows/MinGW.
2012-11-14 18:20:13 +01:00
Bert Vermeulen
299bdb249e
serial: revamp internal API
...
The only thing to get passed around now is the struct sr_serial_dev_inst
pointer. This should make things more portable as well.
2012-11-12 00:27:17 +01:00
Bert Vermeulen
5df7b20156
serial: avoid Cyrillic conversion specifiers
2012-11-11 03:27:51 +01:00
Alexandru Gagniuc
a99e0d2a0c
ols: Do not randomly probe serial ports
...
ols driver used to probe a series of available serial ports obtained
by regexp matching of common serial port names.
There are a number of problems with this approach:
1. It will probe all serial devices, including devices that do not
like to be probed, potentially causing them to act up.
2. It will try to probe serial ports which may already be opened in
other applications for other purposes.
3. It assumes the naming of the serial ports is set in stone, and
creates an unnecessary OS-specific list.
4. It produces unnecessary debug output even when an OLS device is
not connected.
5. etc...
Do not implicitly probe serial ports. Only probe the port specified
by the frontend, if any; otherwise, just quit.
Also get rid of all functionality in serial.c which was designed
specifically for random probing.
Signed-off-by: Alexandru Gagniuc <mr.nuke.me@gmail.com>
2012-11-11 03:12:10 +01:00
Uwe Hermann
302c4b5ab5
serial: Deduplicate log messages a bit.
2012-11-10 01:45:51 +01:00
Bert Vermeulen
318dd53c70
serial_readline() now terminates on and strips CR and/or LF
2012-11-07 01:24:23 +01:00
Bert Vermeulen
b87f8504dc
g_get_monotonic_time() takes a signed int64
2012-11-07 01:23:24 +01:00
Uwe Hermann
83e3c368c6
serial: Output successful open and the FD.
2012-11-02 18:49:00 +01:00
Uwe Hermann
20af610683
serial: Fix two segfaults.
2012-11-02 18:45:37 +01:00
Uwe Hermann
c485db908a
serial: Fix some sr_err() items.
2012-11-02 18:35:30 +01:00
Uwe Hermann
b19f4622b6
serial: More error-checking & logging, add baudrates.
...
This mostly affects the non-Windows code so far, the rest will follow.
2012-11-02 18:02:20 +01:00
Uwe Hermann
d7c776b9ff
serial: Add missing "break"s.
...
This would otherwise cause bugs when e.g. asking for 2 stopbits.
2012-11-02 15:57:21 +01:00
Uwe Hermann
886a52b6fb
Return SR_ERR_MALLOC upon allocation errors.
...
Add some TODOs.
2012-10-30 20:25:54 +01:00
Uwe Hermann
6f22a8ef2c
Factor out serial_readline() to serial.c.
...
Only one (slightly different) variant remains in agilent-dmm, this will
be merged soon too, though.
2012-10-30 19:59:21 +01:00
Alexandru Gagniuc
0f70830194
libsigrok: (Trivial) Add support for 2400 baud
...
Signed-off-by: Alexandru Gagniuc <mr.nuke.me@gmail.com>
2012-10-20 23:02:14 +02:00
Alexandru Gagniuc
e8e9dcdd70
serial: (Trivial) add support for 4800 baud
...
Signed-off-by: Alexandru Gagniuc <mr.nuke.me@gmail.com>
2012-10-15 17:32:58 +02:00
Bert Vermeulen
fb9d3bf9cc
sr: always turn off ICRNL on serial ports
...
It does rather screw with protocols that use CR.
2012-09-25 19:53:05 +02:00
Bert Vermeulen
5c51e09868
sr: turn off canonical mode and echo ion serial ports by default
2012-09-25 19:53:05 +02:00