[chbot] The X-plane multiplex problem
Mark Atherton
markaren1 at xtra.co.nz
Wed May 16 08:27:34 BST 2018
Synco,
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 ?
-Mark
-----------------
Couple of our messages have been corrupted, here is Synco's earlier
reply to me
-----------------
Wed May 16 00:33:27 2018
Hi Mark+,
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 !
For example here is what it looks like on my pc:
$ sudo apt install i2c-tools
$ i2cdetect -l
i2c-3 unknown NVIDIA i2c adapter 7 at 1:00.0 N/A
i2c-1 unknown NVIDIA i2c adapter 4 at 1:00.0 N/A
i2c-4 unknown NVIDIA i2c adapter 8 at 1:00.0 N/A
i2c-2 unknown NVIDIA i2c adapter 6 at 1:00.0 N/A
i2c-0 unknown NVIDIA i2c adapter 2 at 1:00.0 N/A
$ sudo i2cdetect -y 0
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --
$ sudo i2cdetect -y 4
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- 37 -- -- 3a -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: 50 51 52 53 54 55 56 57 -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --
And if you run out of addresses you can always add a i2c-i2c bridge:
https://www.aliexpress.com/item/TCA9543A-Low-Voltage-2-Channel-I2C-Bus-Switch-Interrupt-Logic-And-Reset-Module/32763291440.html
/s
On 15 May 2018 at 22:01, Mark Atherton <markaren1 at xtra.co.nz> wrote:
> Hey Synco,
>
> Any chance of a quick tutorial how X-Plane processes incoming UDP
packets, and assigns associated bytes/bit-positions to each function.
>
> 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.
>
> 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.
>
> 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.
>
> 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...
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.ourshack.com/pipermail/chchrobotics/attachments/20180516/e51b74c2/attachment.html>
More information about the Chchrobotics
mailing list