Example #1
0
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
}
Example #2
0
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);
}
Example #3
0
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);
    }
}