Open fire-bot opened 1 month ago
One solution may be to not use 0x70 as a mux address. Use 0x71-0x77. In addition to having an I2C address such as 0x40, 0x41, etc., PCA9685 has 0x70 reserved (see PCA9685 datasheet). Other solutions are being discussed. Documentation to be updated.
Sent by Filip Šilar (flipe@centrum.cz). Created by fire.
Hello,
First of all, I would like to thank you for the great DCC-EX project. It is the only project of its kind that is comprehensive sophisticated and functional.
While testing the new features of version 5 I found one bug. When I use more than 1 TCA9548 multiplexer, for example 2 (0x70 and 0x71), all servos stop working completely. If I disconnect one multiplexer, the servos on the connected branch run normally. Of course, this only becomes apparent after a CS reboot. I have tried this with different multiplexer designs and also swapped the PCA9685 boards as well. I have also tried changing the address of the PCA9685 with no result. GPIO expanders work normally on all muxes as expected. I don't know if you know this. Can you fix it or point me to where it is in your code? I couldn't find it in the code. I'm sending a picture in the attachment for better understanding.
here are the listings of:
for 2 multiplexers "ONLINE" < Arduino Vpins:2-69 > < PCA9685 I2C:{I2CMux_0,Subbus_0,0x40} Configured on Vpins:116-131 > not working < PCA9685 I2C:{I2CMux_1,Subbus_0,0x41} Configured on Vpins:132-147 > not working < MCP23017 I2C:{I2CMux_0,Subbus_1,0x20} Configured on Vpins:196-211 > okay < MCP23017 I2C:{I2CMux_1,Subbus_2,0x20} Configured on Vpins:212-227 > okay
for first multiplexer ONLINE, second OFFLINE < Arduino Vpins:2-69 > < PCA9685 I2C:{I2CMux_0,Subbus_0,0x40} Configured on Vpins:116-131 > okay < PCA9685 I2C:{I2CMux_1,Subbus_0,0x41} Configured on Vpins:132-147 OFFLINE > < MCP23017 I2C:{I2CMux_0,Subbus_1,0x20} Configured on Vpins:196-211 > okay < MCP23017 I2C:{I2CMux_1,Subbus_2,0x20} Configured on Vpins:212-227 OFFLINE>
and vice versa < Arduino Vpins:2-69 > < PCA9685 I2C:{I2CMux_0,Subbus_0,0x40} Configured on Vpins:116-131 OFFLINE>
< PCA9685 I2C:{I2CMux_1,Subbus_0,0x41} Configured on Vpins:132-147 > okay < MCP23017 I2C:{I2CMux_0,Subbus_1,0x20} Configured on Vpins:196-211 OFFLINE >
< MCP23017 I2C:{I2CMux_1,Subbus_2,0x20} Configured on Vpins:212-227 > okay
And then there's one more little mistake. The command does not list the switch types. It only lists . There is only one place in your documentation where this is mentioned (see image). Elsewhere it is described: The turnout type is requested with the command - it works. But this bug doesn't bother me :) I just wanted to load what's in DCC-EX to PC, but I don't need it (yet).
I'm using the latest version of DCC-EX: EX-CommandStation v5.0.7 Production Release
Thank you very much.
Kind regards Filip Šilar, Domazlice, Czech Republic
Translated with DeepL.com (free version)
Attachments: