|  | @@ -16,7 +16,13 @@ Atm_led led1;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  int poti_pin = A0;
 | 
	
		
			
				|  |  |  Atm_analog poti;
 | 
	
		
			
				|  |  | -float shouldTemp;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +int dial_pin_1 = 12;
 | 
	
		
			
				|  |  | +int dial_pin_2 = 14;
 | 
	
		
			
				|  |  | +Atm_encoder dial;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +float shouldTemp = 0;
 | 
	
		
			
				|  |  | +float isTemp = 100;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  bool wpsRunning = false;
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -29,7 +35,7 @@ Atm_timer sensorTimer;
 | 
	
		
			
				|  |  |  DS18B20Events thermometer(0);
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  void setup() {
 | 
	
		
			
				|  |  | -  delay(10000);
 | 
	
		
			
				|  |  | +  delay(2000);
 | 
	
		
			
				|  |  |    Serial.begin(115200);
 | 
	
		
			
				|  |  |    Serial.println("Booting...");
 | 
	
		
			
				|  |  |    
 | 
	
	
		
			
				|  | @@ -43,34 +49,37 @@ void setup() {
 | 
	
		
			
				|  |  |        wpsSetup();
 | 
	
		
			
				|  |  |       } );
 | 
	
		
			
				|  |  |      // .onPress( led1, led1.EVT_TOGGLE );
 | 
	
		
			
				|  |  | -    
 | 
	
		
			
				|  |  | -  // sensor.begin()
 | 
	
		
			
				|  |  | -  sensorTimer.begin( 100 )
 | 
	
		
			
				|  |  | -    .repeat( ATM_COUNTER_OFF )
 | 
	
		
			
				|  |  | -    .onTimer( [] (int idx, int v, int up ) {
 | 
	
		
			
				|  |  | -      thermometer.loop();
 | 
	
		
			
				|  |  | -     } )
 | 
	
		
			
				|  |  | -    .start();
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +  
 | 
	
		
			
				|  |  | +  dial.begin(dial_pin_1, dial_pin_2)
 | 
	
		
			
				|  |  | +    .range( 1, 120 )
 | 
	
		
			
				|  |  | +    .onChange( [] (int idx, int v, int up ) {
 | 
	
		
			
				|  |  | +      shouldTemp = (float)v;
 | 
	
		
			
				|  |  | +      // Serial.printf("Raw: %d ShouldTemp: %.10f\n", v, shouldTemp);
 | 
	
		
			
				|  |  | +      checkTemp();
 | 
	
		
			
				|  |  | +    });
 | 
	
		
			
				|  |  |    
 | 
	
		
			
				|  |  | +  /*
 | 
	
		
			
				|  |  |    poti.begin( poti_pin )
 | 
	
		
			
				|  |  |      .onChange( [] (int idx, int v, int up ) {
 | 
	
		
			
				|  |  | -      Serial.printf("Poti: '%d'\n", v);
 | 
	
		
			
				|  |  |        shouldTemp = (float)v / 20.0;
 | 
	
		
			
				|  |  | -      Serial.printf("ShouldTemp: %.10f\n", shouldTemp);
 | 
	
		
			
				|  |  | +      // Serial.printf("Raw: %d ShouldTemp: %.10f\n", v, shouldTemp);
 | 
	
		
			
				|  |  | +      checkTemp();
 | 
	
		
			
				|  |  |       });
 | 
	
		
			
				|  |  |    // sensorTimer.trace( Serial );
 | 
	
		
			
				|  |  | +  */
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |    DS18B20Events::setup(&sensor); // Link DS18B20Events to DallasTemperature object
 | 
	
		
			
				|  |  |  	DS18B20Events::setInterval(200); // Set min interval in milliseconds between 2 measurements. Default 10000 set in setup() method.
 | 
	
		
			
				|  |  | -	
 | 
	
		
			
				|  |  | -  thermometer.onChange = temperatureChanged;
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -  /*
 | 
	
		
			
				|  |  | -  pinMode(13, OUTPUT); //GPIO 13 = Pin D7
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +  sensorTimer.begin( 100 )
 | 
	
		
			
				|  |  | +    .repeat( ATM_COUNTER_OFF )
 | 
	
		
			
				|  |  | +    .onTimer( [] (int idx, int v, int up ) {
 | 
	
		
			
				|  |  | +      thermometer.loop();
 | 
	
		
			
				|  |  | +     } )
 | 
	
		
			
				|  |  | +    .start();
 | 
	
		
			
				|  |  | +  thermometer.onChange = temperatureChanged;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -  */
 | 
	
		
			
				|  |  |    Serial.println("Wifi Setup...");
 | 
	
		
			
				|  |  |    WiFi.mode(WIFI_STA);
 | 
	
		
			
				|  |  |    WiFi.begin(WiFi.SSID().c_str(),WiFi.psk().c_str());
 | 
	
	
		
			
				|  | @@ -90,11 +99,10 @@ void loop() {
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  void temperatureChanged(uint8_t index, float tempC)
 | 
	
		
			
				|  |  |  {
 | 
	
		
			
				|  |  | -	Serial.printf("%d new tempC at index %d\n", tempC, index);
 | 
	
		
			
				|  |  | -  if (tempC < shouldTemp){
 | 
	
		
			
				|  |  | -    led1.on();
 | 
	
		
			
				|  |  | -  } else {
 | 
	
		
			
				|  |  | -    led1.off();
 | 
	
		
			
				|  |  | +  if (tempC > 0){
 | 
	
		
			
				|  |  | +    isTemp = tempC;
 | 
	
		
			
				|  |  | +    // Serial.printf("isTemp: %.10f index %d\n", isTemp, index);
 | 
	
		
			
				|  |  | +    checkTemp();
 | 
	
		
			
				|  |  |    }
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -117,6 +125,15 @@ void wpsSetup(){
 | 
	
		
			
				|  |  |    }
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +void checkTemp(){
 | 
	
		
			
				|  |  | +  if (isTemp < shouldTemp){
 | 
	
		
			
				|  |  | +    led1.on();
 | 
	
		
			
				|  |  | +  } else {
 | 
	
		
			
				|  |  | +    led1.off();
 | 
	
		
			
				|  |  | +  }
 | 
	
		
			
				|  |  | +  Serial.printf("%d,%.10f,%.10f\n", millis(),shouldTemp,isTemp);
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |  String boolToString(bool in){
 | 
	
		
			
				|  |  |    return in ? "true" : "false";
 | 
	
		
			
				|  |  |  }
 |