# HG changeset patch # User ethanzonca@CL-ENS241-08.cedarville.edu # Date 2013-04-29 20:55:03 # Node ID 1b16ee7a83df54dfdc672d0dc856e77120b4e2e1 # Parent be448d98aa9457cf14d10c030fb5d83a7d08fff6 Fixed pin reading diff --git a/slave/slave/lib/sensors.c b/slave/slave/lib/sensors.c --- a/slave/slave/lib/sensors.c +++ b/slave/slave/lib/sensors.c @@ -254,12 +254,20 @@ void sensors_readAnalog(uint8_t pin) analog[pin] = (analog[pin] * 10.0) / 67.4; } -void sensors_readDigital(uint8_t pin) +void sensors_readDigitalPORTA(uint8_t pin) { DDRA &= ~(1 << pin); // Set pin to input - digital = PINA; + digital |= (~(1 << pin)) & PINA; } +void sensors_readDigitalPORTD(uint8_t pin) +{ + if(pin > 3 && pin < 7) + { + DDRD &= ~(1 << pin); // Set pin to input + digital |= (~(1 << pin)) & PIND; + } +} int16_t sensors_getSpiTemp(void) // Gets spi temperature from variable { diff --git a/slave/slave/lib/sensors.h b/slave/slave/lib/sensors.h --- a/slave/slave/lib/sensors.h +++ b/slave/slave/lib/sensors.h @@ -18,7 +18,8 @@ void sensors_readHumid(void); // Reads void sensors_readLux(void); // Reads lux void sensors_readBatt(void); // Reads battery voltage from ADC void sensors_readAnalog(uint8_t pin); // Reads generic analog voltage from ADC -void sensors_readDigital(uint8_t pin); // Reads generic analog voltage from ADC +void sensors_readDigitalPORTA(uint8_t pin); // Read digital pin on PORTA +void sensors_readDigitalPORTD(uint8_t pin); // Read digital pin on PORTD int16_t sensors_getSpiTemp(void); // Gets spi temperature from variable int8_t sensors_getBoardTemp(void); // Gets board temperature from variable