Commit Graph

293 Commits

Author SHA1 Message Date
Martin Ling 7a36ceacb9 bindings: Support per-language extensions to EnumValue wrappers. 2014-11-12 02:27:05 +01:00
Martin Ling 444d6a3975 python: Fix mapping of vector & map attributes to Python types.
Fixes bug #382.
2014-11-12 02:27:05 +01:00
Martin Ling 062430a2fb bindings: Use new %attributevector and %attributemap macros. 2014-11-12 02:27:05 +01:00
Martin Ling e480df0c45 bindings: Expose ConfigKey::identifier as an attribute. 2014-11-12 02:27:04 +01:00
Martin Ling 189461b251 bindings: Expose EnumValue::id and EnumValue::name as attributes. 2014-11-12 02:27:04 +01:00
Martin Ling fe4096fde6 bindings: Wrap EnumValue base class. 2014-11-12 02:27:04 +01:00
Martin Ling 0bc1a7613a bindings: Rename ConfigKey::get(string) to get_by_identifier().
The polymorphism with get(int) causes problems here when a char * is passed.
2014-11-12 02:27:04 +01:00
Martin Ling 9d229ecb9e cxx: Implement more of EnumValue in template. 2014-11-12 02:27:04 +01:00
Uwe Hermann 80fe524740 bindings: Use getters now that 'struct sr_dev_inst' is opaque. 2014-11-11 16:55:37 +01:00
Martin Ling d3a401c15b bindings: Remove Device::description(). 2014-10-15 13:44:44 +02:00
Martin Ling 1411f7d8e9 bindings: Add Session::filename() and corresponding SWIG attribute. 2014-10-15 13:44:44 +02:00
Martin Ling 73a1eb017b bindings: Add accessor to obtain parent object. 2014-10-15 13:44:44 +02:00
Martin Ling f591826cc7 bindings: add SWIG attribute for Packet::type. 2014-10-15 13:44:44 +02:00
Martin Ling f36f7d0282 C++: Don't clear Session::_owned_devices() in Session::remove_devices().
Owned devices are freed only when the session is destroyed.
2014-10-15 13:44:25 +02:00
Jens Steinhauser 174bf146e5 bindings: Better error handling in enumeration get() function.
Prior to this patch a call to get() with an invalid enumeration value
would raise an exception that would, for example, terminate the python
interpreter, whereas now the exception is handled and translated into a
proper python exception.
2014-10-07 15:15:17 +02:00
Martin Ling 98d39b919a Return sensible Device::description() for session and input devices. 2014-09-30 17:32:09 +01:00
Martin Ling ca4e307a93 C++: Fix management of SessionDevice objects. 2014-09-30 16:05:27 +01:00
Martin Ling 584f76a78a C++: Add spaces in Device::description(). 2014-09-30 13:19:27 +01:00
Martin Ling d1075e5acf C++: Expose device serial number and connection ID. 2014-09-30 11:50:07 +01:00
Martin Ling 4c7c4194cb C++: Expose config key capabilities. 2014-09-30 11:07:55 +01:00
Martin Ling 9c51e8ec56 bindings: Update for input API changes. 2014-09-30 01:50:17 +02:00
Aurelien Jacobs 03a4c07aff C++: handle uint32_t SR_CONF keys which contain key capabilities
This adapts the C++ bindings according to commits 584560f and 5827f61.
2014-09-30 00:37:03 +02:00
Martin Ling a4e4745458 C++: Make hardware device instances user owned. 2014-09-14 05:33:24 +01:00
Martin Ling 8fa3fc7c60 bindings: Make documentation script work under python 3.x. 2014-09-14 05:32:00 +01:00
Martin Ling f90ed2d1af python: fix conversion to string variants. 2014-09-14 04:53:06 +01:00
Martin Ling db560903d1 C++: use constructors for default argument declarations. 2014-09-13 20:23:46 +01:00
Martin Ling 35114c3394 C++: include <cmath> for NAN. 2014-09-13 20:23:23 +01:00
Martin Ling 3b16108573 bindings: Remove 'get_' prefix from all accessors. 2014-09-11 21:27:32 +01:00
Martin Ling d4cf45e516 C++: Whitespace fix. 2014-09-08 19:27:38 +02:00
Martin Ling cac58676e9 C++: Add SessionDevice class for devices owned by loaded sessions. 2014-09-08 19:27:38 +02:00
Martin Ling be43d5d584 C++: Preserve original channel ordering. 2014-09-08 19:27:38 +02:00
Martin Ling d9eed47d5b C++: Add Configurable::config_check() method. 2014-09-08 19:27:38 +02:00
Martin Ling d54190a363 C++: Add Configurable::config_keys() method. 2014-09-08 19:27:38 +02:00
Martin Ling 59b74d28c9 C++: Make Driver inherit Configurable. 2014-09-08 19:27:38 +02:00
Martin Ling 4f7bcf0ec3 C++: Fix recursion loop in PacketPayload::get_shared_pointer(). 2014-09-08 19:27:37 +02:00
Martin Ling b4ed33a776 C++: Implement Deleter pattern in UserOwned template. 2014-09-02 22:35:16 +02:00
Martin Ling 90e89c2a42 C++: Add UserOwned base template for objects with resources owned by user. 2014-09-02 22:35:16 +02:00
Martin Ling 541c855e1d C++: Rename StructureWrapper to ParentOwned. 2014-09-02 22:35:16 +02:00
Martin Ling bf52cc8cf2 C++: Make StructureWrapper a recurring template, eliminating lots of casts. 2014-09-02 22:35:16 +02:00
Martin Ling ba4eac48d4 C++: Don't spell out arguments to StructureWrapper when not required. 2014-09-02 22:35:16 +02:00
Martin Ling 0d0170ae9e C++: Fix duplicated shared_ptr creation. 2014-09-02 21:33:47 +02:00
Martin Ling 3bc172a61f C++: Remove erroneous stray method. 2014-09-02 21:33:47 +02:00
Martin Ling 78132e2a13 C++: Add sanity checks in StructureWrapper. 2014-08-31 19:03:31 +02:00
Marcus Comstedt d92de05ad1 C++: Provide fallbacks for missing stoi/stod functions
Notably, Android does not provide these functions.  The fallback
implementation is based on the one in the GNU ISO C++ Library.
2014-08-31 13:31:35 +02:00
Martin Ling 4cd883a7f3 C++: Fix shared pointer handling for PacketPayload base class. 2014-08-29 20:06:49 +01:00
Martin Ling b31581f8a8 C++: Fix hash table initialisation in map_to_hash_variant. 2014-08-29 17:35:46 +01:00
Martin Ling d01d231487 C++: Fix shared pointer handling for Device base class. 2014-08-29 14:01:51 +01:00
Bert Vermeulen f88c73732c C++: Use sr_input_scan_*() API changes. 2014-08-28 12:19:55 +02:00
Martin Ling 7f5a036750 C++: Update InputFormat::get_options for latest version of input API. 2014-08-26 01:55:41 +02:00
Martin Ling 43942280bb C++: Implement InputFormat::get_options() 2014-08-26 01:55:41 +02:00
Martin Ling 6e5240f418 C++: Correct ownership of InputDevice objects. 2014-08-26 01:55:41 +02:00
Martin Ling ca3291e3ee Update bindings for new input API. 2014-08-26 01:55:41 +02:00
Marcus Comstedt 0e1a7fe91a Makefile.am: Fix out-of-tree build for Python bindings 2014-08-17 16:05:46 +02:00
Marcus Comstedt 33c84e8197 Makefile.am: Fix out-of-tree build for C++ and Java bindings 2014-08-17 12:58:39 +02:00
Martin Ling 70d3b20ba6 bindings: update for sr_output_options_{get,free} API change. 2014-08-17 11:44:05 +01:00
Uwe Hermann ac0db24ad4 Doxygen: Silence Doxygen warnings by default.
This allows for a clean build per default. Developers can enable
those switches while writing documentation to get a few useful
warnings.
2014-08-10 18:16:07 +02:00
Martin Ling 5cad31c708 bindings: Transfer C++ method parameter documentation to Python/Java bindings. 2014-08-10 15:47:14 +02:00
Martin Ling b6f411ac4e C++: Add parameter documentation and additional method descriptions. 2014-08-10 15:47:14 +02:00
Martin Ling 8a314e90ff java: Add documentation generation. 2014-08-10 15:47:14 +02:00
Martin Ling 6a8c1d6879 python: Add documentation generation. 2014-08-10 15:47:13 +02:00
Martin Ling bd4fda2407 bindings: Transfer C++ documentation strings to Python and Java wrappers. 2014-08-10 15:47:13 +02:00
Martin Ling 84c870852a C++ bindings: Attach documentation to enum wrapper classes. 2014-08-10 15:47:13 +02:00
Martin Ling 3532ed0125 C++ bindings: Reimplement enums.py using doxygen XML output instead of gccxml. 2014-08-10 15:47:13 +02:00
Martin Ling 7a958e2a07 Java: correct input map type in create_output() wrapper. 2014-07-26 21:28:05 +01:00
Martin Ling 90bd765640 Java: Move interfaces into org.sigrok.core.interfaces, tidy build system. 2014-07-26 20:41:08 +01:00
Martin Ling 9455b6df6f Java: ignore Meta::get_config() due to SWIG typemap issues. 2014-07-26 20:41:08 +01:00
Martin Ling 58aa1f8359 Update bindings to use new output API. 2014-07-26 16:03:25 +01:00
Martin Ling 06bd935e16 bindings: Add Channel::get_index() method. 2014-07-24 23:42:53 +01:00
Martin Ling f36ca8893d bindings: Add Device::get_description() method. 2014-07-24 23:42:53 +01:00
Martin Ling e194c01197 bindings: Change return type of config_list to Glib::VariantContainerBase. 2014-07-24 23:42:53 +01:00
Martin Ling 1d67cfb4ea bindings: Revise Session::append() API. 2014-07-24 23:42:53 +01:00
Martin Ling 6be7a7f287 bindings: Support get_channel_groups() on base Device class. 2014-07-24 23:42:53 +01:00
Martin Ling 2928f47d64 bindings: Overhaul packet & payload classes. 2014-07-24 23:42:53 +01:00
Martin Ling 7009a3921a C++: Fix leak of GVariant in ConfigKey::parse_string(). 2014-07-24 23:42:53 +01:00
Martin Ling 1797a887d7 C++: Fix Packet destructor for packets without payload. 2014-07-24 23:42:51 +01:00
Martin Ling 4178d9712f C++: Add internal lookup to find Channel object from sr_channel *. 2014-07-24 21:00:45 +01:00
Martin Ling 7649683c2a C++: Centralise code for preparing shared pointers. 2014-07-24 21:00:45 +01:00
Martin Ling 07443fd204 Add Doxyfile for C++ bindings and adaptations to C++ header file. 2014-07-23 22:45:37 +01:00
Martin Ling 90ba83f21d bindings: Add Packet.get_type() method. 2014-07-23 22:45:37 +01:00
Martin Ling 6fa0eb86af Add bindings for getting/setting session trigger. 2014-07-23 22:45:37 +01:00
Jens Steinhauser c6036f755a C++ bindings: Make enums.py work with newer versions of pygccxml. 2014-07-22 21:06:16 +02:00
Bert Vermeulen 9ae3eb121f python: Don't install as a zip file. 2014-07-19 22:25:39 +02:00
Bert Vermeulen 6884b52bde bindings: Filter out various pygccxml noise. 2014-07-19 19:48:01 +02:00
Martin Ling d615a3962a Suppress some SWIG warnings that don't matter. 2014-07-19 16:28:42 +02:00
Martin Ling abc7146d03 Fix building Python bindings with pygobject >= 3.7.91. 2014-07-19 16:12:34 +02:00
Martin Ling f0f1d90d9c Remove obsolete low-level language bindings. 2014-07-18 21:34:57 +01:00
Martin Ling 9fcf4d0b5b Add Java bindings. 2014-07-18 21:34:57 +01:00
Martin Ling f774095496 Reimplement high-level Python bindings on top of SWIG/C++ bindings. 2014-07-18 20:47:10 +01:00
Martin Ling 608b848d8b Add new generic SWIG bindings based on C++ classes. 2014-07-18 20:47:10 +01:00
Martin Ling c23c8659b8 Add C++ bindings. 2014-07-18 20:47:10 +01:00
Martin Ling 5a7e62211c SWIG: Rename libsigrok.i to lowlevel.i. 2014-07-17 18:30:49 +01:00
Martin Ling fb336bf9e5 SWIG: Remove obsolete lowlevel wrapper methods for sr_output_format. 2014-07-17 18:30:49 +01:00
Bert Vermeulen 5842817e45 swig: Use new output API. 2014-07-14 19:22:58 +02:00
Uwe Hermann 3f239f0803 Rename various *PROBE* macros to *CHANNEL*.
This fixes parts of bug #259.
2014-03-25 20:58:54 +01:00
Uwe Hermann 91aea754aa Rename 'struct sr_probe' to 'struct sr_channel' everywhere.
This fixes parts of bug #259.
2014-03-25 20:58:54 +01:00
Uwe Hermann 660e398fe9 Replace 'probe group' with 'channel group' everywhere.
The name 'probe' (and thus 'probe group') is a relic from the times when
sigrok was mostly about logic analyzers. Nowadays we support a lot more
device types where 'probe' is not really a good term and 'channel' is
much better suited.

This fixes parts of bug #259.
2014-03-25 20:58:54 +01:00
Martin Ling 865730188c python: Use OrderedDict for input formats. 2013-12-17 16:29:41 +00:00
Martin Ling 772b21d425 python: Split up Device class and add InputFileDevice class. 2013-12-17 16:10:08 +00:00
Martin Ling 01e9ff61c2 python: Give config keys an auto lowercase name if they have none defined. 2013-12-17 13:11:43 +00:00
Martin Ling cad0acef5d python: Add ConfigKey.info and ConfigKey.<id> shortcuts. 2013-12-17 13:01:35 +00:00
Martin Ling 14e8eb3353 python: ConfigInfo: return None from constructor if not available. 2013-12-17 13:01:11 +00:00
Martin Ling 8593c8e30d python: Add ConfigInfo and DataType classes. 2013-12-17 12:47:49 +00:00
Martin Ling 409d85b3ac python: Finish output format support. 2013-12-17 02:00:09 +01:00
Martin Ling f0e764de7b python: Finish input format support. 2013-12-17 02:00:09 +01:00
Martin Ling a64198c8ea python: Add initial support for input and output formats. 2013-12-17 02:00:09 +01:00
Martin Ling 945e23a57d python: fix setting device/probe group configuration. 2013-12-17 02:00:09 +01:00
Martin Ling 4e5c64e358 python: whitespace fix. 2013-12-17 02:00:09 +01:00
Martin Ling af54bac90a python: Map probe group configuration to ProbeGroup attributes. 2013-11-08 01:03:17 +01:00
Martin Ling 417e9f3ab4 python: Add classes for probes and probe groups. 2013-11-08 01:03:17 +01:00
Martin Ling 54e7a3d0d7 probe_groups: Update Python bindings for API change. 2013-11-08 01:03:16 +01:00
Uwe Hermann 0e77b7cab3 python: Add Session.open_device(). 2013-04-25 00:15:49 +02:00
Uwe Hermann 57dd5e63ec python: sr_config's value field is called 'data'. 2013-04-24 23:43:56 +02:00
Martin Ling 3124e80bfe python: Support keyword arguments to scan() 2013-04-24 23:20:47 +02:00
Martin Ling f245b7669e python: Add a ConfigKey class. 2013-04-24 23:20:47 +02:00
Martin Ling 05cfe1147a python: Add conversion functions to/from GSList * 2013-04-24 23:20:47 +02:00
Uwe Hermann 50985c2019 GPL headers: Use correct project name. 2013-04-23 22:24:30 +02:00
Martin Ling 1e2bd8af12 python: fix Fraction -> GVariant tuple conversion. 2013-04-21 19:52:09 +01:00
Uwe Hermann ac070c7744 Add initial, lowlevel Ruby bindings. 2013-04-19 20:19:14 +02:00
Martin Ling 91bea31f6b python: unify pkg-config calls in setup.py. 2013-04-19 17:41:44 +01:00
Martin Ling 0cd466ccd8 python: Use --cflags-only-I to get includes in setup.py. 2013-04-19 17:30:44 +01:00
Martin Ling 9bbd6a6a0d python: Add classes for values of API enums. 2013-04-19 17:07:56 +01:00
Uwe Hermann 816aed6c91 python: Add a Log class to control libsigrok logging. 2013-04-19 13:15:51 +02:00
Uwe Hermann 0021b07741 python: config_get() now returns SR_ERR_NA. 2013-04-19 11:58:40 +02:00
Uwe Hermann c2ec42ce93 python: Add further properties to Analog class. 2013-04-18 17:45:38 +02:00
Martin Ling 15574a3cec python: Add Analog class. 2013-04-18 17:45:38 +02:00
Uwe Hermann 3bc55222c8 python: Add missing license headers. 2013-04-17 17:26:46 +02:00
Martin Ling 08d59537c3 python: fix cdata to work with Python 3.x. 2013-04-17 15:39:13 +01:00
Martin Ling 1cad211547 python: Fix syntax to support Python 3.x. 2013-04-17 15:39:09 +01:00
Martin Ling d8f6e041aa python: Add high level API. 2013-04-17 14:30:31 +01:00
Martin Ling a8d162f6d3 swig: Wrap additional GVariant operations. 2013-04-17 14:03:38 +01:00
Martin Ling cccb599147 python: Release GIL during libsigrok calls. 2013-04-17 14:01:19 +01:00
Martin Ling a25932e08c python: Adding callback can fail, and refcount must be incremented. 2013-04-17 13:59:30 +01:00
Martin Ling 0220626994 python: use setuptools and put bindings into sigrok.core.lowlevel. 2013-04-17 03:50:27 +01:00
Uwe Hermann 9bb2f327a9 Python bindings: Small fix for Python 3 support. 2013-04-16 22:35:17 +02:00
Martin Ling 22f8cb54d1 swig: wrap g_variant_new_uint64. 2013-04-16 12:07:54 +02:00
Martin Ling d962ed92a1 swig: include cdata interface. 2013-04-16 12:07:54 +02:00
Martin Ling 966fcbe3e3 swig: add function to cast from void * to struct sr_datafeed_logic * 2013-04-16 12:07:54 +02:00
Martin Ling 0849c7d310 python: support datafeed callbacks implemented in python. 2013-04-16 12:07:54 +02:00
Martin Ling ab0340c804 swig: use standard wrappers for integer types. 2013-04-16 12:07:54 +02:00
Uwe Hermann f02121f8d2 Python bindings: Fix reported libsigrok version.
Use 'pkg-config --modversion libsigrok' to get the libsigrok package
version. 'pkg-config --version libsigrok' ignores the argument and just
reports the version of pkg-config itself.
2013-04-16 00:58:29 +02:00
Uwe Hermann 8dc93c841f Python bindings: Cosmetics. 2013-04-16 00:57:25 +02:00
Martin Ling 7aafb89274 Tell SWIG that gpointer is really void *. 2013-04-16 00:41:11 +02:00
Martin Ling 758b01adcb Add SWIG interface file and build script for Python bindings. 2013-04-16 00:41:11 +02:00