Skip to content

Commit 00214d5

Browse files
authored
IDF master 3e370c4296
* Fix build compilation due to changes in the HW_TIMER's structs * Fix compilation warnings and errors with USB * Update USBCDC.cpp * Update CMakeLists.txt * Update HWCDC.cpp
1 parent 381e88e commit 00214d5

File tree

1,475 files changed

+87585
-48935
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

1,475 files changed

+87585
-48935
lines changed

CMakeLists.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -174,7 +174,7 @@ set(includedirs
174174
set(srcs ${CORE_SRCS} ${LIBRARY_SRCS} ${BLE_SRCS})
175175
set(priv_includes cores/esp32/libb64)
176176
set(requires spi_flash mbedtls mdns esp_adc_cal wifi_provisioning nghttp)
177-
set(priv_requires fatfs nvs_flash app_update spiffs bootloader_support openssl bt esp_ipc)
177+
set(priv_requires fatfs nvs_flash app_update spiffs bootloader_support openssl bt esp_ipc esp_hid)
178178

179179
idf_component_register(INCLUDE_DIRS ${includedirs} PRIV_INCLUDE_DIRS ${priv_includes} SRCS ${srcs} REQUIRES ${requires} PRIV_REQUIRES ${priv_requires})
180180

cores/esp32/FirmwareMSC.cpp

+4-4
Original file line numberDiff line numberDiff line change
@@ -227,7 +227,7 @@ static esp_err_t msc_update_write(const esp_partition_t *partition, uint32_t off
227227
//called when error was encountered while updating
228228
static void msc_update_error(){
229229
log_e("UPDATE_ERROR: %u", msc_update_bytes_written);
230-
arduino_firmware_msc_event_data_t p = {0};
230+
arduino_firmware_msc_event_data_t p;
231231
p.error.size = msc_update_bytes_written;
232232
arduino_usb_event_post(ARDUINO_FIRMWARE_MSC_EVENTS, ARDUINO_FIRMWARE_MSC_ERROR_EVENT, &p, sizeof(arduino_firmware_msc_event_data_t), portMAX_DELAY);
233233
msc_update_state = MSC_UPDATE_IDLE;
@@ -251,7 +251,7 @@ static void msc_update_end(){
251251
msc_update_error();
252252
return;
253253
}
254-
arduino_firmware_msc_event_data_t p = {0};
254+
arduino_firmware_msc_event_data_t p;
255255
p.end.size = msc_update_entry->file_size;
256256
arduino_usb_event_post(ARDUINO_FIRMWARE_MSC_EVENTS, ARDUINO_FIRMWARE_MSC_END_EVENT, &p, sizeof(arduino_firmware_msc_event_data_t), portMAX_DELAY);
257257
}
@@ -289,7 +289,7 @@ static int32_t msc_write(uint32_t lba, uint32_t offset, uint8_t* buffer, uint32_
289289
}
290290
} else if(msc_ota_partition && lba >= msc_update_start_sector){
291291
//handle writes to the region where the new firmware will be uploaded
292-
arduino_firmware_msc_event_data_t p = {0};
292+
arduino_firmware_msc_event_data_t p;
293293
if(msc_update_state <= MSC_UPDATE_STARTING && buffer[0] == 0xE9){
294294
msc_update_state = MSC_UPDATE_RUNNING;
295295
msc_update_start_sector = lba;
@@ -345,7 +345,7 @@ static int32_t msc_read(uint32_t lba, uint32_t offset, void* buffer, uint32_t bu
345345

346346
static bool msc_start_stop(uint8_t power_condition, bool start, bool load_eject){
347347
//log_d("power: %u, start: %u, eject: %u", power_condition, start, load_eject);
348-
arduino_firmware_msc_event_data_t p = {0};
348+
arduino_firmware_msc_event_data_t p;
349349
p.power.power_condition = power_condition;
350350
p.power.start = start;
351351
p.power.load_eject = load_eject;

cores/esp32/HWCDC.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -169,7 +169,7 @@ void HWCDC::begin(unsigned long baud)
169169

170170
usb_serial_jtag_ll_clr_intsts_mask(USB_SERIAL_JTAG_INTR_SERIAL_IN_EMPTY | USB_SERIAL_JTAG_INTR_SERIAL_OUT_RECV_PKT | USB_SERIAL_JTAG_INTR_BUS_RESET);
171171
usb_serial_jtag_ll_ena_intr_mask(USB_SERIAL_JTAG_INTR_SERIAL_IN_EMPTY | USB_SERIAL_JTAG_INTR_SERIAL_OUT_RECV_PKT | USB_SERIAL_JTAG_INTR_BUS_RESET);
172-
if(!intr_handle && esp_intr_alloc(ETS_USB_INTR_SOURCE/*ETS_USB_SERIAL_JTAG_INTR_SOURCE*/, 0, hw_cdc_isr_handler, NULL, &intr_handle) != ESP_OK){
172+
if(!intr_handle && esp_intr_alloc(ETS_USB_SERIAL_JTAG_INTR_SOURCE, 0, hw_cdc_isr_handler, NULL, &intr_handle) != ESP_OK){
173173
isr_log_e("HW USB CDC failed to init interrupts");
174174
end();
175175
return;

cores/esp32/USB.cpp

+4-4
Original file line numberDiff line numberDiff line change
@@ -86,30 +86,30 @@ static bool tinyusb_device_suspended = false;
8686
// Invoked when device is mounted (configured)
8787
void tud_mount_cb(void){
8888
tinyusb_device_mounted = true;
89-
arduino_usb_event_data_t p = {0};
89+
arduino_usb_event_data_t p;
9090
arduino_usb_event_post(ARDUINO_USB_EVENTS, ARDUINO_USB_STARTED_EVENT, &p, sizeof(arduino_usb_event_data_t), portMAX_DELAY);
9191
}
9292

9393
// Invoked when device is unmounted
9494
void tud_umount_cb(void){
9595
tinyusb_device_mounted = false;
96-
arduino_usb_event_data_t p = {0};
96+
arduino_usb_event_data_t p;
9797
arduino_usb_event_post(ARDUINO_USB_EVENTS, ARDUINO_USB_STOPPED_EVENT, &p, sizeof(arduino_usb_event_data_t), portMAX_DELAY);
9898
}
9999

100100
// Invoked when usb bus is suspended
101101
// Within 7ms, device must draw an average of current less than 2.5 mA from bus
102102
void tud_suspend_cb(bool remote_wakeup_en){
103103
tinyusb_device_suspended = true;
104-
arduino_usb_event_data_t p = {0};
104+
arduino_usb_event_data_t p;
105105
p.suspend.remote_wakeup_en = remote_wakeup_en;
106106
arduino_usb_event_post(ARDUINO_USB_EVENTS, ARDUINO_USB_SUSPEND_EVENT, &p, sizeof(arduino_usb_event_data_t), portMAX_DELAY);
107107
}
108108

109109
// Invoked when usb bus is resumed
110110
void tud_resume_cb(void){
111111
tinyusb_device_suspended = false;
112-
arduino_usb_event_data_t p = {0};
112+
arduino_usb_event_data_t p;
113113
arduino_usb_event_post(ARDUINO_USB_EVENTS, ARDUINO_USB_RESUME_EVENT, &p, sizeof(arduino_usb_event_data_t), portMAX_DELAY);
114114
}
115115

cores/esp32/USBCDC.cpp

+8-8
Original file line numberDiff line numberDiff line change
@@ -156,7 +156,7 @@ void USBCDC::_onUnplugged(void){
156156
connected = false;
157157
dtr = false;
158158
rts = false;
159-
arduino_usb_cdc_event_data_t p = {0};
159+
arduino_usb_cdc_event_data_t p;
160160
arduino_usb_event_post(ARDUINO_USB_CDC_EVENTS, ARDUINO_USB_CDC_DISCONNECTED_EVENT, &p, sizeof(arduino_usb_cdc_event_data_t), portMAX_DELAY);
161161
}
162162
}
@@ -178,7 +178,7 @@ void USBCDC::_onLineState(bool _dtr, bool _rts){
178178
lineState++;
179179
if(connected){
180180
connected = false;
181-
arduino_usb_cdc_event_data_t p = {0};
181+
arduino_usb_cdc_event_data_t p;
182182
arduino_usb_event_post(ARDUINO_USB_CDC_EVENTS, ARDUINO_USB_CDC_DISCONNECTED_EVENT, &p, sizeof(arduino_usb_cdc_event_data_t), portMAX_DELAY);
183183
}
184184
} else {
@@ -208,14 +208,14 @@ void USBCDC::_onLineState(bool _dtr, bool _rts){
208208
if(lineState == CDC_LINE_IDLE){
209209
if(dtr && rts && !connected){
210210
connected = true;
211-
arduino_usb_cdc_event_data_t p = {0};
211+
arduino_usb_cdc_event_data_t p;
212212
arduino_usb_event_post(ARDUINO_USB_CDC_EVENTS, ARDUINO_USB_CDC_CONNECTED_EVENT, &p, sizeof(arduino_usb_cdc_event_data_t), portMAX_DELAY);
213213
} else if(!dtr && connected){
214214
connected = false;
215-
arduino_usb_cdc_event_data_t p = {0};
215+
arduino_usb_cdc_event_data_t p;
216216
arduino_usb_event_post(ARDUINO_USB_CDC_EVENTS, ARDUINO_USB_CDC_DISCONNECTED_EVENT, &p, sizeof(arduino_usb_cdc_event_data_t), portMAX_DELAY);
217217
}
218-
arduino_usb_cdc_event_data_t l = {0};
218+
arduino_usb_cdc_event_data_t l;
219219
l.line_state.dtr = dtr;
220220
l.line_state.rts = rts;
221221
arduino_usb_event_post(ARDUINO_USB_CDC_EVENTS, ARDUINO_USB_CDC_LINE_STATE_EVENT, &l, sizeof(arduino_usb_cdc_event_data_t), portMAX_DELAY);
@@ -233,7 +233,7 @@ void USBCDC::_onLineCoding(uint32_t _bit_rate, uint8_t _stop_bits, uint8_t _pari
233233
data_bits = _data_bits;
234234
stop_bits = _stop_bits;
235235
parity = _parity;
236-
arduino_usb_cdc_event_data_t p = {0};
236+
arduino_usb_cdc_event_data_t p;
237237
p.line_coding.bit_rate = bit_rate;
238238
p.line_coding.data_bits = data_bits;
239239
p.line_coding.stop_bits = stop_bits;
@@ -251,13 +251,13 @@ void USBCDC::_onRX(){
251251
return;
252252
}
253253
}
254-
arduino_usb_cdc_event_data_t p = {0};
254+
arduino_usb_cdc_event_data_t p;
255255
p.rx.len = count;
256256
arduino_usb_event_post(ARDUINO_USB_CDC_EVENTS, ARDUINO_USB_CDC_RX_EVENT, &p, sizeof(arduino_usb_cdc_event_data_t), portMAX_DELAY);
257257
}
258258

259259
void USBCDC::_onTX(){
260-
arduino_usb_cdc_event_data_t p = {0};
260+
arduino_usb_cdc_event_data_t p;
261261
arduino_usb_event_post(ARDUINO_USB_CDC_EVENTS, ARDUINO_USB_CDC_TX_EVENT, &p, sizeof(arduino_usb_cdc_event_data_t), portMAX_DELAY);
262262
}
263263

cores/esp32/esp32-hal-timer.c

+20-19
Original file line numberDiff line numberDiff line change
@@ -90,17 +90,10 @@ typedef void (*voidFuncPtr)(void);
9090
static voidFuncPtr __timerInterruptHandlers[4] = {0,0,0,0};
9191

9292
void ARDUINO_ISR_ATTR __timerISR(void * arg){
93-
#if CONFIG_IDF_TARGET_ESP32
9493
uint32_t s0 = TIMERG0.int_st_timers.val;
9594
uint32_t s1 = TIMERG1.int_st_timers.val;
9695
TIMERG0.int_clr_timers.val = s0;
9796
TIMERG1.int_clr_timers.val = s1;
98-
#else
99-
uint32_t s0 = TIMERG0.int_st.val;
100-
uint32_t s1 = TIMERG1.int_st.val;
101-
TIMERG0.int_clr.val = s0;
102-
TIMERG1.int_clr.val = s1;
103-
#endif
10497
uint8_t status = (s1 & 3) << 2 | (s0 & 3);
10598
uint8_t i = 4;
10699
//restart the timers that should autoreload
@@ -239,19 +232,19 @@ hw_timer_t * timerBegin(uint8_t num, uint16_t divider, bool countUp){
239232
}
240233
timer->dev->config.enable = 0;
241234
if(timer->group) {
242-
TIMERG1.int_ena.val &= ~BIT(timer->timer);
243235
#if CONFIG_IDF_TARGET_ESP32
244-
TIMERG1.int_clr_timers.val |= BIT(timer->timer);
236+
TIMERG1.int_ena.val &= ~BIT(timer->timer);
245237
#else
246-
TIMERG1.int_clr.val = BIT(timer->timer);
238+
TIMERG1.int_ena_timers.val &= ~BIT(timer->timer);
247239
#endif
240+
TIMERG1.int_clr_timers.val |= BIT(timer->timer);
248241
} else {
249-
TIMERG0.int_ena.val &= ~BIT(timer->timer);
250242
#if CONFIG_IDF_TARGET_ESP32
251-
TIMERG0.int_clr_timers.val |= BIT(timer->timer);
243+
TIMERG0.int_ena.val &= ~BIT(timer->timer);
252244
#else
253-
TIMERG0.int_clr.val = BIT(timer->timer);
245+
TIMERG0.int_ena_timers.val &= ~BIT(timer->timer);
254246
#endif
247+
TIMERG0.int_clr_timers.val |= BIT(timer->timer);
255248
}
256249
#ifdef TIMER_GROUP_SUPPORTS_XTAL_CLOCK
257250
timer->dev->config.use_xtal = 0;
@@ -289,19 +282,19 @@ void timerAttachInterrupt(hw_timer_t *timer, void (*fn)(void), bool edge){
289282
timer->dev->config.edge_int_en = 0;
290283
timer->dev->config.alarm_en = 0;
291284
if(timer->num & 2){
292-
TIMERG1.int_ena.val &= ~BIT(timer->timer);
293285
#if CONFIG_IDF_TARGET_ESP32
294-
TIMERG1.int_clr_timers.val |= BIT(timer->timer);
286+
TIMERG1.int_ena.val &= ~BIT(timer->timer);
295287
#else
296-
TIMERG1.int_clr.val = BIT(timer->timer);
288+
TIMERG1.int_ena_timers.val &= ~BIT(timer->timer);
297289
#endif
290+
TIMERG1.int_clr_timers.val |= BIT(timer->timer);
298291
} else {
299-
TIMERG0.int_ena.val &= ~BIT(timer->timer);
300292
#if CONFIG_IDF_TARGET_ESP32
301-
TIMERG0.int_clr_timers.val |= BIT(timer->timer);
293+
TIMERG0.int_ena.val &= ~BIT(timer->timer);
302294
#else
303-
TIMERG0.int_clr.val = BIT(timer->timer);
295+
TIMERG0.int_ena_timers.val &= ~BIT(timer->timer);
304296
#endif
297+
TIMERG0.int_clr_timers.val |= BIT(timer->timer);
305298
}
306299
__timerInterruptHandlers[timer->num] = NULL;
307300
} else {
@@ -333,9 +326,17 @@ void timerAttachInterrupt(hw_timer_t *timer, void (*fn)(void), bool edge){
333326
intr_matrix_set(esp_intr_get_cpu(intr_handle), intr_source, esp_intr_get_intno(intr_handle));
334327
}
335328
if(timer->group){
329+
#if CONFIG_IDF_TARGET_ESP32
336330
TIMERG1.int_ena.val |= BIT(timer->timer);
331+
#else
332+
TIMERG1.int_ena_timers.val |= BIT(timer->timer);
333+
#endif
337334
} else {
335+
#if CONFIG_IDF_TARGET_ESP32
338336
TIMERG0.int_ena.val |= BIT(timer->timer);
337+
#else
338+
TIMERG0.int_ena_timers.val |= BIT(timer->timer);
339+
#endif
339340
}
340341
}
341342
if(intr_handle){

libraries/USB/src/USBHID.cpp

+2-2
Original file line numberDiff line numberDiff line change
@@ -230,7 +230,7 @@ uint8_t const * tud_hid_descriptor_report_cb(uint8_t instance){
230230
// protocol is either HID_PROTOCOL_BOOT (0) or HID_PROTOCOL_REPORT (1)
231231
void tud_hid_set_protocol_cb(uint8_t instance, uint8_t protocol){
232232
log_v("instance: %u, protocol:%u", instance, protocol);
233-
arduino_usb_hid_event_data_t p = {0};
233+
arduino_usb_hid_event_data_t p;
234234
p.instance = instance;
235235
p.set_protocol.protocol = protocol;
236236
arduino_usb_event_post(ARDUINO_USB_HID_EVENTS, ARDUINO_USB_HID_SET_PROTOCOL_EVENT, &p, sizeof(arduino_usb_hid_event_data_t), portMAX_DELAY);
@@ -241,7 +241,7 @@ void tud_hid_set_protocol_cb(uint8_t instance, uint8_t protocol){
241241
// - Idle Rate > 0 : skip duplication, but send at least 1 report every idle rate (in unit of 4 ms).
242242
bool tud_hid_set_idle_cb(uint8_t instance, uint8_t idle_rate){
243243
log_v("instance: %u, idle_rate:%u", instance, idle_rate);
244-
arduino_usb_hid_event_data_t p = {0};
244+
arduino_usb_hid_event_data_t p;
245245
p.instance = instance;
246246
p.set_idle.idle_rate = idle_rate;
247247
arduino_usb_event_post(ARDUINO_USB_HID_EVENTS, ARDUINO_USB_HID_SET_IDLE_EVENT, &p, sizeof(arduino_usb_hid_event_data_t), portMAX_DELAY);

libraries/USB/src/USBHIDKeyboard.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ void USBHIDKeyboard::onEvent(arduino_usb_hid_keyboard_event_t event, esp_event_h
6161

6262
void USBHIDKeyboard::_onOutput(uint8_t report_id, const uint8_t* buffer, uint16_t len){
6363
if(report_id == HID_REPORT_ID_KEYBOARD){
64-
arduino_usb_hid_keyboard_event_data_t p = {0};
64+
arduino_usb_hid_keyboard_event_data_t p;
6565
p.leds = buffer[0];
6666
arduino_usb_event_post(ARDUINO_USB_HID_KEYBOARD_EVENTS, ARDUINO_USB_HID_KEYBOARD_LED_EVENT, &p, sizeof(arduino_usb_hid_keyboard_event_data_t), portMAX_DELAY);
6767
}

libraries/USB/src/USBHIDVendor.cpp

+3-3
Original file line numberDiff line numberDiff line change
@@ -124,7 +124,7 @@ uint16_t USBHIDVendor::_onGetFeature(uint8_t report_id, uint8_t* buffer, uint16_
124124
return 0;
125125
}
126126
memcpy(buffer, feature, len);
127-
arduino_usb_hid_vendor_event_data_t p = {0};
127+
arduino_usb_hid_vendor_event_data_t p;
128128
p.buffer = feature;
129129
p.len = len;
130130
arduino_usb_event_post(ARDUINO_USB_HID_VENDOR_EVENTS, ARDUINO_USB_HID_VENDOR_GET_FEATURE_EVENT, &p, sizeof(arduino_usb_hid_vendor_event_data_t), portMAX_DELAY);
@@ -136,7 +136,7 @@ void USBHIDVendor::_onSetFeature(uint8_t report_id, const uint8_t* buffer, uint1
136136
return;
137137
}
138138
memcpy(feature, buffer, len);
139-
arduino_usb_hid_vendor_event_data_t p = {0};
139+
arduino_usb_hid_vendor_event_data_t p;
140140
p.buffer = feature;
141141
p.len = len;
142142
arduino_usb_event_post(ARDUINO_USB_HID_VENDOR_EVENTS, ARDUINO_USB_HID_VENDOR_SET_FEATURE_EVENT, &p, sizeof(arduino_usb_hid_vendor_event_data_t), portMAX_DELAY);
@@ -153,7 +153,7 @@ void USBHIDVendor::_onOutput(uint8_t report_id, const uint8_t* buffer, uint16_t
153153
break;
154154
}
155155
}
156-
arduino_usb_hid_vendor_event_data_t p = {0};
156+
arduino_usb_hid_vendor_event_data_t p;
157157
p.buffer = buffer;
158158
p.len = len;
159159
arduino_usb_event_post(ARDUINO_USB_HID_VENDOR_EVENTS, ARDUINO_USB_HID_VENDOR_OUTPUT_EVENT, &p, sizeof(arduino_usb_hid_vendor_event_data_t), portMAX_DELAY);

libraries/USB/src/USBVendor.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -146,7 +146,7 @@ void USBVendor::_onRX(const uint8_t* buffer, size_t len){
146146
break;
147147
}
148148
}
149-
arduino_usb_vendor_event_data_t p = {0};
149+
arduino_usb_vendor_event_data_t p;
150150
p.data.len = len;
151151
arduino_usb_event_post(ARDUINO_USB_VENDOR_EVENTS, ARDUINO_USB_VENDOR_DATA_EVENT, &p, sizeof(arduino_usb_vendor_event_data_t), portMAX_DELAY);
152152
}

0 commit comments

Comments
 (0)