#ifndef _oswald_hal_h
#define _oswald_hal_h

/*
 * these functions must be implemented for a concrete hardware
 */

void hal_lcd_set_pixel(unsigned int x, unsigned int y, unsigned char state);
void hal_lcd_clear_display(void);
void hal_lcd_update_display(void);
/* sets the backlight on/off, on=TRUE, off=FALSE */
void hal_lcd_set_backlight(boolean state);
boolean hal_lcd_get_backlight(void);

void hal_enable_centisecond_timer(void);
void hal_disable_centisecond_timer(void);

void hal_enable_halfsecond_timer(void);
void hal_disable_halfsecond_timer(void);

void hal_get_rtc(clock_state *rtc);
void hal_set_rtc(clock_state *rtc, boolean set_set);
void hal_get_power_state(power_state *pwr);

/* sets the vibration motor on/off, on=TRUE, off=FALSE */
void hal_vibration_set_state(boolean state);
boolean hal_vibration_get_state(void);

#endif