void setup() { Spark.function("syccommand", SYCcommand); //PUT YOUR SETUP CODE HERE pinMode(ledR, OUTPUT); pinMode(ledG, OUTPUT); pinMode(ledB, OUTPUT); pinMode(V1, OUTPUT); pinMode(sirenPin, OUTPUT); digitalWrite(ledR, HIGH); digitalWrite(ledB, HIGH); digitalWrite(ledG, LOW); digitalWrite(V1, LOW); //tone(sirenPin, 4000); delay(10); RGB.control(true); RGB.color(0, 0, 0); delay(500); digitalWrite(ledG, HIGH); beep1(); Spark.publish("restart"); /* delay(1000); beep3(); delay(1000); beep4(); */ //TODO: set valve and switch to closed and off }
int main(void) { init(); while(1) { switch (mode) { case 0: // watch mode LED_R = 0; LED_G = 0; BZ = 0; if ( LIM_SW == 1 && cnt_lim_sw >= LIM_SW_WAIT ) { clear_cnt(); mode = 1; } break; case 1: // monitor mode LED_R = 1; LED_G = 0; BZ = 0; if ( LIM_SW == 0 && cnt_lim_sw >= LIM_SW_WAIT ) { beep1(); clear_cnt(); mode = 0; } else if ( cnt >= MONITOR_TIME ) { clear_cnt(); mode = 2; } else if ( P_SW_G == 0 && cnt_psw_g >= P_SW_WAIT ) { beep2(); clear_cnt(); mode = 3; } break; case 2: // alart mode if ( LIM_SW == 0 && cnt_lim_sw >= LIM_SW_WAIT ) { beep1(); clear_cnt(); mode = 0; } else if ( ( P_SW_R == 0 || P_SW_G == 0 )&& cnt_psw_r >= P_SW_WAIT ) { beep2(); clear_cnt(); mode = 3; } else { alart(); } break; case 3: // pause mode LED_R = 1; LED_G = 1; BZ = 0; if ( LIM_SW == 0 && cnt_lim_sw >= LIM_SW_WAIT ) { beep1(); clear_cnt(); mode = 0; } if ( cnt >= PAUSE_TIME ) { clear_cnt(); mode = 2; } break; } } return (EXIT_SUCCESS); }