diff options
author | Tobias Jahnke <tobias.jahnke@microchip.com> | 2018-05-15 16:35:15 +0200 |
---|---|---|
committer | Tobias Jahnke <tobias.jahnke@microchip.com> | 2018-05-15 16:35:15 +0200 |
commit | 7d3efd06d97d6f00540351dbe6d698f340e1fd68 (patch) | |
tree | 1adb0ee91da787e0b0bcbe278ebea1d4e5bd1b23 | |
parent | a85efd7f8f33e04c82e44675e126089a9adbd5e3 (diff) |
agl-service-unicens: support fiberdyne amp setup
- add amp (node and routing) to xml configuration
- add amp control buttons to html web-interface
Bug-AGL: SPEC-1177
Change-Id: If6df66f4b6e7d9cf7a259c4e44604db90e588134
Signed-off-by: Tobias Jahnke <tobias.jahnke@microchip.com>
-rw-r--r-- | data/config_multichannel_audio_kit.xml | 35 | ||||
-rw-r--r-- | htdocs/UNICENS.html | 138 |
2 files changed, 152 insertions, 21 deletions
diff --git a/data/config_multichannel_audio_kit.xml b/data/config_multichannel_audio_kit.xml index 1cbe31f..51d2fdc 100644 --- a/data/config_multichannel_audio_kit.xml +++ b/data/config_multichannel_audio_kit.xml @@ -1,7 +1,7 @@ <?xml version="1.0"?>
<Unicens AsyncBandwidth="20" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="unicens.xsd">
- <!-- Server Node -->
- <Node Address="0x200">
+ <!-- Head Unit -->
+ <Node Address="0x200" Name="Head Unit">
<SyncConnection MuteMode="NoMuting">
<USBSocket EndpointAddress="0x1" FramesPerTransaction="42"/>
<Splitter BytesPerFrame="12">
@@ -11,9 +11,25 @@ </Splitter>
</SyncConnection>
</Node>
-
+
+ <!-- Fiberdyne Amplifier -->
+ <Node Address="0x510" Name="Fiberdyne Amplifier">
+ <StreamPort ClockConfig="64Fs" DataAlignment="Seq"/>
+ <SyncConnection MuteMode="NoMuting">
+ <Combiner BytesPerFrame="8">
+ <MOSTSocket Route="5.1 DVD Player Front" Bandwidth="4" Offset="0"/>
+ <MOSTSocket Route="5.1 DVD Player Rear" Bandwidth="4" Offset="4"/>
+ </Combiner>
+ <StreamSocket StreamPinID="SRXA0" Bandwidth="8"/>
+ </SyncConnection>
+ <SyncConnection MuteMode="NoMuting">
+ <MOSTSocket Route="5.1 DVD Player Effect" Bandwidth="4"/>
+ <StreamSocket StreamPinID="SRXA1" Bandwidth="4"/>
+ </SyncConnection>
+ </Node>
+
<!-- 1st Slim Amplifier -->
- <Node Address="0x270" Script="slim-amp-config">
+ <Node Address="0x270" Script="slim-amp-config" Name="1st Slim Amplifier">
<StreamPort ClockConfig="64Fs" DataAlignment="Left16Bit"/>
<SyncConnection MuteMode="NoMuting">
<MOSTSocket Route="5.1 DVD Player Front" Bandwidth="4"/>
@@ -21,7 +37,7 @@ </SyncConnection>
</Node>
<!-- 2nd Slim Amplifier -->
- <Node Address="0x271" Script="slim-amp-config">
+ <Node Address="0x271" Script="slim-amp-config" Name="2nd Slim Amplifier">
<StreamPort ClockConfig="64Fs" DataAlignment="Left16Bit"/>
<SyncConnection MuteMode="NoMuting">
<MOSTSocket Route="5.1 DVD Player Rear" Bandwidth="4"/>
@@ -29,7 +45,7 @@ </SyncConnection>
</Node>
<!-- 3rd Slim Amplifier -->
- <Node Address="0x272" Script="slim-amp-config">
+ <Node Address="0x272" Script="slim-amp-config" Name="3rd Slim Amplifier">
<StreamPort ClockConfig="64Fs" DataAlignment="Left16Bit"/>
<SyncConnection MuteMode="NoMuting">
<MOSTSocket Route="5.1 DVD Player Effect" Bandwidth="4"/>
@@ -53,7 +69,7 @@ </Script>
<!-- 1st Aux IO -->
- <Node Address="0x240" Script="aux-io-config">
+ <Node Address="0x240" Script="aux-io-config" Name="1st Aux IO">
<StreamPort ClockConfig="64Fs" DataAlignment="Left16Bit"/>
<SyncConnection MuteMode="NoMuting">
<MOSTSocket Route="5.1 DVD Player Front" Bandwidth="4"/>
@@ -61,7 +77,7 @@ </SyncConnection>
</Node>
<!-- 2nd Aux IO -->
- <Node Address="0x241" Script="aux-io-config">
+ <Node Address="0x241" Script="aux-io-config" Name="2nd Aux IO">
<StreamPort ClockConfig="64Fs" DataAlignment="Left16Bit"/>
<SyncConnection MuteMode="NoMuting">
<MOSTSocket Route="5.1 DVD Player Rear" Bandwidth="4"/>
@@ -69,7 +85,7 @@ </SyncConnection>
</Node>
<!-- 3rd Aux IO -->
- <Node Address="0x242" Script="aux-io-config">
+ <Node Address="0x242" Script="aux-io-config" Name="3rd Aux IO">
<StreamPort ClockConfig="64Fs" DataAlignment="Left16Bit"/>
<SyncConnection MuteMode="NoMuting">
<MOSTSocket Route="5.1 DVD Player Effect" Bandwidth="4"/>
@@ -83,6 +99,5 @@ Payload="00 0f 02 01 00 00 02 a5 df 03 3f 3f 04 02 02 10 30 30 11 00 00 12 00 00 13 00 00 14 00 00"/>
<I2CPortWrite Mode="BurstMode" BlockCount="4" Address="0x18" Length="3" Timeout="100"
Payload="20 00 00 21 00 00 22 00 00 23 00 00"/>
- <GPIOPortPinMode PinConfiguration="03 35 04 35 05 35 06 35 07 41 08 40"/>
</Script>
</Unicens>
diff --git a/htdocs/UNICENS.html b/htdocs/UNICENS.html index ab478f6..46efeff 100644 --- a/htdocs/UNICENS.html +++ b/htdocs/UNICENS.html @@ -5,7 +5,49 @@ <link rel="stylesheet" href="Ucs2Binding.css"> <script type="text/javascript" src="AFB-websock.js"></script> <script type="text/javascript" src="Ucs2Binding.js"></script> + <style> + .divTable{ + display: table; + } + .divTableRow { + display: table-row; + } + .divTableHeading { + background-color: #EEE; + display: table-header-group; + } + .divTableCell, .divTableHead { + border: 1px solid #999999; + display: table-cell; + padding: 3px 10px; + } + .divTableHeading { + background-color: #EEE; + display: table-header-group; + font-weight: bold; + } + .divTableFoot { + background-color: #EEE; + display: table-footer-group; + font-weight: bold; + } + .divTableBody { + display: table-row-group; + } + + .ucsCtrlButton { + border: none; + padding: 5px 15px; + text-align: center; + text-decoration: none; + display: inline-block; + font-size: 16px; + width: 144px; + border: 2px solid #4CAF50; + } + </style> +</head> <body onload="init('ucs2_config','unicens', 'listconfig');"> <h1>Unicens Simple Test</h1> @@ -21,17 +63,8 @@ <li><button onclick="callbinder('UNICENS','initialise', {filename:ucs2_config})">Parse XML and Start UNICENS</button></li> </ol> <br> - <!-- - <ol> - <li><button onclick="callbinder('UNICENS','writei2c', [{node: 0x270, data:[0x07,0x01,0x00]}, {node: 0x271, data:[0x07,0x01,0x00]}, {node: 0x272, data:[0x07,0x01,0x00]}] )">WriteI2c Master (100%)</button></li> - <li><button onclick="callbinder('UNICENS','writei2c', [{node: 0x270, data:[0x07,0x01,0x99]}, {node: 0x271, data:[0x07,0x01,0x99]}, {node: 0x272, data:[0x07,0x01,0x99]}] )">WriteI2c Master (80%)</button></li> - <li><button onclick="callbinder('UNICENS','writei2c', [{node: 0x270, data:[0x07,0x02,0x32]}, {node: 0x271, data:[0x07,0x02,0x32]}, {node: 0x272, data:[0x07,0x02,0x32]}] )">WriteI2c Master (60%)</button></li> - <li><button onclick="callbinder('UNICENS','writei2c', [{node: 0x270, data:[0x07,0x02,0xCB]}, {node: 0x271, data:[0x07,0x02,0xCB]}, {node: 0x272, data:[0x07,0x02,0xCB]}] )">WriteI2c Master (40%)</button></li> - <li><button onclick="callbinder('UNICENS','writei2c', [{node: 0x270, data:[0x07,0x03,0x64]}, {node: 0x271, data:[0x07,0x03,0x64]}, {node: 0x272, data:[0x07,0x03,0x64]}] )">WriteI2c Master (20%)</button></li> - <li><button onclick="callbinder('UNICENS','writei2c', [{node: 0x270, data:[0x07,0x03,0xFF]}, {node: 0x271, data:[0x07,0x03,0xFF]}, {node: 0x272, data:[0x07,0x03,0xFF]}] )">WriteI2c Master (0%)</button></li> - </ol> - --> - <br> + + <h1>K2L Slim-Amp Demo</h1> <ol> <li><button onclick="callbinder('UNICENS','writei2c', {node: 0x270, data:[0x07,0x03,0xFF]})">WriteI2c to 0x270 (mute)</button></li> <li><button onclick="callbinder('UNICENS','writei2c', {node: 0x271, data:[0x07,0x03,0xFF]})">WriteI2c to 0x271 (mute)</button></li> @@ -44,6 +77,88 @@ <!--<li><button onclick="callbinder('UNICENS','sendmessage', {node: 0x270, msgid: 0x5AC4, data: ''})">Send ControlMsgB64 to 0x270 (data: '')</button></li>--> </ol> <br> + + <h1>Fiberdyne Amplifier Controls (Node 0x510)</h1> + <div class="divTable"> + <div class="divTableBody"> + <div class="divTableRow"> + <div class="divTableCell"> </div> + <div class="divTableCell">Volume (0x100)</div> + <div class="divTableCell">Bass (0x101)</div> + <div class="divTableCell">Treble (0x102)</div> + <div class="divTableCell">Mid (0x103)</div> + <div class="divTableCell">Balance (0x0104)</div> + <div class="divTableCell">Fade (0x105)</div> + <!--<div class="divTableCell">SmartEqPoints (0x108)</div>--> + <div class="divTableCell">Mute (0x109)</div> + <!--div class="divTableCell"> </div> + <div class="divTableCell"> </div--> + </div> + <div class="divTableRow"> + <div class="divTableCell">Max</div> + <div class="divTableCell"><button class="ucsCtrlButton" onclick="callbinder('UNICENS','sendmessage', {node: 0x510, msgid: 0x100, data:'AP8='})">MaxVolume</button></div><!--[0x00,0xFF]--> + <div class="divTableCell"><button class="ucsCtrlButton" onclick="callbinder('UNICENS','sendmessage', {node: 0x510, msgid: 0x101, data:'AA8='})">MaxBass</button></div><!--[0x00,15]--> + <div class="divTableCell"><button class="ucsCtrlButton" onclick="callbinder('UNICENS','sendmessage', {node: 0x510, msgid: 0x102, data:'AA8='})">MaxTreble</button></div><!--[0x00,15]--> + <div class="divTableCell"><button class="ucsCtrlButton" onclick="callbinder('UNICENS','sendmessage', {node: 0x510, msgid: 0x103, data:'AA8='})">MaxMid</button></div><!--[0x00,15]--> + <div class="divTableCell"><button class="ucsCtrlButton" onclick="callbinder('UNICENS','sendmessage', {node: 0x510, msgid: 0x104, data:'AI8='})">Full Left</button></div><!--[0x00,-15]--> + <div class="divTableCell"><button class="ucsCtrlButton" onclick="callbinder('UNICENS','sendmessage', {node: 0x510, msgid: 0x105, data:'AA8='})">Full Forward</button></div><!--[0x00,15]--> + <!--<div class="divTableCell"> + <ol> + <li><button onclick="pushCurve(0xFF,1)">Test HIGH Curve</button></li> + <li><button onclick="pushCurve(0xFF,2)">Test HIGH Curve</button></li> + <li><button onclick="pushCurve(0xFF,3)">Test HIGH Curve</button></li> + <li><button onclick="pushCurve(0xFF,4)">Test HIGH Curve</button></li> + </ol> + </div>--> + <div class="divTableCell"><button class="ucsCtrlButton" onclick="callbinder('UNICENS','sendmessage', {node: 0x510, msgid: 0x109, data:'AAE='})">Mute</button></div><!--data:[0x00,1]--> + <!--div class="divTableCell"> </div> + <div class="divTableCell"> </div--> + </div> + + <div class="divTableRow"> + <div class="divTableCell">Middle</div> + <div class="divTableCell"><button class="ucsCtrlButton" onclick="callbinder('UNICENS','sendmessage', {node: 0x510, msgid: 0x100, data:'AO8='})">MidVolume</button></div><!--[0x00,0xEF]--> + <div class="divTableCell"><button class="ucsCtrlButton" onclick="callbinder('UNICENS','sendmessage', {node: 0x510, msgid: 0x101, data:'AAA='})">MidBass</button></div><!--[0x00,0]--> + <div class="divTableCell"><button class="ucsCtrlButton" onclick="callbinder('UNICENS','sendmessage', {node: 0x510, msgid: 0x102, data:'AAA='})">MidTreble</button></div><!--[0x00,0]--> + <div class="divTableCell"><button class="ucsCtrlButton" onclick="callbinder('UNICENS','sendmessage', {node: 0x510, msgid: 0x103, data:'AAA='})">MidMid</button></div><!--[0x00,0]--> + <div class="divTableCell"><button class="ucsCtrlButton" onclick="callbinder('UNICENS','sendmessage', {node: 0x510, msgid: 0x104, data:'AAA='})">Center Balance</button></div><!--[0x00,0]--> + <div class="divTableCell"><button class="ucsCtrlButton" onclick="callbinder('UNICENS','sendmessage', {node: 0x510, msgid: 0x105, data:'AAA='})">Center Fade</button></div><!--[0x00,0]--> + <!--<div class="divTableCell"> + <ol> + <li><button onclick="pushCurve(0xE7,1)">Test MID Curve</button></li> + <li><button onclick="pushCurve(0xE7,2)">Test MID Curve</button></li> + <li><button onclick="pushCurve(0xE7,3)">Test MID Curve</button></li> + <li><button onclick="pushCurve(0xE7,4)">Test MID Curve</button></li> + </ol> + </div>--> + <div class="divTableCell"><button class="ucsCtrlButton" onclick="callbinder('UNICENS','sendmessage', {node: 0x510, msgid: 0x109, data:'AAA='})">Unmute</button></div><!--[0x00,0]--> + <!--div class="divTableCell"> </div> + <div class="divTableCell"> </div--> + </div> + <div class="divTableRow"> + <div class="divTableCell">Min</div> + <div class="divTableCell"><button class="ucsCtrlButton" onclick="callbinder('UNICENS','sendmessage', {node: 0x510, msgid: 0x100, data:'AAA='})">MinVolume</button></div><!--[0x00,0x00]--> + <div class="divTableCell"><button class="ucsCtrlButton" onclick="callbinder('UNICENS','sendmessage', {node: 0x510, msgid: 0x101, data:'AI8='})">MinBass</button></div><!--[0x00,-15]--> + <div class="divTableCell"><button class="ucsCtrlButton" onclick="callbinder('UNICENS','sendmessage', {node: 0x510, msgid: 0x102, data:'AI8='})">MinTreble</button></div><!--[0x00,-15]--> + <div class="divTableCell"><button class="ucsCtrlButton" onclick="callbinder('UNICENS','sendmessage', {node: 0x510, msgid: 0x103, data:'AI8='})">MinMidRange</button></div><!--[0x00,-15]--> + <div class="divTableCell"><button class="ucsCtrlButton" onclick="callbinder('UNICENS','sendmessage', {node: 0x510, msgid: 0x104, data:'AA8='})">Full Right</button></div><!--[0x00,15]--> + <div class="divTableCell"><button class="ucsCtrlButton" onclick="callbinder('UNICENS','sendmessage', {node: 0x510, msgid: 0x105, data:'AI8='})">Full Rear</button></div><!--[0x00,-15]--> + <!--<div class="divTableCell"> + <ol> + <li><button onclick="pushCurve(0,1)">Test LOW Curve</button></li> + <li><button onclick="pushCurve(0,2)">Test LOW Curve</button></li> + <li><button onclick="pushCurve(0,3)">Test LOW Curve</button></li> + <li><button onclick="pushCurve(0,4)">Test LOW Curve</button></li> + </ol> + </div>--> + <div class="divTableCell"> </div> + <!--div class="divTableCell"> </div> + <div class="divTableCell"> </div--> + </div> + </div> + </div> + + <h1>Events</h1> <br> <div id="main" style="visibility:hidden"> <ol> @@ -52,3 +167,4 @@ <li>Events: <pre id="outevt"></pre> </ol> </div> +</body> |