agl-service-unicens: support microphone front-end 83/18383/1
authorTobias Jahnke <tobias.jahnke@microchip.com>
Thu, 4 Oct 2018 14:37:19 +0000 (16:37 +0200)
committerTobias Jahnke <tobias.jahnke@microchip.com>
Thu, 29 Nov 2018 09:04:38 +0000 (10:04 +0100)
Bug-AGL: SPEC-1759

- updates app-templates
- adds routing setup of microphone front-end
- adds web-ui buttons to control microphone front-end

Change-Id: Ie18ec2f40a1b1fce348d32d28c64a4a3b289d55f
Signed-off-by: Tobias Jahnke <tobias.jahnke@microchip.com>
conf.d/app-templates
data/config_multichannel_audio_kit.xml
htdocs/UNICENS.html
ucs2-afb/ucs_apidef.h

index 3c99b8a..76e12e7 160000 (submodule)
@@ -1 +1 @@
-Subproject commit 3c99b8a2cb7b784dcb5f23aa63345d60bfe9952d
+Subproject commit 76e12e76c7065fb3440312af3e54eae9d40c5254
index 51d2fdc..ed14320 100644 (file)
         <MOSTSocket Route="5.1 DVD Player Effect" Offset="8" Bandwidth="4"/>\r
       </Splitter>\r
     </SyncConnection>\r
+    <SyncConnection MuteMode="NoMuting">\r
+      <MOSTSocket Bandwidth="4" Route="Route_NoiseCanceled_Microphone" />\r
+      <USBSocket EndpointAddress="0x81" FramesPerTransaction="128" />\r
+    </SyncConnection>\r
+  </Node>\r
+\r
+  <!-- Microphone Front-End -->\r
+  <Node Address="0x520">\r
+    <StreamPort ClockConfig="64Fs" DataAlignment="Left16Bit" />\r
+    <SyncConnection MuteMode="NoMuting">\r
+      <StreamSocket StreamPinID="SRXA0" Bandwidth="4" />\r
+      <MOSTSocket Route="Route_NoiseCanceled_Microphone" Bandwidth="4" />\r
+    </SyncConnection>\r
   </Node>\r
 \r
   <!-- Fiberdyne Amplifier -->\r
index 46efeff..8badf8d 100644 (file)
     </ol>
     <br>
 
+    <h1>Microphone Front-End</h1>
+    <h2>Mode</h2>
+    <button class="ucsCtrlButton" onclick="callbinder('UNICENS','sendmessage', {node: 0x520, msgid: 0x1000, data:'AQA='})">Off</button><!--01 00 -->
+    <button class="ucsCtrlButton" onclick="callbinder('UNICENS','sendmessage', {node: 0x520, msgid: 0x1000, data:'AQE='})">Idle</button><!--01 01 -->
+    <button class="ucsCtrlButton" onclick="callbinder('UNICENS','sendmessage', {node: 0x520, msgid: 0x1000, data:'AQI='})">Listening</button><!--01 02 -->
+    <button class="ucsCtrlButton" onclick="callbinder('UNICENS','sendmessage', {node: 0x520, msgid: 0x1000, data:'AQM='})">Processing</button><!--01 03 -->
+    <button class="ucsCtrlButton" onclick="callbinder('UNICENS','sendmessage', {node: 0x520, msgid: 0x1000, data:'AQQ='})">Error</button><!--01 04 -->
+    <h2>Direction</h2>
+    <button class="ucsCtrlButton" onclick="callbinder('UNICENS','sendmessage', {node: 0x520, msgid: 0x1001, data:'AQAA'})">0</button><!--01 00 00 -->
+    <button class="ucsCtrlButton" onclick="callbinder('UNICENS','sendmessage', {node: 0x520, msgid: 0x1001, data:'AQBa'})">90</button><!--01 00 5A -->
+    <button class="ucsCtrlButton" onclick="callbinder('UNICENS','sendmessage', {node: 0x520, msgid: 0x1001, data:'AQC0'})">180</button><!--01 00 B4 -->
+    <button class="ucsCtrlButton" onclick="callbinder('UNICENS','sendmessage', {node: 0x520, msgid: 0x1001, data:'AQEO'})">270</button><!--01 01 0E -->
+
     <h1>Fiberdyne Amplifier Controls (Node 0x510)</h1>
     <div class="divTable">
     <div class="divTableBody">
index 71739b6..0b40094 100644 (file)
@@ -1,5 +1,5 @@
 
-static const char _afb_description_v2_UNICENS[] =
+static const char _afb_description_UNICENS[] =
     "{\"openapi\":\"3.0.0\",\"$schema\":\"http:iot.bzh/download/openapi/schem"
     "a-3.0/default-schema.json\",\"info\":{\"description\":\"\",\"title\":\"u"
     "cs2\",\"version\":\"1.0\",\"x-binding-c-generator\":{\"api\":\"UNICENS\""
@@ -58,61 +58,61 @@ static const char _afb_description_v2_UNICENS[] =
     "nses\":{\"200\":{\"$ref\":\"#/components/responses/200\"}}}}}}"
 ;
 
-static const struct afb_auth _afb_auths_v2_UNICENS[] = {
+static const struct afb_auth _afb_auths_UNICENS[] = {
        { .type = afb_auth_Permission, .text = "urn:AGL:permission:UNICENS:public:initialise" },
        { .type = afb_auth_Permission, .text = "urn:AGL:permission:UNICENS:public:monitor" },
        { .type = afb_auth_Permission, .text = "urn:AGL:permission:UNICENS:public:controller" }
 };
 
- void ucs2_listconfig(struct afb_req req);
- void ucs2_initialise(struct afb_req req);
- void ucs2_subscribe(struct afb_req req);
- void ucs2_subscriberx(struct afb_req req);
- void ucs2_writei2c(struct afb_req req);
- void ucs2_sendmessage(struct afb_req req);
+ void ucs2_listconfig(afb_req req);
+ void ucs2_initialise(afb_req req);
+ void ucs2_subscribe(afb_req req);
+ void ucs2_subscriberx(afb_req req);
+ void ucs2_writei2c(afb_req req);
+ void ucs2_sendmessage(afb_req req);
 
-static const struct afb_verb_v2 _afb_verbs_v2_UNICENS[] = {
+static const struct afb_verb_v2 _afb_verbs_UNICENS[] = {
     {
         .verb = "listconfig",
         .callback = ucs2_listconfig,
-        .auth = &_afb_auths_v2_UNICENS[0],
+        .auth = &_afb_auths_UNICENS[0],
         .info = "List Config Files",
-        .session = AFB_SESSION_NONE_V2
+        .session = AFB_SESSION_NONE
     },
     {
         .verb = "initialise",
         .callback = ucs2_initialise,
-        .auth = &_afb_auths_v2_UNICENS[0],
+        .auth = &_afb_auths_UNICENS[0],
         .info = "configure Unicens2 lib from NetworkConfig.XML.",
-        .session = AFB_SESSION_NONE_V2
+        .session = AFB_SESSION_NONE
     },
     {
         .verb = "subscribe",
         .callback = ucs2_subscribe,
-        .auth = &_afb_auths_v2_UNICENS[1],
+        .auth = &_afb_auths_UNICENS[1],
         .info = "Subscribe to network events.",
-        .session = AFB_SESSION_NONE_V2
+        .session = AFB_SESSION_NONE
     },
     {
         .verb = "subscriberx",
         .callback = ucs2_subscriberx,
-        .auth = &_afb_auths_v2_UNICENS[1],
+        .auth = &_afb_auths_UNICENS[1],
         .info = "Subscribe to Rx control message events.",
-        .session = AFB_SESSION_NONE_V2
+        .session = AFB_SESSION_NONE
     },
     {
         .verb = "writei2c",
         .callback = ucs2_writei2c,
-        .auth = &_afb_auths_v2_UNICENS[1],
+        .auth = &_afb_auths_UNICENS[1],
         .info = "Writes I2C command to remote node.",
-        .session = AFB_SESSION_NONE_V2
+        .session = AFB_SESSION_NONE
     },
     {
         .verb = "sendmessage",
         .callback = ucs2_sendmessage,
-        .auth = &_afb_auths_v2_UNICENS[2],
+        .auth = &_afb_auths_UNICENS[2],
         .info = "Transmits a control message to a node.",
-        .session = AFB_SESSION_NONE_V2
+        .session = AFB_SESSION_NONE
     },
     {
         .verb = NULL,
@@ -125,9 +125,9 @@ static const struct afb_verb_v2 _afb_verbs_v2_UNICENS[] = {
 
 const struct afb_binding_v2 afbBindingV2 = {
     .api = "UNICENS",
-    .specification = _afb_description_v2_UNICENS,
+    .specification = _afb_description_UNICENS,
     .info = "",
-    .verbs = _afb_verbs_v2_UNICENS,
+    .verbs = _afb_verbs_UNICENS,
     .preinit = NULL,
     .init = ucs2_initbinding,
     .onevent = NULL,