config_644.h
521 लाइनें
/* ************************************************************************
/* ************************************************************************
 *
 *
 *   ATmega 324/644/1284 specific global configuration, setup and settings
 *   ATmega 324/644/1284 specific global configuration, setup and settings
 *
 *
 *   (c) 2012-2020 by Markus Reschke
 *   (c) 2012-2020 by Markus Reschke
 *   based on code from Markus Frejek and Karl-Heinz Kübbeler
 *   based on code from Markus Frejek and Karl-Heinz Kbbeler
 *
 *
 * ************************************************************************ */
 * ************************************************************************ */
/* source management */
/* source management */
#define CONFIG_644_H
#define CONFIG_644_H
/* ************************************************************************
/* ************************************************************************
 *   display module
 *   display module
 * ************************************************************************ */
 * ************************************************************************ */
/*
/*
 *  display module / controller
 *  display module / controller
 *
 *
 *  Please uncomment the package matching your LCD/OLED module and adjust
 *  Please uncomment the package matching your LCD/OLED module and adjust
 *  settings. And comment out the default package if not used.
 *  settings. And comment out the default package if not used.
 *
 *
 *  To uncomment, remove the enclosing "#if 0" and "#endif" or put
 *  To uncomment, remove the enclosing "#if 0" and "#endif" or put
 *  a "//" in front of both. To comment out, remove the "//" in front
 *  a "//" in front of both. To comment out, remove the "//" in front
 *  of the "#if 0" and "#endif".
 *  of the "#if 0" and "#endif".
 *
 *
 *  Individual settings can be enabled by removing the leading "//", or
 *  Individual settings can be enabled by removing the leading "//", or
 *  disabled by placing a "//" in front of the setting.
 *  disabled by placing a "//" in front of the setting.
 */
 */
/*
/*
 *  HD44780
 *  HD44780
 *  - 4 bit parallel interface
 *  - 4 bit parallel interface
 *  - enable LCD_DB_STD when using port pins 0-3 for LCD_DB4/5/6/7
 *  - enable LCD_DB_STD when using port pins 0-3 for LCD_DB4/5/6/7
 */
 */
#if 0
#if 0
#define LCD_HD44780                     /* display controller HD44780 */
#define LCD_HD44780                     /* display controller HD44780 */
#define LCD_TEXT                        /* character display */
#define LCD_TEXT                        /* character display */
#define LCD_PAR_4                       /* 4 bit parallel interface */
#define LCD_PAR_4                       /* 4 bit parallel interface */
/* control and data lines */
/* control and data lines */
#define LCD_PORT         PORTB          /* port data register */
#define LCD_PORT         PORTB          /* port data register */
#define LCD_DDR          DDRB           /* port data direction register */
#define LCD_DDR          DDRB           /* port data direction register */
//#define LCD_DB_STD                      /* use standard pins 0-3 for DB4-7 */
//#define LCD_DB_STD                      /* use standard pins 0-3 for DB4-7 */
#define LCD_DB4          PB4            /* port pin used for DB4 */
#define LCD_DB4          PB4            /* port pin used for DB4 */
#define LCD_DB5          PB5            /* port pin used for DB5 */
#define LCD_DB5          PB5            /* port pin used for DB5 */
#define LCD_DB6          PB6            /* port pin used for DB6 */
#define LCD_DB6          PB6            /* port pin used for DB6 */
#define LCD_DB7          PB7            /* port pin used for DB7 */
#define LCD_DB7          PB7            /* port pin used for DB7 */
#define LCD_RS           PB2            /* port pin used for RS */
#define LCD_RS           PB2            /* port pin used for RS */
#define LCD_EN1          PB3            /* port pin used for E */
#define LCD_EN1          PB3            /* port pin used for E */
/* display settings */
/* display settings */
#define LCD_CHAR_X       16             /* characters per line */
#define LCD_CHAR_X       16             /* characters per line */
#define LCD_CHAR_Y       2              /* number of lines */
#define LCD_CHAR_Y       2              /* number of lines */
/* HD44780 has an internal 5x7 font */
/* HD44780 has an internal 5x7 font */
#define FONT_HD44780_INT                /* International font (English) */
#define FONT_HD44780_INT                /* International font (English) */
//#define FONT_HD44780_WIN1251            /* Cyrillic font (European) */
//#define FONT_HD44780_WIN1251            /* Cyrillic font (European) */
#endif
#endif
/*
/*
 *  HD44780 with PCF8574 based backpack
 *  HD44780 with PCF8574 based backpack
 *  - I2C interface using hardware I2C
 *  - I2C interface using hardware I2C
 *  - if you change LCD_DB4/5/6/7 comment out LCD_DB_STD!
 *  - if you change LCD_DB4/5/6/7 comment out LCD_DB_STD!
 *  - hardware I2C automatically selects SDA and SCL pins
 *  - hardware I2C automatically selects SDA and SCL pins
 *  - PCF8574T is 0x27, PCF8574AT is 0x3f
 *  - PCF8574T is 0x27, PCF8574AT is 0x3f
 */
 */
#if 0
#if 0
#define LCD_HD44780                     /* display controller HD44780 */
#define LCD_HD44780                     /* display controller HD44780 */
#define LCD_TEXT                        /* character display */
#define LCD_TEXT                        /* character display */
#define LCD_PCF8574                     /* PCF8574 backpack */
#define LCD_PCF8574                     /* PCF8574 backpack */
#define LCD_I2C_ADDR     0x27           /* PCF8574's I2C address */
#define LCD_I2C_ADDR     0x27           /* PCF8574's I2C address */
/* control and data lines */
/* control and data lines */
#define LCD_DB_STD                      /* use standard pins 4-7 for DB4-7 */
#define LCD_DB_STD                      /* use standard pins 4-7 for DB4-7 */
#define LCD_DB4          PCF8574_P4     /* port pin used for DB4 */
#define LCD_DB4          PCF8574_P4     /* port pin used for DB4 */
#define LCD_DB5          PCF8574_P5     /* port pin used for DB5 */
#define LCD_DB5          PCF8574_P5     /* port pin used for DB5 */
#define LCD_DB6          PCF8574_P6     /* port pin used for DB6 */
#define LCD_DB6          PCF8574_P6     /* port pin used for DB6 */
#define LCD_DB7          PCF8574_P7     /* port pin used for DB7 */
#define LCD_DB7          PCF8574_P7     /* port pin used for DB7 */
#define LCD_RS           PCF8574_P0     /* port pin used for RS */
#define LCD_RS           PCF8574_P0     /* port pin used for RS */
#define LCD_RW           PCF8574_P1     /* port pin used for RW */
#define LCD_RW           PCF8574_P1     /* port pin used for RW */
#define LCD_EN1          PCF8574_P2     /* port pin used for E */
#define LCD_EN1          PCF8574_P2     /* port pin used for E */
#define LCD_LED          PCF8574_P3     /* port pin used for backlight */
#define LCD_LED          PCF8574_P3     /* port pin used for backlight */
/* display settings */
/* display settings */
#define LCD_CHAR_X       16             /* characters per line */
#define LCD_CHAR_X       16             /* characters per line */
#define LCD_CHAR_Y       2              /* number of lines */
#define LCD_CHAR_Y       2              /* number of lines */
/* HD44780 has an internal 5x7 font */
/* HD44780 has an internal 5x7 font */
#define FONT_HD44780_INT                /* International font (English) */
#define FONT_HD44780_INT                /* International font (English) */
//#define FONT_HD44780_WIN1251            /* Cyrillic font (European) */
//#define FONT_HD44780_WIN1251            /* Cyrillic font (European) */
/* I2C bus */
/* I2C bus */
#define I2C_HARDWARE                    /* hardware I2C (MCU's TWI) */
#define I2C_HARDWARE                    /* hardware I2C (MCU's TWI) */
#define I2C_STANDARD_MODE               /* 100kHz bus speed */
#define I2C_STANDARD_MODE               /* 100kHz bus speed */
#endif
#endif
/*
/*
 *  ILI9163
 *  ILI9163
 *  - 4 wire SPI interface using hardware SPI
 *  - 4 wire SPI interface using hardware SPI
 */
 */
#if 0
#if 0
#define LCD_ILI9163                     /* display controller ILI9163 */
#define LCD_ILI9163                     /* display controller ILI9163 */
#define LCD_GRAPHIC                     /* graphic display */
#define LCD_GRAPHIC                     /* graphic display */
#define LCD_COLOR                       /* color display */
#define LCD_COLOR                       /* color display */
#define LCD_SPI                         /* SPI interface */
#define LCD_SPI                         /* SPI interface */
/* control and data lines */
/* control and data lines */
#define LCD_PORT         PORTB          /* port data register */
#define LCD_PORT         PORTB          /* port data register */
#define LCD_DDR          DDRB           /* port data direction register */
#define LCD_DDR          DDRB           /* port data direction register */
#define LCD_RES          PB2            /* port pin used for /RESX (optional) */
#define LCD_RES          PB2            /* port pin used for /RESX (optional) */
#define LCD_CS           PB4            /* port pin used for /CSX (optional) */
#define LCD_CS           PB4            /* port pin used for /CSX (optional) */
#define LCD_DC           PB3            /* port pin used for D/CX */
#define LCD_DC           PB3            /* port pin used for D/CX */
#define LCD_SCL          PB7            /* port pin used for SCL */
#define LCD_SCL          PB7            /* port pin used for SCL */
#define LCD_SDA          PB5            /* port pin used for SDA/SDIO */
#define LCD_SDA          PB5            /* port pin used for SDA/SDIO */
/* display settings */
/* display settings */
#define LCD_DOTS_X       128            /* number of horizontal dots */
#define LCD_DOTS_X       128            /* number of horizontal dots */
#define LCD_DOTS_Y       128            /* number of vertical dots */
#define LCD_DOTS_Y       128            /* number of vertical dots */
#define LCD_OFFSET_X      32            /* x offset of 32 dots (160-128) */
#define LCD_OFFSET_X      32            /* x offset of 32 dots (160-128) */
//#define LCD_FLIP_X                      /* enable horizontal flip */
//#define LCD_FLIP_X                      /* enable horizontal flip */
#define LCD_FLIP_Y                      /* enable vertical flip */
#define LCD_FLIP_Y                      /* enable vertical flip */
#define LCD_ROTATE                      /* switch X and Y (rotate by 90°) */
#define LCD_ROTATE                      /* switch X and Y (rotate by 90) */
#define LCD_BGR                         /* reverse red and blue color channels */
#define LCD_BGR                         /* reverse red and blue color channels */
//#define LCD_LATE_ON                     /* turn on LCD after clearing it */
//#define LCD_LATE_ON                     /* turn on LCD after clearing it */
/* font and symbols: horizonally aligned & flipped */
/* font and symbols: horizonally aligned & flipped */
#define FONT_8X8_HF                     /* 8x8 font */
#define FONT_8X8_HF                     /* 8x8 font */
//#define FONT_10X16_HF                   /* 10x16 font */
//#define FONT_10X16_HF                   /* 10x16 font */
//#define FONT_8X8_ISO8859_2_HF           /* 8x8 Central European font */
//#define FONT_8X8_ISO8859_2_HF           /* 8x8 Central European font */
//#define FONT_10X16_ISO8859_2_HF         /* 10x16 Central European font */
//#define FONT_10X16_ISO8859_2_HF         /* 10x16 Central European font */
//#define FONT_8X16_WIN1251_HF            /* 8x16 cyrillic font */
//#define FONT_8X16_WIN1251_HF            /* 8x16 cyrillic font */
//#define FONT_8X16ALT_WIN1251_HF         /* 8x16 alternative cyrillic font */
//#define FONT_8X16ALT_WIN1251_HF         /* 8x16 alternative cyrillic font */
#define SYMBOLS_30X32_HF                /* 30x32 symbols */
#define SYMBOLS_30X32_HF                /* 30x32 symbols */
/* SPI bus */
/* SPI bus */
#define SPI_HARDWARE                    /* hardware SPI */
#define SPI_HARDWARE                    /* hardware SPI */
#endif
#endif
/*
/*
 *  ILI9342
 *  ILI9342
 *  - SPI interface using hardware SPI
 *  - SPI interface using hardware SPI
 */
 */
#if 0
#if 0
#define LCD_ILI9341                     /* display controller ILI9341/ILI9342 */
#define LCD_ILI9341                     /* display controller ILI9341/ILI9342 */
#define LCD_GRAPHIC                     /* graphic display */
#define LCD_GRAPHIC                     /* graphic display */
#define LCD_COLOR                       /* color display */
#define LCD_COLOR                       /* color display */
#define LCD_SPI                         /* SPI interface */
#define LCD_SPI                         /* SPI interface */
/* control and data lines */
/* control and data lines */
#define LCD_PORT         PORTB          /* port data register */
#define LCD_PORT         PORTB          /* port data register */
#define LCD_DDR          DDRB           /* port data direction register */
#define LCD_DDR          DDRB           /* port data direction register */
#define LCD_RES          PB2            /* port pin used for /RES (optional) */
#define LCD_RES          PB2            /* port pin used for /RES (optional) */
#define LCD_CS           PB4            /* port pin used for /CS (optional) */
#define LCD_CS           PB4            /* port pin used for /CS (optional) */
#define LCD_DC           PB3            /* port pin used for D/C */
#define LCD_DC           PB3            /* port pin used for D/C */
#define LCD_SCK          PB7            /* port pin used for SCK */
#define LCD_SCK          PB7            /* port pin used for SCK */
#define LCD_SDI          PB5            /* port pin used for SDI (data input) */
#define LCD_SDI          PB5            /* port pin used for SDI (data input) */
//#define LCD_SDO          PB6            /* port pin used for SDO (data output) */
//#define LCD_SDO          PB6            /* port pin used for SDO (data output) */
/* display settings */
/* display settings */
#define LCD_DOTS_X       320            /* number of horizontal dots */
#define LCD_DOTS_X       320            /* number of horizontal dots */
#define LCD_DOTS_Y       240            /* number of vertical dots */
#define LCD_DOTS_Y       240            /* number of vertical dots */
//#define LCD_FLIP_X                      /* enable horizontal flip */
//#define LCD_FLIP_X                      /* enable horizontal flip */
//#define LCD_FLIP_Y                      /* enable vertical flip */
//#define LCD_FLIP_Y                      /* enable vertical flip */
//#define LCD_ROTATE                      /* switch X and Y (rotate by 90°) */
//#define LCD_ROTATE                      /* switch X and Y (rotate by 90) */
//#define LCD_BGR                         /* reverse red and blue color channels */
//#define LCD_BGR                         /* reverse red and blue color channels */
//#define LCD_EXT_CMD_OFF                 /* extended commands disabled */
//#define LCD_EXT_CMD_OFF                 /* extended commands disabled */
/* font and symbols: horizontally aligned & flipped */
/* font and symbols: horizontally aligned & flipped */
#define FONT_16X26_HF                   /* 16x26 font */
#define FONT_16X26_HF                   /* 16x26 font */
//#define FONT_16X26_ISO8859_2_HF         /* 16x26 Central European font */
//#define FONT_16X26_ISO8859_2_HF         /* 16x26 Central European font */
//#define FONT_16X26_WIN1251_HF           /* 16x26 cyrillic font */
//#define FONT_16X26_WIN1251_HF           /* 16x26 cyrillic font */
#define SYMBOLS_32X32_HF                /* 32x32 symbols */
#define SYMBOLS_32X32_HF                /* 32x32 symbols */
/* SPI bus */
/* SPI bus */
#define SPI_HARDWARE                    /* hardware SPI */
#define SPI_HARDWARE                    /* hardware SPI */
#endif
#endif
/*
/*
 *  ILI9481, ILI9486 or ILI9488
 *  ILI9481, ILI9486 or ILI9488
 *  - 8 bit parallel interface
 *  - 8 bit parallel interface
 *  - LCD_DB0 to LCD_DB7 have to match port pins 0 to 7
 *  - LCD_DB0 to LCD_DB7 have to match port pins 0 to 7
 *  - ILI9488 untested
 *  - ILI9488 untested
 */
 */
#if 0
#if 0
//#define LCD_ILI9481                     /* display controller ILI9481 */
//#define LCD_ILI9481                     /* display controller ILI9481 */
#define LCD_ILI9486                     /* display controller ILI9486 */
#define LCD_ILI9486                     /* display controller ILI9486 */
//#define LCD_ILI9488                     /* display controller ILI9488 */
//#define LCD_ILI9488                     /* display controller ILI9488 */
#define LCD_GRAPHIC                     /* graphic display */
#define LCD_GRAPHIC                     /* graphic display */
#define LCD_COLOR                       /* color display */
#define LCD_COLOR                       /* color display */
#define LCD_PAR_8                       /* 8 bit parallel interface */
#define LCD_PAR_8                       /* 8 bit parallel interface */
/* control lines */
/* control lines */
#define LCD_PORT         PORTC          /* port data register */
#define LCD_PORT         PORTC          /* port data register */
#define LCD_DDR          DDRC           /* port data direction register */
#define LCD_DDR          DDRC           /* port data direction register */
#define LCD_RES          PC4            /* port pin used for /RESX (optional) */
#define LCD_RES          PC4            /* port pin used for /RESX (optional) */
#define LCD_CS           PC3            /* port pin used for /CSX (optional) */
#define LCD_CS           PC3            /* port pin used for /CSX (optional) */
#define LCD_DC           PC2            /* port pin used for D/CX */
#define LCD_DC           PC2            /* port pin used for D/CX */
#define LCD_WR           PC1            /* port pin used for WRX */
#define LCD_WR           PC1            /* port pin used for WRX */
#define LCD_RD           PC0            /* port pin used for RDX */
#define LCD_RD           PC0            /* port pin used for RDX */
/* data lines DB0-7 */
/* data lines DB0-7 */
#define LCD_PORT2        PORTB          /* port data register */
#define LCD_PORT2        PORTB          /* port data register */
#define LCD_DDR2         DDRB           /* port data direction register */
#define LCD_DDR2         DDRB           /* port data direction register */
#define LCD_PIN2         PINB           /* port data direction register */
#define LCD_PIN2         PINB           /* port data direction register */
#define LCD_DB0          PB0            /* port pin used for DB0 */
#define LCD_DB0          PB0            /* port pin used for DB0 */
#define LCD_DB1          PB1            /* port pin used for DB1 */
#define LCD_DB1          PB1            /* port pin used for DB1 */
#define LCD_DB2          PB2            /* port pin used for DB2 */
#define LCD_DB2          PB2            /* port pin used for DB2 */
#define LCD_DB3          PB3            /* port pin used for DB3 */
#define LCD_DB3          PB3            /* port pin used for DB3 */
#define LCD_DB4          PB4            /* port pin used for DB4 */
#define LCD_DB4          PB4            /* port pin used for DB4 */
#define LCD_DB5          PB5            /* port pin used for DB5 */
#define LCD_DB5          PB5            /* port pin used for DB5 */
#define LCD_DB6          PB6            /* port pin used for DB6 */
#define LCD_DB6          PB6            /* port pin used for DB6 */
#define LCD_DB7          PB7            /* port pin used for DB7 */
#define LCD_DB7          PB7            /* port pin used for DB7 */
/* display settings */
/* display settings */
#define LCD_DOTS_X       320            /* number of horizontal dots */
#define LCD_DOTS_X       320            /* number of horizontal dots */
#define LCD_DOTS_Y       480            /* number of vertical dots */
#define LCD_DOTS_Y       480            /* number of vertical dots */
//#define LCD_FLIP_X                      /* enable horizontal flip */
//#define LCD_FLIP_X                      /* enable horizontal flip */
//#define LCD_FLIP_Y                      /* enable vertical flip */
//#define LCD_FLIP_Y                      /* enable vertical flip */
#define LCD_ROTATE                      /* switch X and Y (rotate by 90°) */
#define LCD_ROTATE                      /* switch X and Y (rotate by 90) */
#define LCD_BGR                         /* reverse red and blue color channels */
#define LCD_BGR                         /* reverse red and blue color channels */
/* font and symbols: horizontally aligned & flipped */
/* font and symbols: horizontally aligned & flipped */
#define FONT_16X26_HF                   /* 16x26 font */
#define FONT_16X26_HF                   /* 16x26 font */
//#define FONT_16X26_ISO8859_2_HF         /* 16x26 Central European font */
//#define FONT_16X26_ISO8859_2_HF         /* 16x26 Central European font */
//#define FONT_16X26_WIN1251_HF           /* 16x26 cyrillic font */
//#define FONT_16X26_WIN1251_HF           /* 16x26 cyrillic font */
#define SYMBOLS_32X32_HF                /* 32x32 symbols */
#define SYMBOLS_32X32_HF                /* 32x32 symbols */
#endif
#endif
/*
/*
 *  ILI9488
 *  ILI9488
 *  - SPI interface using hardware SPI
 *  - SPI interface using hardware SPI
 */
 */
#if 0
#if 0
#define LCD_ILI9488                     /* display controller ILI9488 */
#define LCD_ILI9488                     /* display controller ILI9488 */
#define LCD_GRAPHIC                     /* graphic display */
#define LCD_GRAPHIC                     /* graphic display */
#define LCD_COLOR                       /* color display */
#define LCD_COLOR                       /* color display */
#define LCD_SPI                         /* SPI interface */
#define LCD_SPI                         /* SPI interface */
/* control and data lines */
/* control and data lines */
#define LCD_PORT         PORTB          /* port data register */
#define LCD_PORT         PORTB          /* port data register */
#define LCD_DDR          DDRB           /* port data direction register */
#define LCD_DDR          DDRB           /* port data direction register */
#define LCD_RES          PB2            /* port pin used for /RES (optional) */
#define LCD_RES          PB2            /* port pin used for /RES (optional) */
#define LCD_CS           PB4            /* port pin used for /CS (optional) */
#define LCD_CS           PB4            /* port pin used for /CS (optional) */
#define LCD_DC           PB3            /* port pin used for D/C */
#define LCD_DC           PB3            /* port pin used for D/C */
#define LCD_SCK          PB7            /* port pin used for SCK */
#define LCD_SCK          PB7            /* port pin used for SCK */
#define LCD_SDI          PB5            /* port pin used for SDI (data input) */
#define LCD_SDI          PB5            /* port pin used for SDI (data input) */
//#define LCD_SDO          PB6            /* port pin used for SDO (data output) */
//#define LCD_SDO          PB6            /* port pin used for SDO (data output) */
/* display settings */
/* display settings */
#define LCD_DOTS_X       320            /* number of horizontal dots */
#define LCD_DOTS_X       320            /* number of horizontal dots */
#define LCD_DOTS_Y       480            /* number of vertical dots */
#define LCD_DOTS_Y       480            /* number of vertical dots */
//#define LCD_FLIP_X                      /* enable horizontal flip */
//#define LCD_FLIP_X                      /* enable horizontal flip */
//#define LCD_FLIP_Y                      /* enable vertical flip */
//#define LCD_FLIP_Y                      /* enable vertical flip */
#define LCD_ROTATE                      /* switch X and Y (rotate by 90°) */
#define LCD_ROTATE                      /* switch X and Y (rotate by 90) */
//#define LCD_BGR                         /* reverse red and blue color channels */
//#define LCD_BGR                         /* reverse red and blue color channels */
/* font and symbols: horizontally aligned & flipped */
/* font and symbols: horizontally aligned & flipped */
#define FONT_16X26_HF                   /* 16x26 font */
#define FONT_16X26_HF                   /* 16x26 font */
//#define FONT_16X26_ISO8859_2_HF         /* 16x26 Central European font */
//#define FONT_16X26_ISO8859_2_HF         /* 16x26 Central European font */
//#define FONT_16X26_WIN1251_HF           /* 16x26 cyrillic font */
//#define FONT_16X26_WIN1251_HF           /* 16x26 cyrillic font */
#define SYMBOLS_32X32_HF                /* 32x32 symbols */
#define SYMBOLS_32X32_HF                /* 32x32 symbols */
/* SPI bus */
/* SPI bus */
#define SPI_HARDWARE                    /* hardware SPI */
#define SPI_HARDWARE                    /* hardware SPI */
#endif
#endif
/*
/*
 *  PCD8544
 *  PCD8544
 *  - SPI interface using hardware SPI
 *  - SPI interface using hardware SPI
 *  - for a 180° rotated display (LCD_ROT180)
 *  - for a 180 rotated display (LCD_ROT180)
 *    - comment out "_VF" font and "_VFP" symbols
 *    - comment out "_VF" font and "_VFP" symbols
 *    - uncomment "_V_F" font and "_VP_F" symbols
 *    - uncomment "_V_F" font and "_VP_F" symbols
 */
 */
#if 0
#if 0
#define LCD_PCD8544                     /* display controller PCD8544 */
#define LCD_PCD8544                     /* display controller PCD8544 */
#define LCD_GRAPHIC                     /* graphic display */
#define LCD_GRAPHIC                     /* graphic display */
#define LCD_SPI                         /* SPI interface */
#define LCD_SPI                         /* SPI interface */
/* control and data lines */
/* control and data lines */
#define LCD_PORT         PORTB          /* port data register */
#define LCD_PORT         PORTB          /* port data register */
#define LCD_DDR          DDRB           /* port data direction register */
#define LCD_DDR          DDRB           /* port data direction register */
#define LCD_RES          PB2            /* port pin used for /RES (optional) */
#define LCD_RES          PB2            /* port pin used for /RES (optional) */
#define LCD_SCE          PB4            /* port pin used for /SCE (optional) */
#define LCD_SCE          PB4            /* port pin used for /SCE (optional) */
#define LCD_DC           PB3            /* port pin used for D/C */
#define LCD_DC           PB3            /* port pin used for D/C */
#define LCD_SCLK         PB7            /* port pin used for SCLK */
#define LCD_SCLK         PB7            /* port pin used for SCLK */
#define LCD_SDIN         PB5            /* port pin used for SDIN (data input) */
#define LCD_SDIN         PB5            /* port pin used for SDIN (data input) */
/* display settings */
/* display settings */
#define LCD_DOTS_X       84             /* number of horizontal dots */
#define LCD_DOTS_X       84             /* number of horizontal dots */
#define LCD_DOTS_Y       48             /* number of vertical dots */
#define LCD_DOTS_Y       48             /* number of vertical dots */
#define LCD_CONTRAST     66             /* default contrast (1-127) */
#define LCD_CONTRAST     66             /* default contrast (1-127) */
/* font and symbols: vertically aligned & flipped */
/* font and symbols: vertically aligned & flipped */
#define FONT_6X8_VF                     /* 6x8 font */
#define FONT_6X8_VF                     /* 6x8 font */
//#define FONT_6X8_ISO8859_2_VF           /* 6x8 Central European font */
//#define FONT_6X8_ISO8859_2_VF           /* 6x8 Central European font */
//#define LCD_ROT180                      /* rotate output by 180° (not supported yet) */
//#define LCD_ROT180                      /* rotate output by 180 (not supported yet) */
/* font and symbols: vertically aligned, bank-wise grouping, hor. flipped */
/* font and symbols: vertically aligned, bank-wise grouping, hor. flipped */
//#define FONT_6X8_V_F                    /* 6x8 font */
//#define FONT_6X8_V_F                    /* 6x8 font */
//#define FONT_6X8_ISO8859_2_V_F          /* 6x8 Central European font */
//#define FONT_6X8_ISO8859_2_V_F          /* 6x8 Central European font */
//#define SYMBOLS_24X24_VP_F              /* 24x24 symbols */
//#define SYMBOLS_24X24_VP_F              /* 24x24 symbols */
/* SPI bus */
/* SPI bus */
#define SPI_HARDWARE                    /* hardware SPI */
#define SPI_HARDWARE                    /* hardware SPI */
#endif
#endif
/*
/*
 *  PCF8814
 *  PCF8814
 *  - 3 wire SPI interface using bit-bang SPI
 *  - 3 wire SPI interface using bit-bang SPI
 */
 */
#if 0
#if 0
#define LCD_PCF8814                     /* display controller PCF8814 */
#define LCD_PCF8814                     /* display controller PCF8814 */
#define LCD_GRAPHIC                     /* graphic display */
#define LCD_GRAPHIC                     /* graphic display */
#define LCD_SPI                         /* SPI interface */
#define LCD_SPI                         /* SPI interface */
/* control and data lines */
/* control and data lines */
#define LCD_PORT         PORTB          /* port data register */
#define LCD_PORT         PORTB          /* port data register */
#define LCD_DDR          DDRB           /* port data direction register */
#define LCD_DDR          DDRB           /* port data direction register */
#define LCD_RESET        PB2            /* port pin used for /RES */
#define LCD_RESET        PB2            /* port pin used for /RES */
#define LCD_CS           PB4            /* port pin used for /CS (optional) */
#define LCD_CS           PB4            /* port pin used for /CS (optional) */
#define LCD_SCLK         PB7            /* port pin used for SCLK */
#define LCD_SCLK         PB7            /* port pin used for SCLK */
#define LCD_SDIN         PB5            /* port pin used for SDIN (data input) */
#define LCD_SDIN         PB5            /* port pin used for SDIN (data input) */
/* display settings */
/* display settings */
#define LCD_DOTS_X       96             /* number of horizontal dots */
#define LCD_DOTS_X       96             /* number of horizontal dots */
#define LCD_DOTS_Y       65             /* number of vertical dots */
#define LCD_DOTS_Y       65             /* number of vertical dots */
//#define LCD_FLIP_Y                      /* enable vertical flip */
//#define LCD_FLIP_Y                      /* enable vertical flip */
#define LCD_CONTRAST     5              /* default contrast (0-255) */
#define LCD_CONTRAST     5              /* default contrast (0-255) */
/* font and symbols: vertically aligned & flipped, page-wise grouping */
/* font and symbols: vertically aligned & flipped, page-wise grouping */
#define FONT_6X8_VF                     /* 6x8 font */
#define FONT_6X8_VF                     /* 6x8 font */
//#define FONT_6X8_ISO8859_2_VF         /* 6x8 Central European font */
//#define FONT_6X8_ISO8859_2_VF         /* 6x8 Central European font */
#define SYMBOLS_24X24_VFP               /* 24x24 symbols */
#define SYMBOLS_24X24_VFP               /* 24x24 symbols */
/* SPI bus */
/* SPI bus */
#define SPI_BITBANG                     /* bit-bang SPI */
#define SPI_BITBANG                     /* bit-bang SPI */
#define SPI_9                           /* support 9 bit frames */
#define SPI_9                           /* support 9 bit frames */
#define SPI_PORT         LCD_PORT       /* SPI port data register */
#define SPI_PORT         LCD_PORT       /* SPI port data register */
#define SPI_DDR          LCD_DDR        /* SPI port data direction register */
#define SPI_DDR          LCD_DDR        /* SPI port data direction register */
#define SPI_SCK          LCD_SCLK       /* port pin used for SCK */
#define SPI_SCK          LCD_SCLK       /* port pin used for SCK */
#define SPI_MOSI         LCD_SDIN       /* port pin used for MOSI */
#define SPI_MOSI         LCD_SDIN       /* port pin used for MOSI */
#endif
#endif
/*
/*
 *  SH1106
 *  SH1106
 *  - 4 wire SPI interface using hardware SPI
 *  - 4 wire SPI interface using hardware SPI
 *  - untested
 *  - untested
 */
 */
#if 0
#if 0
#define LCD_SH1106                      /* display controller SH1106 */
#define LCD_SH1106                      /* display controller SH1106 */
#define LCD_GRAPHIC                     /* graphic display */
#define LCD_GRAPHIC                     /* graphic display */
#define LCD_SPI                         /* SPI interface */
#define LCD_SPI                         /* SPI interface */
/* control and data lines */
/* control and data lines */
#define LCD_PORT         PORTB          /* port data register */
#define LCD_PORT         PORTB          /* port data register */
#define LCD_DDR          DDRB           /* port data direction register */
#define LCD_DDR          DDRB           /* port data direction register */
#define LCD_RESET        PB2            /* port pin used for /RES (optional) */
#define LCD_RESET        PB2            /* port pin used for /RES (optional) */
#define LCD_CS           PB4            /* port pin used for /CS (optional) */
#define LCD_CS           PB4            /* port pin used for /CS (optional) */
#define LCD_A0           PB3            /* port pin used for A0 */
#define LCD_A0           PB3            /* port pin used for A0 */
#define LCD_SCL          PB7            /* port pin used for SCL */
#define LCD_SCL          PB7            /* port pin used for SCL */
#define LCD_SI           PB5            /* port pin used for SI (data input) */
#define LCD_SI           PB5            /* port pin used for SI (data input) */
/* display settings */
/* display settings */
#define LCD_DOTS_X       128            /* number of horizontal dots */
#define LCD_DOTS_X       128            /* number of horizontal dots */
#define LCD_DOTS_Y       64             /* number of vertical dots */
#define LCD_DOTS_Y       64             /* number of vertical dots */
#define LCD_OFFSET_X     2              /* enable x offset of 2 or 4 dots */
#define LCD_OFFSET_X     2              /* enable x offset of 2 or 4 dots */
#define LCD_FLIP_X                      /* enable horizontal flip */
#define LCD_FLIP_X                      /* enable horizontal flip */
#define LCD_FLIP_Y                      /* enable vertical flip */
#define LCD_FLIP_Y                      /* enable vertical flip */
#define LCD_CONTRAST     127            /* default contrast (0-255) */
#define LCD_CONTRAST     127            /* default contrast (0-255) */
/* font and symbols: vertically aligned & flipped, bank-wise grouping */
/* font and symbols: vertically aligned & flipped, bank-wise grouping */
//#define FONT_6X8_VF                      /* 6x8 font */
//#define FONT_6X8_VF                      /* 6x8 font */
#define FONT_8X8_VF                     /* 8x8 font */
#define FONT_8X8_VF                     /* 8x8 font */
//#define FONT_8X16_VFP                   /* 8x16 font */
//#define FONT_8X16_VFP                   /* 8x16 font */
//#define FONT_6X8_ISO8859_2_VF           /* 6x8 Central European font */
//#define FONT_6X8_ISO8859_2_VF           /* 6x8 Central European font */
//#define FONT_8X8_ISO8859_2_VF           /* 8x8 Central European font */
//#define FONT_8X8_ISO8859_2_VF           /* 8x8 Central European font */
//#define FONT_8X12T_ISO8859_2_VFP        /* thin 8x12 Central European font */
//#define FONT_8X12T_ISO8859_2_VFP        /* thin 8x12 Central European font */
//#define FONT_8X16_ISO8859_2_VFP         /* 8x16 Central European font */
//#define FONT_8X16_ISO8859_2_VFP         /* 8x16 Central European font */
//#define FONT_8X8_WIN1251_VF             /* 8x8 cyrillic font */
//#define FONT_8X8_WIN1251_VF             /* 8x8 cyrillic font */
//#define FONT_8X8ALT_WIN1251_VF          /* 8x8 alternative cyrillic font */
//#define FONT_8X8ALT_WIN1251_VF          /* 8x8 alternative cyrillic font */
//#define FONT_8X8T_WIN1251_VF            /* thin 8x8 cyrillic font */
//#define FONT_8X8T_WIN1251_VF            /* thin 8x8 cyrillic font */
//#define FONT_8X12T_WIN1251_VFP          /* thin 8x12 cyrillic font */
//#define FONT_8X12T_WIN1251_VFP          /* thin 8x12 cyrillic font */
//#define FONT_8X16_WIN1251_VFP           /* 8x16 cyrillic font */
//#define FONT_8X16_WIN1251_VFP           /* 8x16 cyrillic font */
#define SYMBOLS_24X24_VFP               /* 24x24 symbols */
#define SYMBOLS_24X24_VFP               /* 24x24 symbols */
/* SPI bus */
/* SPI bus */
#define SPI_HARDWARE                    /* hardware SPI */
#define SPI_HARDWARE                    /* hardware SPI */
#endif
#endif
/*
/*
 *  SH1106
 *  SH1106
 *  - 3 wire SPI interface using bit-bang SPI
 *  - 3 wire SPI interface using bit-bang SPI
 *  - untested
 *  - untested
 */
 */
#if 0
#if 0
#define LCD_SH1106                      /* display controller SH1106 */
#define LCD_SH1106                      /* display controller SH1106 */
#define LCD_GRAPHIC                     /* graphic display */
#define LCD_GRAPHIC                     /* graphic display */
#define LCD_SPI                         /* SPI interface */
#define LCD_SPI                         /* SPI interface */
/* control and data lines */
/* control and data lines */
#define LCD_PORT         PORTB          /* port data register */
#define LCD_PORT         PORTB          /* port data register */
#define LCD_DDR          DDRB           /* port data direction register */
#define LCD_DDR          DDRB           /* port data direction register */
#define LCD_RESET        PB2            /* port pin used for /RES (optional) */
#define LCD_RESET        PB2            /* port pin used for /RES (optional) */
#define LCD_CS           PB4            /* port pin used for /CS (optional) */
#define LCD_CS           PB4            /* port pin used for /CS (optional) */
#define LCD_SCL          PB7            /* port pin used for SCL */
#define LCD_SCL          PB7            /* port pin used for SCL */
#define LCD_SI           PB5            /* port pin used for SI (data input) */
#define LCD_SI           PB5            /* port pin used for SI (data input) */
/* display settings */
/* display settings */
#define LCD_DOTS_X       128            /* number of horizontal dots */
#define LCD_DOTS_X       128            /* number of horizontal dots */
#define LCD_DOTS_Y       64             /* number of vertical dots */
#define LCD_DOTS_Y       64             /* number of vertical dots */
#define LCD_OFFSET_X     2              /* enable x offset of 2 or 4 dots */
#define LCD_OFFSET_X     2              /* enable x offset of 2 or 4 dots */
#define LCD_FLIP_X                      /* enable horizontal flip */
#define LCD_FLIP_X                      /* enable horizontal flip */
#define LCD_FLIP_Y                      /* enable vertical flip */
#define LCD_FLIP_Y                      /* enable vertical flip */
#define LCD_CONTRAST     127            /* default contrast (0-255) */
#define LCD_CONTRAST     127            /* default contrast (0-255) */
/* font and symbols: vertically aligned & flipped, bank-wise grouping */
/* font and symbols: vertically aligned & flipped, bank-wise grouping */
#define FONT_8X8_VF                     /* 8x8 font */
#define FONT_8X8_VF                     /* 8x8 font */
#define SYMBOLS_24X24_VFP               /* 24x24 symbols */
#define SYMBOLS_24X24_VFP               /* 24x24 symbols */
/* SPI bus */
/* SPI bus */
#define SPI_BITBANG                     /* bit-bang SPI */
#define SPI_BITBANG                     /* bit-bang SPI */
#define SPI_9                           /* support 9 bit frames */
#define SPI_9                           /* support 9 bit frames */
#define SPI_PORT         LCD_PORT       /* SPI port data register */
#define SPI_PORT         LCD_PORT       /* SPI port data register */
#define SPI_DDR          LCD_DDR        /* SPI port data direction register */
#define SPI_DDR          LCD_DDR        /* SPI port data direction register */
#define SPI_SCK          LCD_SCL        /* port pin used for SCK */
#define SPI_SCK          LCD_SCL        /* port pin used for SCK */
#define SPI_MOSI         LCD_SI         /* port pin used for MOSI */
#define SPI_MOSI         LCD_SI         /* port pin used for MOSI */
#endif
#endif
/*
/*
 *  SH1106
 *  SH1106
 *  - I2C interface using hardware I2C
 *  - I2C interface using hardware I2C
 */
 */
#if 0
#if 0
#define LCD_SH1106                      /* display controller SH1106 */
#define LCD_SH1106                      /* display controller SH1106 */
#define LCD_GRAPHIC                     /* graphic display */
#define LCD_GRAPHIC                     /* graphic display */
#define LCD_I2C                         /* I2C interface */
#define LCD_I2C                         /* I2C interface */
#define LCD_I2C_ADDR     0x3c           /* SH1106's I2C address */
#define LCD_I2C_ADDR     0x3c           /* SH1106's I2C address */
/* control lines */
/* control lines */
#define LCD_PORT         PORTB          /* port data register */
#define LCD_PORT         PORTB          /* port data register */
#define LCD_DDR          DDRB           /* port data direction register */
#define LCD_DDR          DDRB           /* port data direction register */
//#define LCD_RESET        PB2            /* port pin used for /RES (optional) */
//#define LCD_RESET        PB2            /* port pin used for /RES (optional) */
/* display settings */
/* display settings */
#define LCD_DOTS_X       128            /* number of horizontal dots */
#define LCD_DOTS_X       128            /* number of horizontal dots */
#define LCD_DOTS_Y       64             /* number of vertical dots */
#define LCD_DOTS_Y       64             /* number of vertical dots */
#define LCD_OFFSET_X     2              /* enable x offset of 2 or 4 dots */
#define LCD_OFFSET_X     2              /* enable x offset of 2 or 4 dots */
#define LCD_FLIP_X                      /* enable horizontal flip */
#define LCD_FLIP_X                      /* enable horizontal flip */
#define LCD_FLIP_Y                      /* enable vertical flip */
#define LCD_FLIP_Y                      /* enable vertical flip */
#define LCD_CONTRAST     127            /* default contrast (0-255) */
#define LCD_CONTRAST     127            /* default contrast (0-255) */
/* font and symbols: vertically aligned & flipped, bank-wise grouping */
/* font and symbols: vertically aligned & flipped, bank-wise grouping */
#define FONT_8X8_VF                     /* 8x8 font */
#define FONT_8X8_VF                     /* 8x8 font */
#define SYMBOLS_24X24_VFP               /* 24x24 symbols */
#define SYMBOLS_24X24_VFP               /* 24x24 symbols */
/* I2C bus */
/* I2C bus */
#define I2C_HARDWARE                    /* hardware I2C (MCU's TWI) */
#define I2C_HARDWARE                    /* hardware I2C (MCU's TWI) */
#define I2C_STANDARD_MODE               /* 100kHz bus speed */
#define I2C_STANDARD_MODE               /* 100kHz bus speed */
#endif
#endif
/*
/*
 *  SSD1306
 *  SSD1306
 *  - 4 wire SPI interface using hardware SPI
 *  - 4 wire SPI interface using hardware SPI
 */
 */
#if 0
#if 0
#define LCD_SSD1306                     /* display controller SSD1306 */
#define LCD_SSD1306                     /* display controller SSD1306 */
#define LCD_GRAPHIC                     /* graphic display */
#define LCD_GRAPHIC                     /* graphic display */
#define LCD_SPI                         /* SPI interface */
#define LCD_SPI                         /* SPI interface */
/* control and data lines */
/* control and data lines */
#define LCD_PORT         PORTB          /* port data register */
#define LCD_PORT         PORTB          /* port data register */
#define LCD_DDR          DDRB           /* port data direction register */
#define LCD_DDR          DDRB           /* port data direction register */
#define LCD_RESET        PB2            /* port pin used for /RES (optional) */
#define LCD_RESET        PB2            /* port pin used for /RES (optional) */
#define LCD_CS           PB4            /* port pin used for /CS (optional) */
#define LCD_CS           PB4            /* port pin used for /CS (optional) */
#define LCD_DC           PB3            /* port pin used for D/C */
#define LCD_DC           PB3            /* port pin used for D/C */
#define LCD_SCLK         PB7            /* port pin used for SCLK */
#define LCD_SCLK         PB7            /* port pin used for SCLK */
#define LCD_SDIN         PB5            /* port pin used for SDIN (data input) */
#define LCD_SDIN         PB5            /* port pin used for SDIN (data input) */
/* display settings */
/* display settings */
#define LCD_DOTS_X       128            /* number of horizontal dots */
#define LCD_DOTS_X       128            /* number of horizontal dots */
#define LCD_DOTS_Y       64             /* number of vertical dots */
#define LCD_DOTS_Y       64             /* number of vertical dots */
#define LCD_FLIP_X                      /* enable horizontal flip */
#define LCD_FLIP_X                      /* enable horizontal flip */
#define LCD_FLIP_Y                      /* enable vertical flip */
#define LCD_FLIP_Y                      /* enable vertical flip */
#define LCD_CONTRAST     127            /* default contrast (0-255) */
#define LCD_CONTRAST     127            /* default contrast (0-255) */
/* font and symbols: vertically aligned & flipped, bank-wise grouping */
/* font and symbols: vertically aligned & flipped, bank-wise grouping */
//#define FONT_6X8_VF                      /* 6x8 font */
//#define FONT_6X8_VF                      /* 6x8 font */
#define FONT_8X8_VF                     /* 8x8 font */
#define FONT_8X8_VF                     /* 8x8 font */
//#define FONT_8X16_VFP                   /* 8x16 font */
//#define FONT_8X16_VFP                   /* 8x16 font */
//#define FONT_6X8_ISO8859_2_VF           /* 6x8 Central European font */
//#define FONT_6X8_ISO8859_2_VF           /* 6x8 Central European font */
//#define FONT_8X8_ISO8859_2_VF           /* 8x8 Central European font */
//#define FONT_8X8_ISO8859_2_VF           /* 8x8 Central European font */
//#define FONT_8X12T_ISO8859_2_VFP        /* thin 8x12 Central European font */
//#define FONT_8X12T_ISO8859_2_VFP        /* thin 8x12 Central European font */
//#define FONT_8X16_ISO8859_2_VFP         /* 8x16 Central European font */
//#define FONT_8X16_ISO8859_2_VFP         /* 8x16 Central European font */
//#define FONT_8X8_WIN1251_VF             /* 8x8 cyrillic font */
//#define FONT_8X8_WIN1251_VF             /* 8x8 cyrillic font */
//#define FONT_8X8ALT_WIN1251_VF          /* 8x8 alternative cyrillic font */
//#define FONT_8X8ALT_WIN1251_VF          /* 8x8 alternative cyrillic font */
//#define FONT_8X8T_WIN1251_VF            /* thin 8x8 cyrillic font */
//#define FONT_8X8T_WIN1251_VF            /* thin 8x8 cyrillic font */
//#define FONT_8X12T_WIN1251_VFP          /* thin 8x12 cyrillic font */
//#define FONT_8X12T_WIN1251_VFP          /* thin 8x12 cyrillic font */
//#define FONT_8X16_WIN1251_VFP           /* 8x16 cyrillic font */
//#define FONT_8X16_WIN1251_VFP           /* 8x16 cyrillic font */
#define SYMBOLS_24X24_VFP               /* 24x24 symbols */
#define SYMBOLS_24X24_VFP               /* 24x24 symbols */
/* SPI bus */
/* SPI bus */
#define SPI_HARDWARE                    /* hardware SPI */
#define SPI_HARDWARE                    /* hardware SPI */
#endif
#endif
/*
/*
 *  SSD1306
 *  SSD1306
 *  - 3 wire SPI interface using bit-bang SPI
 *  - 3 wire SPI interface using bit-bang SPI
 */
 */
#if 0
#if 0
#define LCD_SSD1306                     /* display controller SSD1306 */
#define LCD_SSD1306                     /* display controller SSD1306 */
#define LCD_GRAPHIC                     /* graphic display */
#define LCD_GRAPHIC                     /* graphic display */
#define LCD_SPI                         /* SPI interface */
#define LCD_SPI                         /* SPI interface */
/* control and data lines */
/* control and data lines */
#define LCD_PORT         PORTB          /* port data register */
#define LCD_PORT         PORTB          /* port data register */
#define LCD_DDR          DDRB           /* port data direction register */
#define LCD_DDR          DDRB           /* port data direction register */
#define LCD_RESET        PB2            /* port pin used for /RES (optional) */
#define LCD_RESET        PB2            /* port pin used for /RES (optional) */
#define LCD_CS           PB4            /* port pin used for /CS (optional) */
#define LCD_CS           PB4            /* port pin used for /CS (optional) */
#define LCD_SCLK         PB7            /* port pin used for SCLK */
#define LCD_SCLK         PB7            /* port pin used for SCLK */
#define LCD_SDIN         PB5            /* port pin used for SDIN (data input) */
#define LCD_SDIN         PB5            /* port pin used for SDIN (data input) */
/* display settings */
/* display settings */
#define LCD_DOTS_X       128            /* number of horizontal dots */
#define LCD_DOTS_X       128            /* number of horizontal dots */
#define LCD_DOTS_Y       64             /* number of vertical dots */
#define LCD_DOTS_Y       64             /* number of vertical dots */
#define LCD_FLIP_X                      /* enable horizontal flip */
#define LCD_FLIP_X                      /* enable horizontal flip */
#define LCD_FLIP_Y                      /* enable vertical flip */
#define LCD_FLIP_Y                      /* enable vertical flip */
#define LCD_CONTRAST     127            /* default contrast (0-255) */
#define LCD_CONTRAST     127            /* default contrast (0-255) */
/* font and symbols: vertically aligned & flipped, bank-wise grouping *
/* font and symbols: vertically aligned & flipped, bank-wise grouping */
#defi