summaryrefslogtreecommitdiffstats
path: root/plugin/wrap_volume.c
diff options
context:
space:
mode:
authorJonathan Aillet <jonathan.aillet@iot.bzh>2018-12-10 17:18:01 +0100
committerTobias Jahnke <tobias.jahnke@microchip.com>2018-12-19 10:27:44 +0100
commit5770713075119f42d3486fa8db616efa8231a336 (patch)
tree4a13f0dcd492fb2513a7889894218341d9c92e5b /plugin/wrap_volume.c
parent6b432e3928a4696309420742fc4e60f5496f2fd8 (diff)
Rename unicens plugin as output unicens plugin
Move all files according plugin name changes. Update cmake files. Update unicens configuration file. Change-Id: I468430dfbc885ec0bfa03a179a9dd4f14de3f1d0 Signed-off-by: Jonathan Aillet <jonathan.aillet@iot.bzh>
Diffstat (limited to 'plugin/wrap_volume.c')
-rw-r--r--plugin/wrap_volume.c138
1 files changed, 0 insertions, 138 deletions
diff --git a/plugin/wrap_volume.c b/plugin/wrap_volume.c
deleted file mode 100644
index 9c3d7a1..0000000
--- a/plugin/wrap_volume.c
+++ /dev/null
@@ -1,138 +0,0 @@
-/*
- * Copyright (C) 2018, Microchip Technology Inc. and its subsidiaries, "IoT.bzh".
- * Author Tobias Jahnke
- * Author Jonathan Aillet
- * Contrib Fulup Ar Foll
- *
- * 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.
- *
- */
-
-#define _GNU_SOURCE
-
-#include <stdio.h>
-#include <string.h>
-#include <stdbool.h>
-
-#include <time.h>
-#include <assert.h>
-
-#include <wrap-json.h>
-
-#include <ctl-plugin.h>
-
-#include "wrap_volume.h"
-#include "wrap_unicens.h"
-
-#include "libmostvolume.h"
-
-#define MAX_PCM_CHANNELS 6
-
-static int wrap_volume_service_timeout_cb(sd_event_source* source,
- uint64_t timer __attribute__((__unused__)),
- void *userdata __attribute__((__unused__)))
-{
- uint8_t ret;
-
- sd_event_source_unref(source);
-
- if((ret = lib_most_volume_service()))
- AFB_ApiError(unicensHalApiHandle, "lib_most_volume_service returns %d", ret);
-
- return 0;
-}
-
-static void wrap_volume_service_cb(uint16_t timeout)
-{
- uint64_t usec;
-
- sd_event_now(AFB_GetEventLoop(unicensHalApiHandle), CLOCK_BOOTTIME, &usec);
-
- sd_event_add_time(AFB_GetEventLoop(unicensHalApiHandle),
- NULL,
- CLOCK_MONOTONIC,
- usec + (timeout*1000),
- 250,
- wrap_volume_service_timeout_cb,
- NULL);
-}
-
-/* Retrieves a new value adapted to a new maximum value. Minimum value is
- * always zero. */
-static int wrap_volume_calculate(int value, int max_old, int max_new)
-{
- if(value > max_old)
- value = max_old;
-
- value = (value * max_new) / max_old; /* calculate range: 0..255 */
- assert(value <= max_new);
-
- return value;
-}
-
-extern int wrap_volume_init(void)
-{
- uint8_t ret = 0;
-
- lib_most_volume_init_t mv_init;
-
- mv_init.writei2c_cb = &wrap_ucs_i2cwrite;
- mv_init.service_cb = &wrap_volume_service_cb;
- mv_init.sendmsg_cb = &wrap_ucs_sendmessage_sync;
-
- ret = lib_most_volume_init(&mv_init);
-
- return -ret;
-}
-
-extern int wrap_volume_master(AFB_ApiT apiHandle, int volume)
-{
- int ret;
-
- if((ret = lib_most_volume_set(LIB_MOST_VOLUME_MASTER,
- (uint8_t) wrap_volume_calculate(volume, 100, 255)))) {
- AFB_ApiError(apiHandle, "%s: volume library not ready.", __func__);
- }
-
- return -ret;
-}
-
-extern int wrap_volume_pcm(AFB_ApiT apiHandle, int *volume_ptr, int volume_sz)
-{
- int cnt, new_value, ret = 0;
-
- assert(volume_ptr != NULL);
- assert(volume_sz <= MAX_PCM_CHANNELS);
-
- for(cnt = 0; cnt < volume_sz; cnt ++) {
- new_value = wrap_volume_calculate(volume_ptr[cnt], 100, 255);
-
- if((ret = lib_most_volume_set((enum lib_most_volume_channel_t) cnt, (uint8_t) new_value))) {
- AFB_ApiError(apiHandle, "%s: volume library not ready.", __func__);
- break;
- }
- }
-
- return -ret;
-}
-
-extern int wrap_volume_node_avail(AFB_ApiT apiHandle, int node, int available)
-{
- int ret;
-
- if((ret = lib_most_volume_node_available((uint16_t) node, (uint8_t) available)))
- AFB_ApiError(apiHandle, "%s: volume library not ready.", __func__);
-
- return -ret;
-}
-