Here we go, though only for advanced users at the moment: Attached is the kbd.c file (for generic folder), used with fingalo's 125 build code. Tested successfully with A640 and A630, no idea what else it'll work with (But fingalo's research suggests it most likely doesn't work with the G3
)
Again, you need a bit of electronics to convert the signal from RS232 levels to a high of ~3V - 5V and a low of 0V. I'm using a darlington driver IC and a seperate 5V source at the moment.
RS232 settings are 4800 baud, 8 data bits, no parity and at least 1 stop bit.
A constant stream of data is best since the camera is only listening to the port for a few milliseconds at a time.
Code is setup for the following scheme: 3 bytes transmitted for 1 byte of data; 1st byte is a handshake byte with a value of 0, 2nd byte is data byte, 3rd byte is an error checking byte (data byte with each bit inverted). (Example in VB.NET below) It's very easy to expand the code to carry more bytes.
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
Dim x(2) As Byte
x(0) = 0
x(1) = Command
x(2) = 255 - x(1)
Serial.Write(x, 0, 1)
Serial.Write(x, 1, 1)
Serial.Write(x, 2, 1)
End Sub
Attached scripts: checkerrors.BAS : Just displays the value of the last received data byte.
Better examples and more documentation to follow tomorrow. I'm running out of time again, and it seems to be at the state necessary for my needs, so won't be doing much active development, but please ask any questions.