Cleanup remaining warnings.
This commit is contained in:
parent
74404b1a44
commit
75b51f0c7c
@ -1,13 +1,13 @@
|
|||||||
|
|
||||||
#include "display.h"
|
|
||||||
#include "ssd1306.h"
|
|
||||||
|
|
||||||
#include <esp_timer.h>
|
#include <esp_timer.h>
|
||||||
|
|
||||||
#include <lv_init.h>
|
#include <lv_init.h>
|
||||||
|
|
||||||
#include <mutex>
|
#include <mutex>
|
||||||
|
|
||||||
|
#include "display.h"
|
||||||
|
#include "ssd1306.h"
|
||||||
|
|
||||||
// LVGL library is not thread-safe, this example calls LVGL APIs from tasks.
|
// LVGL library is not thread-safe, this example calls LVGL APIs from tasks.
|
||||||
// We must use a mutex to protect it.
|
// We must use a mutex to protect it.
|
||||||
_lock_t Display::ScopedLock::lv_lock_;
|
_lock_t Display::ScopedLock::lv_lock_;
|
||||||
@ -30,11 +30,9 @@ Display::Display(IPanelDevice &device) :
|
|||||||
lv_display_set_user_data(lv_display_, panel_.esp_panel_);
|
lv_display_set_user_data(lv_display_, panel_.esp_panel_);
|
||||||
|
|
||||||
register_draw_buffer();
|
register_draw_buffer();
|
||||||
|
|
||||||
register_lvgl_tick_timer();
|
register_lvgl_tick_timer();
|
||||||
|
|
||||||
// TODO: What is this
|
ESP_LOGI(TAG, "Create LVGL FreeRTOS task");
|
||||||
ESP_LOGI(TAG, "Create LVGL task");
|
|
||||||
xTaskCreate(Display::lvgl_port_task, "LVGL", LVGL_TASK_STACK_SIZE,
|
xTaskCreate(Display::lvgl_port_task, "LVGL", LVGL_TASK_STACK_SIZE,
|
||||||
nullptr, LVGL_TASK_PRIORITY, nullptr);
|
nullptr, LVGL_TASK_PRIORITY, nullptr);
|
||||||
}
|
}
|
||||||
|
@ -1,10 +1,11 @@
|
|||||||
#ifndef DISPLAY_H
|
#ifndef DISPLAY_H
|
||||||
#define DISPLAY_H
|
#define DISPLAY_H
|
||||||
|
|
||||||
|
#include <esp_timer.h>
|
||||||
|
|
||||||
#include <widgets/label/lv_label.h>
|
#include <widgets/label/lv_label.h>
|
||||||
|
|
||||||
#include <unordered_map>
|
#include <unordered_map>
|
||||||
#include <esp_timer.h>
|
|
||||||
#include <memory>
|
#include <memory>
|
||||||
|
|
||||||
#include "panel.h"
|
#include "panel.h"
|
||||||
@ -51,7 +52,7 @@ class Display {
|
|||||||
return &managed_timers_.at(name);
|
return &managed_timers_.at(name);
|
||||||
}
|
}
|
||||||
|
|
||||||
TimerHandle operator[](const char * name) { return get_handle(name); }
|
TimerHandle operator[](const char *name) { return get_handle(name); }
|
||||||
|
|
||||||
TimerHandle create_timer(esp_timer_create_args_t args)
|
TimerHandle create_timer(esp_timer_create_args_t args)
|
||||||
{
|
{
|
||||||
@ -144,7 +145,7 @@ public:
|
|||||||
private:
|
private:
|
||||||
void register_draw_buffer();
|
void register_draw_buffer();
|
||||||
|
|
||||||
void register_lvgl_tick_timer();
|
static void register_lvgl_tick_timer();
|
||||||
|
|
||||||
Panel panel_;
|
Panel panel_;
|
||||||
|
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
// To use LV_COLOR_FORMAT_I1 we need an extra buffer to hold the converted data.
|
// To use LV_COLOR_FORMAT_I1 we need an extra buffer to hold the converted data.
|
||||||
uint8_t SSD1306::oled_buffer_[LCD_H_RES * LCD_V_RES / 8];
|
uint8_t SSD1306::oled_buffer_[LCD_H_RES * LCD_V_RES / 8];
|
||||||
|
|
||||||
SSD1306::SSD1306(I2C& i2c,
|
SSD1306::SSD1306(I2C &i2c,
|
||||||
esp_lcd_panel_ssd1306_config_t config,
|
esp_lcd_panel_ssd1306_config_t config,
|
||||||
int width,
|
int width,
|
||||||
int height) :
|
int height) :
|
||||||
@ -14,11 +14,10 @@ SSD1306::SSD1306(I2C& i2c,
|
|||||||
.control_phase_bytes = 1,
|
.control_phase_bytes = 1,
|
||||||
.dc_bit_offset = 6,
|
.dc_bit_offset = 6,
|
||||||
.lcd_cmd_bits = LCD_CMD_BITS,
|
.lcd_cmd_bits = LCD_CMD_BITS,
|
||||||
.lcd_param_bits = LCD_CMD_BITS,
|
.lcd_param_bits = LCD_PARAM_BITS,
|
||||||
.scl_speed_hz = LCD_PIXEL_CLOCK_HZ,
|
.scl_speed_hz = LCD_PIXEL_CLOCK_HZ,
|
||||||
},
|
},
|
||||||
width,
|
width,
|
||||||
height
|
height
|
||||||
),
|
),
|
||||||
ssd1306_config_(config)
|
ssd1306_config_(config) { }
|
||||||
{ }
|
|
||||||
|
@ -20,17 +20,17 @@
|
|||||||
|
|
||||||
// According to SSD1306 datasheet
|
// According to SSD1306 datasheet
|
||||||
// https://www.digikey.com/en/products/detail/winstar-display/WEA012864DWPP3N00003/20533255
|
// https://www.digikey.com/en/products/detail/winstar-display/WEA012864DWPP3N00003/20533255
|
||||||
// Bit number used to represent command and parameter
|
|
||||||
#define SCREEN_WIDTH 128 // OLED display width, in pixels.
|
#define SCREEN_WIDTH 128 // OLED display width, in pixels.
|
||||||
#define SCREEN_HEIGHT 64 // OLED display height, in pixels.
|
#define SCREEN_HEIGHT 64 // OLED display height, in pixels.
|
||||||
#define LCD_H_RES SCREEN_WIDTH
|
#define LCD_H_RES SCREEN_WIDTH
|
||||||
#define LCD_V_RES SCREEN_HEIGHT
|
#define LCD_V_RES SCREEN_HEIGHT
|
||||||
#define I2C_HW_ADDR 0x3C
|
#define I2C_HW_ADDR 0x3C
|
||||||
#define LCD_PIXEL_CLOCK_HZ (400 * 1000)
|
#define LCD_PIXEL_CLOCK_HZ (400 * 1000)
|
||||||
|
// Bit number used to represent command and parameter
|
||||||
#define LCD_CMD_BITS 8
|
#define LCD_CMD_BITS 8
|
||||||
#define LCD_PARAM_BITS 8
|
#define LCD_PARAM_BITS 8
|
||||||
|
|
||||||
class SSD1306 : public IPanelDevice {
|
class SSD1306 final : public IPanelDevice {
|
||||||
public:
|
public:
|
||||||
// Constructors allow overriding ssd1306 config.
|
// Constructors allow overriding ssd1306 config.
|
||||||
explicit SSD1306(I2C &i2c) :
|
explicit SSD1306(I2C &i2c) :
|
||||||
@ -42,7 +42,7 @@ public:
|
|||||||
int height = SCREEN_HEIGHT
|
int height = SCREEN_HEIGHT
|
||||||
);
|
);
|
||||||
|
|
||||||
virtual ~SSD1306() = default;
|
~SSD1306() final = default;
|
||||||
|
|
||||||
void *vendor_config() override
|
void *vendor_config() override
|
||||||
{
|
{
|
||||||
|
Loading…
x
Reference in New Issue
Block a user