int main(void) { application__init(); application__start(); #if !defined(__AVR_ARCH__) #pragma clang diagnostic push #pragma clang diagnostic ignored "-Wmissing-noreturn" #endif for(;;) { led1__set(button1__get()); led2__set(button2__get()); led3__set(button3__get()); led4__set(button4__get()); led5__set(button5__get()); led6__set(button6__get()); } #if !defined(__AVR_ARCH__) #pragma clang diagnostic pop #endif #if !defined(__AVR_ARCH__) #pragma clang diagnostic push #pragma ide diagnostic ignored "OCDFAInspection" #endif return 0; #if !defined(__AVR_ARCH__) #pragma clang diagnostic pop #endif }
void temperature_reader__thread__run(void) { VT_BEGIN(temperature_reader__thread, temperature_reader__thread__ip); timer0__overflow__interrupt__pending__clear(); for (;;) { led1__set(1); led2__set(1); onewire__setup_transaction((uint8_t) sizeof(command_convert), 0, command_convert, 0); onewire__transaction(); do { VT_YIELD_WITH_MARK(temperature_reader__thread, temperature_reader__thread__ip, COMMAND_CONVERT); onewire__thread__run(); } while (onewire__thread__is_alive()); led1__set(1); led2__set(0); onewire__thread__delay_counter = 46; timer0__conf__set(TIMER0_CONF_PRESCALER_1024|TIMER0_CONF_WGM_NORMAL); for (;;) { VT_YIELD_WITH_MARK(temperature_reader__thread, temperature_reader__thread__ip, SLEEP); timer0__overflow__interrupt__pending__clear(); if (--onewire__thread__delay_counter == 0) break; } led1__set(0); led2__set(1); onewire__setup_transaction(sizeof(command), sizeof(response), command, response); onewire__transaction(); do { VT_YIELD_WITH_MARK(temperature_reader__thread, temperature_reader__thread__ip, COMMAND_READ); onewire__thread__run(); } while (onewire__thread__is_alive()); led1__set(0); led2__set(0); temperature_reader__reading = (response[0] | (response[1] << 8)) << 4; temperature_reader__reading__on_changed(); // _delay_ms(1); } VT_UNREACHEABLE_END(temperature_reader__thread); }
int main(void) { ENABLE_PULLUP(IN__BUTTON1); ENABLE_PULLUP(IN__BUTTON2); ENABLE_PULLUP(IN__BUTTON3); ENABLE_PULLUP(IN__BUTTON4); ENABLE_PULLUP(IN__BUTTON5); ENABLE_PULLUP(IN__BUTTON6); ENABLE_PULLUP(UNUSED_D0); ENABLE_PULLUP(UNUSED_D1); led1__init(); led2__init(); led3__init(); while(1) { uint8_t state = IN(IN__BUTTONS) & (_BV(IN__BUTTON1__PIN) | _BV(IN__BUTTON2__PIN) | _BV(IN__BUTTON3__PIN) | _BV(IN__BUTTON4__PIN) | _BV(IN__BUTTON5__PIN) | _BV(IN__BUTTON6__PIN)); if (!(state & _BV(IN__BUTTON1__PIN))) { led1__set(1); led2__set(0); led3__set(0); } else if (!(state & _BV(IN__BUTTON2__PIN))) { led1__set(0); led2__set(1); led3__set(0); } else if (!(state & _BV(IN__BUTTON3__PIN))) { led1__set(1); led2__set(1); led3__set(0); } else if (!(state & _BV(IN__BUTTON4__PIN))) { led1__set(0); led2__set(0); led3__set(1); } else if (!(state & _BV(IN__BUTTON5__PIN))) { led1__set(1); led2__set(0); led3__set(1); } else if (!(state & _BV(IN__BUTTON6__PIN))) { led1__set(0); led2__set(1); led3__set(1); } else { led1__set(0); led2__set(0); led3__set(0); } _delay_ms(50); } }