]> defiant.homedns.org Git - ros_wild_thumper.git/blobdiff - avr/nano/main.c
nano: provide wrf read only values
[ros_wild_thumper.git] / avr / nano / main.c
index 76ce35a409dd469e05e7be67f4463803b2919251..51cd1450d68e1fab6cc981bb5cb8a9bcd8dbe790 100644 (file)
  * 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
  *
@@ -106,6 +110,24 @@ 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;
@@ -135,7 +157,7 @@ uint16_t ReadChannel(uint8_t mux) {
        // setzen auf 8 (1) und ADC aktivieren (1)
 
        ADMUX = mux;                      // Kanal waehlen
-       ADMUX |= (1<<REFS1) | (1<<REFS0); // interne Referenzspannung nutzen 
+       ADMUX |= (1<<REFS0);
 
        /* nach Aktivieren des ADC wird ein "Dummy-Readout" empfohlen, man liest
           also einen Wert und verwirft diesen, um den ADC "warmlaufen zu lassen" */