Talk:CHDK/porting the CHDK

Perhaps this page is unnecessary, since now there is Vitaly's more detailed article here?

Receiver scheme
To GrAnd: instead of a phototransistor, isn't the thing on the scheme a photodiode? --Melado 23:23, 11 July 2007 (UTC)
 * It can be a photodiode. But I did not test such scheme, because I used a phototransistor. But, the A700 firmware was gotten by a photodiode in the line-in input, AFAIK. So, just try... --GrAnd 12:23, 15 July 2007 (UTC)
 * Hm, I see. But I have another doubt. If I want to dump the A540 firmware, I will have to use the blue LED instead the AF one. Since BPW96C is only sensible from 620 to 980 nm (and blue is about 450-500), I guess I should use another phototransistor. Any advices? Thanks. --Melado 16:00, 17 July 2007 (UTC)
 * I tested BPW96C with blue led and it is sensible enough. The following graph demonstrates the signal strength for comparison:
 * [[Image:Wave_cmp.png|640px]]
 * The first part is the signal from AF beam (red lamp). The second - from blue led. This couple was captured by BPW96C inserted in mic-in. And the last part is the signal from blue led captured by photodiode inserted in the line-in of soundcard. BTW. A700 firmware was dumped with the signal strength showed in the last part of the graph.--GrAnd 10:01, 18 July 2007 (UTC)
 * Thanks again. I bought a BPW77NB, that should be the same. I build the scheme and, more or less, it works. I recorded a piece of 1 minute of blinking, and ran adc.exe. It gave a dump file of 0 bytes. I recompiled adc.exe to change the values of the defines to the A610's blue led ones (the values you wrote in the wiki), and the problem that I have now is that adc.exe gives thousands of SYNC ERRORS and creates a dump file with some bytes.
 * Maybe I should tweak the values of the defines? How? And which ones? The ones within the adc program, the ones from the FIR executable, both? --Melado 23:24, 18 July 2007 (UTC)
 * If the signal looks readable (at least as the third part on the picture above) you have to tune adc program only. If the signal has small amplitude you have to reduce threshold levels (the baseline is 0x80). The lowest possible values are (0x80 +-1):
 * LEVEL_THRES_HI: 0x81
 * LEVEL_THRES_LO: 0x7F
 * The other values are numbers of samples:
 * LEN_SYNC: Spacing between bytes
 * LEN_SPACE: Spacing between bits
 * LEN_0: Narrow pulse - logical "0"
 * LEN_1: Wide pulse - logical "1"
 * If it does not help then just send me the file you recorded and I'll send you appropriate adc.exe.
 * --GrAnd 12:08, 19 July 2007 (UTC)