Date: 17.11. 2017
Here is my Library for some I2C devices for CODESYS.
You can place all devices behind a multiplexer to reduce address conflicts.
Although include the BME280 Environment sensor and an SD1306 Display Driver.
Look at google for these little funny Displays.
All fonts are working on the display, but not the biggest. There the bits have to be twisted.
If you find any problems, tell me, the Drives have not been tested all.
Don't look at the documentation, there is none ...
In the I2C_Base FB I did write some info’s for the muxing.
With the muxing IC you can connect about 33554432 BME280 on the raspi, but then bus cycle time is no longer a problem
You will need the OSCAT building lib to compile. i can not uplode it here like the OSCAT BASIC lib(to big), so try the lib from the store.
25C512 64KiB EEPROM
An 4channel dimmer (I done this for an friend)
PCA9555 as 16 bit input
PCA9555 as 16 bit output
PCA9685 a 16 channel 12bit PWM output, inspired by example code of CODESYS but writes only when output value is changing
PCF8575 as 16 bit input
PCF8575 as 16 bit output
SSD1306 Display Driver
TCA9548 8 channel I2C Multiplexer/switchhttps://github.com/stefandreyer/I2C-Multiplex
TSL2561 lux sensor, state I would say experimental