Any new developments on I2C communication?

  • 5 Replies
  • 1106 Views
*

Offline RaduP

  • *****
  • 890
Any new developments on I2C communication?
« on: 24 / May / 2017, 01:49:31 »
Advertisements
Many Canon Cameras have some sort of HDMI out, which has an I2C channel. It could be very useful for communicating with MCUs. Did anyone try to use that?
There are two functions, i2c_write_event_FW and i2c_read_event_FW. Any idea if/how they work?

*

Offline nafraf

  • *****
  • 1303
Re: Any new developments on I2C communication?
« Reply #1 on: 24 / May / 2017, 22:46:40 »
Did you post the same question 8 years ago? i2c over HDMI   ;)

I think i2c has not been used with CHDK.
But  ML developers have used i2c functions to communicate with Audio IC.
I found this post:  Reversing new Audio, how to use I2c?


*

Offline RaduP

  • *****
  • 890
Re: Any new developments on I2C communication?
« Reply #2 on: 24 / May / 2017, 22:53:03 »
Yep, I posted it 8 years ago, was hoping that more research has been done, but I guess not. There is also an UART interface, but you have to open the camera and find the port, solder wires on it, etc. And I am not sure if it can be used for other purposes but the builtin shell access.

Re: Any new developments on I2C communication?
« Reply #3 on: 25 / May / 2017, 20:40:26 »
..., was hoping that more research has been done, but I guess not......
@ RaduP Do you have any experience re:- I2C communication's and the CEC related stuff, etc.
There is some, in-direct research, some quick links are below but ..... first a few things that may be relevant.

Most Chdk enabled low cost and low market end Hdmi Capable cameras only support HDMI in PLAYBACK mode, and
then only if it is enabled via the canon menu. My experience with a large number of used HDMI capable cameras is that Hdmi is nearly always OFF.

Some high cost Chdk capable cameras such as the EOS M3 also support HDMI in PLAYBACK mode and RECORD mode...(live View) But if Wi-Fi is used for remote capture HDMI live View is disabled and remote Wi-Fi live View
 is then enabled.

Also, and from memory and relevant strings, newer Chdk cameras also appear to use two internal I2C communication buss. And two external I2C communication buss.

Another point is that the relevant strings for CEC, HDMI and I2C communication's may vary from model to model.
I am guessing that this is due to differences in the cameras hardware support.

Also Note that when connection is made via a HDMI cable there is a noticable connection delay.

For anyone interested in further Research, some quick links via google, that might help:-

Python PTP module with CHDK support 0 Replies 1228 Views by adeuring
"...I've started a Python PTP module that supports the special CHDK PTP call ..."
https://chdk.setepontos.com/index.php?topic=9145.msg94633#msg94633

"...A Python module that implements the Picture Transfer Protocol, including support for CHDK extensions..."
Here https://launchpad.net/python-ptp-chdk by Abel Deuring

"...A Python I2C ..." More Link's To Do, there is any interest in I2C communication's.

"...Using ControlEverything products with Raspberry Pi over I2C..."
here  https://github.com/ControlEverythingCom/Raspberry-Pi-I2C-Python
"...At ControlEverything.com we focus on I²C communications , and we are dedicated to developing the I²C framework ..."

cec 0.2.3 Python bindings for libcec
Here https://pypi.python.org/pypi/cec/0.2.3
Download cec-0.2.3.tar.gz  Latest Version:  0.2.5

Python support in libcec   Web Site Here http://libcec.pulse-eight.com/
code here https://github.com/Pulse-Eight/libcec/tree/master/src/pyCecClient

"...libCEC is an enabling platform for the CEC bus in HDMI, it allows developers to interact with other
HDMI devices without having to worry about the communication overhead, handshaking, and the
various ways of sending a message for each vendor...."



There are more (archived) links available, if any is interested.
Such Win-8 and Win-10 which has some support stuff.
And an interesting USB to I2C dongle, etc, etc.

H-H

Edit #1 Minor edits plus Attached Files for the Ft200Xd USB to I2c Dongle.
The UMFT200XD-01 Breakout Module is currently available on ebay.

The UMFT200XD-01 Breakout Module might be useful as a simple and low cost way to
establish I2C communication's, via USB, with the newest high end Chdk cameras with
lots of spare memory available such as the Eos M3, etc.
 
« Last Edit: 26 / May / 2017, 22:35:04 by Hardware_Hacker »


*

Offline RaduP

  • *****
  • 890
Re: Any new developments on I2C communication?
« Reply #4 on: 25 / May / 2017, 20:44:46 »
Well, I used I2C before on some PIC and Arduino stuff to talk to various sensors. So I guess I have a bit of experience, but I can't say I am an expert or anything.
What links are you talking about?

Re: Any new developments on I2C communication?
« Reply #5 on: 26 / May / 2017, 22:48:47 »
Many Canon Cameras have some sort of HDMI out, which has an I2C channel. It could be very useful for communicating with MCUs. Did anyone try to use that?

There are two functions, i2c_write_event_FW and i2c_read_event_FW.

Any idea if/how they work?

Ref #1:- Post #3 Above
"....Also, and from memory and relevant strings, newer Chdk cameras also appear to use two internal I2C communication buss..."
Just found a string that appears to relate to the INTERNAL 2c bus for a low cost non-HDMI out Ixus 145 camera.

Ref #1:- Post #3 Above
"....Also, and from memory and relevant strings, newer Chdk cameras also appear to use two internal I2C communication buss..."

Ref #2:-Ixus145-100c-Strings.txt

I2C_DRV_CH1_BB_ERROR    004BAA32
I2C_DRV_CH2_BB_ERROR    004BAA47
SEQUENCER_I2C_ERROR     004BAA5C

I2C_DRV_CH1_STP_ERROR    004BAAC0
I2C_DRV_CH2_STP_ERROR    004BAAD6

I2C_DRV_CH1_RCV_ERROR    004BAB3D
I2C_DRV_CH2_RCV_ERROR    004BAB53

MechaCpuI2cLastBitError       004BAF67
MechaCpuI2cBusBusyError    004BAFDC

Other cameras seem to have additional evidence of internal I2c bus in the strings.

Ref #3 ML Post  Above, "...ML developers have used i2c functions to communicate with (internal) Audio IC..."

Just Guessing #1:-  "localI2C_Write"  is a internal I2c bus command as is "localI2C_Read".

Just Guessing #2:-  MechaCpuI2c is part of a general purpose low speed i2c bus.

Just Guessing #3:- The "Imager" stuff ( _imageSensorTask etc.) relates to the second high speed i2c bus.

@ RaduP Any further interest in new developments on I2C communication's.

H-H
« Last Edit: 26 / May / 2017, 23:38:36 by Hardware_Hacker »

 

Related Topics