Change data types regarding sensor readings and sensor/actuator pins from signed to unsigned
This commit is contained in:
@@ -45,7 +45,7 @@ extern volatile bool readSensors;
|
||||
|
||||
void sensorsInit(void);
|
||||
void triggerMoistureRead(void);
|
||||
int16_t moistureAverage(int8_t sensorPin);
|
||||
int16_t moistureRead(void);
|
||||
uint16_t moistureAverage(uint8_t sensorPin);
|
||||
uint16_t moistureRead(void);
|
||||
|
||||
#endif
|
||||
|
||||
@@ -38,10 +38,9 @@ int main(void) {
|
||||
|
||||
while(true) {
|
||||
if (readSensors) {
|
||||
int16_t result = moistureRead();
|
||||
uint16_t result = moistureRead();
|
||||
//espSend(VASE_NUM, result)
|
||||
}
|
||||
triggerPump(PUMP_D7, 50);
|
||||
// if(espGet("ask if i need to water plants") == true) {waterPlant()}
|
||||
enterSleep();
|
||||
}
|
||||
|
||||
@@ -21,22 +21,21 @@ void triggerMoistureRead(void) {
|
||||
readSensors = true;
|
||||
}
|
||||
|
||||
int16_t moistureAverage(int8_t sensorPin) {
|
||||
int16_t sum = 0;
|
||||
for (int i = 0; i < SENSOR_READINGS; i++) {
|
||||
uint16_t moistureAverage(uint8_t sensorPin) {
|
||||
uint16_t sum = 0;
|
||||
for (uint8_t i = 0; i < SENSOR_READINGS; i++) {
|
||||
sum += adcRead(sensorPin);
|
||||
//TODO: implement variance check (if over a certain variance discard measurements for this cycle)
|
||||
//TODO: maybe add a small delay using watchdog here?
|
||||
//TODO IMPORTANT: if value < 1 or > 1022, discard that measurement
|
||||
}
|
||||
return sum / SENSOR_READINGS;
|
||||
}
|
||||
|
||||
int16_t moistureRead(void) {
|
||||
uint16_t moistureRead(void) {
|
||||
uint16_t overallSum = 0;
|
||||
|
||||
for (int8_t i = 0; i < SENSORS_NUM; i++) {
|
||||
int16_t sensorAverage = moistureAverage(sensorPins[i]);
|
||||
for (uint8_t i = 0; i < SENSORS_NUM; i++) {
|
||||
uint16_t sensorAverage = moistureAverage(sensorPins[i]);
|
||||
//TODO: if a sensor gives 0, discard that sensor entirely (means it is disconnected or not working)
|
||||
overallSum += sensorAverage;
|
||||
}
|
||||
|
||||
@@ -12,7 +12,7 @@ void pumpsInit(void) {
|
||||
DDRD |= actuatorMask;
|
||||
}
|
||||
|
||||
void triggerPump(int8_t pump_pin) {
|
||||
void triggerPump(uint8_t pump_pin) {
|
||||
// Turn on pump
|
||||
PORTD |= (1 << pump_pin);
|
||||
|
||||
@@ -24,9 +24,7 @@ void triggerPump(int8_t pump_pin) {
|
||||
}
|
||||
|
||||
void waterPlant(void) {
|
||||
for (int i=0; i < ACTUATORS_NUM; i++) {
|
||||
for (uint8_t i=0; i < ACTUATORS_NUM; i++) {
|
||||
triggerPump(actuatorPins[i]);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user