optimisation: Tighter LCD timing

Author: leptun

Change in memory:
Flash: -14 bytes
SRAM: 0 bytes
This commit is contained in:
Guðni Már Gilbert 2023-07-25 11:04:12 +00:00 committed by Guðni Már Gilbert
parent 5288d615f8
commit 6623d45af9
1 changed files with 5 additions and 6 deletions

View File

@ -129,18 +129,17 @@ static void lcd_send(uint8_t data, uint8_t flags, uint16_t duration = LCD_DEFAUL
_delay_us(5);
lcd_writebits(data);
#ifndef LCD_8BIT
if (!(flags & LCD_HALF_FLAG))
{
_delay_us(LCD_DEFAULT_DELAY);
lcd_writebits(data<<4);
if (!(flags & LCD_HALF_FLAG)) {
// _delay_us(LCD_DEFAULT_DELAY); // should not be needed when sending a two nibble instruction.
lcd_writebits((data << 4) | (data >> 4)); //force efficient swap opcode even though the lower nibble is ignored in this case
}
#endif
delayMicroseconds(duration);
}
static void lcd_command(uint8_t value, uint16_t delayExtra = 0)
static void lcd_command(uint8_t value, uint16_t duration = LCD_DEFAULT_DELAY)
{
lcd_send(value, LOW, LCD_DEFAULT_DELAY + delayExtra);
lcd_send(value, LOW, duration);
}
static void lcd_write(uint8_t value)