esphome 2024.8.2__py3-none-any.whl → 2024.9.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- esphome/__main__.py +6 -2
- esphome/components/api/api_connection.cpp +53 -0
- esphome/components/api/api_connection.h +4 -0
- esphome/components/api/api_pb2.cpp +280 -0
- esphome/components/api/api_pb2.h +91 -0
- esphome/components/api/api_pb2_service.cpp +85 -0
- esphome/components/api/api_pb2_service.h +28 -0
- esphome/components/async_tcp/__init__.py +3 -3
- esphome/components/atm90e26/sensor.py +10 -10
- esphome/components/atm90e32/sensor.py +1 -1
- esphome/components/bl0906/__init__.py +1 -0
- esphome/components/bl0906/bl0906.cpp +238 -0
- esphome/components/bl0906/bl0906.h +96 -0
- esphome/components/bl0906/const.py +4 -0
- esphome/components/bl0906/constants.h +122 -0
- esphome/components/bl0906/sensor.py +184 -0
- esphome/components/bl0942/__init__.py +1 -1
- esphome/components/bl0942/bl0942.cpp +127 -34
- esphome/components/bl0942/bl0942.h +87 -3
- esphome/components/bl0942/sensor.py +46 -8
- esphome/components/ble_client/__init__.py +1 -3
- esphome/components/ble_presence/binary_sensor.py +2 -2
- esphome/components/bluetooth_proxy/bluetooth_proxy.cpp +5 -0
- esphome/components/bmp280/sensor.py +2 -93
- esphome/components/bmp280_base/__init__.py +88 -0
- esphome/components/{bmp280/bmp280.cpp → bmp280_base/bmp280_base.cpp} +11 -4
- esphome/components/{bmp280/bmp280.h → bmp280_base/bmp280_base.h} +9 -5
- esphome/components/bmp280_i2c/__init__.py +0 -0
- esphome/components/bmp280_i2c/bmp280_i2c.cpp +27 -0
- esphome/components/bmp280_i2c/bmp280_i2c.h +22 -0
- esphome/components/bmp280_i2c/sensor.py +22 -0
- esphome/components/bmp280_spi/__init__.py +0 -0
- esphome/components/bmp280_spi/bmp280_spi.cpp +65 -0
- esphome/components/bmp280_spi/bmp280_spi.h +20 -0
- esphome/components/bmp280_spi/sensor.py +22 -0
- esphome/components/captive_portal/captive_portal.cpp +2 -0
- esphome/components/captive_portal/captive_portal.h +3 -1
- esphome/components/ch422g/__init__.py +67 -0
- esphome/components/ch422g/ch422g.cpp +122 -0
- esphome/components/ch422g/ch422g.h +70 -0
- esphome/components/debug/debug_esp32.cpp +3 -1
- esphome/components/display/__init__.py +5 -4
- esphome/components/dsmr/dsmr.cpp +6 -0
- esphome/components/dsmr/dsmr.h +6 -0
- esphome/components/dsmr/text_sensor.py +7 -2
- esphome/components/e131/e131.cpp +2 -0
- esphome/components/e131/e131.h +3 -1
- esphome/components/e131/e131_addressable_light_effect.cpp +2 -0
- esphome/components/e131/e131_addressable_light_effect.h +2 -1
- esphome/components/e131/e131_packet.cpp +2 -0
- esphome/components/esp32_ble/ble_uuid.cpp +7 -0
- esphome/components/esp32_ble/ble_uuid.h +1 -0
- esphome/components/esp32_ble_tracker/esp32_ble_tracker.cpp +11 -9
- esphome/components/esp32_ble_tracker/esp32_ble_tracker.h +3 -3
- esphome/components/esp32_camera/__init__.py +4 -0
- esphome/components/esp32_camera/esp32_camera.cpp +9 -1
- esphome/components/esp32_camera/esp32_camera.h +3 -0
- esphome/components/esp32_can/canbus.py +18 -7
- esphome/components/esp32_can/esp32_can.cpp +8 -0
- esphome/components/esp32_can/esp32_can.h +4 -0
- esphome/components/esp32_rmt_led_strip/led_strip.cpp +14 -2
- esphome/components/esp32_rmt_led_strip/led_strip.h +3 -2
- esphome/components/esp32_rmt_led_strip/light.py +21 -4
- esphome/components/esphome/ota/ota_esphome.cpp +2 -1
- esphome/components/esphome/ota/ota_esphome.h +2 -0
- esphome/components/font/__init__.py +11 -22
- esphome/components/font/font.cpp +3 -2
- esphome/components/font/font.h +12 -3
- esphome/components/gree/climate.py +2 -1
- esphome/components/gree/gree.cpp +54 -3
- esphome/components/gree/gree.h +10 -2
- esphome/components/gt911/touchscreen/__init__.py +6 -4
- esphome/components/gt911/touchscreen/gt911_touchscreen.cpp +17 -0
- esphome/components/gt911/touchscreen/gt911_touchscreen.h +2 -0
- esphome/components/hmac_md5/__init__.py +2 -0
- esphome/components/hmac_md5/hmac_md5.cpp +56 -0
- esphome/components/hmac_md5/hmac_md5.h +48 -0
- esphome/components/homeassistant/__init__.py +13 -0
- esphome/components/homeassistant/switch/__init__.py +15 -2
- esphome/components/homeassistant/switch/homeassistant_switch.cpp +2 -2
- esphome/components/i2s_audio/__init__.py +88 -9
- esphome/components/i2s_audio/i2s_audio.h +20 -2
- esphome/components/i2s_audio/media_player/__init__.py +8 -4
- esphome/components/i2s_audio/media_player/i2s_audio_media_player.h +1 -1
- esphome/components/i2s_audio/microphone/__init__.py +19 -51
- esphome/components/i2s_audio/microphone/i2s_audio_microphone.cpp +18 -15
- esphome/components/i2s_audio/microphone/i2s_audio_microphone.h +0 -12
- esphome/components/i2s_audio/speaker/__init__.py +39 -27
- esphome/components/i2s_audio/speaker/i2s_audio_speaker.cpp +49 -37
- esphome/components/i2s_audio/speaker/i2s_audio_speaker.h +3 -4
- esphome/components/ili9xxx/display.py +16 -17
- esphome/components/ili9xxx/ili9xxx_display.cpp +1 -1
- esphome/components/ili9xxx/ili9xxx_display.h +18 -18
- esphome/components/ili9xxx/ili9xxx_init.h +0 -3
- esphome/components/improv_serial/improv_serial_component.cpp +2 -1
- esphome/components/improv_serial/improv_serial_component.h +2 -1
- esphome/components/ledc/ledc_output.cpp +11 -7
- esphome/components/libretiny/__init__.py +8 -13
- esphome/components/ltr501/__init__.py +1 -0
- esphome/components/ltr501/ltr501.cpp +542 -0
- esphome/components/ltr501/ltr501.h +184 -0
- esphome/components/ltr501/ltr_definitions_501.h +260 -0
- esphome/components/ltr501/sensor.py +274 -0
- esphome/components/ltr_als_ps/sensor.py +2 -2
- esphome/components/lvgl/__init__.py +19 -16
- esphome/components/lvgl/automation.py +90 -9
- esphome/components/lvgl/defines.py +29 -2
- esphome/components/lvgl/gradient.py +61 -0
- esphome/components/lvgl/lv_validation.py +45 -27
- esphome/components/lvgl/lvcode.py +8 -3
- esphome/components/lvgl/lvgl_esphome.cpp +54 -0
- esphome/components/lvgl/lvgl_esphome.h +9 -3
- esphome/components/lvgl/number/__init__.py +1 -0
- esphome/components/lvgl/number/lvgl_number.h +3 -1
- esphome/components/lvgl/schemas.py +16 -11
- esphome/components/lvgl/select/__init__.py +1 -0
- esphome/components/lvgl/select/lvgl_select.h +3 -1
- esphome/components/lvgl/switch/__init__.py +2 -1
- esphome/components/lvgl/switch/lvgl_switch.h +3 -1
- esphome/components/lvgl/text/__init__.py +1 -0
- esphome/components/lvgl/text/lvgl_text.h +3 -1
- esphome/components/lvgl/trigger.py +3 -2
- esphome/components/lvgl/types.py +2 -1
- esphome/components/lvgl/widgets/__init__.py +23 -8
- esphome/components/lvgl/widgets/arc.py +5 -1
- esphome/components/lvgl/widgets/buttonmatrix.py +5 -1
- esphome/components/lvgl/widgets/checkbox.py +8 -3
- esphome/components/lvgl/widgets/meter.py +8 -1
- esphome/components/lvgl/widgets/msgbox.py +26 -15
- esphome/components/lvgl/widgets/page.py +51 -7
- esphome/components/lvgl/widgets/tileview.py +2 -8
- esphome/components/max31856/max31856.cpp +12 -1
- esphome/components/max31856/max31856.h +5 -2
- esphome/components/max31856/sensor.py +20 -0
- esphome/components/mcp9600/sensor.py +2 -2
- esphome/components/mdns/__init__.py +6 -6
- esphome/components/media_player/media_player.h +16 -0
- esphome/components/micro_wake_word/__init__.py +2 -25
- esphome/components/microphone/microphone.h +1 -1
- esphome/components/mics_4514/mics_4514.cpp +26 -36
- esphome/components/modbus_controller/__init__.py +6 -0
- esphome/components/modbus_controller/const.py +2 -0
- esphome/components/modbus_controller/modbus_controller.cpp +30 -27
- esphome/components/modbus_controller/modbus_controller.h +22 -4
- esphome/components/network/__init__.py +11 -8
- esphome/components/pipsolar/pipsolar.cpp +3 -0
- esphome/components/pipsolar/pipsolar.h +1 -0
- esphome/components/pipsolar/switch/__init__.py +2 -0
- esphome/components/prometheus/prometheus_handler.cpp +2 -0
- esphome/components/prometheus/prometheus_handler.h +3 -1
- esphome/components/rp2040/__init__.py +7 -8
- esphome/components/rpi_dpi_rgb/display.py +20 -17
- esphome/components/rpi_dpi_rgb/rpi_dpi_rgb.cpp +36 -6
- esphome/components/rpi_dpi_rgb/rpi_dpi_rgb.h +4 -0
- esphome/components/socket/socket.cpp +2 -0
- esphome/components/socket/socket.h +2 -0
- esphome/components/speaker/speaker.h +1 -1
- esphome/components/st7701s/display.py +35 -37
- esphome/components/st7701s/st7701s.cpp +11 -6
- esphome/components/st7701s/st7701s.h +1 -0
- esphome/components/statsd/__init__.py +65 -0
- esphome/components/statsd/statsd.cpp +156 -0
- esphome/components/statsd/statsd.h +86 -0
- esphome/components/tuya/__init__.py +1 -0
- esphome/components/tuya/number/__init__.py +39 -2
- esphome/components/tuya/number/tuya_number.cpp +58 -2
- esphome/components/tuya/number/tuya_number.h +12 -3
- esphome/components/udp/__init__.py +158 -0
- esphome/components/udp/binary_sensor.py +27 -0
- esphome/components/udp/sensor.py +27 -0
- esphome/components/udp/udp_component.cpp +616 -0
- esphome/components/udp/udp_component.h +158 -0
- esphome/components/uponor_smatrix/uponor_smatrix.cpp +4 -6
- esphome/components/uponor_smatrix/uponor_smatrix.h +0 -1
- esphome/components/veml7700/sensor.py +2 -2
- esphome/components/voice_assistant/__init__.py +6 -0
- esphome/components/voice_assistant/voice_assistant.cpp +24 -2
- esphome/components/voice_assistant/voice_assistant.h +20 -0
- esphome/components/web_server/__init__.py +11 -11
- esphome/components/web_server/list_entities.cpp +2 -0
- esphome/components/web_server/list_entities.h +3 -1
- esphome/components/web_server/web_server.cpp +2 -1
- esphome/components/web_server/web_server.h +2 -0
- esphome/components/web_server_base/web_server_base.cpp +2 -0
- esphome/components/web_server_base/web_server_base.h +3 -1
- esphome/components/wifi/wifi_component_libretiny.cpp +15 -1
- esphome/components/wireguard/__init__.py +9 -6
- esphome/components/wireguard/wireguard.cpp +2 -1
- esphome/components/wireguard/wireguard.h +3 -1
- esphome/config_validation.py +8 -0
- esphome/const.py +8 -1
- esphome/core/bytebuffer.cpp +117 -84
- esphome/core/bytebuffer.h +69 -21
- esphome/core/config.py +0 -3
- esphome/core/defines.h +2 -0
- esphome/core/ring_buffer.cpp +13 -2
- esphome/core/ring_buffer.h +56 -0
- esphome/external_files.py +5 -3
- {esphome-2024.8.2.dist-info → esphome-2024.9.0.dist-info}/METADATA +1 -1
- {esphome-2024.8.2.dist-info → esphome-2024.9.0.dist-info}/RECORD +204 -169
- {esphome-2024.8.2.dist-info → esphome-2024.9.0.dist-info}/LICENSE +0 -0
- {esphome-2024.8.2.dist-info → esphome-2024.9.0.dist-info}/WHEEL +0 -0
- {esphome-2024.8.2.dist-info → esphome-2024.9.0.dist-info}/entry_points.txt +0 -0
- {esphome-2024.8.2.dist-info → esphome-2024.9.0.dist-info}/top_level.txt +0 -0
@@ -21,7 +21,6 @@ static const size_t BUFFER_SIZE = 1024;
|
|
21
21
|
enum class TaskEventType : uint8_t {
|
22
22
|
STARTING = 0,
|
23
23
|
STARTED,
|
24
|
-
PLAYING,
|
25
24
|
STOPPING,
|
26
25
|
STOPPED,
|
27
26
|
WARNING = 255,
|
@@ -38,18 +37,18 @@ struct DataEvent {
|
|
38
37
|
uint8_t data[BUFFER_SIZE];
|
39
38
|
};
|
40
39
|
|
41
|
-
class I2SAudioSpeaker : public
|
40
|
+
class I2SAudioSpeaker : public I2SAudioOut, public speaker::Speaker, public Component {
|
42
41
|
public:
|
43
42
|
float get_setup_priority() const override { return esphome::setup_priority::LATE; }
|
44
43
|
|
45
44
|
void setup() override;
|
46
45
|
void loop() override;
|
47
46
|
|
47
|
+
void set_timeout(uint32_t ms) { this->timeout_ = ms; }
|
48
48
|
void set_dout_pin(uint8_t pin) { this->dout_pin_ = pin; }
|
49
49
|
#if SOC_I2S_SUPPORTS_DAC
|
50
50
|
void set_internal_dac_mode(i2s_dac_mode_t mode) { this->internal_dac_mode_ = mode; }
|
51
51
|
#endif
|
52
|
-
void set_external_dac_channels(uint8_t channels) { this->external_dac_channels_ = channels; }
|
53
52
|
|
54
53
|
void start() override;
|
55
54
|
void stop() override;
|
@@ -70,13 +69,13 @@ class I2SAudioSpeaker : public Component, public speaker::Speaker, public I2SAud
|
|
70
69
|
QueueHandle_t buffer_queue_;
|
71
70
|
QueueHandle_t event_queue_;
|
72
71
|
|
72
|
+
uint32_t timeout_{0};
|
73
73
|
uint8_t dout_pin_{0};
|
74
74
|
bool task_created_{false};
|
75
75
|
|
76
76
|
#if SOC_I2S_SUPPORTS_DAC
|
77
77
|
i2s_dac_mode_t internal_dac_mode_{I2S_DAC_CHANNEL_DISABLE};
|
78
78
|
#endif
|
79
|
-
uint8_t external_dac_channels_;
|
80
79
|
};
|
81
80
|
|
82
81
|
} // namespace i2s_audio
|
@@ -1,31 +1,31 @@
|
|
1
|
-
import esphome.codegen as cg
|
2
|
-
import esphome.config_validation as cv
|
3
1
|
from esphome import core, pins
|
4
|
-
|
2
|
+
import esphome.codegen as cg
|
3
|
+
from esphome.components import display, font, spi
|
5
4
|
from esphome.components.display import validate_rotation
|
6
|
-
|
5
|
+
import esphome.config_validation as cv
|
7
6
|
from esphome.const import (
|
7
|
+
CONF_COLOR_ORDER,
|
8
8
|
CONF_COLOR_PALETTE,
|
9
9
|
CONF_DC_PIN,
|
10
|
+
CONF_DIMENSIONS,
|
11
|
+
CONF_HEIGHT,
|
10
12
|
CONF_ID,
|
13
|
+
CONF_INVERT_COLORS,
|
11
14
|
CONF_LAMBDA,
|
15
|
+
CONF_MIRROR_X,
|
16
|
+
CONF_MIRROR_Y,
|
12
17
|
CONF_MODEL,
|
13
|
-
|
18
|
+
CONF_OFFSET_HEIGHT,
|
19
|
+
CONF_OFFSET_WIDTH,
|
14
20
|
CONF_PAGES,
|
21
|
+
CONF_RAW_DATA_ID,
|
15
22
|
CONF_RESET_PIN,
|
16
|
-
CONF_DIMENSIONS,
|
17
|
-
CONF_WIDTH,
|
18
|
-
CONF_HEIGHT,
|
19
23
|
CONF_ROTATION,
|
20
|
-
CONF_MIRROR_X,
|
21
|
-
CONF_MIRROR_Y,
|
22
24
|
CONF_SWAP_XY,
|
23
|
-
CONF_COLOR_ORDER,
|
24
|
-
CONF_OFFSET_HEIGHT,
|
25
|
-
CONF_OFFSET_WIDTH,
|
26
25
|
CONF_TRANSFORM,
|
27
|
-
|
26
|
+
CONF_WIDTH,
|
28
27
|
)
|
28
|
+
from esphome.core import CORE, HexInt
|
29
29
|
|
30
30
|
DEPENDENCIES = ["spi"]
|
31
31
|
|
@@ -177,7 +177,7 @@ CONFIG_SCHEMA = cv.All(
|
|
177
177
|
cv.Optional(CONF_INVERT_DISPLAY): cv.invalid(
|
178
178
|
"'invert_display' has been replaced by 'invert_colors'"
|
179
179
|
),
|
180
|
-
cv.
|
180
|
+
cv.Required(CONF_INVERT_COLORS): cv.boolean,
|
181
181
|
cv.Optional(CONF_COLOR_ORDER): cv.one_of(*COLOR_ORDERS.keys(), upper=True),
|
182
182
|
cv.Exclusive(CONF_ROTATION, CONF_ROTATION): validate_rotation,
|
183
183
|
cv.Exclusive(CONF_TRANSFORM, CONF_ROTATION): cv.Schema(
|
@@ -287,5 +287,4 @@ async def to_code(config):
|
|
287
287
|
prog_arr = cg.progmem_array(config[CONF_RAW_DATA_ID], rhs)
|
288
288
|
cg.add(var.set_palette(prog_arr))
|
289
289
|
|
290
|
-
|
291
|
-
cg.add(var.invert_colors(config[CONF_INVERT_COLORS]))
|
290
|
+
cg.add(var.invert_colors(config[CONF_INVERT_COLORS]))
|
@@ -118,6 +118,7 @@ void ILI9XXXDisplay::dump_config() {
|
|
118
118
|
ESP_LOGCONFIG(TAG, " Swap_xy: %s", YESNO(this->swap_xy_));
|
119
119
|
ESP_LOGCONFIG(TAG, " Mirror_x: %s", YESNO(this->mirror_x_));
|
120
120
|
ESP_LOGCONFIG(TAG, " Mirror_y: %s", YESNO(this->mirror_y_));
|
121
|
+
ESP_LOGCONFIG(TAG, " Invert colors: %s", YESNO(this->pre_invertcolors_));
|
121
122
|
|
122
123
|
if (this->is_failed()) {
|
123
124
|
ESP_LOGCONFIG(TAG, " => Failed to init Memory: YES!");
|
@@ -154,7 +155,6 @@ void ILI9XXXDisplay::fill(Color color) {
|
|
154
155
|
}
|
155
156
|
}
|
156
157
|
return;
|
157
|
-
break;
|
158
158
|
default:
|
159
159
|
new_color = display::ColorUtil::color_to_332(color, display::ColorOrder::COLOR_ORDER_RGB);
|
160
160
|
break;
|
@@ -28,8 +28,8 @@ class ILI9XXXDisplay : public display::DisplayBuffer,
|
|
28
28
|
spi::CLOCK_PHASE_LEADING, spi::DATA_RATE_40MHZ> {
|
29
29
|
public:
|
30
30
|
ILI9XXXDisplay() = default;
|
31
|
-
ILI9XXXDisplay(uint8_t const *init_sequence, int16_t width, int16_t height
|
32
|
-
: init_sequence_{init_sequence}, width_{width}, height_{height}
|
31
|
+
ILI9XXXDisplay(uint8_t const *init_sequence, int16_t width, int16_t height)
|
32
|
+
: init_sequence_{init_sequence}, width_{width}, height_{height} {
|
33
33
|
uint8_t cmd, num_args, bits;
|
34
34
|
const uint8_t *addr = init_sequence;
|
35
35
|
while ((cmd = *addr++) != 0) {
|
@@ -144,7 +144,7 @@ class ILI9XXXDisplay : public display::DisplayBuffer,
|
|
144
144
|
bool need_update_ = false;
|
145
145
|
bool is_18bitdisplay_ = false;
|
146
146
|
PixelMode pixel_mode_{};
|
147
|
-
bool pre_invertcolors_
|
147
|
+
bool pre_invertcolors_{};
|
148
148
|
display::ColorOrder color_order_{display::COLOR_ORDER_BGR};
|
149
149
|
bool swap_xy_{};
|
150
150
|
bool mirror_x_{};
|
@@ -154,54 +154,54 @@ class ILI9XXXDisplay : public display::DisplayBuffer,
|
|
154
154
|
//----------- M5Stack display --------------
|
155
155
|
class ILI9XXXM5Stack : public ILI9XXXDisplay {
|
156
156
|
public:
|
157
|
-
ILI9XXXM5Stack() : ILI9XXXDisplay(INITCMD_M5STACK, 320, 240
|
157
|
+
ILI9XXXM5Stack() : ILI9XXXDisplay(INITCMD_M5STACK, 320, 240) {}
|
158
158
|
};
|
159
159
|
|
160
160
|
//----------- M5Stack display --------------
|
161
161
|
class ILI9XXXM5CORE : public ILI9XXXDisplay {
|
162
162
|
public:
|
163
|
-
ILI9XXXM5CORE() : ILI9XXXDisplay(INITCMD_M5CORE, 320, 240
|
163
|
+
ILI9XXXM5CORE() : ILI9XXXDisplay(INITCMD_M5CORE, 320, 240) {}
|
164
164
|
};
|
165
165
|
|
166
166
|
//----------- ST7789V display --------------
|
167
167
|
class ILI9XXXST7789V : public ILI9XXXDisplay {
|
168
168
|
public:
|
169
|
-
ILI9XXXST7789V() : ILI9XXXDisplay(INITCMD_ST7789V, 240, 320
|
169
|
+
ILI9XXXST7789V() : ILI9XXXDisplay(INITCMD_ST7789V, 240, 320) {}
|
170
170
|
};
|
171
171
|
|
172
172
|
//----------- ILI9XXX_24_TFT display --------------
|
173
173
|
class ILI9XXXILI9341 : public ILI9XXXDisplay {
|
174
174
|
public:
|
175
|
-
ILI9XXXILI9341() : ILI9XXXDisplay(INITCMD_ILI9341, 240, 320
|
175
|
+
ILI9XXXILI9341() : ILI9XXXDisplay(INITCMD_ILI9341, 240, 320) {}
|
176
176
|
};
|
177
177
|
|
178
178
|
//----------- ILI9XXX_24_TFT rotated display --------------
|
179
179
|
class ILI9XXXILI9342 : public ILI9XXXDisplay {
|
180
180
|
public:
|
181
|
-
ILI9XXXILI9342() : ILI9XXXDisplay(INITCMD_ILI9341, 320, 240
|
181
|
+
ILI9XXXILI9342() : ILI9XXXDisplay(INITCMD_ILI9341, 320, 240) {}
|
182
182
|
};
|
183
183
|
|
184
184
|
//----------- ILI9XXX_??_TFT rotated display --------------
|
185
185
|
class ILI9XXXILI9481 : public ILI9XXXDisplay {
|
186
186
|
public:
|
187
|
-
ILI9XXXILI9481() : ILI9XXXDisplay(INITCMD_ILI9481, 480, 320
|
187
|
+
ILI9XXXILI9481() : ILI9XXXDisplay(INITCMD_ILI9481, 480, 320) {}
|
188
188
|
};
|
189
189
|
|
190
190
|
//----------- ILI9481 in 18 bit mode --------------
|
191
191
|
class ILI9XXXILI948118 : public ILI9XXXDisplay {
|
192
192
|
public:
|
193
|
-
ILI9XXXILI948118() : ILI9XXXDisplay(INITCMD_ILI9481_18, 320, 480
|
193
|
+
ILI9XXXILI948118() : ILI9XXXDisplay(INITCMD_ILI9481_18, 320, 480) {}
|
194
194
|
};
|
195
195
|
|
196
196
|
//----------- ILI9XXX_35_TFT rotated display --------------
|
197
197
|
class ILI9XXXILI9486 : public ILI9XXXDisplay {
|
198
198
|
public:
|
199
|
-
ILI9XXXILI9486() : ILI9XXXDisplay(INITCMD_ILI9486, 480, 320
|
199
|
+
ILI9XXXILI9486() : ILI9XXXDisplay(INITCMD_ILI9486, 480, 320) {}
|
200
200
|
};
|
201
201
|
|
202
202
|
class ILI9XXXILI9488 : public ILI9XXXDisplay {
|
203
203
|
public:
|
204
|
-
ILI9XXXILI9488(const uint8_t *seq = INITCMD_ILI9488) : ILI9XXXDisplay(seq, 480, 320
|
204
|
+
ILI9XXXILI9488(const uint8_t *seq = INITCMD_ILI9488) : ILI9XXXDisplay(seq, 480, 320) {}
|
205
205
|
|
206
206
|
protected:
|
207
207
|
void set_madctl() override {
|
@@ -246,34 +246,34 @@ class WAVESHARERES35 : public ILI9XXXILI9488 {
|
|
246
246
|
//----------- ILI9XXX_35_TFT origin colors rotated display --------------
|
247
247
|
class ILI9XXXILI9488A : public ILI9XXXDisplay {
|
248
248
|
public:
|
249
|
-
ILI9XXXILI9488A() : ILI9XXXDisplay(INITCMD_ILI9488_A, 480, 320
|
249
|
+
ILI9XXXILI9488A() : ILI9XXXDisplay(INITCMD_ILI9488_A, 480, 320) {}
|
250
250
|
};
|
251
251
|
|
252
252
|
//----------- ILI9XXX_35_TFT rotated display --------------
|
253
253
|
class ILI9XXXST7796 : public ILI9XXXDisplay {
|
254
254
|
public:
|
255
|
-
ILI9XXXST7796() : ILI9XXXDisplay(INITCMD_ST7796, 320, 480
|
255
|
+
ILI9XXXST7796() : ILI9XXXDisplay(INITCMD_ST7796, 320, 480) {}
|
256
256
|
};
|
257
257
|
|
258
258
|
class ILI9XXXS3Box : public ILI9XXXDisplay {
|
259
259
|
public:
|
260
|
-
ILI9XXXS3Box() : ILI9XXXDisplay(INITCMD_S3BOX, 320, 240
|
260
|
+
ILI9XXXS3Box() : ILI9XXXDisplay(INITCMD_S3BOX, 320, 240) {}
|
261
261
|
};
|
262
262
|
|
263
263
|
class ILI9XXXS3BoxLite : public ILI9XXXDisplay {
|
264
264
|
public:
|
265
|
-
ILI9XXXS3BoxLite() : ILI9XXXDisplay(INITCMD_S3BOXLITE, 320, 240
|
265
|
+
ILI9XXXS3BoxLite() : ILI9XXXDisplay(INITCMD_S3BOXLITE, 320, 240) {}
|
266
266
|
};
|
267
267
|
|
268
268
|
class ILI9XXXGC9A01A : public ILI9XXXDisplay {
|
269
269
|
public:
|
270
|
-
ILI9XXXGC9A01A() : ILI9XXXDisplay(INITCMD_GC9A01A, 240, 240
|
270
|
+
ILI9XXXGC9A01A() : ILI9XXXDisplay(INITCMD_GC9A01A, 240, 240) {}
|
271
271
|
};
|
272
272
|
|
273
273
|
//----------- ILI9XXX_24_TFT display --------------
|
274
274
|
class ILI9XXXST7735 : public ILI9XXXDisplay {
|
275
275
|
public:
|
276
|
-
ILI9XXXST7735() : ILI9XXXDisplay(INITCMD_ST7735, 128, 160
|
276
|
+
ILI9XXXST7735() : ILI9XXXDisplay(INITCMD_ST7735, 128, 160) {}
|
277
277
|
};
|
278
278
|
|
279
279
|
} // namespace ili9xxx
|
@@ -101,7 +101,6 @@ static const uint8_t PROGMEM INITCMD_ILI9481[] = {
|
|
101
101
|
ILI9XXX_MADCTL , 1, MADCTL_MV | MADCTL_BGR, // Memory Access Control
|
102
102
|
ILI9XXX_CSCON , 1, 0x01,
|
103
103
|
ILI9XXX_PIXFMT, 1, 0x55, // 16 bit mode
|
104
|
-
ILI9XXX_INVON, 0,
|
105
104
|
ILI9XXX_DISPON, 0x80, // Set display on
|
106
105
|
0x00 // end
|
107
106
|
};
|
@@ -121,7 +120,6 @@ static const uint8_t PROGMEM INITCMD_ILI9481_18[] = {
|
|
121
120
|
ILI9XXX_MADCTL , 1, MADCTL_MX| MADCTL_BGR, // Memory Access Control
|
122
121
|
ILI9XXX_CSCON , 1, 0x01,
|
123
122
|
ILI9XXX_PIXFMT, 1, 0x66, // 18 bit mode
|
124
|
-
ILI9XXX_INVON, 0,
|
125
123
|
ILI9XXX_DISPON, 0x80, // Set display on
|
126
124
|
0x00 // end
|
127
125
|
};
|
@@ -204,7 +202,6 @@ static const uint8_t PROGMEM INITCMD_ILI9488_A[] = {
|
|
204
202
|
|
205
203
|
|
206
204
|
ILI9XXX_SLPOUT, 0x80, // Exit sleep mode
|
207
|
-
//ILI9XXX_INVON , 0,
|
208
205
|
ILI9XXX_DISPON, 0x80, // Set display on
|
209
206
|
0x00 // end
|
210
207
|
};
|
@@ -1,5 +1,5 @@
|
|
1
1
|
#include "improv_serial_component.h"
|
2
|
-
|
2
|
+
#ifdef USE_WIFI
|
3
3
|
#include "esphome/core/application.h"
|
4
4
|
#include "esphome/core/defines.h"
|
5
5
|
#include "esphome/core/hal.h"
|
@@ -313,3 +313,4 @@ ImprovSerialComponent *global_improv_serial_component = // NOLINT(cppcoreguidel
|
|
313
313
|
|
314
314
|
} // namespace improv_serial
|
315
315
|
} // namespace esphome
|
316
|
+
#endif
|
@@ -5,7 +5,7 @@
|
|
5
5
|
#include "esphome/core/component.h"
|
6
6
|
#include "esphome/core/defines.h"
|
7
7
|
#include "esphome/core/helpers.h"
|
8
|
-
|
8
|
+
#ifdef USE_WIFI
|
9
9
|
#include <improv.h>
|
10
10
|
#include <vector>
|
11
11
|
|
@@ -78,3 +78,4 @@ extern ImprovSerialComponent
|
|
78
78
|
|
79
79
|
} // namespace improv_serial
|
80
80
|
} // namespace esphome
|
81
|
+
#endif
|
@@ -8,6 +8,8 @@
|
|
8
8
|
#endif
|
9
9
|
#include <driver/ledc.h>
|
10
10
|
|
11
|
+
#include <cinttypes>
|
12
|
+
|
11
13
|
#define CLOCK_FREQUENCY 80e6f
|
12
14
|
|
13
15
|
#ifdef USE_ARDUINO
|
@@ -115,20 +117,22 @@ void LEDCOutput::write_state(float state) {
|
|
115
117
|
const uint32_t max_duty = (uint32_t(1) << this->bit_depth_) - 1;
|
116
118
|
const float duty_rounded = roundf(state * max_duty);
|
117
119
|
auto duty = static_cast<uint32_t>(duty_rounded);
|
120
|
+
ESP_LOGV(TAG, "Setting duty: %" PRIu32 " on channel %u", duty, this->channel_);
|
118
121
|
#ifdef USE_ARDUINO
|
119
|
-
ESP_LOGV(TAG, "Setting duty: %u on channel %u", duty, this->channel_);
|
120
122
|
ledcWrite(this->channel_, duty);
|
121
123
|
#endif
|
122
124
|
#ifdef USE_ESP_IDF
|
123
|
-
// ensure that 100% on is not 99.975% on
|
124
|
-
if ((duty == max_duty) && (max_duty != 1)) {
|
125
|
-
duty = max_duty + 1;
|
126
|
-
}
|
127
125
|
auto speed_mode = get_speed_mode(channel_);
|
128
126
|
auto chan_num = static_cast<ledc_channel_t>(channel_ % 8);
|
129
127
|
int hpoint = ledc_angle_to_htop(this->phase_angle_, this->bit_depth_);
|
130
|
-
|
131
|
-
|
128
|
+
if (duty == max_duty) {
|
129
|
+
ledc_stop(speed_mode, chan_num, 1);
|
130
|
+
} else if (duty == 0) {
|
131
|
+
ledc_stop(speed_mode, chan_num, 0);
|
132
|
+
} else {
|
133
|
+
ledc_set_duty_with_hpoint(speed_mode, chan_num, duty, hpoint);
|
134
|
+
ledc_update_duty(speed_mode, chan_num);
|
135
|
+
}
|
132
136
|
#endif
|
133
137
|
}
|
134
138
|
|
@@ -1,10 +1,6 @@
|
|
1
1
|
import json
|
2
2
|
import logging
|
3
|
-
from os.path import
|
4
|
-
dirname,
|
5
|
-
isfile,
|
6
|
-
join,
|
7
|
-
)
|
3
|
+
from os.path import dirname, isfile, join
|
8
4
|
|
9
5
|
import esphome.codegen as cg
|
10
6
|
import esphome.config_validation as cv
|
@@ -174,12 +170,11 @@ def _notify_old_style(config):
|
|
174
170
|
return config
|
175
171
|
|
176
172
|
|
177
|
-
#
|
178
|
-
# * For all constants below, update platformio.ini (in this repo)
|
173
|
+
# The dev and latest branches will be at *least* this version, which is what matters.
|
179
174
|
ARDUINO_VERSIONS = {
|
180
|
-
"dev": (cv.Version(
|
181
|
-
"latest": (cv.Version(
|
182
|
-
"recommended": (cv.Version(1,
|
175
|
+
"dev": (cv.Version(1, 7, 0), "https://github.com/libretiny-eu/libretiny.git"),
|
176
|
+
"latest": (cv.Version(1, 7, 0), "libretiny"),
|
177
|
+
"recommended": (cv.Version(1, 7, 0), None),
|
183
178
|
}
|
184
179
|
|
185
180
|
|
@@ -282,10 +277,10 @@ async def component_to_code(config):
|
|
282
277
|
# if platform version is a valid version constraint, prefix the default package
|
283
278
|
framework = config[CONF_FRAMEWORK]
|
284
279
|
cv.platformio_version_constraint(framework[CONF_VERSION])
|
285
|
-
if
|
286
|
-
cg.add_platformio_option("platform", f"libretiny @ {framework[CONF_VERSION]}")
|
287
|
-
elif framework[CONF_SOURCE]:
|
280
|
+
if framework[CONF_SOURCE]:
|
288
281
|
cg.add_platformio_option("platform", framework[CONF_SOURCE])
|
282
|
+
elif str(framework[CONF_VERSION]) != "0.0.0":
|
283
|
+
cg.add_platformio_option("platform", f"libretiny @ {framework[CONF_VERSION]}")
|
289
284
|
else:
|
290
285
|
cg.add_platformio_option("platform", "libretiny")
|
291
286
|
|
@@ -0,0 +1 @@
|
|
1
|
+
CODEOWNERS = ["@latonita"]
|