Esempio n. 1
0
void xfault()
{
#if 0
    volatile int i;
    while (1) {
	led_set_status(LED_SCROLL_LOCK, 1);
	for (i=0;i<10000;i++);
	led_set_status(LED_SCROLL_LOCK, 0);
	for (i=0;i<10000;i++);
    }
#endif
}
Esempio n. 2
0
static void led_handle_events(event_handler* ev)
{
    led_handler* h = (led_handler*) ev;

    h->status = ! h->status;
    led_set_status(h->led, h->status);
}
Esempio n. 3
0
void led_handler_construct (led_handler* h, int led)
{
    h->led = led;
    h->status = 0;
    fire_n_handler_construct(&h->ev, -1, led_handle_events);
    led_set_status(h->led, h->status);
}
void set_usb_kbd_leds(uint8_t leds)
{
    int i;

    leds_real_status = leds;

    if (leds_override != LEDS_OVERRIDE_NONE)
	return;

    for (i=0;i<LED_COUNT;i++){
	led_set_status(i, leds & (1<<i));
    }
}
void kbd_suspend()
{
    int i;

    matrix_scan_stop();

    /* shutdown LEDs */
    for (i=0;i<LED_COUNT;i++){
	led_set_status(i, 0);
    }

    matrix_unselect_cols();

    if (usb_remote_wakeup_enabled()) {
	matrix_idle_wakeup_event_enter();
    }
}
void handle_leds_override()
{
    if (likely(leds_ticks>0))
	return;

    switch (leds_override){
    case LEDS_OVERRIDE_STARTUP:
    case LEDS_OVERRIDE_STARTUP+3:
	led_set_status(LED_NUM_LOCK, 1);
	led_set_status(LED_CAPS_LOCK, 0);
	led_set_status(LED_SCROLL_LOCK, 0);
	leds_override++;
	leds_ticks = 100;
	break;
    case LEDS_OVERRIDE_STARTUP+1:
    case LEDS_OVERRIDE_STARTUP+4:
	led_set_status(LED_NUM_LOCK, 0);
	led_set_status(LED_CAPS_LOCK, 1);
	led_set_status(LED_SCROLL_LOCK, 0);
	leds_override++;
	leds_ticks = 100;
	break;
    case LEDS_OVERRIDE_STARTUP+2:
    case LEDS_OVERRIDE_STARTUP+5:
	led_set_status(LED_NUM_LOCK, 0);
	led_set_status(LED_CAPS_LOCK, 0);
	led_set_status(LED_SCROLL_LOCK, 1);
	leds_override++;
	leds_ticks = 100;
	break;
    case LEDS_OVERRIDE_STARTUP+6:
	leds_override = LEDS_OVERRIDE_NONE;
	set_usb_kbd_leds(leds_real_status);
	break;
    }
}
Esempio n. 7
0
void led_handler_set (led_handler* h, int status)
{
    fire_n_handler_repeat(&h->ev, 0);
    h->status = status;
    led_set_status(h->led, h->status);
}