diff options
-rw-r--r-- | 4a-hal-cfg-community/hal-4a-csl-cm106-8ch-usb.json | 2 | ||||
-rw-r--r-- | 4a-hal-cfg-reference/CMakeLists.txt | 20 | ||||
-rw-r--r-- | 4a-hal-cfg-reference/hal-4a-2ch-generic-usb.json | 188 | ||||
-rw-r--r-- | README.md | 7 |
4 files changed, 206 insertions, 11 deletions
diff --git a/4a-hal-cfg-community/hal-4a-csl-cm106-8ch-usb.json b/4a-hal-cfg-community/hal-4a-csl-cm106-8ch-usb.json index f17fe9d..18dd1cb 100644 --- a/4a-hal-cfg-community/hal-4a-csl-cm106-8ch-usb.json +++ b/4a-hal-cfg-community/hal-4a-csl-cm106-8ch-usb.json @@ -5,7 +5,7 @@ "version": "0.9", "api": "4a-hal-csl-cm106-8ch-usb", "require": [ "alsacore", "smixer" ], - "info": "4a hal for Jon's CSL CM106 8ch USB device", + "info": "4a hal for CSL CM106 8ch USB device", "author": "Jonathan Aillet", "date": "2018-06-09" }, diff --git a/4a-hal-cfg-reference/CMakeLists.txt b/4a-hal-cfg-reference/CMakeLists.txt index c9eb28d..e8267f9 100644 --- a/4a-hal-cfg-reference/CMakeLists.txt +++ b/4a-hal-cfg-reference/CMakeLists.txt @@ -19,13 +19,13 @@ ################################################## # Control Policy Config file ################################################## -#PROJECT_TARGET_ADD(4a-hal-cfg-reference) -# -# file(GLOB CONF_FILES "*.json") -# -# add_input_files("${CONF_FILES}") -# -# SET_TARGET_PROPERTIES(${TARGET_NAME} PROPERTIES -# LABELS "BINDING-CONFIG" -# OUTPUT_NAME ${TARGET_NAME} -# ) +PROJECT_TARGET_ADD(4a-hal-cfg-reference) + + file(GLOB CONF_FILES "*.json") + + add_input_files("${CONF_FILES}") + + SET_TARGET_PROPERTIES(${TARGET_NAME} PROPERTIES + LABELS "BINDING-CONFIG" + OUTPUT_NAME ${TARGET_NAME} + ) diff --git a/4a-hal-cfg-reference/hal-4a-2ch-generic-usb.json b/4a-hal-cfg-reference/hal-4a-2ch-generic-usb.json new file mode 100644 index 0000000..14eecbf --- /dev/null +++ b/4a-hal-cfg-reference/hal-4a-2ch-generic-usb.json @@ -0,0 +1,188 @@ +{ + "$schema": "http://iot.bzh/download/public/schema/json/ctl-schema.json", + "metadata": { + "uid": "/dev/snd/by-id/usb-0d8c_USB_Sound_Device-01", + "version": "0.9", + "api": "4a-hal-2ch-generic-usb", + "require": [ "alsacore", "smixer" ], + "info": "4a hal for 2ch generic USB device", + "author": "Jonathan Aillet", + "date": "2018-06-09" + }, + "controls": [ + { + "uid": "ping", + "info": "Ping hal", + "action": "api://4a-hal-manager#ping" + } + ], + "halmap": [ + { + "uid": "agl-master-playback-volume", + "alsa": { + "name": "Speaker Playback Volume", + "value": 80 + } + }, + { + "uid": "agl-master-playback-switch", + "alsa": { + "name": "Speaker Playback Switch", + "value": 1 + } + }, + { + "uid": "agl-mic-capture-volume", + "alsa": { + "name": "Mic Capture Volume", + "value": 80 + } + }, + { + "uid": "agl-mic-capture-switch", + "alsa": { + "name": "Mic Capture Switch", + "value": 1 + } + } + ], + "halmixer": { + "uid": "2ch-generic-usb", + "mixerapi": "smixer", + "ramps": [ + { + "uid": "ramp-fast", + "delay": 50, + "up": 2, + "down": 10 + }, + { + "uid": "ramp-normal", + "delay": 50, + "up": 2, + "down": 4 + }, + { + "uid": "ramp-slow", + "delay": 100, + "up": 1, + "down": 1 + } + ], + "playbacks" : { + "uid": "2CH-GENERIC-USB", + "path": "/dev/snd/by-id/usb-0d8c_USB_Sound_Device-01", + "params": { + "rate": 48000 + }, + "sink": { + "controls": { + "volume": { + "name": "Speaker Playback Volume", + "value": 80 + }, + "mute": { + "name": "Speaker Playback Switch" + } + }, + "channels": [ + { + "uid": "front-right", + "port": 0 + }, + { + "uid": "front-left", + "port": 1 + } + ] + } + }, + "captures": { + "uid": "2CH-GENERIC-USB", + "path": "/dev/snd/by-id/usb-0d8c_USB_Sound_Device-01", + "params": { + "rate": 48000 + }, + "source": { + "controls": { + "volume": { + "name": "Capture Volume" + }, + "mute": { + "name": "Capture Switch" + } + }, + "channels": [ + { + "uid": "mic-right", + "port": 0 + }, + { + "uid": "mic-left", + "port": 1 + } + ] + } + }, + "zones": [ + { + "uid": "full-stereo", + "sink": [ + { + "target": "front-right", + "channel": 0 + }, + { + "target": "front-left", + "channel": 1 + } + ] + }, + { + "uid": "front-seats", + "sink": [ + { + "target": "front-right", + "channel": 0 + }, + { + "target": "front-left", + "channel": 1 + } + ] + } + ], + "streams": [ + { + "uid": "multimedia", + "verb": "multimedia", + "zone": "full-stereo", + "volume": 60, + "mute": false, + "params": { + "rate": 48000 + } + }, + { + "uid": "navigation", + "verb": "navigation", + "zone": "front-seats", + "volume": 70, + "mute": false, + "params": { + "rate": 48000 + } + }, + { + "uid": "emergency", + "verb": "emergency", + "zone": "front-seats", + "volume": 60, + "mute": false, + "params": { + "rate": 48000 + } + } + ] + } +} @@ -131,6 +131,13 @@ sudo modprobe snd-aloop * The `params` is where you can specify some parameters for your stream (such as rate). * `volume` and `mute` fields are initiate values of the stream. +#### Note about using a USB device + +Dynamic handling of USB devices is not yet implemented, so you need to modify the 'hal-4a-2ch-generic-usb.json' +to change the `uid` value in `metadata` section and `path` values in `playbacks` and `captures` sections. +All these values should be replaced by the alsa entry path of your usb device, these entry are listed +under directory '/dev/snd/by-id/...'. + ## Compile (for each repositories) ```bash |