TftA I2C address configuration
Please also read : User Signature Row
This development arose from the address conflict
between the ISL1220 real time clock and theTftA
colour graphics display - both of which were using I2C address 0x6F (hexadecimal 6F)
The ISL1220 is fixed at 0x6F. The TftA adress was coded into TftA and TrxAVR.
The solution to this conflict involved a flexible TftA address stored:
Hobcat's Setup Menu now contains an item : TftA I2C address which displays the window below:
Hobcat's TftA I2C address editor window
This window, on opening, displays the TftA I2C address that is stored in TrxAVR.
On clicking the save button:
If there was a pre-existing
address mismatch - then TftA will still be showing its opening
display with TftA version number etc.
There are two ways to fix this:
In order to do
option 2 above, you need to be able read the I2C address stored in byte 0
of the User Signature Row of TftA's Xmega processor.
TftA now displays this on its opening window ... which very conveniently remains on display
( for one minute ) if TrxAVR cannot drive TftA because of an address mismatch.
So you read the address from TftA, use Hobcat to send it To TrxAVR and then reboot.
TftA opening display showing the currently stored I2C address
We have provided two other features to avoid address mismatch distress:
We suggest that every one uses I2C address 0x6B (hexadecimal 6B)
eDIPTFT43-ATP display from EA
Prior to the availability
of TftA, few people purchased a eDIPTFT43-ATP
This has I2C addresss selection by jumper links. These will need changing to change the address.
We have suggested using address 0x6B. This is a seven bit address, ie not including the final R/W bit.
It is selected by grounding pin 10 ( SA2 = slave address 2)
Read the EA manual carefully to understand this:
BA0, BA1 and BA2 all high are translated to give upper byte (of 8 bit address) = 1101
SA0 and SA1 high and SA2 low directly give lower byte = 011x where x is the R/W bit.
Combining these: The 8 bit address = 1101 011x.
Shifting this one place to the right to give the '7 bit' address give 0110 1011 = 0x6B.