changelog for cAVR Doug Garmon --------------------- 6/7/06 Begin work on multi byte transfer. This actually worked before, but was replaced with the cmd-driven structure. 6/5/06 Began rewrite of webpage, including cAVR info. Waiting for accelerometer board. 6/4/06 Improvements in both the dtv ml routines, and the AVR code. Wrote simple sprite demo, moving sprites about with analog joystick. Added 'gimme8' routine, to convert std 9-bit ADC data to a single byte, dropping LSbit. Very fast. 6/3/06 Finally a working ML routine. The AVR ADC reads create a bottle-neck, and were causing sync loss with the DTV (there is no handshaking taking place.) Inserting a couple delays has kludge-fixed the problem for now. Adding handshaking should still be possible, ala I2C (open-collector style, slave holding clock pulse low while master waits.) AVR speed upped to 4 mHz, still using internal osc. 6/1/06 Run some benchmarks on the transfer speed, BASIC and compiled BASIC (Austro-Speed.) Comparison of ADC reads/Analog JS reads: BASIC Compiled Notes ---------------------------------------------------------------- analog js read | .28 sec .04 sec constitutes two ADC reads analog js read | 3.57/sec 25/sec ADC read | .14 sec .02 sec One read ADC read | 7.14/sec 50/sec These tests also included printing value to scrn, and conversion of 3x3 data to BASIC integer, @ 9-bits resolution.. A single ADC read, conversion and print in compiled BASIC took under 1/50 sec. The compiled version was 7X faster than the BASIC. Conclusion: The protocol is robust enough to handle a 700% speed increase. Now move to ML. 5/31/06 Fixed the ADC code on AVR and it now reads ADC/sends the correct data. Reprogrammed fuse bits on AVR for 2mHz operation, internal oscillator. Successful test of an analog joystick connected to two ADC inputs. Compile the BASIC version of the protocol to see if it works at higher speeds. Test tomorrow. 5/30/06 Implement ADC code (on avr, also decoding bits on DTV.) The ADC code works, but not entirely correctly. Fix a problem re: the AVR not returning to it's outer loop. The fix was on the BASIC master DTV code. Currently, there is no RESET function. It may need to be implemented as an IRQ on the AVR. 5/29/06 The protocol is working. AVR responds to simple commands-blink an LED, check for a button press. 5/28/06 Implement master protocol on DTV in BASIC. Not working yet. 5/27/06 A simple, general protocol has been fleshed-out, and the AVR programmed. Bit-banger, no IRQs used. 5/26/06 Project begun.