🎨 Use largest default ST9720 delays (#22713)

Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
This commit is contained in:
dotdash32
2021-09-05 17:21:25 -07:00
committed by Scott Lahteine
parent 4c7f8696ab
commit 253f91765d
59 changed files with 231 additions and 242 deletions

View File

@ -36,11 +36,61 @@
// Optimize this code with -O3
#pragma GCC optimize (3)
#ifndef ST7920_DELAY_1
#ifndef LCD_ST7920_DELAY_1
#define LCD_ST7920_DELAY_1 0
#endif
#ifndef BOARD_ST7920_DELAY_1
#define BOARD_ST7920_DELAY_1 0
#endif
#ifndef CPU_ST7920_DELAY_1
#define CPU_ST7920_DELAY_1 0
#endif
#if LCD_ST7920_DELAY_1 || BOARD_ST7920_DELAY_1 || CPU_ST7920_DELAY_1
#define ST7920_DELAY_1 DELAY_NS(_MAX(LCD_ST7920_DELAY_1, BOARD_ST7920_DELAY_1, CPU_ST7920_DELAY_1))
#else
#define ST7920_DELAY_1
#endif
#endif
#ifndef ST7920_DELAY_2
#ifndef LCD_ST7920_DELAY_2
#define LCD_ST7920_DELAY_2 0
#endif
#ifndef BOARD_ST7920_DELAY_2
#define BOARD_ST7920_DELAY_2 0
#endif
#ifndef CPU_ST7920_DELAY_2
#define CPU_ST7920_DELAY_2 0
#endif
#if LCD_ST7920_DELAY_2 || BOARD_ST7920_DELAY_2 || CPU_ST7920_DELAY_2
#define ST7920_DELAY_2 DELAY_NS(_MAX(LCD_ST7920_DELAY_2, BOARD_ST7920_DELAY_2, CPU_ST7920_DELAY_2))
#else
#define ST7920_DELAY_2
#endif
#endif
#ifndef ST7920_DELAY_3
#ifndef LCD_ST7920_DELAY_3
#define LCD_ST7920_DELAY_3 0
#endif
#ifndef BOARD_ST7920_DELAY_3
#define BOARD_ST7920_DELAY_3 0
#endif
#ifndef CPU_ST7920_DELAY_3
#define CPU_ST7920_DELAY_3 0
#endif
#if LCD_ST7920_DELAY_3 || BOARD_ST7920_DELAY_3 || CPU_ST7920_DELAY_3
#define ST7920_DELAY_3 DELAY_NS(_MAX(LCD_ST7920_DELAY_3, BOARD_ST7920_DELAY_3, CPU_ST7920_DELAY_3))
#else
#define ST7920_DELAY_3
#endif
#endif
#ifdef ARDUINO_ARCH_STM32F1
#define ST7920_DAT(V) !!((V) & 0x80)
#else
#define ST7920_DAT(V) ((V) & 0x80)
#endif
#define ST7920_SND_BIT do{ \
WRITE(ST7920_CLK_PIN, LOW); ST7920_DELAY_1; \
WRITE(ST7920_DAT_PIN, ST7920_DAT(val)); ST7920_DELAY_2; \