> While sending it is unlikely that collision / contention with other > stations can be sensed during low level bits - ie if I send a "0" I > will see a "0" on the common tx/rx line. However, while sending a 1 I > MAY be able to determine that a contending 0 has been sent - this is > possibly not so and would ideally not be relied on. > ie CSMA/CD in its purest form is not really viable. Carrier detect is > available but not collisions. Ooops... sorry - didn't read properly - you're saying that possible failure to detect a contending 0 even if you're sending a 1 is a property of the media you're transmitting over, right? Not a timing issue or anything. > So I2C is unavailable in this context. For practical purposes it can > be considered as a one wire plus ground bidirectional bus (its not > but .... ). So "idle" is not going to be the same as "high" then? I'm assuming this because otherwise, failure to detect a '0' when sending a '1' (ie. being idle) would suggest difficulties receiving '0's at all. Can you make any predictions as to the level of bus traffic? If it's going to be fairly busy, then some form of time-slicing would be necessary, otherwise simple ACKs with slightly random retry timing would probably suffice. Cheers, Ben