oled_config.h 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  1. #ifndef __OLED_CONFIG_H
  2. #define __OLED_CONFIG_H
  3. // Интерфейс экрана
  4. #define I2C_BRIDGE
  5. // Интерфейс экрана
  6. //#define SPI_BRIDGE
  7. #define OLED_RST_PIN GPIO_PIN_5
  8. #define OLED_RST_PORT GPIOA
  9. #define OLED_DC_PIN GPIO_PIN_6
  10. #define OLED_DC_PORT GPIOA
  11. #define OLED_RST_0 HAL_GPIO_WritePin(OLED_RST_PORT, OLED_RST_PIN, GPIO_PIN_RESET)
  12. #define OLED_RST_1 HAL_GPIO_WritePin(OLED_RST_PORT, OLED_RST_PIN, GPIO_PIN_SET)
  13. #define OLED_DC_0 HAL_GPIO_WritePin(OLED_DC_PORT, OLED_DC_PIN, GPIO_PIN_RESET)
  14. #define OLED_DC_1 HAL_GPIO_WritePin(OLED_DC_PORT, OLED_DC_PIN, GPIO_PIN_SET)
  15. #define OLED_CS_0 HAL_GPIO_WritePin(OLED_SPI_CS_PORT, OLED_SPI_CS_PIN, GPIO_PIN_RESET)
  16. #define OLED_CS_1 HAL_GPIO_WritePin(OLED_SPI_CS_PORT, OLED_SPI_CS_PIN, GPIO_PIN_SET)
  17. // SPI settings
  18. #define OLED_SPI_SCK_PORT GPIOB
  19. #define OLED_SPI_SCK_PIN GPIO_PIN_13
  20. #define OLED_SPI_SCK_AF GPIO_AF5_SPI2
  21. #define OLED_SPI_CS_PORT GPIOB
  22. #define OLED_SPI_CS_PIN GPIO_PIN_12
  23. #define OLED_SPI_MOSI_PORT GPIOB
  24. #define OLED_SPI_MOSI_PIN GPIO_PIN_15
  25. #define OLED_SPI_MOSI_AF GPIO_AF5_SPI2
  26. #define OLED_SPI_MISO_PORT GPIOB
  27. #define OLED_SPI_MISO_PIN GPIO_PIN_14
  28. #define OLED_SPI_MISO_AF GPIO_AF5_SPI2
  29. // OLED settings
  30. #define OLED_I2C_ADDR 0x7A
  31. #define OLED_HEIGHT 128
  32. #define OLED_WIDTH 128
  33. #define OLED_BUF_SIZE 8192 // OLED_HEIGHT * OLED_WIDTH / 2
  34. #define SSD1327_SETCOLUMNADDRESS 0x15
  35. #define SSD1327_SETROWADDRESS 0x75
  36. #define SSD1327_SETCONTRASTCURRENT 0x81
  37. #define SSD1327_NOP 0x84
  38. #define SSD1327_SEGREMAP 0xA0
  39. #define SSD1327_SETDISPLAYSTARTLINE 0xA1
  40. #define SSD1327_SETDISPLAYOFFSET 0xA2
  41. #define SSD1327_DISPLAYALLON_RESUME 0xA4
  42. #define SSD1327_DISPLAYALLON 0xA5
  43. #define SSD1327_NORMALDISPLAY 0xA6
  44. #define SSD1327_INVERTDISPLAY 0xA7
  45. #define SSD1327_SETMULTIPLEX 0xA8
  46. #define SSD1327_FUNCTIONSELECTIONA 0xAB
  47. #define SSD1327_DISPLAYOFF 0xAE
  48. #define SSD1327_DISPLAYON 0xAF
  49. #define SSD1327_SETPHASELENGTH 0xB1
  50. #define SSD1327_SETFRONTCLOCKDIVIDER_OSCILLATORFREQUENCY 0xB3
  51. #define SSD1327_SETGPIO 0xB5
  52. #define SSD1327_SETSECONDPRECHARGEPERTIOD 0xB6
  53. #define SSD1327_SETGRAYSCALETABLE 0xB8
  54. #define SSD1327_SELECTDEFAULTLINEARGRAYSCALETABLE 0xB9
  55. #define SSD1327_SETPRECHARGEVOLTAGE 0xBC
  56. #define SSD1327_SETSETVCOMVOLTAGE 0xBE
  57. #define SSD1327_FUNCTIONSELECTIONB 0xD5
  58. #define SSD1327_SETCOMMANDLOCK 0xFD
  59. //
  60. // Scrolling #defines
  61. //
  62. #define SSD1327_ACTIVATE_SCROLL 0x2F
  63. #define SSD1327_DEACTIVATE_SCROLL 0x2E
  64. #define SSD1327_RIGHT_HORIZONTAL_SCROLL 0x26
  65. #define SSD1327_LEFT_HORIZONTAL_SCROLL 0x27
  66. // Colors
  67. #define BLACK 0
  68. #define WHITE 15
  69. // Scrolling enums
  70. typedef enum
  71. {
  72. SCROLL_EVERY_5_FRAMES,
  73. SCROLL_EVERY_64_FRAMES,
  74. SCROLL_EVERY_128_FRAMES,
  75. SCROLL_EVERY_256_FRAMES,
  76. SCROLL_EVERY_3_FRAMES,
  77. SCROLL_EVERY_4_FRAMES,
  78. SCROLL_EVERY_25_FRAMES,
  79. SCROLL_EVERY_2_FRAMES,
  80. } scroll_horizontal_speed;
  81. #endif // __OLED_CONFIG_H