Пример #1
0
int main(int argc, char *argv[])
{
    unsigned long recv_speed, trans_speed, overall_speed;
    const char *iface = argv[1];   /* network interface */

    if (argc == 2)
    {
        /* initialize led control */
        init_netraf_leds_ctl();
        startup_netraf_leds();

        for ( ; ; )
        {
            measure_network_flow("/proc/net/dev", iface, 
                &recv_speed, &trans_speed, 1);

            recv_speed  /= 1024;
            trans_speed /= 1024;
            overall_speed = trans_speed + recv_speed;

            set_keyled_pulse_period(LED_CAP, speed_to_pulse_period(recv_speed));
            set_keyled_pulse_period(LED_SCR, speed_to_pulse_period(trans_speed));
            set_keyled_pulse_period(LED_NUM, speed_to_pulse_period(overall_speed/50));

            keyleds_off();
        }
    }
    else {
        printf("usage: %s iface\n", argv[0]);
    }

    return 0;
}
Пример #2
0
void ui_message(uint8_t dest_state)
{
	if (ui_state == UIS_FIND_KEY)
		keyleds_off();

	ui_state = dest_state;
	enable_lcd_backlight();
	reset_ui_timer();
}
Пример #3
0
void ui_select_time(uint8_t timer_id, uint8_t default_time, uint8_t max_time)
{
	if (ui_state == UIS_FIND_KEY)
		keyleds_off();

	selected_time = default_time;
	max_selectable_time = max_time;
	selected_key = timer_id;
	ui_state = UIS_SELECT_TIME;
	enable_lcd_backlight();
	reset_ui_timer();
	ui_repaint();
}
Пример #4
0
static void ui_default_state(void) {
	enable_lcd_backlight();

	if (ui_flags & UIF_KEY_ERROR) {
		ui_state = UIS_KEY_ERROR;
		keyled_blink(error_slot);
		smaul_pulse_update();
		beeper_start(BEEP_ERROR);

		switch (ui_flags & UIF_KEY_ERROR) {
		case UIF_KEY_ERROR_READ_ERR:
			lcd_printfP(0, PSTR("Error reading key"));
			break;
		case UIF_KEY_ERROR_UNKNOWN:
			lcd_printfP(0, PSTR("Unknown key %d (\"%s\")"), keys[error_slot].eep.key.id, keys[error_slot].eep.key.name);
			break;
		case UIF_KEY_ERROR_OTHER_KB:
			lcd_printfP(0, PSTR("Key belongs to %s keyboard"), keys[error_slot].eep.kb.name);
			break;
		}
	} else {
		ui_state = UIS_IDLE;
		keyleds_off();

		if (!(ui_flags & UIF_TIMER_EXPIRED)) {
			smaul_pulse_update();
			beeper_stop();
			print_missing_keys();
		} else if (expired_timer < MAX_KEYS) {
			smaul_sync_to_beeper();
			beeper_start(BEEP_KEYMISSING);
			lcd_printfP(0, PSTR("Key %s missing"), config.keys[expired_timer].name);
		} else {
			uint8_t n = expired_timer - MAX_KEYS;
			smaul_blink(220);
			beeper_start(BEEP_PIZZA1 + n);
			lcd_printfP(0, PSTR("Pizza %d done"), n + 1);
		}
	}
}