d896657bf9
Device migrations: - cyd-4848S040c - guition-jc1060p470ciwy - guition-jc2432w328c - guition-jc3248w535c (known issue with display and touch, Shadowtrance will look into it) - guition-jc8048w550c - heltec-wifi-lora-32-v3 - lilygo-tdeck-max (excluding graphics) - lilygo-tdisplay - lilygo-tdisplay-s3 - lilygo-tdongle-s3 - lilygo-tlora-pager Driver migrations: - Implemented haptic driver interface in kernel - AXS15231b - BQ25896 - BQ27220 - CST328 - CST6xx - DRV2605 - JD9165 - Custom LilyGO driver for T-Lora Pager - SSD1306 - ST7701 - ST7735 - SY6970 - TCA8418 Fixes/improvements: - Boot app: support for multiple power devices, improved UI - lvgl_devices and related code: fixes for mapping - Support for arrays in dts parser
39 lines
1.1 KiB
C
39 lines
1.1 KiB
C
// SPDX-License-Identifier: Apache-2.0
|
|
#pragma once
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
#include <stdint.h>
|
|
#include <stdbool.h>
|
|
|
|
#include <tactility/device.h>
|
|
#include <tactility/drivers/gpio.h>
|
|
|
|
struct Ssd1306Config {
|
|
// Devicetree address hint - unlike this repo's other I2C touch chips (which sit at a fixed
|
|
// address), the SSD1306's address genuinely varies by hardware strap (0x3C or 0x3D), so this
|
|
// is actually used, not just documentation.
|
|
uint8_t address;
|
|
uint16_t horizontal_resolution;
|
|
uint16_t vertical_resolution;
|
|
bool invert_color;
|
|
|
|
// Reset pin. GPIO_PIN_SPEC_NONE skips the reset toggle entirely.
|
|
struct GpioPinSpec pin_reset;
|
|
bool reset_active_high;
|
|
|
|
// See the 'power-on-delay-ms' binding property.
|
|
uint32_t power_on_delay_ms;
|
|
|
|
// Custom vendor init sequence: a flat list of command bytes, each sent as its own
|
|
// single-byte SSD1306 command. NULL/0 falls back to the standard esp_lcd_panel_init().
|
|
const uint8_t* init_sequence;
|
|
uint32_t init_sequence_length;
|
|
};
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|