esphome 2024.7.0b2__py3-none-any.whl → 2024.7.0b3__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/components/i2s_audio/__init__.py +10 -0
- esphome/components/i2s_audio/microphone/__init__.py +7 -0
- esphome/components/i2s_audio/microphone/i2s_audio_microphone.cpp +2 -3
- esphome/components/i2s_audio/microphone/i2s_audio_microphone.h +3 -0
- esphome/components/improv_serial/improv_serial_component.cpp +3 -2
- esphome/components/micro_wake_word/__init__.py +3 -1
- esphome/const.py +1 -1
- {esphome-2024.7.0b2.dist-info → esphome-2024.7.0b3.dist-info}/METADATA +1 -1
- {esphome-2024.7.0b2.dist-info → esphome-2024.7.0b3.dist-info}/RECORD +13 -13
- {esphome-2024.7.0b2.dist-info → esphome-2024.7.0b3.dist-info}/LICENSE +0 -0
- {esphome-2024.7.0b2.dist-info → esphome-2024.7.0b3.dist-info}/WHEEL +0 -0
- {esphome-2024.7.0b2.dist-info → esphome-2024.7.0b3.dist-info}/entry_points.txt +0 -0
- {esphome-2024.7.0b2.dist-info → esphome-2024.7.0b3.dist-info}/top_level.txt +0 -0
@@ -25,6 +25,10 @@ CONF_I2S_LRCLK_PIN = "i2s_lrclk_pin"
|
|
25
25
|
CONF_I2S_AUDIO = "i2s_audio"
|
26
26
|
CONF_I2S_AUDIO_ID = "i2s_audio_id"
|
27
27
|
|
28
|
+
CONF_I2S_MODE = "i2s_mode"
|
29
|
+
CONF_PRIMARY = "primary"
|
30
|
+
CONF_SECONDARY = "secondary"
|
31
|
+
|
28
32
|
i2s_audio_ns = cg.esphome_ns.namespace("i2s_audio")
|
29
33
|
I2SAudioComponent = i2s_audio_ns.class_("I2SAudioComponent", cg.Component)
|
30
34
|
I2SAudioIn = i2s_audio_ns.class_("I2SAudioIn", cg.Parented.template(I2SAudioComponent))
|
@@ -32,6 +36,12 @@ I2SAudioOut = i2s_audio_ns.class_(
|
|
32
36
|
"I2SAudioOut", cg.Parented.template(I2SAudioComponent)
|
33
37
|
)
|
34
38
|
|
39
|
+
i2s_mode_t = cg.global_ns.enum("i2s_mode_t")
|
40
|
+
I2S_MODE_OPTIONS = {
|
41
|
+
CONF_PRIMARY: i2s_mode_t.I2S_MODE_MASTER, # NOLINT
|
42
|
+
CONF_SECONDARY: i2s_mode_t.I2S_MODE_SLAVE, # NOLINT
|
43
|
+
}
|
44
|
+
|
35
45
|
# https://github.com/espressif/esp-idf/blob/master/components/soc/{variant}/include/soc/soc_caps.h
|
36
46
|
I2S_PORTS = {
|
37
47
|
VARIANT_ESP32: 2,
|
@@ -7,6 +7,9 @@ from esphome.components import microphone, esp32
|
|
7
7
|
from esphome.components.adc import ESP32_VARIANT_ADC1_PIN_TO_CHANNEL, validate_adc_pin
|
8
8
|
|
9
9
|
from .. import (
|
10
|
+
CONF_I2S_MODE,
|
11
|
+
CONF_PRIMARY,
|
12
|
+
I2S_MODE_OPTIONS,
|
10
13
|
i2s_audio_ns,
|
11
14
|
I2SAudioComponent,
|
12
15
|
I2SAudioIn,
|
@@ -68,6 +71,9 @@ BASE_SCHEMA = microphone.MICROPHONE_SCHEMA.extend(
|
|
68
71
|
_validate_bits, cv.enum(BITS_PER_SAMPLE)
|
69
72
|
),
|
70
73
|
cv.Optional(CONF_USE_APLL, default=False): cv.boolean,
|
74
|
+
cv.Optional(CONF_I2S_MODE, default=CONF_PRIMARY): cv.enum(
|
75
|
+
I2S_MODE_OPTIONS, lower=True
|
76
|
+
),
|
71
77
|
}
|
72
78
|
).extend(cv.COMPONENT_SCHEMA)
|
73
79
|
|
@@ -107,6 +113,7 @@ async def to_code(config):
|
|
107
113
|
cg.add(var.set_din_pin(config[CONF_I2S_DIN_PIN]))
|
108
114
|
cg.add(var.set_pdm(config[CONF_PDM]))
|
109
115
|
|
116
|
+
cg.add(var.set_i2s_mode(config[CONF_I2S_MODE]))
|
110
117
|
cg.add(var.set_channel(config[CONF_CHANNEL]))
|
111
118
|
cg.add(var.set_sample_rate(config[CONF_SAMPLE_RATE]))
|
112
119
|
cg.add(var.set_bits_per_sample(config[CONF_BITS_PER_SAMPLE]))
|
@@ -46,7 +46,7 @@ void I2SAudioMicrophone::start_() {
|
|
46
46
|
return; // Waiting for another i2s to return lock
|
47
47
|
}
|
48
48
|
i2s_driver_config_t config = {
|
49
|
-
.mode = (i2s_mode_t) (
|
49
|
+
.mode = (i2s_mode_t) (this->i2s_mode_ | I2S_MODE_RX),
|
50
50
|
.sample_rate = this->sample_rate_,
|
51
51
|
.bits_per_sample = this->bits_per_sample_,
|
52
52
|
.channel_format = this->channel_,
|
@@ -174,8 +174,7 @@ size_t I2SAudioMicrophone::read(int16_t *buf, size_t len) {
|
|
174
174
|
size_t samples_read = bytes_read / sizeof(int32_t);
|
175
175
|
samples.resize(samples_read);
|
176
176
|
for (size_t i = 0; i < samples_read; i++) {
|
177
|
-
|
178
|
-
samples[i] = clamp<int16_t>(temp, INT16_MIN, INT16_MAX);
|
177
|
+
samples[i] = reinterpret_cast<int32_t *>(buf)[i] >> 16;
|
179
178
|
}
|
180
179
|
memcpy(buf, samples.data(), samples_read * sizeof(int16_t));
|
181
180
|
return samples_read * sizeof(int16_t);
|
@@ -30,6 +30,8 @@ class I2SAudioMicrophone : public I2SAudioIn, public microphone::Microphone, pub
|
|
30
30
|
}
|
31
31
|
#endif
|
32
32
|
|
33
|
+
void set_i2s_mode(i2s_mode_t mode) { this->i2s_mode_ = mode; }
|
34
|
+
|
33
35
|
void set_channel(i2s_channel_fmt_t channel) { this->channel_ = channel; }
|
34
36
|
void set_sample_rate(uint32_t sample_rate) { this->sample_rate_ = sample_rate; }
|
35
37
|
void set_bits_per_sample(i2s_bits_per_sample_t bits_per_sample) { this->bits_per_sample_ = bits_per_sample; }
|
@@ -46,6 +48,7 @@ class I2SAudioMicrophone : public I2SAudioIn, public microphone::Microphone, pub
|
|
46
48
|
bool adc_{false};
|
47
49
|
#endif
|
48
50
|
bool pdm_{false};
|
51
|
+
i2s_mode_t i2s_mode_{};
|
49
52
|
i2s_channel_fmt_t channel_;
|
50
53
|
uint32_t sample_rate_;
|
51
54
|
i2s_bits_per_sample_t bits_per_sample_;
|
@@ -57,7 +57,7 @@ optional<uint8_t> ImprovSerialComponent::read_byte_() {
|
|
57
57
|
}
|
58
58
|
}
|
59
59
|
break;
|
60
|
-
#
|
60
|
+
#if defined(USE_LOGGER_USB_CDC) && defined(CONFIG_ESP_CONSOLE_USB_CDC)
|
61
61
|
case logger::UART_SELECTION_USB_CDC:
|
62
62
|
#if ESP_IDF_VERSION >= ESP_IDF_VERSION_VAL(5, 0, 0)
|
63
63
|
if (esp_usb_console_available_for_read()) {
|
@@ -99,7 +99,7 @@ void ImprovSerialComponent::write_data_(std::vector<uint8_t> &data) {
|
|
99
99
|
#endif // !USE_ESP32_VARIANT_ESP32C3 && !USE_ESP32_VARIANT_ESP32S2 && !USE_ESP32_VARIANT_ESP32S3
|
100
100
|
uart_write_bytes(this->uart_num_, data.data(), data.size());
|
101
101
|
break;
|
102
|
-
#
|
102
|
+
#if defined(USE_LOGGER_USB_CDC) && defined(CONFIG_ESP_CONSOLE_USB_CDC)
|
103
103
|
case logger::UART_SELECTION_USB_CDC: {
|
104
104
|
const char *msg = (char *) data.data();
|
105
105
|
esp_usb_console_write_buf(msg, data.size());
|
@@ -109,6 +109,7 @@ void ImprovSerialComponent::write_data_(std::vector<uint8_t> &data) {
|
|
109
109
|
#ifdef USE_LOGGER_USB_SERIAL_JTAG
|
110
110
|
case logger::UART_SELECTION_USB_SERIAL_JTAG:
|
111
111
|
usb_serial_jtag_write_bytes((char *) data.data(), data.size(), 20 / portTICK_PERIOD_MS);
|
112
|
+
delay(10);
|
112
113
|
usb_serial_jtag_ll_txfifo_flush(); // fixes for issue in IDF 4.4.7
|
113
114
|
break;
|
114
115
|
#endif // USE_LOGGER_USB_SERIAL_JTAG
|
@@ -357,7 +357,9 @@ CONFIG_SCHEMA = cv.All(
|
|
357
357
|
{
|
358
358
|
cv.GenerateID(): cv.declare_id(MicroWakeWord),
|
359
359
|
cv.GenerateID(CONF_MICROPHONE): cv.use_id(microphone.Microphone),
|
360
|
-
cv.Required(CONF_MODELS): cv.ensure_list(
|
360
|
+
cv.Required(CONF_MODELS): cv.ensure_list(
|
361
|
+
cv.maybe_simple_value(MODEL_SCHEMA, key=CONF_MODEL)
|
362
|
+
),
|
361
363
|
cv.Optional(CONF_ON_WAKE_WORD_DETECTED): automation.validate_automation(
|
362
364
|
single=True
|
363
365
|
),
|
esphome/const.py
CHANGED
@@ -5,7 +5,7 @@ esphome/codegen.py,sha256=LCJVpAwy1L9DTBsIvbgAbHj1TOXUSPgBoN--aio0gBk,1855
|
|
5
5
|
esphome/config.py,sha256=wztK2UmO7-hc6HFDAi6YWtrPVy5mH0diKuqpsWp4-XA,39616
|
6
6
|
esphome/config_helpers.py,sha256=MKf_wzO35nn41FvigXE0iYKDslPgL2ruf8R-EPtTT2I,3256
|
7
7
|
esphome/config_validation.py,sha256=G79LGVIh5BdpGkzuehkm7Db_llpbC2of4dKqZEpHc3A,64838
|
8
|
-
esphome/const.py,sha256=
|
8
|
+
esphome/const.py,sha256=QXPuiRfzBxts2SEE3uaaOGfXjxCEcXvMgPpU5qwqNrA,38954
|
9
9
|
esphome/coroutine.py,sha256=IG2kC92OrenyiRm7Qo9uC-4qU4b4-Lmj0TkMIjRG2RY,9344
|
10
10
|
esphome/cpp_generator.py,sha256=hW2EfubUiildhKXZIdV8Dr3Q9TM5oHybFwiTo5-vEUE,31203
|
11
11
|
esphome/cpp_helpers.py,sha256=KadRBBoo4QRT-VwdWFtvxv_FYjqhZTkBhfMX-JhEMwg,4803
|
@@ -1110,15 +1110,15 @@ esphome/components/i2c/i2c_bus_arduino.cpp,sha256=VXWH0NcAgkncjiSbpNjOY2GOJopWPM
|
|
1110
1110
|
esphome/components/i2c/i2c_bus_arduino.h,sha256=7mhPi-tZGVmX9XhmtIBQYv9Of4qTpmhJO-FKQDqsIao,1222
|
1111
1111
|
esphome/components/i2c/i2c_bus_esp_idf.cpp,sha256=UtiYP_soPgE6p22rbRJ67OQDPGsKFYqYL31KSmOCcfI,12912
|
1112
1112
|
esphome/components/i2c/i2c_bus_esp_idf.h,sha256=6h3QKsi2M3AuchqY3qTOJe-FWW6hgA9HfrSFVPCdqag,1454
|
1113
|
-
esphome/components/i2s_audio/__init__.py,sha256=
|
1113
|
+
esphome/components/i2s_audio/__init__.py,sha256=KG_F3w1nFG-dF9DEjhSl5plwcO_hBmYEU8iIZAljP4E,2580
|
1114
1114
|
esphome/components/i2s_audio/i2s_audio.cpp,sha256=DVthNnLWc_nk0Y5Ck1NyvdKavU9IQ6hcHGE11lMfMQw,734
|
1115
1115
|
esphome/components/i2s_audio/i2s_audio.h,sha256=xZxkC9I0YrqsMlOR5RXhfMC1tVfmkLqNmd__VKRwkyk,1313
|
1116
1116
|
esphome/components/i2s_audio/media_player/__init__.py,sha256=jlk-y5UGX8fc4dsXda2HQNyp4Thy5m-YkLOCsD5ZkZo,3556
|
1117
1117
|
esphome/components/i2s_audio/media_player/i2s_audio_media_player.cpp,sha256=OlvkjzYSdaxIjJiQF-BbjThoY91_rvGJ4woRjyB9mwY,7538
|
1118
1118
|
esphome/components/i2s_audio/media_player/i2s_audio_media_player.h,sha256=iUx93Xwi7DgWtyNaHIkJ7FJ2kUK6-fdeTs87opqTcRo,2062
|
1119
|
-
esphome/components/i2s_audio/microphone/__init__.py,sha256=
|
1120
|
-
esphome/components/i2s_audio/microphone/i2s_audio_microphone.cpp,sha256
|
1121
|
-
esphome/components/i2s_audio/microphone/i2s_audio_microphone.h,sha256=
|
1119
|
+
esphome/components/i2s_audio/microphone/__init__.py,sha256=uPZ7e0pGxbNklDqIoqLcTmvhnSTcQ16q3pSDFIgEy70,3982
|
1120
|
+
esphome/components/i2s_audio/microphone/i2s_audio_microphone.cpp,sha256=LfcloU1ws1AGcm5FCyHCdWnLRunVqJB3iGv_RfYHaOE,6122
|
1121
|
+
esphome/components/i2s_audio/microphone/i2s_audio_microphone.h,sha256=V0QfxCYBu9DUoO1Ui0O7zB2iP-9P_wduN3Cf2b27AWI,1586
|
1122
1122
|
esphome/components/i2s_audio/speaker/__init__.py,sha256=0nzQXnjQaYv7YklVp8Landvz57x-bhrLJuta92LiDXk,2724
|
1123
1123
|
esphome/components/i2s_audio/speaker/i2s_audio_speaker.cpp,sha256=C4ZN8HTWiwGtOmL1y3ICnoCH1-iLaB2dPKAz3g26wts,8187
|
1124
1124
|
esphome/components/i2s_audio/speaker/i2s_audio_speaker.h,sha256=q2pF17NGG_MCBUJiBPprzT-IKaQylKX988LrQxtLzBU,1756
|
@@ -1141,7 +1141,7 @@ esphome/components/improv_base/__init__.py,sha256=9r7mI_71pUHiGghXvlHP4nnSklm6wg
|
|
1141
1141
|
esphome/components/improv_base/improv_base.cpp,sha256=eh-YebkuhEhZktdNz84oSoigtGAQz2LP0c0lqc29-M4,857
|
1142
1142
|
esphome/components/improv_base/improv_base.h,sha256=VOqjBy5U0Sh8tNOYWQPIkIZWwjisZKY1pf65lOO_Q_s,322
|
1143
1143
|
esphome/components/improv_serial/__init__.py,sha256=AFjbmaHHn72e2WUrneWiE3DIBty9btxFjsWgRt2jmoE,1600
|
1144
|
-
esphome/components/improv_serial/improv_serial_component.cpp,sha256
|
1144
|
+
esphome/components/improv_serial/improv_serial_component.cpp,sha256=iKIxHFp4MydwdLnDkeTZKTn79JlKm_WfsaPNbR4eG4w,10404
|
1145
1145
|
esphome/components/improv_serial/improv_serial_component.h,sha256=TNP28Qxc7I8VcRS5C7_aVQaISXBthjR5zVX_wDLGjR8,2220
|
1146
1146
|
esphome/components/ina219/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
1147
1147
|
esphome/components/ina219/ina219.cpp,sha256=tk0F5y4889lDgfj7XN-P8zQz-5vwDMkRtrv6hil0XPE,6547
|
@@ -1495,7 +1495,7 @@ esphome/components/mhz19/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZ
|
|
1495
1495
|
esphome/components/mhz19/mhz19.cpp,sha256=CBBVBMqGUsrc-4PMOaBDuKCAFNr43Kukt3a018kQI0k,3924
|
1496
1496
|
esphome/components/mhz19/mhz19.h,sha256=DTuwpBz6gAZVn_QIUnmPiE4Y188XYiOS9WxIggcjZJ4,2050
|
1497
1497
|
esphome/components/mhz19/sensor.py,sha256=IwZAf9K8LE3Ang8I53jjr41hpSwsC7qHnEjsOexNp8M,3220
|
1498
|
-
esphome/components/micro_wake_word/__init__.py,sha256=
|
1498
|
+
esphome/components/micro_wake_word/__init__.py,sha256=WLqfgLyGTF7S6kwvvOoiyHaxxVRL4u478WUjV9FhnLo,15889
|
1499
1499
|
esphome/components/micro_wake_word/micro_wake_word.cpp,sha256=qj_wsPQY23sg12Wr2nIvitFSvghzfXkBamak7ZPNeAI,15280
|
1500
1500
|
esphome/components/micro_wake_word/micro_wake_word.h,sha256=3Ge-mL0fVeM-s6XdmeoPGATLZ7x8tr73iXEkO9nqLJ4,6091
|
1501
1501
|
esphome/components/micro_wake_word/preprocessor_settings.h,sha256=fz5-wfah78sWnY-iNXuGu6K5TpbGfeQCcgPIdPBNPg4,488
|
@@ -3119,9 +3119,9 @@ esphome/dashboard/util/itertools.py,sha256=8eLrWEWmICLtXNxkKdYPQV0c_N4GEz8m9Npnb
|
|
3119
3119
|
esphome/dashboard/util/password.py,sha256=cQz3b9B-ijTe7zS6BeCW0hc3pWv6JjC78jmnycYYAh8,321
|
3120
3120
|
esphome/dashboard/util/subprocess.py,sha256=T8EW6dbU4LPd2DG1dRrdh8li71tt6J1isn411poMhkk,1022
|
3121
3121
|
esphome/dashboard/util/text.py,sha256=ENDnfN4O0NdA3CKVJjQYabFbwbrsIhVKrAMQe53qYu4,534
|
3122
|
-
esphome-2024.7.
|
3123
|
-
esphome-2024.7.
|
3124
|
-
esphome-2024.7.
|
3125
|
-
esphome-2024.7.
|
3126
|
-
esphome-2024.7.
|
3127
|
-
esphome-2024.7.
|
3122
|
+
esphome-2024.7.0b3.dist-info/LICENSE,sha256=HzEjkBInJe44L4WvAOPfhPJJDNj6YbnqFyvGWRzArGM,36664
|
3123
|
+
esphome-2024.7.0b3.dist-info/METADATA,sha256=e3LWrKNMO9xv3Y6LKKcJCnNzxGQVVig2aZ5AsGfou1c,3265
|
3124
|
+
esphome-2024.7.0b3.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
|
3125
|
+
esphome-2024.7.0b3.dist-info/entry_points.txt,sha256=mIxVNuWtbYzeEcaWCl-AQ-97aBOWbnYBAK8nbF6P4M0,50
|
3126
|
+
esphome-2024.7.0b3.dist-info/top_level.txt,sha256=0GSXEW3cnITpgG3qnsSMz0qoqJHAFyfw7Y8MVtEf1Yk,8
|
3127
|
+
esphome-2024.7.0b3.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|