<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
</head>
<body text="#000000" bgcolor="#FFFFFF">
<p>Synco,</p>
<p>Still not sure how X-plane connects to the I2C devices - maybe a
USB to I2C bridge, or are you bringing the SMB bus directly off of
the motherboard ?</p>
<p>-Mark</p>
<p>-----------------<br>
</p>
<p>Couple of our messages have been corrupted, here is Synco's
earlier reply to me</p>
<p>-----------------</p>
<p><span style="color: rgb(0, 0, 0); font-family: "Times New
Roman"; font-size: medium; font-style: normal;
font-variant-ligatures: normal; font-variant-caps: normal;
font-weight: 400; letter-spacing: normal; orphans: 2;
text-align: start; text-indent: 0px; text-transform: none;
white-space: normal; widows: 2; word-spacing: 0px;
-webkit-text-stroke-width: 0px; background-color: rgb(255, 255,
255); text-decoration-style: initial; text-decoration-color:
initial; display: inline !important; float: none;">Wed May 16
00:33:27 2018</span> </p>
<p>Hi Mark+,<span style="color: rgb(0, 0, 0); font-family:
"Times New Roman"; font-size: medium; font-style:
normal; font-variant-ligatures: normal; font-variant-caps:
normal; font-weight: 400; letter-spacing: normal; orphans: 2;
text-align: start; text-indent: 0px; text-transform: none;
white-space: normal; widows: 2; word-spacing: 0px;
-webkit-text-stroke-width: 0px; background-color: rgb(255, 255,
255); text-decoration-style: initial; text-decoration-color:
initial; display: inline !important; float: none;"></span><br>
I've written a few plug-ins for X-Plane, rather than use the UDP
protocol, yet by next meeting that'll most likely have changed and
will be happy to share. If each panel was to be stand-alone, from
all the different I2C port expanders out there, it's likely you
would have spare I/O that would avoid multiplexing / scanning
tricks. Also, if you are running Linux, and don't want to use a
Raspberry Pi, another option is to use the I2C adapter on your
monitor connector. I've done this in the past, (and will again),
yet be careful to ensure voltage levels and device addresses don't
conflict !<br>
</p>
<p>For example here is what it looks like on my pc:<br>
$ sudo apt install i2c-tools<br>
$ i2cdetect -l<br>
i2c-3 unknown NVIDIA i2c adapter 7 at 1:00.0 N/A<br>
i2c-1 unknown NVIDIA i2c adapter 4 at 1:00.0 N/A<br>
i2c-4 unknown NVIDIA i2c adapter 8 at 1:00.0 N/A<br>
i2c-2 unknown NVIDIA i2c adapter 6 at 1:00.0 N/A<br>
i2c-0 unknown NVIDIA i2c adapter 2 at 1:00.0 N/A<br>
<br>
$ sudo i2cdetect -y 0<br>
0 1 2 3 4 5 6 7 8 9 a b c d e f<br>
00: -- -- -- -- -- -- -- -- -- -- -- -- --<br>
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --<br>
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --<br>
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --<br>
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --<br>
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --<br>
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --<br>
70: -- -- -- -- -- -- -- --<br>
<br>
$ sudo i2cdetect -y 4<br>
0 1 2 3 4 5 6 7 8 9 a b c d e f<br>
00: -- -- -- -- -- -- -- -- -- -- -- -- --<br>
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --<br>
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --<br>
30: -- -- -- -- -- -- -- 37 -- -- 3a -- -- -- -- --<br>
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --<br>
50: 50 51 52 53 54 55 56 57 -- -- -- -- -- -- -- --<br>
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --<br>
70: -- -- -- -- -- -- -- --<br>
<br>
And if you run out of addresses you can always add a i2c-i2c
bridge:
<a class="moz-txt-link-freetext"
href="https://www.aliexpress.com/item/TCA9543A-Low-Voltage-2-Channel-I2C-Bus-Switch-Interrupt-Logic-And-Reset-Module/32763291440.html">https://www.aliexpress.com/item/TCA9543A-Low-Voltage-2-Channel-I2C-Bus-Switch-Interrupt-Logic-And-Reset-Module/32763291440.html</a><br>
<br>
/s<br>
<br>
On 15 May 2018 at 22:01, Mark Atherton <a
class="moz-txt-link-rfc2396E" href="mailto:markaren1@xtra.co.nz"><markaren1@xtra.co.nz></a>
wrote:<br>
<br>
> Hey Synco,<br>
><br>
> Any chance of a quick tutorial how X-Plane processes incoming
UDP packets, and assigns associated bytes/bit-positions to each
function.<br>
><br>
> Getting some kind of spec. from Paul (or help write one)
would be very useful to determine cable loom lengths, number of
inputs, types etc. For each control: Push Button, On/Off, Rotary
(number of positions) ,or Potentiometer (and resolution), and max
scan time.<br>
><br>
> He may have been using a 4 position switch with 4 wires, when
it may actually be an encoded 2-bit problem. Not sure if full
size, low cost rotary binary outputs switches are readily
available - hex coded switches are obviously too small... There
was mention of an R-2R ladder on the switch and an ADC - this
seems a bit over the top (?). How about using a 1 of 4 rotary
switch, and a small diode matrix (4 diodes + 4 pull down
resistors) to encode to binary - there are obviously larger
bit-savings with 8 and 10 positions switches.<br>
><br>
> Not personally a fan of carrying I2C any great distance due
to noise immunity issues (or lack thereof), but screened twin
cable (and associated unwanted capacitance) with low clock rate
(10kHz ?) and careful grounding may be OK though.<br>
><br>
> R-PI seems over the top to convert bits into UDP, but I guess
they are readily available, well supported, and low cost, so why
the hell not...<br>
<br>
</p>
</body>
</html>