[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