Okay. Thanks for mentioning the simulation mode. I should take a closer look at that. I’m curious about how low of a level the simulation works at and whether it will enable test coverage for I2C drivers (stuff like water sensor temperature calibration, etc.).
Setting aside the difficulty of writing it, do you or Jake have any opinions about the idea of a PRU-based real-time simulator that could be programmed to respond on GPIO pins as a bus full of I2C sensors, actuators, and muxes? Making full state machines for all your I2C devices would be too hard, but perhaps something based on lookup tables of valid bit strings (e.g. set MUX + init sensor + stop, set MUX + read measurement + stop, etc.), canned responses, and simplified state machines could be workable. It seems like integration testing will be a big challenge as you add more devices and bus configurations to your ecosystem.