summaryrefslogtreecommitdiff
path: root/irmp/irmp-main-sharedlib.c
AgeCommit message (Collapse)Author
2020-07-18irmp: workaround incomplete platform detection when under libtoolGerhard Sittig
The upstream IRMP project builds fine with direct gcc(1) invocation. While the same imported source fails detection and then defaults to AVR when built under libtool in the libsigrokdecode setup. Provide the symbols which IRMP logic expects, to reduce changes against upstream sources. Derive these symbols from conditions that are checked in the sigrok project in other locations, too.
2020-07-18irmp: silence core logic ANALYZE output from the shared libraryGerhard Sittig
Workaround the default verbosity level of the IRMP core logic for PC library build configurations. Silence the ANALYZE related output.
2020-07-18irmp: rework shared library (style, reliability, TODO items)Gerhard Sittig
Address several style nits in the previous implementation of the PC library, but keep the core as is to simplify future upstream tracking. Eliminate camel case identifiers, and in(?)/out prefixes for variables, only keep s_ for global(?) variables. Fixup whitespace, reduce a little indentation where appropriate. Separate variable declaration from later assignments and updates to improve readability. Use C style comments. Drop initializer values for .bss variables. Decorate the declaration as well as implementation of routines for symbol export. Improve robustness of name lookups in the list of known protocols. Prefer native C language data types in the public API. Normalize data in the wrapper so that application code need not care. Make the byte buffer API for IR frame detection optional. The API is limited and overloaded at the same time, and may need more consideration. Extend comments in spots which are essential for proper operation, or which encode non-obvious details of the build system. Control visibility of public API identifiers on non-Windows platforms, too. Rephrase the doxygen comments for more formal API documentation. Discuss limitations in the current implementation. Keep a TODO list in the source code.
2020-07-18irmp: introduce PC side shared library code for IRMP core logicGerhard Sittig
Introduce sources which implement a shared object (DLL) which embeds the IRMP core logic, receives pin values from an application, and makes IR detection from previously captured data available in PC environments as a library, in contrast to the text oriented desktop applications and the MCU firmware which existed before in the upstream project. Provided by: Rene Staffen