Пример #1
0
void draw_led_element (char* cp) {

_E_LED_t*	p;
uint8_t		m;
uint8_t		s;

	p = (_E_LED_t*) cp;

	XRAM_SELECT_BLOCK(XRAM_PAGE_PAGE);

	/* binary or radio button function? */
	if (p->parameter & LED_PARAMETER_RADIO) {
		s = p->repeat_radio_value == eib_get_object_8_value (p->eib_object_listen);
	}
	else {
		m = 1 << (p->parameter & LED_PARAMETER_BITPOS);
		s = eib_get_object_8_value (p->eib_object_listen) & m;
	}
	XRAM_SELECT_BLOCK(XRAM_PAGE_PAGE);
	if (s) {
		XRAM_SELECT_BLOCK(XRAM_PAGE_PAGE);
		if (p->parameter & LED_PARAMETER_WARNING) {
			draw_picture (p->picture_warning_index, p->x_pos, p->y_pos);
			set_backlight_on ();
			XRAM_SELECT_BLOCK(XRAM_PAGE_PAGE);
			sound_play_clip (p->sound_index_warning, p->repeat_radio_value);
		}
		else {
			draw_picture (p->picture_on_index, p->x_pos, p->y_pos);
		}
	}
	else {
		draw_picture (p->picture_off_index, p->x_pos, p->y_pos);
	}
}
Пример #2
0
void _backlight_on(void)
{
#ifdef HAVE_LCD_ENABLE
    lcd_enable(true); /* power on lcd */
#endif
    set_backlight_on();
}