-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
0 parents
commit 0508d69
Showing
55 changed files
with
6,528 additions
and
0 deletions.
There are no files selected for viewing
Empty file.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
# Sphinx build info version 1 | ||
# This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done. | ||
config: b293a9d240e2ab2538d6cff281d52491 | ||
tags: 645f666f9bcd5a90fca523b33c5a78b7 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,34 @@ | ||
# Hardware Specific Details | ||
|
||
## Useful RS232 Parts | ||
|
||
The following are various useful parts, hardware, and software for interfacing with various equipment using this library. | ||
|
||
* [USB to DB9 RS232 Cable](https://amzn.com/dp/B0753HBT12?tag=carreramfi-20&tracking_id=carreramfi-20) | ||
* [IP/Ethernet to DB9 Adapter](https://amzn.com/dp/B0B8T95FV1?tag=carreramfi-20&tracking_id=carreramfi-20) | ||
* [Virtual IP2SL](https://github.com/rsnodgrass/virtual-ip2sl) | ||
|
||
## Xantech | ||
|
||
### High-Density RS232 Control Cable (Xantech Part 05913665) | ||
|
||
Some Xantech MX88/MX88ai models use high-density HD15 (or DE15) connectors for rear COM ports, thus requiring Xantech's "DB15 to DB9" adapter cable (PN 05913665). The front DB9 RS232 and USB COM ports cannot be used for device control on these models. Instead, use the rear COM ports which are already wired as a 'null modem' connection, so no use of null modem cable is required as the Transmit and Receive lines have already been interchanged. | ||
|
||
Thanks to [@skavan](https://community.home-assistant.io/t/xantech-dayton-audio-sonance-multi-zone-amps/450908/80) for figuring out the pinouts for the discontinued RS232 Control DB15 cable (PN 05913665) with incorrect pinouts listed in the Xantech manual. The following are the correct pinouts: | ||
|
||
| HDB15 Male | Function | DB9 Female | DB9 Color | Function | Notes | | ||
|:----------:|:--------:|:----------:| --------- | -------- | ----- | | ||
| 13 | Tx | 2 | Brown | Rx | | | ||
| 12 | Rx | 3 | White | Tx | | | ||
| 4 | DSR | 4 | Green | DTR | | | ||
| 6 | DTR | 6 | Red | DSR | | | ||
| 9 | GND | 5 | Yellow | GND | Ground (see also pin 11) | | ||
| 11 | GND | 5 | Yellow | GND | Ground (OPTIONAL) | | ||
|
||
Example parts needed to build a custom Xantech MX88 style cable: | ||
|
||
* [USB to DB9 RS232 Cable](https://amzn.com/dp/B0753HBT12?tag=carreramfi-20&tracking_id=carreramfi-20) or [IP/Ethernet to DB9 Adapter](https://amzn.com/dp/B0B8T95FV1?tag=carreramfi-20&tracking_id=carreramfi-20) or [Virtual IP2SL](https://github.com/rsnodgrass/virtual-ip2sl) | ||
|
||
* [DB9 Female Connector with wires](https://amzn.com/dp/B0BG2BPVXV?tag=carreramfi-20&tracking_id=carreramfi-20) or [DB9 Female Connector](https://amzn.com/dp/B09L7K511Y?tag=carreramfi-20&tracking_id=carreramfi-20) | ||
|
||
* [Xantech Male DB15 Connector](https://amzn.com/dp/B07P6R8DRJ?tag=carreramfi-20&tracking_id=carreramfi-20) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,22 @@ | ||
.. pyavcontrol documentation master file, created by | ||
sphinx-quickstart on Mon Feb 26 01:18:26 2024. | ||
You can adapt this file completely to your liking, but it should at least | ||
contain the root `toctree` directive. | ||
Welcome to pyavcontrol docs! | ||
======================================= | ||
|
||
.. toctree:: | ||
:maxdepth: 2 | ||
:caption: Contents: | ||
|
||
pyavcontrol | ||
supported | ||
hardware | ||
|
||
Indices and tables | ||
================== | ||
|
||
* :ref:`genindex` | ||
* :ref:`modindex` | ||
* :ref:`search` |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,19 @@ | ||
pyavcontrol package | ||
=================== | ||
|
||
Subpackages | ||
----------- | ||
|
||
.. toctree:: | ||
:maxdepth: 4 | ||
|
||
Submodules | ||
---------- | ||
|
||
Module contents | ||
--------------- | ||
|
||
.. automodule:: pyavcontrol | ||
:members: | ||
:undoc-members: | ||
:show-inheritance: |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,118 @@ | ||
|
||
## Supported Equipment | ||
|
||
*This is autogenerated from pyavcontrol's DeviceModel library (using build-supported-models-doc).* | ||
|
||
|
||
### Acurus | ||
|
||
| Model | Protocol | Tested | Notes | | ||
| :---------------- | :----------------: | :-----: | :---------------- | | ||
| M8 | acurus_m8 | model.tested | model.notes | | ||
|
||
### Anthem | ||
|
||
| Model | Protocol | Tested | Notes | | ||
| :---------------- | :----------------: | :-----: | :---------------- | | ||
| Statement D2 | anthem_d2v | model.tested | model.notes | | ||
| Statement D2v | anthem_d2v | model.tested | model.notes | | ||
| Statement D2v 3D | anthem_d2v | model.tested | model.notes | | ||
|
||
### Classé Audio | ||
|
||
| Model | Protocol | Tested | Notes | | ||
| :---------------- | :----------------: | :-----: | :---------------- | | ||
| Omicron | classe_omicron | model.tested | model.notes | | ||
| SSP-300 | classe_ssp600 | model.tested | model.notes | | ||
| SSP-600 | classe_ssp600 | model.tested | model.notes | | ||
|
||
### HDFury | ||
|
||
| Model | Protocol | Tested | Notes | | ||
| :---------------- | :----------------: | :-----: | :---------------- | | ||
| VRROOM | hdfury_vrroom | model.tested | model.notes | | ||
|
||
### JBL Synthesis | ||
|
||
| Model | Protocol | Tested | Notes | | ||
| :---------------- | :----------------: | :-----: | :---------------- | | ||
| SDP-75 | jbl_sdp75 | model.tested | model.notes | | ||
|
||
### Lyngdorf | ||
|
||
| Model | Protocol | Tested | Notes | | ||
| :---------------- | :----------------: | :-----: | :---------------- | | ||
| CD-2 | lyngdorf_cd2 | model.tested | model.notes | | ||
| MP-60 | lyngdorf_mp60 | model.tested | model.notes | | ||
| TDAI-3400 | lyngdorf_tdai3400 | model.tested | model.notes | | ||
|
||
### Marantz | ||
|
||
| Model | Protocol | Tested | Notes | | ||
| :---------------- | :----------------: | :-----: | :---------------- | | ||
| AV8805 | marantz_av8805 | model.tested | model.notes | | ||
|
||
### McIntosh | ||
|
||
| Model | Protocol | Tested | Notes | | ||
| :---------------- | :----------------: | :-----: | :---------------- | | ||
| MHT100 | mcintosh_legacy | model.tested | model.notes | | ||
| MHT200 | mcintosh_legacy | model.tested | model.notes | | ||
| MX118 | mcintosh_legacy | model.tested | model.notes | | ||
| MX119 | mcintosh_legacy | model.tested | model.notes | | ||
| MX120 | mcintosh_legacy | model.tested | model.notes | | ||
| MX121 | mcintosh_legacy | model.tested | model.notes | | ||
| MX122 | mcintosh_legacy | model.tested | model.notes | | ||
| MX123 | mcintosh_legacy | model.tested | model.notes | | ||
| MX130 | mcintosh_legacy | model.tested | model.notes | | ||
| MX132 | mcintosh_legacy | model.tested | model.notes | | ||
| MX134 | mcintosh_legacy | model.tested | model.notes | | ||
| MX135 | mcintosh_legacy | model.tested | model.notes | | ||
| MX136 | mcintosh_legacy | model.tested | model.notes | | ||
| MX150 | mcintosh_legacy | model.tested | model.notes | | ||
| MX151 | mcintosh_legacy | model.tested | model.notes | | ||
| MX170 | mcintosh_mx170 | model.tested | model.notes | | ||
| MX180 | mcintosh_mx180 | model.tested | model.notes | | ||
|
||
### Monoprice | ||
|
||
| Model | Protocol | Tested | Notes | | ||
| :---------------- | :----------------: | :-----: | :---------------- | | ||
| MPR-6ZHMAUT | monoprice_6 | model.tested | model.notes | | ||
| Model 10761 | monoprice_6 | model.tested | model.notes | | ||
|
||
### Teac | ||
|
||
| Model | Protocol | Tested | Notes | | ||
| :---------------- | :----------------: | :-----: | :---------------- | | ||
| Elan Dual Tuner | teac_trd2000 | model.tested | model.notes | | ||
| Speakercraft STT 2.0 | teac_trd2000 | model.tested | model.notes | | ||
| Teac TR-D2000 | teac_trd2000 | model.tested | model.notes | | ||
| Xantech XDT | teac_trd2000 | model.tested | model.notes | | ||
|
||
### Trinnov | ||
|
||
| Model | Protocol | Tested | Notes | | ||
| :---------------- | :----------------: | :-----: | :---------------- | | ||
| Altitude16 | trinnov_altitude16 | model.tested | model.notes | | ||
| Altitude32 | trinnov_altitude32 | model.tested | model.notes | | ||
|
||
### Unknown | ||
|
||
| Model | Protocol | Tested | Notes | | ||
| :---------------- | :----------------: | :-----: | :---------------- | | ||
| MRAUDIO8X8 | xantech_mx88_audio | model.tested | model.notes | | ||
| MRAUDIO8X8m | xantech_mx88_audio | model.tested | model.notes | | ||
| MX160 | mcintosh_mx160 | model.tested | model.notes | | ||
| MX88a | xantech_mx88_audio | model.tested | model.notes | | ||
| MX88ai | xantech_mx88_audio | model.tested | model.notes | | ||
|
||
### Xantech | ||
|
||
| Model | Protocol | Tested | Notes | | ||
| :---------------- | :----------------: | :-----: | :---------------- | | ||
| CM8X8 | xantech_mx88_video | model.tested | model.notes | | ||
| CM8X8DR | xantech_mx88_video | model.tested | model.notes | | ||
| MRC88 | xantech_mx88_video | model.tested | model.notes | | ||
| MRC88m | xantech_mx88_video | model.tested | model.notes | | ||
| MX88 | xantech_mx88_video | model.tested | model.notes | |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,123 @@ | ||
/* Compatability shim for jQuery and underscores.js. | ||
* | ||
* Copyright Sphinx contributors | ||
* Released under the two clause BSD licence | ||
*/ | ||
|
||
/** | ||
* small helper function to urldecode strings | ||
* | ||
* See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/decodeURIComponent#Decoding_query_parameters_from_a_URL | ||
*/ | ||
jQuery.urldecode = function(x) { | ||
if (!x) { | ||
return x | ||
} | ||
return decodeURIComponent(x.replace(/\+/g, ' ')); | ||
}; | ||
|
||
/** | ||
* small helper function to urlencode strings | ||
*/ | ||
jQuery.urlencode = encodeURIComponent; | ||
|
||
/** | ||
* This function returns the parsed url parameters of the | ||
* current request. Multiple values per key are supported, | ||
* it will always return arrays of strings for the value parts. | ||
*/ | ||
jQuery.getQueryParameters = function(s) { | ||
if (typeof s === 'undefined') | ||
s = document.location.search; | ||
var parts = s.substr(s.indexOf('?') + 1).split('&'); | ||
var result = {}; | ||
for (var i = 0; i < parts.length; i++) { | ||
var tmp = parts[i].split('=', 2); | ||
var key = jQuery.urldecode(tmp[0]); | ||
var value = jQuery.urldecode(tmp[1]); | ||
if (key in result) | ||
result[key].push(value); | ||
else | ||
result[key] = [value]; | ||
} | ||
return result; | ||
}; | ||
|
||
/** | ||
* highlight a given string on a jquery object by wrapping it in | ||
* span elements with the given class name. | ||
*/ | ||
jQuery.fn.highlightText = function(text, className) { | ||
function highlight(node, addItems) { | ||
if (node.nodeType === 3) { | ||
var val = node.nodeValue; | ||
var pos = val.toLowerCase().indexOf(text); | ||
if (pos >= 0 && | ||
!jQuery(node.parentNode).hasClass(className) && | ||
!jQuery(node.parentNode).hasClass("nohighlight")) { | ||
var span; | ||
var isInSVG = jQuery(node).closest("body, svg, foreignObject").is("svg"); | ||
if (isInSVG) { | ||
span = document.createElementNS("http://www.w3.org/2000/svg", "tspan"); | ||
} else { | ||
span = document.createElement("span"); | ||
span.className = className; | ||
} | ||
span.appendChild(document.createTextNode(val.substr(pos, text.length))); | ||
node.parentNode.insertBefore(span, node.parentNode.insertBefore( | ||
document.createTextNode(val.substr(pos + text.length)), | ||
node.nextSibling)); | ||
node.nodeValue = val.substr(0, pos); | ||
if (isInSVG) { | ||
var rect = document.createElementNS("http://www.w3.org/2000/svg", "rect"); | ||
var bbox = node.parentElement.getBBox(); | ||
rect.x.baseVal.value = bbox.x; | ||
rect.y.baseVal.value = bbox.y; | ||
rect.width.baseVal.value = bbox.width; | ||
rect.height.baseVal.value = bbox.height; | ||
rect.setAttribute('class', className); | ||
addItems.push({ | ||
"parent": node.parentNode, | ||
"target": rect}); | ||
} | ||
} | ||
} | ||
else if (!jQuery(node).is("button, select, textarea")) { | ||
jQuery.each(node.childNodes, function() { | ||
highlight(this, addItems); | ||
}); | ||
} | ||
} | ||
var addItems = []; | ||
var result = this.each(function() { | ||
highlight(this, addItems); | ||
}); | ||
for (var i = 0; i < addItems.length; ++i) { | ||
jQuery(addItems[i].parent).before(addItems[i].target); | ||
} | ||
return result; | ||
}; | ||
|
||
/* | ||
* backward compatibility for jQuery.browser | ||
* This will be supported until firefox bug is fixed. | ||
*/ | ||
if (!jQuery.browser) { | ||
jQuery.uaMatch = function(ua) { | ||
ua = ua.toLowerCase(); | ||
|
||
var match = /(chrome)[ \/]([\w.]+)/.exec(ua) || | ||
/(webkit)[ \/]([\w.]+)/.exec(ua) || | ||
/(opera)(?:.*version|)[ \/]([\w.]+)/.exec(ua) || | ||
/(msie) ([\w.]+)/.exec(ua) || | ||
ua.indexOf("compatible") < 0 && /(mozilla)(?:.*? rv:([\w.]+)|)/.exec(ua) || | ||
[]; | ||
|
||
return { | ||
browser: match[ 1 ] || "", | ||
version: match[ 2 ] || "0" | ||
}; | ||
}; | ||
jQuery.browser = {}; | ||
jQuery.browser[jQuery.uaMatch(navigator.userAgent).browser] = true; | ||
} |
Oops, something went wrong.