X-Git-Url: https://defiant.homedns.org/gitweb/?p=ros_wild_thumper.git;a=blobdiff_plain;f=avr%2Fnano%2Fmain.c;h=51cd1450d68e1fab6cc981bb5cb8a9bcd8dbe790;hp=5418055daaf734023e65215f000ce8156d064300;hb=3c4bb7f988be07a6dd592c80541e73135536a96c;hpb=b039f1fc2f0d99f315139b441b49cc5386da1459 diff --git a/avr/nano/main.c b/avr/nano/main.c index 5418055..51cd145 100644 --- a/avr/nano/main.c +++ b/avr/nano/main.c @@ -18,6 +18,12 @@ * 0x06 Distance forward LSB * 0x07 Distance backward MSB * 0x08 Distance backward LSB + * 0x15 Distance forward MSB (read only) + * 0x16 Distance forward LSB (read only) + * 0x17 Distance backward MSB (read only) + * 0x18 Distance backward LSB (read only) + * 0x09 Voltage MSB + * 0x0A Voltage LSB * * 0xff Bootloader */ @@ -35,6 +41,7 @@ static volatile uint16_t dist_forward=0; static volatile uint16_t dist_backward=0; static volatile uint8_t start_dist_fwd=0; static volatile uint8_t start_dist_bwd=0; +static volatile uint16_t voltage=0; ISR(TWI_vect) { @@ -103,6 +110,33 @@ ISR(TWI_vect) TWDR = tmp16; TWI_ACK; break; + case 0x15: // Distance forward MSB + tmp16 = dist_forward; + TWDR = tmp16>>8; + TWI_ACK; + break; + case 0x16: // Distance forward LSB + TWDR = tmp16; + TWI_ACK; + break; + case 0x17: // Distance backward MSB + tmp16 = dist_backward; + TWDR = tmp16>>8; + TWI_ACK; + break; + case 0x18: // Distance backward LSB + TWDR = tmp16; + TWI_ACK; + break; + case 0x09: // Voltage MSB + tmp16 = voltage; + TWDR = tmp16>>8; + TWI_ACK; + break; + case 0x0A: // Voltage LSB + TWDR = tmp16; + TWI_ACK; + break; default: TWDR = 0; TWI_NAK; @@ -123,7 +157,7 @@ uint16_t ReadChannel(uint8_t mux) { // setzen auf 8 (1) und ADC aktivieren (1) ADMUX = mux; // Kanal waehlen - ADMUX |= (1<