summaryrefslogtreecommitdiffstats
path: root/binding
AgeCommit message (Collapse)AuthorFilesLines
2018-06-15cmake: added missing dependency to libusb-1.0eel_5.1.0eel/5.1.05.1.0eelThierry 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-05-28Rework output to directly support 4AScott Murray6-56/+347
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 <scottm@ghidorah.spiteful.org>
2018-05-28Split rtlsdr code into standalone helperScott Murray4-58/+482
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 <scottm@ghidorah.spiteful.org>
2018-05-15Always enable Kingfisher supporteel_5.0.3eel/5.0.35.0.3Scott Murray3-12/+10
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 <scottm@ghidorah.spiteful.org>
2017-12-21Add Kingfisher Si4689 supporteel_5.0.2eel_5.0.1eel_5.0.0eel/5.0.2eel/5.0.1eel/5.0.05.0.25.0.15.0.0Scott Murray8-73/+554
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>
2017-11-24Return a correct value for 'start'José Bollo1-2/+1
The returned value was presumed to be garbage. Change-Id: I72997d267139cc89f5dd5d325fc0512f44859b90 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2017-11-24Remove calls to 'exit'José Bollo1-6/+8
The check now return a status instead of exiting the process. Change-Id: I70bdeb4e4b3848a0c5e743a13aecec3ed8f98600 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2017-10-11Switch to AFB_SESSION_NONE for verbsScott Murray1-12/+12
Recent testing found that the verbs no longer work now with the AFB_SESSION_CHECK flag set on them and the binding split out to be standalone from the app. Since the radio does not really need the concept of a session, switch to AFB_SESSION_NONE to get things working, rather than add the extra infrastructure to enable session support. Change-Id: I9c022eaf7a18a1094b9afb7c6bddf1a8ebc9e875 Signed-off-by: Scott Murray <scott.murray@konsulko.com>
2017-08-17binding: radio: upgrade to v2 of binding frameworkMatt Ranostay1-35/+26
Update structures and function calls to afm binding framework version 2 specs Bug-AGL: SPEC-835 Change-Id: Ie9198c4fe035e2267a1098fac7995b60e65809ec Signed-off-by: Matt Ranostay <matt.ranostay@konsulko.com>
2017-08-17binding: radio: switch to cmake build systemMatt Ranostay3-7/+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>
2017-08-17binding: radio: update build system for standalone bindingMatt Ranostay12-0/+2949
Radio binding is now standalone so the qmake build scripts need to be updated to reflect that Bug-AGL: SPEC-832 Change-Id: Iab9cd5d18536e416d22d91c492ef489159a62d0d Signed-off-by: Matt Ranostay <matt.ranostay@konsulko.com>