diff options
Diffstat (limited to 'test/afb-test/fixtures')
-rw-r--r-- | test/afb-test/fixtures/CMakeLists.txt | 30 | ||||
-rw-r--r-- | test/afb-test/fixtures/alsacore.lua | 92 | ||||
-rw-r--r-- | test/afb-test/fixtures/smixer.lua | 255 |
3 files changed, 377 insertions, 0 deletions
diff --git a/test/afb-test/fixtures/CMakeLists.txt b/test/afb-test/fixtures/CMakeLists.txt new file mode 100644 index 0000000..8b33784 --- /dev/null +++ b/test/afb-test/fixtures/CMakeLists.txt @@ -0,0 +1,30 @@ +########################################################################### +# Copyright 2018 IoT.bzh +# +# author:Frédéric Marec <frederic.marec@iot.bzh> +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +########################################################################### + +################################################## +# Audio 4A test configuration files +################################################## +PROJECT_TARGET_ADD(data-files) + + file(GLOB DATA_FILES "*.lua" ) + add_input_files("${DATA_FILES}") + + SET_TARGET_PROPERTIES(${TARGET_NAME} PROPERTIES + LABELS "TEST-DATA" + OUTPUT_NAME ${TARGET_NAME} + ) diff --git a/test/afb-test/fixtures/alsacore.lua b/test/afb-test/fixtures/alsacore.lua new file mode 100644 index 0000000..1158d2c --- /dev/null +++ b/test/afb-test/fixtures/alsacore.lua @@ -0,0 +1,92 @@ +--[[ + Copyright (C) 2018 "IoT.bzh" + Author Frédéric Marec <frederic.marec@iot.bzh> + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--]] + +local i=1 j=1 + +function _infoget (request, args, json_object) + AFB:success(request, {devid="hw:"..i, devpath = json_object.devpath}) + i=i+1 +end + +function _ctlget (request, args, json_object) + AFB:success(request, + { + id = j, + name = "DVC Out Playback Volume", + iface = "MIXER", + actif = true, + val = {6710886,6710886}, + ctl = { + type = 2, + count = 2, + min = 0, + max = 8388607, + step = 0 + }, + acl = { + read = true, + write = true, + inact = false, + volat = false, + lock = false, + tlv = { + read = false, + write = false, + command = false + } + } + } +) +end + +function _ctlset (request) + j=j+1 + AFB:success(request, { + id = j, + name = "DVC Out Playback Volume", + iface = "MIXER", + actif = true, + val = {6710886,6710886}, + ctl = { + type = 2, + count = 2, + min = 0, + max = 8388607, + step = 0 + }, + acl = { + read = true, + write = true, + inact = false, + volat = false, + lock = false, + tlv = { + read = false, + write = false, + command = false + } + } + }) +end + +function _subscribe (request) + AFB:success(request) +end + +function _addcustomctl (request, args, json_object) + AFB:success(request, {id = i; devid = json_object.devid, ctl = json_object.ctl}) +end diff --git a/test/afb-test/fixtures/smixer.lua b/test/afb-test/fixtures/smixer.lua new file mode 100644 index 0000000..cc19327 --- /dev/null +++ b/test/afb-test/fixtures/smixer.lua @@ -0,0 +1,255 @@ +--[[ + Copyright (C) 2018 "IoT.bzh" + Author Frédéric Marec <frederic.marec@iot.bzh> + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--]] + +--function _ping(request) +-- AFB:success(request, {1}) +--end + +function _attach (request) + AFB:success(request, { + metadata = { + uid = "/dev/snd/by-path/pci-0000=00=1b.0", + version = "0.9", + api = "4a-hal-intel", + require = { "alsacore", "smixer" }, + info = "4a hal for Intel device", + author = "Jonathan Aillet", + date = "2018-06-13" + }, + resources = { + { + uid = "hal-bt", + info = "Bluetooth hal plugin to get A2DP bluetooth device as an input by tweaking softmixer configuration", + params = { + channels = 2, + zone = "front-seats" + }, + libs = {"hal-bt.ctlso"} + } + }, + controls = { + { + uid = "ping", + info = "Ping hal", + action = "api=//4a-hal-manager#ping" + } + }, + halmap = { + { + uid = "agl-master-playback-volume", + alsa = { + name = "Master Playback Volume", + value = 100 + } + }, + { + uid = "agl-pcm-playback-volume", + alsa = { + name = "PCM Playback Volume", + value = 100 + } + }, + { + uid = "agl-master-playback-switch", + alsa = { + name = "Master Playback Switch", + value = 1 + } + }, + { + uid = "agl-capture-volume", + alsa = { + name = "Capture Volume" + } + } + }, + halmixer = { + uid = "intel", + mixerapi = "smixer", + prefix = "intel-generic", + ramps = { + { + uid = "ramp-very-fast", + delay = 50, + up = 6, + down = 10 + }, + { + uid = "ramp-fast", + delay = 50, + up = 2, + down = 10 + }, + { + uid = "ramp-normal", + delay = 50, + up = 2, + down = 4 + }, + { + uid = "ramp-slow", + delay = 50, + up = 2, + down = 2 + }, + { + uid = "ramp-very-slow", + delay = 100, + up = 1, + down = 1 + } + }, + playbacks = { + uid = "INTEL", + path = "/dev/snd/by-path/pci-0000=00=1b.0", + params = { + rate = 48000 + }, + sink = { + controls = { + volume = { + name = "Master Playback Volume", + value = 80 + }, + mute = { + name = "Master Playback Switch" + } + }, + channels = { + { + uid = "front-right", + port = 0 + }, + { + uid = "front-left", + port = 1 + } + } + } + }, + captures = { + uid = "INTEL", + path = "/dev/snd/by-path/pci-0000=00=1b.0", + 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 + } + }, + { + uid = "radio_stream", + verb = "radio_stream", + zone = "full-stereo", + volume = 70, + mute = true, + params = { + rate = 48000 + } + } + } + } + }) + end + + function _remove (request) + AFB:success(request, {2}) + end + + function _info (request) + AFB:success(request, {2}) + end + + function _bluezalsa_dev (request) + AFB:success(request, {2}) + end
\ No newline at end of file |