Exemple #1
0
int lcd_send_byte(unsigned char byte) {
	lcd_connect();
    unsigned char data[1];
    data[0] = byte;
    int ret = write(serial_fd, data, 1);
    return ret;
}
Exemple #2
0
int main(int argc, char* argv[])
{
    signal(SIGINT,  signal_term);
    signal(SIGTERM, signal_term);

    int daemon_mode = (argc > 1 && strcmp(argv[1], "-d") == 0) ? 1 : 0;
    if (daemon_mode) {
        if (file_exists(file_pid)) {
            perror("already running");
            exit(1);
        }

        pid_t pid = fork();

        // fork failed
        if (pid < 0) {
            return -1;
        } else if (pid != 0) {
            // fork successed, parent exit
            return 0;
        }

        write_pid();
        setsid();
        chdir("/");
        umask(0755);
        close(0);
        close(1);
        close(2);
    }

    lcd_connect();
    lcd_reset();
    lcd_clear();
    lcd_toggle_backlight();
    sleep(1);

    do {

        show_hostname();
        show_time();

        show_uptime();
        show_mems();
        show_loads();

        show_diskspace(DEFAULT_DISKSPACE_DIR);
        show_ip(DEFAULT_NETWORK_INTERFACE);
        show_traffic(DEFAULT_NETWORK_INTERFACE);

        sleep(10);
    } while (!signal_term_received);

    lcd_clear();
    lcd_reset();
    lcd_disconnect();
    unlink(file_pid);

    return 0;
}
Exemple #3
0
int lcd_send_data(unsigned char *data, int len) {
	lcd_connect();
    int ret = write(serial_fd, data, len);
    return ret;
}