Summary: I am trying to use both I2C buses on the Atmel 328PB chip, but have not found a Atmel library that supports both busses. I see several routes forward, but wanted to get feedback from more knowledgeable people first.
Findings to date:
1) The Atmel 328PB has two I2C lines, with separate registers for at least some of the underlying functionality. Several of the other Atmel chips have multiple I2C lines.
2) I've found two applications notes with sample code to implement a master or slave I2C routine. The register values in these notes and the accompanying sample code only covers the case of a single I2C bus
3) There's a hint of successful implementations of dual I2C lines on the arduino platform and forum posts, but from looking at the referenced libraries I can't see how this is being accomplished.
4) I'm not seeing library support for this in the Atmel Studio.
Possible next actions:
0) ask here
1) I can map the new registers to the existing sample code for the interrupt service routine. I can see that this should get me to an equivalent ISR that can take care of both lines.
Before I undertake this, I have a sneaking suspicion that I am making this much harder than it needs to be - what have I missed here in search terms or terminology? Failing that, is the correct response to write my own ISR to get what I need out of the chip?
Let me know if additional details are necessary to answer.
Many thanks,
Mike T.