summaryrefslogtreecommitdiffstats
path: root/binding/CMakeLists.txt
AgeCommit message (Collapse)AuthorFilesLines
2023-01-19Repurpose into gRPC servicequillback_17.0.0quillback/17.0.017.0.0Scott Murray1-73/+0
Repurpose repository into a spiritual successor of the previous binding. The backend code is retained behind a new gRPC API defined in protos/radio.proto. The simpler synchronous gRPC API had been used for expediency, this may warrant revisiting to rework into an async or callback API based server instead. As well, authentication has been left until some consensus on an approach can be worked out. Bug-AGL: SPEC-4665 Signed-off-by: Scott Murray <scott.murray@konsulko.com> Change-Id: I28b122ce6e0ecfc7504aa08b90394cb1b9e22976 (cherry picked from commit dd23c157bdba1b25bbb50cdb99a60aa597735f43)
2020-09-08Add null backendjellyfish_9.99.4jellyfish/9.99.49.99.4Scott Murray1-0/+1
Changes: - Add null radio implementation that acts as the fallthrough default when the hardware implementations are not detected. - Tweaked the probing in the tef665x implementation to not return an error if the I2C node is not even present. This cleans up the logs on start up on most platforms. These changes include some minor whitespace consistency clean ups. - Added the run-by-default widget permission now that the binding should always work. This will ease testing, and potentially decrease app start up time. Bug-AGL: SPEC-3570 Signed-off-by: Scott Murray <scott.murray@konsulko.com> Change-Id: I3c2e60ce7272d248ab87e3b79d6a334e17fe5531
2019-12-31Add support for TEF665x in agl-service-radioicefish_8.99.5icefish/8.99.58.99.5VahidGharaee1-1/+2
This is a NXP tuner AM/FM/RDS. The chip has analogue and digital sound output and input. Chip is controlled through i2c. I had to add a sound cart to the kernel to be able to capture the i2s data from the chip. Some of the verbs still to be implemented. I test it on a costum board with imx6solo. Bug-AGL SPEC-3071 Signed-off-by: VahidGharaee <vgharaee@gmail.com> Change-Id: I868706e6d275aef77f77138f815b1b53d64780be
2019-12-14Initial steering wheel event supportScott Murray1-1/+1
Add initial basic support for next/previous events from signal composer, mapping them to seek forward/back. More work will be required to handle the issues around both mediaplayer and radio both being running and differentiating which should handle the events. Additionally, complete transition to binding version 3 to clean things up. Bug-AGL: SPEC-3046 Change-Id: I251fa461c96dba584a3fe0069bab4fd2e54701ad Signed-off-by: Scott Murray <scott.murray@konsulko.com>
2019-12-02Migration to binding V3icefish_8.99.2icefish/8.99.28.99.2Li Xiaoming1-1/+1
Bug-AGL: SPEC-2745 Change-Id: I5ee9d3118a302f0edf5fe79a43590818d3d829c3 Signed-off-by: Li Xiaoming <lixm.fnst@cn.fujitsu.com>
2019-06-10Remove support for 4A and pulseaudio completelyGeorge Kiagiadakis1-10/+2
Bug-AGL: SPEC-2473 Signed-off-by: George Kiagiadakis <george.kiagiadakis@collabora.com> Change-Id: I320be57ce48a63c7e85b8daebf7b094423f580f9
2019-06-04cmake: build radio_output_gstreamer when we have pipewireGeorge Kiagiadakis1-1/+1
The actual code does not need to change for the moment. GStreamer alsasink will redirect the stream to pipewire. Bug-AGL: SPEC-2473 Change-Id: Ibd791cc8fc4ec8f2c7ddaba82aac1de143856324 Signed-off-by: George Kiagiadakis <george.kiagiadakis@collabora.com>
2018-07-17cmake: added missing dependency to libusb-1.0guppy_6.90.0guppy/6.90.0flounder_5.99.6flounder_5.99.5flounder_5.99.4flounder_5.99.3flounder_5.99.2flounder/5.99.6flounder/5.99.5flounder/5.99.4flounder/5.99.3flounder/5.99.26.90.05.99.65.99.55.99.45.99.35.99.2Thierry Bultel1-1/+2
The build needs libusb-1.0. Everything foes right when building for Yocto, that already and likely has the needed things. Issue seen when building for a linux host. The missing check did not point out the need for libusb-1.0-devel Change-Id: I7440e2d9ca21232d11e5cabafc79b383092e8890 Signed-off-by: Thierry Bultel <thierry.bultel@iot.bzh>
2018-07-17Set the binding version in cmake instead of sourceThierry Bultel1-4/+2
Setting AFB_BINDING_VERSION is cmake makes merges easier between branches, since it is always defined once at a single place instead that in each file that need it. Also removed the "INSTALL" section with LIBRARY_DESTINATION since it is now treated in app-templates. Change-Id: I7ef5f3b4d2009ab6ec296ac70bfc0a5647f9534c Signed-off-by: Thierry Bultel <thierry.bultel@iot.bzh>
2018-06-05Rework output to directly support 4Aflounder_5.99.1flounder/5.99.15.99.1Scott Murray1-6/+19
When building for 4A, switch to new gstreamer-based ALSA output for the RTL-SDR backend, and the Kingfisher backend now uses a gstreamer pipeline for its loopback to either an ALSA or Pulse sink depending on 4A or not. Using gstreamer instead of direct ALSA output has the benefit of transparently handling resampling to the M3ULCB hardware's required 48 KHz sample rate for the RTL-SDR backend. Change-Id: I2bfbf924927bb461cce88b04aba0e626f8d71215 Signed-off-by: Scott Murray <scott.murray@konsulko.com>
2018-06-05Split rtlsdr code into standalone helperScott Murray1-4/+24
To avoid the GPL licensed code in rtl_fm.c making all of the binding GPL, rework things to wrap it with a simple standalone helper executable that is driven via stdin/stdout. While this could potentially be done by running the original unmodified rtl_fm utility itself, it would be impossible to implement scanning with that approach without some compromising of playback latency and quality. The current helper implementation is simple enough that replacing it with an alternate one should be relatively straightforward if that is desired. Change-Id: If83b834da3999f5807d1453524ae72b1c3559c90 Signed-off-by: Scott Murray <scott.murray@konsulko.com>
2018-06-05Always enable Kingfisher supportScott Murray1-4/+1
Make Kingfisher support unconditional to move all platform detection to run-time. This fixes the issue of violating the application build workflow with the SDK. Additionally, the Kingfisher detection has been improved with an added check for the Si4689 device-tree node to differentiate from a regular M3ULCB, and the Kingfisher output has been fixed for recent BSP changes. Change-Id: I28e18a065385205aefec974079b0a9c2d31059b6 Signed-off-by: Scott Murray <scott.murray@konsulko.com>
2018-03-20Add Kingfisher Si4689 supportHarunobu Kurokawa1-2/+7
Add conditionally compilable support for the Si4689 radio on the M3ULCB Kingfisher infotainment board. The codebase has been refactored to allow multiple radio implementations, and when Kingfisher support is enabled, the binding will first look for a USB RTL-SDR adapter, then fallback to the Kingfisher Si4689 if one is not found. This allows easily switching to a RTL-SDR adapter if this initial Kingfisher support encounters issues. The back end implementation relies on a patched version of the "si_ctl" utility from Cogent Embedded's Kingfisher BSP changes. The modifications to it add FM band plan selection and scanning threshold tweaking for poor radio environments. Audio output is achieved by looping the radio's PulseAudio source to the appropriate sink depending on 4A or non-4A operation. For 4A compatibility, the PulseAudio source is created if it does not exist, which currently is the case due to PulseAudio's udev module being disabled when 4A is enabled. Additionally, the FM band plan for Japan has been corrected to go to 95 MHz, and a README.md file has been added documenting the optional configuration that can be done via /etc/xdg/AGL.conf for band plan selection and scanning sensitivity. Change-Id: I204906fed741d917fc3b8be962deadb4e59989db Signed-off-by: Scott Murray <scott.murray@konsulko.com> Signed-off-by: Harunobu Kurokawa <harunobu.kurokawa.dn@renesas.com>
2017-08-17binding: radio: switch to cmake build systemMatt Ranostay1-0/+45
Switch from qmake build system to cmake avoiding the unneeded dependency of qt Bug-AGL: SPEC-834 Change-Id: Ifcf43b8ebadf723ec0131beda7d96f705083a1c2 Signed-off-by: Matt Ranostay <matt.ranostay@konsulko.com>