Electronics > Projects, Designs, and Technical Stuff

Confused about how this I2C read works

<< < (6/8) > >>

Chet T16:
Ok well that makes perfect sense then. I will try requesting 6 bytes (max is normally 5) and see if that satisfies the slave. Aside from it causing the slave to reattempt a send (i.e. pull the line low to start a read) there is no negative affect on what i'm trying to do. Once i have completed a read i can ignore the others in code or pull it low myself which should stop it.

At this point i don't see a need to bit-bang. There is a couple of software i2c libraries about - i have been able to write to the display using an Attiny85

man-x86:
It seems that I'm very late on this topic, but there's not much information available on this kind of hardware. I'd like to thank Chet T16 for showing that it is possible to write some user text on the LCD ;).

I also have a Tuner List radio, and it required some reverse engineering to understand how the display works:
https://imgur.com/gallery/AlMld

And here's an obvious proof that it worked:

I still have to figure out how to read the data from buttons under the steering wheel, but that shouldn't be too hard once the this step has been made.

Chet T16:

--- Quote from: man-x86 on February 12, 2018, 08:44:59 pm ---It seems that I'm very late on this topic, but there's not much information available on this kind of hardware. I'd like to thank Chet T16 for showing that it is possible to write some user text on the LCD ;).

I also have a Tuner List radio, and it required some reverse engineering to understand how the display works:
https://imgur.com/gallery/AlMld

And here's an obvious proof that it worked:

I still have to figure out how to read the data from buttons under the steering wheel, but that shouldn't be too hard once the this step has been made.

--- End quote ---
Good to see this still doing the rounds.

From what I recall to read the buttons you must do an i2c read from the display and the first byte tells you if there are any further bytes to be read. If it's non zero the following bytes tell you what button is pressed. Using the arduino ide you must send the number of bytes to read first but as the length varies I sent a fixed value, 5 I think, and discarded the data if the first byte was zero.

I may still have access to my old notes

Sent from my SM-G925F using Tapatalk

Chet T16:
Actually I see I covered some of this above now that I reread!

Sent from my SM-G925F using Tapatalk

Chet T16:
From my notes:

--- Code: ---Volume Up Press: 0x47 0x01 0x10 0x49 0x10 0x00 0x06
Volume Up Hold: 0x47 0x01 0x10 0x49 0x10 0x00 0x86
Volume Down Press: 0x47 0x01 0x10 0x49 0x10 0x00 0x08
Volume Down Hold: 0x47 0x01 0x10 0x49 0x10 0x00 0x88
Pause Press: 0x47 0x01 0x10 0x49 0x10 0x00 0x0A
Pause Hold: 0x47 0x01 0x10 0x49 0x10 0x01 0x0A
Source Right Press: 0x47 0x01 0x10 0x49 0x10 0x00 0x02
Source Right Hold: 0x47 0x01 0x10 0x49 0x10 0x01 0x02
Source Left Press: 0x47 0x01 0x10 0x49 0x10 0x00 0x04
Source Left Hold: 0x47 0x01 0x10 0x49 0x10 0x01 0x04
Bottom Button Press: 0x47 0x01 0x10 0x49 0x10 0x00 0x00
Bottom Button Hold: 0x47 0x01 0x10 0x49 0x10 0x01 0x00
Scroll Up: 0x47 0x01 0x10 0x49 0x10 0x04 0x82
Scroll Down: 0x47 0x01 0x10 0x49 0x10 0x04 0x02
--- End code ---

Navigation

[0] Message Index

[#] Next page

[*] Previous page

There was an error while thanking
Thanking...
Go to full version
Powered by SMFPacks Advanced Attachments Uploader Mod