+ cli();
+ if (pwm_running) {
+ set_sleep_mode(SLEEP_MODE_IDLE);
+ } else if (adc_running) {
+ set_sleep_mode(SLEEP_MODE_ADC);
+ } else {
+ set_sleep_mode(SLEEP_MODE_PWR_DOWN);
+ }
+ // keep BOD active, no sleep_bod_disable();
+ sei();
+ sleep_cpu();
+ sleep_disable();