/** Semaphore to arbitrate access to the display. */
static struct Semaphore lcd_semaphore;
#define LOCK_LCD sem_obtain(&lcd_semaphore)
/** Semaphore to arbitrate access to the display. */
static struct Semaphore lcd_semaphore;
#define LOCK_LCD sem_obtain(&lcd_semaphore)
void lcd_setAddr(Layer *layer, lcdpos_t addr)
{
/* Sanity check: wrap around to display limits */
void lcd_setAddr(Layer *layer, lcdpos_t addr)
{
/* Sanity check: wrap around to display limits */
len = _formatted_write(format, (void (*)(char, void *))lcd_putCharUnlocked, layer, ap);
if (mode & (LCD_FILL | LCD_CENTER))
len = _formatted_write(format, (void (*)(char, void *))lcd_putCharUnlocked, layer, ap);
if (mode & (LCD_FILL | LCD_CENTER))