[lcdproc] Matrix Orbital support throught I2C via lm_sensors.

David Glaude dglaude@netbrain.be
Thu, 31 Aug 2000 00:00:26 +0200


This is a very old message,
But because I2C question is in the air, I repost.
Not everything is up to date.
And SMBus IS NOT WORKING, not the same as I2C, voltage issue.

David GLAUDE

-----Original Message-----
From: David Glaude [mailto:dglaude@comtech.be]
Sent: Friday, August 27, 1999 7:22 PM
To: lcdproc@lists.omnipotent.net
Cc: 'kmalkki@cc.hut.fi'; 'phil@Stimpy.netroedge.com'
Subject: [lcdproc] Matrix Orbital support throught I2C via lm_sensors.


Hello,
I was wondering if I could use a I2C bus from my PC to control my =
Matrix
Orbital display.
And of course I wanted that ussing LCDd.

So I asked for help to:
 * Ky=F6sti M=E4lkki [mailto:kmalkki@cc.hut.fi]
 * phil@Stimpy.netroedge.com [mailto:phil@Stimpy.netroedge.com]
from the LM_Sensors Development Group.

Now here is a summary (with clip on the 2 reply I receaved) for your
information.
It include a link to a patch against lcdproc0.4-pre7
 for changing the MtxOrb driver to access via the I2C bus.

I am planning to build my own I2C adapter for my PC
 and try to integrate these developpement into the main software.

Currently I am waiting for a new release of lcdproc witch contain
 the inclusion of a working version of BigNumber before spending
 more time on the code of the Matrix Orbital driver.

David GLAUDE [glu@who.net]

If anybody is interested, here are the info I have gathered (with =
comment).

> -----Original Message-----
> From: Ky=F6sti M=E4lkki [mailto:kmalkki@cc.hut.fi]
> Sent: mercredi 25 ao=FBt 1999 19:55
> To: David Glaude
> Cc: LM_Sensors Development Group
> Subject: Re: Matrix Orbital support within LMSENSOR + I2C Help =
request

> The Matrix Orbital LCD will not work on the SMBus, because it has a
> pull-up voltage of 3.3 V. The PIC used on the display requires 0.8 x =
Vcc
> (=3D 4.0 V) for logical high.
I think this mean you need a real I2C bus.

> The BT8x8 frame grabber card works nicely as an i2c host for the =
display.
> I have got the bttv driver patched for the same i2c interface as the=20
> lm-sensors project uses, but it lacks quite a lot of other =
configuration
> data.=20
This was about my Hauppauge TV tunner card (not related to lcdproc).

> I have a patch for lcdproc-0.4-pre7 to control a display connected on
> the i2c-bus instead of serial port. This uses /dev/i2c-x interface, =
and
> requires the new i2c interface. Lcdproc handles all of the necessary
> control codes, so you don't need the matorb.o driver at all=20
> (sorry Phil ;)
This is the patch I was talking about (and that I plan to use and =
support).
Also another lm_sensor team member developped a 'driver' for Matrix =
Orbital,
 but this is unrelated to lcdproc and does not offer the 'right' =
interface.

> I believe the modules with keypad interface will respond to standard =
i2c
> read transactions, returning a specific scancode. My module has no =
keypad
> interface and it actually hangs the bus, and only resolution is to =
power
> off the display.
My display have the keypad, so I am gonna try to implement (as an =
option)
 keypad support ussing the I2C bus.

> I'll put the lcdproc patch and bttv driver here:
>   www.hut.fi/~kmalkki/bttv

> I haven't looked into details of lcdproc's client-server model, and
> unfortunately neither I have much time to assist you further=20
> with this.
This mean that currently there is (as far as I know) no LCDd client
 that is going to display the voltage and temperature of your PC.

>     Ky=F6sti M=E4lkki   <kmalkki@cc.hut.fi>
>   -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --=20
>    Linux Hardware Monitoring sensors  http://www.lm-sensors.nu/

Anothor e-mail.
> -----Original Message-----
> From: Ky=F6sti M=E4lkki [mailto:kmalkki@cc.hut.fi]
> Sent: mercredi 25 ao=FBt 1999 20:41
> To: David Glaude
> Subject: Re: Matrix Orbital support within LMSENSOR + I2C Help =
request
=20
About the driver (the patch) for lcdproc.

> It disregards any read attempts, because it hangs the i2c bus on =
modules=20
> without keypad interface. Add a command line-parameter to allow reads
> for i2c clients.
>=20
> Also, it expects to find the new i2c interface header files=20
> installed in /usr/local/include/linux to compile.=20
>=20
> To define the display address run LCDd with
>  -d MtxOrb "--device /dev/i2c-bus-addr"
>=20
> where    bus  is the i2c-host number
>          addr is the 7-bit client address in hex
>=20
> eg. /dev/i2c-1-50
>    tries to access the display on the second bus, address 0x50

And an extra information for my Hauppauge TV tunner card.
=20
> To compile the bttv driver, you need the very latest CVS=20
> version of the i2c tree from lm_sensors site.
>=20
>     Ky=F6sti M=E4lkki   <kmalkki@cc.hut.fi>
>   -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --=20
>    Linux Hardware Monitoring sensors  http://www.lm-sensors.nu/

Now some more information I receaved from Phil.

> -----Original Message-----
> From: phil@Stimpy.netroedge.com [mailto:phil@Stimpy.netroedge.com]
> Sent: mercredi 25 ao=FBt 1999 19:06
> To: David Glaude
> Cc: LM_Sensors Development Group
> Subject: Re: Matrix Orbital support within LMSENSOR + I2C Help =
request

Ways to have a I2C bus for your Matrix Orbital display.

> 	The easiest is to use a Voodoo3 card if you have one.  I already
> wrote the I2C bus driver for it, and it's the safest (it's own =
independant
> bus which doesn't control anything really important).  That's where =
my
> Matrix-Orbital display is connected.  The I2C lines are easy to =
access,
> too.

The next way MIGHT NOT BE WORKING because we need I2C not SMBus.
 =20
> 	Second easiest is to connect to your machine's SMBus by soldering
> some wires to a SDRAM DIMM. (See our the 'hardware hacking' page on =
our
> site.)  If you can install the eeprom driver and read the contents =
(try
> the decode-dimms.pl script if you have PC-100 DIMMs) then you should =
be
> able to add more devices this way.=20

I think I will use this last way for myself.
 (I want to save a serial port and I am ready to lose a //).

> 	Or, it may be possible to use the parallel port driver, but I
> think it is still out of date and isn't fault tollerant. I.e., it =
can't
> tell the difference between a device which sends only 0's to =
everything
> and the device simply not being there.  What I mean is that it =
doesn't
> check to make sure 'acks' and other protocol specs are being met =
which
> makes it difficult to use and debug device drivers.=20
=20
Phil made a "text" driver for the Matrix Orbital display on I2C and
 use perl script to display lm_sensor information.
Of course we are looking for an lcdproc-like client for LCDd.

> 	Access to the displays are via a proc file.  If you want to avoid
> using text via stdin/out, then you should be able to use libsensors =
to
> interface to our drivers w/ binary values.  Frodo (on this list) is =
the
> master of how that works.  He's gone right now but is due  back in 4 =
or so
> days.
> 	Or, you can send bytes directly to the display (probably more of
> what you are thinking) by using the /dev/i2c* interface. =20
> Read the docs on
> it to understand more about how it works.

And some more about the keypad, but I will need to check myself.

> 	Hummm... I think the keypad thing works in a non-standard way.
> You'll need to ask the Matrix Orbital people about this.  I don't =
know
> exactly how the keypad works.  The keypad may also break some rules =
if
> connected to the SMBus causing things like CPU/bus clocking to go =
haywire,
> and/or your RAM DIMMs to be unaccessable on a restart.


> Phil
>=20
> ------------------------------------------------------------
> Philip Edelbrock -- IS Manager -- Edge Design, Corvallis, OR
>    phil@netroedge.com -- http://www.netroedge.com/~phil
>  PGP F16: 01 D2 FD 01 B5 46 F4 F0  3A 8B 9D 7E 14 7F FB 7A


-----------------------------------------------------------
To unsubscribe from this list send a blank message to
lcdproc-unsubscribe@lists.omnipotent.net


-----------------------------------------------------------
To unsubscribe from this list send a blank message to
lcdproc-unsubscribe@lists.omnipotent.net