コード例 #1
0
ファイル: main.cpp プロジェクト: semicontinuity/embedded
    static void init(void) {
        usart0__rate__set(BAUD_RATE);
        usart0__tx__enabled__set(1);
        usart0__rx__enabled__set(1);

        usart_out = fdevopen(usart_putchar, NULL);
        stdout = stdin = usart_out;
    }
コード例 #2
0
ファイル: main.c プロジェクト: semicontinuity/embedded
int main(void) {
    soft_spi1__init();
    usart0__init();
    usart0__rx__enabled__set(1);

    USE_AS_OUTPUT(LCD__LED);
    
    lcd__init();
    lcd__clear();
    
    lcd__terminal__reset();

#if !defined(__AVR_ARCH__)
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wmissing-noreturn"
#endif
    for(;;) {
        uint8_t c = usart0__in__read();
        if (c == 0) {
            lcd__terminal__reset();
        } else if (c == 1) {
            c = usart0__in__read();
            lcd__contrast(c);
        } else if (c == 2) {
            OUT_1(LCD__LED);
        } else if (c == 3) {
            OUT_0(LCD__LED);
        } else if (c == 13) {
        } else if (c == 10) {
            lcd__terminal__line_feed();
        } else if (c == 0x1F) {
            uint8_t count = usart0__in__read();
            for (;;) {
                c = usart0__in__read();
                soft_spi1__write(c);
                if (!(--count)) break;
            }
        } else {
            lcd__terminal__putch(c);
        }
    }
#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
}
コード例 #3
0
int main(void) {
    rts__init();

    display__init();
    display__render_packed(0);

    usart0__init();
    usart0__rx__enabled__set(1);    
    usart0__tx__enabled__set(1);    

    for(;;) {
        uint8_t c = usart0__in__read();
        display__render_packed(c);
    }

    return 0;
}
コード例 #4
0
ファイル: main.c プロジェクト: semicontinuity/embedded
inline static void application__init(void) {
    // Output drivers
    amplifier_relay__init();
    siren1__init();
    siren2__init();
    water_valve__init();
    unused1__init();
    unused2__init();
    unused3__init();
    unused4__init();
    unused5__init();
    unused6__init();
    unused7__init();
    unused8__init();
    unused9__init();
    unused10__init();
    unused11__init();

    // Input drivers
    water_leak_sensors__init();
    motion_sensors__init();

    // Other drivers
    system_timer__init();
    water_leak_sensors_scanner__init();
    motion_sensors_scanner__init();
    usart0__rate__set(USART_BAUD_RATE);
    usart0__tx__enabled__set(1);
    usart0__rx__enabled__set(1);
    usart0__rx__complete__interrupt__enabled__set(1);

    // Services
    alarm__init();
    alarm__auth__init();
    alarm_handler__init();
    water_leak_handler__init();
    console__init();
}
コード例 #5
0
ファイル: main.c プロジェクト: semicontinuity/embedded
void application__start(void) {
    usart0__rx__enabled__set(1);
}