Hi All

After some ideas here, I have a master unit that colects data from several slaves on a bus.

At the moment I have the master hard coded with a list of the slaves addresses, all working great.
I now need to expand the system so that a master unit can be connected to any number of slaves (In reality no more than 10) and those slaves could have any address, I'll probably be using one of the I2C EEPROMS from microchip with an EUI48/64 address to assign address to slaves or at the minimun a hard coded 16 bit address.

Now the bit i'm stuck on is coming up with a discovery routine that can be run on the master unit once all hardware is connected together. This would only ever be run when the system is deployed. I already have error handling should a device become disconected from the bus so the discovery is not time sensitive (although i'm looking at < 30 seconds).

Any thoughts welcolmed