device sleep (doesn't help); led off

master
Paul Goeser 13 years ago
parent a635df3b45
commit 5468ddb2f1

@ -8,11 +8,14 @@ done - rasten verändern (2.5°C)
done - temperaturmaximum evtl reduzieren (80°C?) oderauchnicht
done - beide temperaturmaxima gleich
- kabel intern besser verwahren
- led beim ausschalten tatsächlich aus
- avr sleeping wenn ausgeschaltet
done - led beim ausschalten tatsächlich aus
done - avr sleeping wenn ausgeschaltet
- schaltung braucht 0.6W am Netzteil
- jetzt nur noch 0.3-0.4W
"Langzeittests"
- maximale temperatur
- ca. 105°C an der Oberfläche. Chips warsch bei 125°C oderso. 20W am Netzteil.
- schmelzen kabel?
- machen die schrauben dem tisch probleme?
- Auswirkungen auf Tee

@ -2,6 +2,7 @@
#include <util/delay.h>
#include <avr/interrupt.h>
#include <avr/pgmspace.h>
#include <avr/sleep.h>
#define TEMP_PIN 0
#define IMPULS0_PIN 1
@ -36,6 +37,7 @@ uint8_t heat_power = 0; // requested heating power; 0..255
uint8_t input_state = 0;
uint8_t dev_state = 0; // whether the device is on or off
uint8_t led_is_on = 0; // whether led is on or off; used to start/stop timer 0
#define TOGGLE_TIMEOUT 5
#define TEN_SECONDS 256
@ -208,6 +210,10 @@ inline void led_init(void)
inline void led_set(uint16_t value)
{
if(!led_is_on){
led_init();
led_is_on = 1;
}
uint8_t pwmval;
if (LED_GREEN_TEMP <= value && value < LED_RED_TEMP) {
pwmval = ((uint32_t) (value-LED_GREEN_TEMP) * 255)/(LED_RED_TEMP-LED_GREEN_TEMP);
@ -222,8 +228,11 @@ inline void led_set(uint16_t value)
inline void led_off(void)
{
OCR0A = 0;
OCR0B = 255;
led_is_on = 0;
TCCR0B = 0; // stop pwm
TCCR0A = 0; // disconnect outputs;
// OCR0A = 0;
// OCR0B = 255;
}
inline void adc_init(void)
@ -314,6 +323,10 @@ int main(void)
eeprom_write = 0;
}
if(!dev_state) {
set_sleep_mode(SLEEP_MODE_IDLE);
sleep_mode();
}
}
return 0;

Loading…
Cancel
Save