void start_water_change_nomix(void)
{
LCDWriteStringXY(0,0,"Water Drained ");
lcd_light_on();
water_solenoid_off(); //solenoid off
// powerhead_on();//turn on powerhead
signed int temp2 = 10;//eeprom_read_word(&NV_water_drain_amount ); // read EEPROM
signed int power_head_liter_10s;
//power_head_liter_10s = eeprom_read_word(&NV_Power_Head_ltrHr ); // read EEPROM
power_head_liter_10s = 7;
internal_sec = 0; //reset ISR seconds
eeprom_update_word((&NV_running_function), 1); //writing 1 at eeprom memory
int float_sensor_bottom = 0;
// power_head_liter_10s=((power_head_liter_10s*10)/3600); //water drained in 10s
while (temp2 >1 || float_sensor_bottom == 0) //check amount of water drained
{
lcd_light_on();
powerhead_on();
if(bit_is_clear(PIND,5))
{ float_sensor_bottom = 1; }
if(internal_sec >40) // it will take 10s for internal_sec to become 40 cuz 4hz it goes ++
{
temp2 = temp2 - power_head_liter_10s;
temp = temp2;
internal_sec = 0;
eeprom_update_word((&NV_water_drained), temp2); //writing drained amount at eeprom memory
}
if (bit_is_clear(PIND,3)) //detect cancel button
{
powerhead_off();
LCDWriteStringXY(0,0,"Water Drain ");
LCDWriteStringXY(0,1,"...Cancelled... ");
_delay_ms(2000);
break;
}
} //-----------------END OF Power head run time---------NOW Start Filling the tank--------
powerhead_off(); //turn off power head
LCDWriteStringXY(0,0,"Drain Complete ");
LCDWriteStringXY(0,1,"Opening Solenoid");
_delay_ms(3000);
//----now start filling the tank-----------
water_solenoid_on();
eeprom_update_word((&NV_running_function),2); //writing 2 at eeprom memory for filling progress
LCDWriteStringXY(0,0,"Water Fill... In");
LCDWriteStringXY(0,1,"Progress. Cancel");
temp = eeprom_read_word(&NV_max_fill_time ); // read EEPROM
int float_sensor_top = 0;
int time_count;
while (temp >1 || float_sensor_top == 0)
{
lcd_light_on();
water_solenoid_on();
if (bit_is_clear(PIND,4))
{
float_sensor_top = 1;
}
if (internal_sec >40) // every 10 sec.. it will take 10s for internal_sec to become 40 cuz 4hz it goes ++
{
internal_sec = 0;
time_count ++;
if(time_count > 5) //every min
{
temp --;
time_count = 0;
eeprom_update_word((&NV_water_filled), temp); //writing 1 at eeprom memory
}
}
if (bit_is_clear(PIND,3)) //detect cancel button
{
water_solenoid_off();
LCDWriteStringXY(0,0,"Water Change ");
LCDWriteStringXY(0,1,"...Cancelled... ");
_delay_ms(2000);
break;
}
} //end of while water fill
water_solenoid_off();
LCDWriteStringXY(0,0," Water Fill ");
LCDWriteStringXY(0,1," Complete ");
_delay_ms(2000);
lcd_display_home();
} //end of start water change no mix