Commit Graph

267 Commits

Author SHA1 Message Date
Martin Ling a82635f252 Use new sp_port_config fields. 2013-11-19 14:26:18 +01:00
Martin Ling e385e2ed90 serial: Use new sp_set_config instead of sp_set_params. 2013-11-19 14:26:18 +01:00
poljar (Damir Jelić) 066d42b1c8 serial: Fix leak in serial_open.
A new sp_port is created every time we call serial_open (sp_get_port_by_name
implicitly creates one for us), so free it every time we call serial_close.
2013-11-19 10:29:24 +01:00
Uwe Hermann 449cc16bb2 serial.c: Temporary quickfix until a libserialport fix is done. 2013-11-15 12:23:09 +01:00
Uwe Hermann c4f2dfd0f0 configure.ac: libserialport is optional.
Disable drivers that need serial port support if libserialport is not found.

Also, disable building various other serial port related code in that case.
2013-11-15 09:36:51 +01:00
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
Uwe Hermann 3a8cad9137 metex14: Handle a few missing cases for overflow. 2013-10-31 13:47:30 +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
Uwe Hermann c02dc3e261 metex14: Add support for pF (picofarad).
This is used on some Metex DMMs.
2013-10-23 18:41:13 +02:00
Uwe Hermann ee6cb5a417 metex14: Use case-insensitive string compares.
This allows some other DMMs to be supported that use e.g. "kOhm" vs.
"KOhm", and so on.
2013-10-23 18:07:54 +02:00
Uwe Hermann 1a807c13fc metex14: Support DMMs with slightly different protocol.
This adds support for DMMs with 5 digits in the protocol (instead of 4)
and some more whitespace variants.
2013-10-23 18:06:15 +02:00
Uwe Hermann 71f1302b4b metex14: Support DMMs with whitespace differences.
Most Metex DMMs use e.g. "  mV" as unit field, others use "mV  ",
though. Support these (and other) whitespace variants by stripping all
spaces and only comparing non-space characters.
2013-10-23 17:31: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
Aurelien Jacobs 94e9021b3e es519xx: correct initialization of es519xx_info structure 2013-10-13 14:54:54 +02:00
Uwe Hermann 93d719cde6 es519xx: Fix incorrect packet size, and a typo. 2013-10-07 00:36:18 +02:00
Uwe Hermann 72e1672fc9 es519xx: Cosmetics, coding style, minor fixes. 2013-10-07 00:36:18 +02:00
Aurelien Jacobs c01bdebc57 add cyrustek es519xx generic protocol parser 2013-10-07 00:36:18 +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 e52bb9be83 Voltcraft VC-830: Fix diode mode handling.
This DMM is not using the standard bits in the FS9922 protocol/structure
to indicate the "volt" and "diode mode" flags. Instead, it only sets the
user-defined bit "z1" to indicate both "diode mode" and "volt".

This fixes #142.
2013-09-01 15:27:21 +02:00
Uwe Hermann a6ed50f405 es51922/fs9721/fs9922/metex14: Use diode MQFLAG.
This fixes #141.
2013-09-01 15:27:07 +02:00
Uwe Hermann 98494dc8a3 fs9922: Fix typo. 2013-09-01 13:41:13 +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 2a052cc4d6 Use consistent naming for internal libtool helper libs.
This now also matches what the 'new-driver' tool generates.
2013-05-10 17:44:01 +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 2451a20ff5 fs9721: Factor out common code from serial-dmm.
These functions are FS9721 specific (and DMM specific), and can be used
from various drivers (e.g. serial-dmm or uni-t-dmm or possibly others).
2013-05-01 02:16:55 +02:00
Uwe Hermann 4853559466 uni-t-dmm/serial-dmm: Handle Voltcraft VC-840 temperature. 2013-05-01 01:58:42 +02:00
Uwe Hermann ad00a54da6 fs9922: Fix beep mode. 2013-05-01 01:02:46 +02:00
Uwe Hermann 649a4cd672 fs9922: Fix diode mode parsing. 2013-05-01 01:00:54 +02:00
Uwe Hermann 7381251e33 common/dmm: Drop obsolete *is_packet_start() functions. 2013-04-26 20:05:44 +02:00
Uwe Hermann 913abe8321 fs9922: Use common DMM API.
Use the same functions and structs as the other DMM protocol parsers
in hardware/common/dmm. Among other things, this allows the functions
to be used from drivers in a generic way, e.g. in serial-dmm, uni-t-dmm,
and possibly other drivers.
2013-04-26 20:05:44 +02:00
Uwe Hermann 50985c2019 GPL headers: Use correct project name. 2013-04-23 22:24:30 +02:00
Bert Vermeulen 1eb0a0df66 usb: Fix bus.address format detection 2013-04-15 23:47:04 +02:00
Uwe Hermann 3fd1d0ee1c configure.ac: Improve USB/EZUSB/serial checks.
- If libusb-1.0 is not found, do not compile in ezusb.c and usb.c since
   they require libusb.h. The respective hardware drivers that use
   libusb-1.0, and usb.c and/or ezusb.c will be excluded from the build
   elsewhere in configure.ac. Rename NEED_EZUSB to NEED_USB.

 - Drop the NEED_SERIAL check and always compile in serial.c. This is a
   very small chunk of code, it does not depend on any external
   libraries that might be missing, and it compiles on all architectures.
   Thus there's no need to conditionally include or exclude it.
2013-04-09 17:49:13 +02:00
Bert Vermeulen 3f98bf7017 Fix kernel driver attached check
The check is really only broken on darwin, but useful on all other
platforms, even if only Linux can actually detach a driver.
2013-04-07 14:14:16 +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
Bert Vermeulen 1953564a96 Rename SR_HWOPT_* and SR_HWCAP_* to SR_CONF_* 2013-01-21 23:32:50 +01:00
Bert Vermeulen d8e3685c47 free USB config descriptor after use 2013-01-21 23:32:49 +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
Uwe Hermann fe0c0b98c6 Add Cyrustek ES51922 DMM chip parser. 2013-01-03 01:13:06 +01:00
Alexandru Gagniuc cbc8cbd8bb rs9lcd: Add missing 'break;'
A break was missing for "case MODE_AMP_WIDTH:" in sr_rs9lcd_parse().

Signed-off-by: Alexandru Gagniuc <mr.nuke.me@gmail.com>
2012-12-31 22:26:43 +01:00
Uwe Hermann 6e9d545cf4 rs9lcd: Fix compiler warning.
rs9lcd.c:289:19: warning: 'rawval' may be used uninitialized in this
function [-Wmaybe-uninitialized]
2012-12-31 20:58:14 +01:00
Bert Vermeulen 9116262931 add USBTMC device search helper 2012-12-30 01:44:58 +01:00
Alexandru Gagniuc 47eda193b2 rs9lcd: Fix segfault with unusual modes.
Some unusual modes required re-parsing the value. Instead of assigning the
re-parsed value to *floatval, it was reassigned directly to *analog->data;
however, analog->data is not initialized at this point, causing a segfault.
This situation was created when moving the radioshack-dmm code to serial-dmm,
with the segfault not being observed at that time.

Do not write directly to analog->data, but instead use the intermediate
variable rawval.

Signed-off-by: Alexandru Gagniuc <mr.nuke.me@gmail.com>
2012-12-25 23:43:30 +01:00
Alexandru Gagniuc 0853d5e627 rs9lcd: Convenience fixes
Convert bit masks from hardcoded hex values to bit shifts. For example 0x80
becomes (1 << 7). This also fixes a typo error in the definition of INFO_DIODE.

Add comments explaining that some case values in sr_rs9lcd_parse() are meant to
fall through without a 'break;', and explain some of the unusual modes.

Signed-off-by: Alexandru Gagniuc <mr.nuke.me@gmail.com>
2012-12-25 23:43:02 +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
Bert Vermeulen c5f1a021b8 usb: strip overly verbose debugging 2012-12-15 04:07:25 +01:00
Bert Vermeulen e7f378fd1a usb: strip useless code 2012-12-15 04:07:25 +01:00
Peter Stuge 1740429d70 hardware: A few further USB error message fixups 2012-12-05 01:34:15 +01:00
Peter Stuge d4928d7102 hardware: Call libusb_error_name() in all USB-related error messages 2012-12-05 01:14:44 +01:00
Bert Vermeulen 7ae6a75826 usb: sr_usb_find() uses standardized connection string to find a USB device 2012-12-04 23:25:11 +01:00
Alexandru Gagniuc d458a0ac29 ezusb: Use DRIVER_LOG_DOMAIN for debug output
Signed-off-by: Alexandru Gagniuc <mr.nuke.me@gmail.com>
2012-12-04 13:31:49 -06: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
Alexandru Gagniuc 21829e6708 radioshack-dmm: Integrate into serial-dmm
Use the infrastructure of serial-dmm to handle the RadioShack 22-812,
and completely remove radioshack-dmm.

Signed-off-by: Alexandru Gagniuc <mr.nuke.me@gmail.com>
2012-12-02 22:22:07 +01:00
Alexandru Gagniuc 05f134abc2 radioshack-dmm: Separate protocol parser from driver
Move the parsing part of radioshack-dmm into a separate protocol
parser, following the model from hardware/common/dmm.

Signed-off-by: Alexandru Gagniuc <mr.nuke.me@gmail.com>
2012-12-02 22:18:22 +01:00
Uwe Hermann 9871215c83 metex14: Add dB mode and hFE mode support.
This is found e.g. on the Metex M-3640D DMM.
2012-12-02 14:22:51 +01:00
Uwe Hermann e90cf076aa metex14: Add sr_metex14_packet_request(). 2012-12-02 14:21:18 +01:00
Uwe Hermann 8f46911e42 metex14: Fix 'is_ol' handling.
Thanks to Bert Vermeulen for the reminder.
2012-12-02 14:21:18 +01:00
Alexandru Gagniuc 2477fb9569 metex14: Parse microamp (uA) values.
Signed-off-by: Alexandru Gagniuc <mr.nuke.me@gmail.com>
2012-12-02 14:21:18 +01:00
Alexandru Gagniuc 3ebc9b59a2 metex14: Fix parsing of measurement flags.
strcmp(buf + 9, "  mA") does not work because buf is CR-terminated,
while "  mA" is NUL-terminated.

Drop ambiguities arising from the termination of the strings, and
only compare the characters we care about, using strncmp().

Signed-off-by: Alexandru Gagniuc <mr.nuke.me@gmail.com>
2012-12-02 14:21:18 +01:00
Alexandru Gagniuc e82d7dbc20 metex14: Print contents of received packet.
The packet is an ASCII string. We can simply print the raw packet data.

Signed-off-by: Alexandru Gagniuc <mr.nuke.me@gmail.com>
2012-12-02 14:21:18 +01:00
Alexandru Gagniuc 76b55dfa8a metex14: Fix parsing of spaces.
When the parser found a space, it treated it as an invalid digit
and discarded the whole packet. This behavior was incorrect on
2000 count devices, where the first digit can be sent as a space
rather than a '0'.

Convert spaces to '0' and parse them as usual.

Signed-off-by: Alexandru Gagniuc <mr.nuke.me@gmail.com>
2012-12-02 14:21:18 +01:00
Uwe Hermann 1fbab46626 metex14: Pass 'info' as a void pointer.
This is done so that the function prototype of all sr_*_parse() DMM
functions is the same, which will be needed later.
2012-12-02 14:21:17 +01:00
Uwe Hermann 93357bc3ce fs9721: Pass 'info' as a void pointer.
This is done so that the function prototype of all sr_*_parse() DMM
functions is the same, which will be needed later.
2012-12-02 14:21:17 +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 ac913e5c35 Add Metex 14-byte ASCII protocol parser. 2012-11-17 22:27:54 +01: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 0c632d36be genericdmm: Factor out USB functions.
Move sr_usb_connect() and sr_usb_open() to hardware/common/usb.c in a
slightly more generic form and add more error checks and logging.

Let genericdmm use the new/moved functions.
2012-11-03 00:02:56 +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 8c1adf3738 Rework FS9721 parser.
Merge parts of the tekpower-dmm code (the chip of the TekPower
TP4000ZC seems to be an FS9721_LP3 too) and rework parts of the functions.

Adapt the tekpower-dmm and uni-t-dmm code accordingly.
2012-11-02 01:09:58 +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
Uwe Hermann 6c701476ad Add protocol parser for FS9721_LP3/FS9721B.
The Fortune Semiconductor FS9721_LP3 and FS9721B/Q100 DMM chips are very
similar and the protocol looks identical.

Tested on a Voltcraft VC-820 (FS9721_LP3) with the uni-t-dmm driver
(needs some small changes, tbd).
2012-10-29 15:17:17 +01:00
Uwe Hermann 79081ec80c Initial support for UNI-T DMMs.
This is not yet fully finished, but works for most use-cases.

Tested with a UNI-T UT61D using the UT-D04 USB/HID cable (new version).
2012-10-27 23:17:30 +02: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
Bert Vermeulen 792fc68658 serial: add serial_set_paramstr() 2012-09-02 15:42:56 +02:00
Bert Vermeulen f38b9763fa serial: fix flow control setting 2012-09-02 15:42:56 +02:00
Bert Vermeulen 6a6e23abf5 serial: set speed in both directions 2012-09-02 15:42:56 +02:00
Bert Vermeulen 28b9dd1861 sr: fix conditional build for ezusb and serial helpers 2012-07-11 12:36:49 +02:00
Bert Vermeulen 45c59c8bdd sr: moved sigrok.h so libsigrok/libsigrok.h
All frontends will have to include <libsigrok/libsigrok.h> from now on.
This header includes proto.h and version.h, both installed from the
distribution into $INCLUDE/libsigrok/ as well.

The only dynamically changed header is now version.h, which has both
libsigrok and libtool compile-time versions in it.
2012-07-05 01:17:28 +02:00
Bert Vermeulen f8c1fcda46 sr: use proper definitions for parity setting
ols driver fixed to use these as well.
2012-07-01 22:31:31 +02:00
Joel Holdsworth 824b1a8f5c sr: Deleted the saleae-logic driver, fx2lafw has superceded it. 2012-04-19 00:12:22 +02:00
Joel Holdsworth 94c26b08fd sr: Build ezusb.c for fx2lafw as well as saleae-logic 2012-03-25 19:42:37 +01:00
Uwe Hermann ebc3473882 sr: s/err/ret/ for consistency.
We use ret, err, error, and others for return codes of functions.
Standardize on 'ret' for consistency reasons for now.
2012-03-21 23:20:06 +01:00
Uwe Hermann 0abee5076f sr: Fix some TODOs, improve comments/docs. 2012-03-04 15:10:12 +01:00
Uwe Hermann 7b48d6e104 sr: Prefix log messages with subsystem string. 2012-02-17 22:40:51 +01:00
Bert Vermeulen c73d2ea421 sr: adjust copyright year 2012-02-13 14:31:51 +01:00
Uwe Hermann 133a37bfba Use g_try_malloc/g_free/g_strdup consistently.
Avoid plain malloc()/free() in sr/srd, especially in the API calls.
Also avoid g_malloc*() in favor of g_try_malloc*().

Use g_strdup() instead of strdup() so that we can use g_free()
consistently everywhere.

Exceptions: Stuff that is allocated via other libs (not using glib),
should also be properly free'd using the respective free-ing function
(instead of g_free()). Examples: Stuff allocated by libusb, libftdi, etc.

Also, use sr_err() instead of sr_warn() for actual errors. sr_warn() is
meant for non-fatal/uncritical warnings.
2012-02-11 22:34:16 +01:00
Uwe Hermann bf3f06c9c2 sr: MinGW/Mac: No libusb_detach_kernel_driver() support. 2012-02-11 00:20:23 +01:00
Uwe Hermann 1a081ca67d sr: Mark API functions with SR_API/SR_PRIV.
Use SR_API to mark public API symbols, and SR_PRIV for private symbols.

Variables and functions marked 'static' are private already and don't
need SR_PRIV. However, functions which are not static (because they need
to be used in other libsigrok-internal files) but are also not meant to
be part of the public libsigrok API, must use SR_PRIV.

This uses the 'visibility' feature of gcc (requires gcc >= 4.0).

Details: http://gcc.gnu.org/wiki/Visibility
2012-02-02 00:03:17 +01:00
Uwe Hermann db8ae7b941 sr/srd: Remove/fix non-applicable autotools stuff. 2011-12-30 11:14:24 +01:00
Uwe Hermann b7f09cf86d libsigrok: Fix #includes.
In the lib, we should only #include "sigrok.h" or "sigrok-internal.h",
but not the (possibly installed and thus different/older versions) via
<sigrok.h> or <sigrok-internal.h>.

Frontends should of course use <sigrok.h> and <sigrok-internal.h>.
2011-12-28 23:07:08 +01:00
Uwe Hermann a0ecd83bc6 Make more variables/functions static and non-global.
The 'GSList *devices' from device.c was actually really global (i.e.,
listed in sigrok.h), which is now fixed.
2011-12-28 22:55:21 +01:00
Jerry 9a75102313 Mac OS X build fixes 2011-06-20 23:43:44 +02:00
Bert Vermeulen 6d754b6d3a support for multiple FX2 devices 2011-06-12 18:04:19 +02:00
Bert Vermeulen e10d6e32e4 saleae-logic: support for other FX2 devices (bare FX2)
This enables support for devices that have a different VID/PID
than the Saleae Logic, and yet another after firmware upload.

After firmware upload is checked every 100ms whether it came back,
instead of always waiting for 2 seconds.

If the kernel attaches a driver to a device we know, detact it first.
2011-06-05 01:57:54 +02:00
Uwe Hermann 548b08e55c Drop unneeded skeleton files.
They're not too useful as they mostly consist of a list of function names,
and that list is already available in the respective struct. The wiki
API docs and the code in the various hardware/output drivers serve as
useful examples already, no need for additional files.
2011-05-05 13:06:12 +02:00
Uwe Hermann c548332c21 serial.c: Use g_try_malloc(). 2011-04-16 18:08:18 +02:00
Uwe Hermann b08024a836 libsigrok: Introduce sr_dbg/sr_info/sr_warn/sr_err.
We should use these (internal) functions in libsigrok exclusively from
now on, i.e. no more use of glib's g_debug() etc.

These functions are only for libsigrok, the frontends use whatever
logging mechanism is suitable there.
2011-04-14 10:11:08 +02:00
Uwe Hermann 8a7b47cdfa Revert temporary changes for 0.2 release. 2011-04-03 23:18:46 +02:00
Uwe Hermann 2f3aab0ee9 Disable some stuff which should not be in 0.2.
Disable decoders, disable lib building.
2011-04-03 22:47:51 +02:00
Uwe Hermann 54ac5277c5 Constify some more 'char *' parameters. 2011-02-20 21:16:26 +01:00
Uwe Hermann 3bbd9849e9 Fix warnings: g_fopen() needs <glib/gstdio.h>. 2011-02-06 02:14:57 +01:00
Uwe Hermann 868d8cefec Use glib's g_fopen() instead of fopen(). 2011-02-05 20:03:17 +01:00
Uwe Hermann 45fdfa307d MinGW: Use "b" in all fopen() calls.
This is required for proper operation on Windows/MinGW, and doesn't
affect other OSes, most POSIX systems simply ignore the "b".
2011-02-04 23:52:16 +01:00
Uwe Hermann a9f54bcd7b MinGW: Build fixes. 2011-02-02 13:13:26 +01:00
Uwe Hermann 22b0238344 Fix build when no libusb-LA is compiled.
Until now the build would break if the user doesn't enable at least one
of the libusb1.0-based LAs. I.e., you could not compile only OLS, or
only the demo driver.
2011-02-02 10:25:52 +01:00
Uwe Hermann 5a2326a71b SR_ prefix for all public enums. 2011-01-30 18:32:59 +01:00
Uwe Hermann 5c2d46d1db Prefix device structs with sr_. 2011-01-30 18:32:58 +01:00
Uwe Hermann 9f8274a544 Add a field for the full name of a device.
Also, show this long/full name in 'sigrok-cli -V'.
2011-01-30 18:32:58 +01:00
Uwe Hermann a00ba01228 Change all sigrok_ prefixes to sr_. 2011-01-30 18:32:55 +01:00
Uwe Hermann e46b8fb154 Change SIGROK_ prefix to SR_. 2011-01-30 18:32:53 +01:00
Uwe Hermann bffed4fc10 Re-enable stuff we temporarily disabled for 0.1. 2011-01-20 00:43:57 +01:00
Bert Vermeulen 576790ff7b disable MSO-19 specific stuff for 0.1 release 2011-01-19 22:58:09 +01:00
Uwe Hermann 1483577eed Start moving private stuff to sigrok-internal.h.
This is work-in-progress, unfinished.
2011-01-15 15:57:54 +01:00
Uwe Hermann 2119ab0364 MinGW/Windows: Serial port portability fixes.
Add serial_read()/serial_write() which have different implementations on
MinGW/Windows.

Add some more error code handling and documentation.
2011-01-12 01:09:31 +01:00
Uwe Hermann 1fdb75e145 MinGW: Quickfix to make serial.c/ols.c compile.
Note: It does NOT actually work, yet, it only compiles!
2011-01-11 01:27:16 +01:00
Daniel Ribeiro ac4a2ea45a serial.c: fix parity != none
The flag write was wrong
2011-01-10 15:05:14 -02:00