From e04f050639357d495ab2be8aa456d1718b258f56 Mon Sep 17 00:00:00 2001 From: Lucas Saavedra Vaz <32426024+lucasssvaz@users.noreply.github.com> Date: Wed, 28 Aug 2024 09:43:02 -0300 Subject: [PATCH] fix(spelling): Fix misspellings detected by codespell and enable it (#10232) * fix(spelling): Fix misspellings detected by codespell and enable it * change(tools): Push generated binaries to PR --------- Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> --- .codespellrc | 3 +-- .pre-commit-config.yaml | 7 ++++--- CODE_OF_CONDUCT.md | 2 +- cores/esp32/Arduino.h | 2 +- cores/esp32/HWCDC.cpp | 4 ++-- cores/esp32/HardwareSerial.h | 2 +- cores/esp32/esp32-hal-uart.c | 2 +- cores/esp32/wiring_shift.c | 2 +- docs/en/api/gpio.rst | 2 +- docs/en/tutorials/preferences.rst | 4 ++-- libraries/ArduinoOTA/library.properties | 2 +- .../BLE5_extended_scan/BLE5_extended_scan.ino | 2 +- libraries/BLE/src/BLERemoteCharacteristic.cpp | 2 +- libraries/BLE/src/BLERemoteDescriptor.cpp | 2 +- .../DiscoverConnect/DiscoverConnect.ino | 2 +- .../Camera/CameraWebServer/app_httpd.cpp | 6 +++--- .../ExternalWakeUp/ExternalWakeUp.ino | 2 +- .../OnReceiveError_BREAK_Demo.ino | 2 +- .../RxFIFOFull_Demo/RxFIFOFull_Demo.ino | 4 ++-- .../Serial/RxTimeout_Demo/RxTimeout_Demo.ino | 4 ++-- .../Touch/TouchButton/TouchButton.ino | 2 +- .../Touch/TouchButtonV2/TouchButtonV2.ino | 2 +- .../Zigbee_Light_Bulb/Zigbee_Light_Bulb.ino | 2 +- .../Zigbee_Light_Switch.ino | 2 +- .../Zigbee_Temperature_Sensor.ino | 2 +- .../Zigbee_Thermostat/Zigbee_Thermostat.ino | 2 +- libraries/NetBIOS/src/NetBIOS.cpp | 6 +++--- .../WiFiClientTrustOnFirstUse.ino | 2 +- .../examples/COAP/coap_lamp/coap_lamp.ino | 2 +- .../examples/COAP/coap_switch/coap_switch.ino | 10 +++++----- libraries/OpenThread/src/OThreadCLI_Util.cpp | 2 +- libraries/PPP/src/PPP.cpp | 8 ++++---- libraries/RainMaker/src/RMakerDevice.cpp | 2 +- .../SPI_Multiple_Buses/SPI_Multiple_Buses.ino | 2 +- libraries/Update/src/Updater.cpp | 2 +- .../examples/WebServer/WebServer.ino | 2 +- tools/get.exe | Bin 6930008 -> 6930008 bytes tools/get.py | 2 +- variants/alfredo-nou3/pins_arduino.h | 2 +- variants/arduino_nano_nora/io_pin_remap.cpp | 2 +- variants/circuitart_zero_s3/pins_arduino.h | 2 +- 41 files changed, 58 insertions(+), 58 deletions(-) diff --git a/.codespellrc b/.codespellrc index 690782793..756f7e950 100644 --- a/.codespellrc +++ b/.codespellrc @@ -1,9 +1,8 @@ [codespell] # Source: https://github.com/arduino/tooling-project-assets/blob/main/workflow-templates/assets/spell-check/.codespellrc # In the event of a false positive, add the problematic word, in all lowercase, to a comma-separated list here: -ignore-words-list = ba,licence,ot,dout,als,exten,acount,totaly,pasttime +ignore-words-list = ba,licence,ot,dout,als,exten skip = ./.git,./.licenses,__pycache__,.clang-format,.codespellrc,.editorconfig,.flake8,.prettierignore,.yamllint.yml,.gitignore,boards.txt,platform.txt,programmers.txt builtin = clear,informal,en-GB_to_en-US check-filenames = check-hidden = -write-changes = diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index c92e9ad0d..54b4769ad 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -1,7 +1,9 @@ exclude: | (?x)( ^\.github\/| - ^tests\/performance\/coremark\/.*\.[ch]$ + ^tests\/performance\/coremark\/.*\.[ch]$| + ^tests\/performance\/superpi\/.*\.(cpp|h)$| + LICENSE\.md$ ) default_language_version: @@ -24,11 +26,10 @@ repos: - id: trailing-whitespace args: [--markdown-linebreak-ext=md] - repo: https://github.com/codespell-project/codespell - rev: "v2.2.4" + rev: "v2.3.0" hooks: - id: codespell exclude: ^.*\.(svd|SVD)$ - stages: [manual] - repo: https://github.com/pre-commit/mirrors-clang-format rev: "v18.1.3" hooks: diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md index ab0dbd360..0c90775c7 100644 --- a/CODE_OF_CONDUCT.md +++ b/CODE_OF_CONDUCT.md @@ -5,7 +5,7 @@ We as members, contributors, and leaders pledge to make participation in our community a harassment-free experience for everyone, regardless of age, body size, visible or invisible disability, ethnicity, sex characteristics, gender -identity and expression, level of experience, education, socio-economic status, +identity and expression, level of experience, education, socioeconomic status, nationality, personal appearance, race, religion, or sexual identity and orientation. diff --git a/cores/esp32/Arduino.h b/cores/esp32/Arduino.h index 2f2c53af4..4a92f29d0 100644 --- a/cores/esp32/Arduino.h +++ b/cores/esp32/Arduino.h @@ -179,7 +179,7 @@ void initArduino(void); unsigned long pulseIn(uint8_t pin, uint8_t state, unsigned long timeout); unsigned long pulseInLong(uint8_t pin, uint8_t state, unsigned long timeout); -uint8_t shiftIn(uint8_t dataPin, uint8_t clockPin, uint8_t bitOrder); +uint8_t shiftIn(uint8_t dataPin, uint8_t clockPin, uint8_t bitOrder); // codespell:ignore shiftin void shiftOut(uint8_t dataPin, uint8_t clockPin, uint8_t bitOrder, uint8_t val); #ifdef __cplusplus diff --git a/cores/esp32/HWCDC.cpp b/cores/esp32/HWCDC.cpp index b0f653e88..780e560dc 100644 --- a/cores/esp32/HWCDC.cpp +++ b/cores/esp32/HWCDC.cpp @@ -443,7 +443,7 @@ size_t HWCDC::write(const uint8_t *buffer, size_t size) { if (connected) { usb_serial_jtag_ll_ena_intr_mask(USB_SERIAL_JTAG_INTR_SERIAL_IN_EMPTY); } - // tracks CDC trasmission progress to avoid hanging if CDC is unplugged while still sending data + // tracks CDC transmission progress to avoid hanging if CDC is unplugged while still sending data size_t last_toSend = to_send; uint32_t tries = tx_timeout_ms; // waits 1ms per sending data attempt, in case CDC is unplugged while (connected && to_send) { @@ -479,7 +479,7 @@ size_t HWCDC::write(const uint8_t *buffer, size_t size) { } } } - // CDC was diconnected while sending data ==> flush the TX buffer keeping the last data + // CDC was disconnected while sending data ==> flush the TX buffer keeping the last data if (to_send && !usb_serial_jtag_ll_txfifo_writable()) { connected = false; flushTXBuffer(buffer + so_far, to_send); diff --git a/cores/esp32/HardwareSerial.h b/cores/esp32/HardwareSerial.h index 3fd5e7dc9..fb9ac9a95 100644 --- a/cores/esp32/HardwareSerial.h +++ b/cores/esp32/HardwareSerial.h @@ -228,7 +228,7 @@ public: // onReceive will setup a callback that will be called whenever an UART interruption occurs (UART_INTR_RXFIFO_FULL or UART_INTR_RXFIFO_TOUT) // UART_INTR_RXFIFO_FULL interrupt triggers at UART_FULL_THRESH_DEFAULT bytes received (defined as 120 bytes by default in IDF) - // UART_INTR_RXFIFO_TOUT interrupt triggers at UART_TOUT_THRESH_DEFAULT symbols passed without any reception (defined as 10 symbos by default in IDF) + // UART_INTR_RXFIFO_TOUT interrupt triggers at UART_TOUT_THRESH_DEFAULT symbols passed without any reception (defined as 10 symbols by default in IDF) // onlyOnTimeout parameter will define how onReceive will behave: // Default: true -- The callback will only be called when RX Timeout happens. // Whole stream of bytes will be ready for being read on the callback function at once. diff --git a/cores/esp32/esp32-hal-uart.c b/cores/esp32/esp32-hal-uart.c index 7608502d0..9eb117988 100644 --- a/cores/esp32/esp32-hal-uart.c +++ b/cores/esp32/esp32-hal-uart.c @@ -45,7 +45,7 @@ struct uart_struct_t { bool has_peek; // flag to indicate that there is a peek byte pending to be read uint8_t peek_byte; // peek byte that has been read but not consumed QueueHandle_t uart_event_queue; // export it by some uartGetEventQueue() function - // configuration data:: Arduino API tipical data + // configuration data:: Arduino API typical data int8_t _rxPin, _txPin, _ctsPin, _rtsPin; // UART GPIOs uint32_t _baudrate, _config; // UART baudrate and config // UART ESP32 specific data diff --git a/cores/esp32/wiring_shift.c b/cores/esp32/wiring_shift.c index 7148ec303..2198b2e52 100644 --- a/cores/esp32/wiring_shift.c +++ b/cores/esp32/wiring_shift.c @@ -20,7 +20,7 @@ #include "esp32-hal.h" #include "wiring_private.h" -uint8_t shiftIn(uint8_t dataPin, uint8_t clockPin, uint8_t bitOrder) { +uint8_t shiftIn(uint8_t dataPin, uint8_t clockPin, uint8_t bitOrder) { // codespell:ignore shiftin uint8_t value = 0; uint8_t i; diff --git a/docs/en/api/gpio.rst b/docs/en/api/gpio.rst index e74f90bff..ebf31088f 100644 --- a/docs/en/api/gpio.rst +++ b/docs/en/api/gpio.rst @@ -9,7 +9,7 @@ One of the most used and versatile peripheral in a microcontroller is the GPIO. GPIO stands to General Purpose Input Output, and is responsible to control or read the state of a specific pin in the digital world. For example, this peripheral is widely used to create the LED blinking or to read a simple button. -.. note:: There are some GPIOs with special restrictions, and not all GPIOs are accessible through the developemnt board. For more information about it, see the corresponding board pin layout information. +.. note:: There are some GPIOs with special restrictions, and not all GPIOs are accessible through the development board. For more information about it, see the corresponding board pin layout information. GPIOs Modes *********** diff --git a/docs/en/tutorials/preferences.rst b/docs/en/tutorials/preferences.rst index 2239f4b84..53b87abd0 100644 --- a/docs/en/tutorials/preferences.rst +++ b/docs/en/tutorials/preferences.rst @@ -565,7 +565,7 @@ If you need to access a different namespace, close the one before opening the ot currentNamespace.end(); // closes 'myNamespace' - currentNamespace.begin("myOtherNamespace", false); // opens a different Preferences namesspace. + currentNamespace.begin("myOtherNamespace", false); // opens a different Preferences namespace. // do other stuff... currentNamespace.end(); // closes 'myOtherNamespace' @@ -644,7 +644,7 @@ Returning to the example above: .. -will assign to the variable ``dessert`` the String ``gravel`` if an error occurred, or the value stored against the key ``favourites`` if not. +will assign to the variable ``dessert`` the String ``gravel`` if an error occurred, or the value stored against the key ``favorites`` if not. If we predetermine a default value that is outside all legitimate values, we now have a way to test if an error actually occurred. diff --git a/libraries/ArduinoOTA/library.properties b/libraries/ArduinoOTA/library.properties index f4a674e7e..a8336230f 100644 --- a/libraries/ArduinoOTA/library.properties +++ b/libraries/ArduinoOTA/library.properties @@ -3,7 +3,7 @@ version=3.0.4 author=Ivan Grokhotkov and Hristo Gochkov maintainer=Hristo Gochkov sentence=Enables Over The Air upgrades, via wifi and espota.py UDP request/TCP download. -paragraph=With this library you can enable your sketch to be upgraded over network. Includes mdns anounces to get discovered by the arduino IDE. +paragraph=With this library you can enable your sketch to be upgraded over network. Includes mdns announces to get discovered by the arduino IDE. category=Communication url= architectures=esp32 diff --git a/libraries/BLE/examples/BLE5_extended_scan/BLE5_extended_scan.ino b/libraries/BLE/examples/BLE5_extended_scan/BLE5_extended_scan.ino index f49794b6b..42daff868 100644 --- a/libraries/BLE/examples/BLE5_extended_scan/BLE5_extended_scan.ino +++ b/libraries/BLE/examples/BLE5_extended_scan/BLE5_extended_scan.ino @@ -25,7 +25,7 @@ class MyBLEExtAdvertisingCallbacks : public BLEExtAdvertisingCallbacks { // here we can receive regular advertising data from BLE4.x devices Serial.println("BLE4.2"); } else { - // here we will get extended advertising data that are advertised over data channel by BLE5 divices + // here we will get extended advertising data that are advertised over data channel by BLE5 devices Serial.printf("Ext advertise: data_le: %d, data_status: %d \n", report.adv_data_len, report.data_status); } } diff --git a/libraries/BLE/src/BLERemoteCharacteristic.cpp b/libraries/BLE/src/BLERemoteCharacteristic.cpp index cd1078796..60d5108c1 100644 --- a/libraries/BLE/src/BLERemoteCharacteristic.cpp +++ b/libraries/BLE/src/BLERemoteCharacteristic.cpp @@ -177,7 +177,7 @@ void BLERemoteCharacteristic::gattClientEventHandler(esp_gattc_cb_event_t event, } // At this point, we have determined that the event is for us, so now we save the value - // and unlock the semaphore to ensure that the requestor of the data can continue. + // and unlock the semaphore to ensure that the requester of the data can continue. if (evtParam->read.status == ESP_GATT_OK) { m_value = String((char *)evtParam->read.value, evtParam->read.value_len); if (m_rawData != nullptr) { diff --git a/libraries/BLE/src/BLERemoteDescriptor.cpp b/libraries/BLE/src/BLERemoteDescriptor.cpp index d57f11eb8..b6d654cf9 100644 --- a/libraries/BLE/src/BLERemoteDescriptor.cpp +++ b/libraries/BLE/src/BLERemoteDescriptor.cpp @@ -69,7 +69,7 @@ void BLERemoteDescriptor::gattClientEventHandler(esp_gattc_cb_event_t event, esp } else { m_value = ""; } - // Unlock the semaphore to ensure that the requestor of the data can continue. + // Unlock the semaphore to ensure that the requester of the data can continue. m_semaphoreReadDescrEvt.give(); break; diff --git a/libraries/BluetoothSerial/examples/DiscoverConnect/DiscoverConnect.ino b/libraries/BluetoothSerial/examples/DiscoverConnect/DiscoverConnect.ino index e9ec101b9..bd50c6b1d 100644 --- a/libraries/BluetoothSerial/examples/DiscoverConnect/DiscoverConnect.ino +++ b/libraries/BluetoothSerial/examples/DiscoverConnect/DiscoverConnect.ino @@ -80,7 +80,7 @@ void setup() { Serial.println("Didn't find any devices"); } } else { - Serial.println("Error on discoverAsync f.e. not workin after a \"connect\""); + Serial.println("Error on discoverAsync f.e. not working after a \"connect\""); } } diff --git a/libraries/ESP32/examples/Camera/CameraWebServer/app_httpd.cpp b/libraries/ESP32/examples/Camera/CameraWebServer/app_httpd.cpp index 9f78de594..af3d38ad5 100644 --- a/libraries/ESP32/examples/Camera/CameraWebServer/app_httpd.cpp +++ b/libraries/ESP32/examples/Camera/CameraWebServer/app_httpd.cpp @@ -1101,7 +1101,7 @@ static esp_err_t win_handler(httpd_req_t *req) { int offsetX = parse_get_var(buf, "offx", 0); int offsetY = parse_get_var(buf, "offy", 0); int totalX = parse_get_var(buf, "tx", 0); - int totalY = parse_get_var(buf, "ty", 0); + int totalY = parse_get_var(buf, "ty", 0); // codespell:ignore totaly int outputX = parse_get_var(buf, "ox", 0); int outputY = parse_get_var(buf, "oy", 0); bool scale = parse_get_var(buf, "scale", 0) == 1; @@ -1110,10 +1110,10 @@ static esp_err_t win_handler(httpd_req_t *req) { log_i( "Set Window: Start: %d %d, End: %d %d, Offset: %d %d, Total: %d %d, Output: %d %d, Scale: %u, Binning: %u", startX, startY, endX, endY, offsetX, offsetY, - totalX, totalY, outputX, outputY, scale, binning + totalX, totalY, outputX, outputY, scale, binning // codespell:ignore totaly ); sensor_t *s = esp_camera_sensor_get(); - int res = s->set_res_raw(s, startX, startY, endX, endY, offsetX, offsetY, totalX, totalY, outputX, outputY, scale, binning); + int res = s->set_res_raw(s, startX, startY, endX, endY, offsetX, offsetY, totalX, totalY, outputX, outputY, scale, binning); // codespell:ignore totaly if (res) { return httpd_resp_send_500(req); } diff --git a/libraries/ESP32/examples/DeepSleep/ExternalWakeUp/ExternalWakeUp.ino b/libraries/ESP32/examples/DeepSleep/ExternalWakeUp/ExternalWakeUp.ino index dc247e387..aed57c490 100644 --- a/libraries/ESP32/examples/DeepSleep/ExternalWakeUp/ExternalWakeUp.ino +++ b/libraries/ESP32/examples/DeepSleep/ExternalWakeUp/ExternalWakeUp.ino @@ -81,7 +81,7 @@ void setup() { /* If there are no external pull-up/downs, tie wakeup pins to inactive level with internal pull-up/downs via RTC IO during deepsleep. However, RTC IO relies on the RTC_PERIPH power domain. Keeping this power domain on will - increase some power comsumption. However, if we turn off the RTC_PERIPH domain or if certain chips lack the RTC_PERIPH + increase some power consumption. However, if we turn off the RTC_PERIPH domain or if certain chips lack the RTC_PERIPH domain, we will use the HOLD feature to maintain the pull-up and pull-down on the pins during sleep. */ rtc_gpio_pulldown_en(WAKEUP_GPIO); // GPIO33 is tie to GND in order to wake up in HIGH diff --git a/libraries/ESP32/examples/Serial/OnReceiveError_BREAK_Demo/OnReceiveError_BREAK_Demo.ino b/libraries/ESP32/examples/Serial/OnReceiveError_BREAK_Demo/OnReceiveError_BREAK_Demo.ino index caf0cde50..fb7af04c5 100644 --- a/libraries/ESP32/examples/Serial/OnReceiveError_BREAK_Demo/OnReceiveError_BREAK_Demo.ino +++ b/libraries/ESP32/examples/Serial/OnReceiveError_BREAK_Demo/OnReceiveError_BREAK_Demo.ino @@ -35,7 +35,7 @@ before reading data, if necessary. In long UART transmissions, some data will be received based on FIFO Full parameter, and whenever - an error ocurs, it will raise the UART error interrupt. + an error occurs, it will raise the UART error interrupt. This sketch produces BREAK UART error in the beginning of a transmission and also at the end of a transmission. It will be possible to understand the order of the events in the logs. diff --git a/libraries/ESP32/examples/Serial/RxFIFOFull_Demo/RxFIFOFull_Demo.ino b/libraries/ESP32/examples/Serial/RxFIFOFull_Demo/RxFIFOFull_Demo.ino index e18dbbe5a..7722ef6f4 100644 --- a/libraries/ESP32/examples/Serial/RxFIFOFull_Demo/RxFIFOFull_Demo.ino +++ b/libraries/ESP32/examples/Serial/RxFIFOFull_Demo/RxFIFOFull_Demo.ino @@ -91,9 +91,9 @@ void testAndReport(uint8_t fifoFull) { } } - uint32_t pastTime = millis() - now; + uint32_t pastTime = millis() - now; // codespell:ignore pasttime Serial.printf("\nIt has sent %d bytes from Serial1 TX to Serial1 RX\n", sentBytes); - Serial.printf("It took %lu milliseconds to read %d bytes\n", pastTime, bytesReceived); + Serial.printf("It took %lu milliseconds to read %d bytes\n", pastTime, bytesReceived); // codespell:ignore pasttime Serial.printf("Per execution Serial.read() number of bytes data and time information:\n"); for (i = 0; i < DATA_SIZE; i++) { Serial.printf("#%03d - Received %03lu bytes after %lu ms.\n", i, bytesJustReceived[i], i > 0 ? timeStamp[i] - timeStamp[i - 1] : timeStamp[i] - now); diff --git a/libraries/ESP32/examples/Serial/RxTimeout_Demo/RxTimeout_Demo.ino b/libraries/ESP32/examples/Serial/RxTimeout_Demo/RxTimeout_Demo.ino index acddd73a4..64d15d3d9 100644 --- a/libraries/ESP32/examples/Serial/RxTimeout_Demo/RxTimeout_Demo.ino +++ b/libraries/ESP32/examples/Serial/RxTimeout_Demo/RxTimeout_Demo.ino @@ -85,9 +85,9 @@ void testAndReport(uint8_t rxTimeout) { } } - uint32_t pastTime = millis() - now; + uint32_t pastTime = millis() - now; // codespell:ignore pasttime Serial.printf("\nIt has sent %d bytes from Serial1 TX to Serial1 RX\n", sentBytes); - Serial.printf("It took %lu milliseconds to read %d bytes\n", pastTime, bytesReceived); + Serial.printf("It took %lu milliseconds to read %d bytes\n", pastTime, bytesReceived); // codespell:ignore pasttime Serial.print("Received data: ["); Serial.write(dataReceived, DATA_SIZE); Serial.println("]"); diff --git a/libraries/ESP32/examples/Touch/TouchButton/TouchButton.ino b/libraries/ESP32/examples/Touch/TouchButton/TouchButton.ino index 9acfdddb3..43f3bc365 100644 --- a/libraries/ESP32/examples/Touch/TouchButton/TouchButton.ino +++ b/libraries/ESP32/examples/Touch/TouchButton/TouchButton.ino @@ -1,7 +1,7 @@ /* This is an example how to use Touch Intrrerupts -The sketh will tell when it is touched and then relesased as like a push-button +The sketch will tell when it is touched and then released as like a push-button This method based on touchInterruptSetThresholdDirection() is only available for ESP32 */ diff --git a/libraries/ESP32/examples/Touch/TouchButtonV2/TouchButtonV2.ino b/libraries/ESP32/examples/Touch/TouchButtonV2/TouchButtonV2.ino index 5dc9bfeed..df9b3f411 100644 --- a/libraries/ESP32/examples/Touch/TouchButtonV2/TouchButtonV2.ino +++ b/libraries/ESP32/examples/Touch/TouchButtonV2/TouchButtonV2.ino @@ -1,7 +1,7 @@ /* This is an example how to use Touch Intrrerupts -The sketh will tell when it is touched and then relesased as like a push-button +The sketch will tell when it is touched and then released as like a push-button This method based on touchInterruptGetLastStatus() is only available for ESP32 S2 and S3 */ diff --git a/libraries/ESP32/examples/Zigbee/Zigbee_Light_Bulb/Zigbee_Light_Bulb.ino b/libraries/ESP32/examples/Zigbee/Zigbee_Light_Bulb/Zigbee_Light_Bulb.ino index b98b67cb4..c7e58125c 100644 --- a/libraries/ESP32/examples/Zigbee/Zigbee_Light_Bulb/Zigbee_Light_Bulb.ino +++ b/libraries/ESP32/examples/Zigbee/Zigbee_Light_Bulb/Zigbee_Light_Bulb.ino @@ -127,7 +127,7 @@ static void esp_zb_task(void *pvParameters) { esp_zb_set_primary_network_channel_set(ESP_ZB_PRIMARY_CHANNEL_MASK); //Erase NVRAM before creating connection to new Coordinator - esp_zb_nvram_erase_at_start(true); //Comment out this line to erase NVRAM data if you are conneting to new Coordinator + esp_zb_nvram_erase_at_start(true); //Comment out this line to erase NVRAM data if you are connecting to new Coordinator ESP_ERROR_CHECK(esp_zb_start(false)); esp_zb_main_loop_iteration(); diff --git a/libraries/ESP32/examples/Zigbee/Zigbee_Light_Switch/Zigbee_Light_Switch.ino b/libraries/ESP32/examples/Zigbee/Zigbee_Light_Switch/Zigbee_Light_Switch.ino index 6c19b145f..83ec1d7aa 100644 --- a/libraries/ESP32/examples/Zigbee/Zigbee_Light_Switch/Zigbee_Light_Switch.ino +++ b/libraries/ESP32/examples/Zigbee/Zigbee_Light_Switch/Zigbee_Light_Switch.ino @@ -159,7 +159,7 @@ void esp_zb_app_signal_handler(esp_zb_app_signal_t *signal_struct) { esp_zb_bdb_start_top_level_commissioning(ESP_ZB_BDB_MODE_NETWORK_FORMATION); } else { log_i("Device rebooted"); - log_i("Openning network for joining for %d seconds", 180); + log_i("Opening network for joining for %d seconds", 180); esp_zb_bdb_open_network(180); } } else { diff --git a/libraries/ESP32/examples/Zigbee/Zigbee_Temperature_Sensor/Zigbee_Temperature_Sensor.ino b/libraries/ESP32/examples/Zigbee/Zigbee_Temperature_Sensor/Zigbee_Temperature_Sensor.ino index 6a7e00e50..a510c9680 100644 --- a/libraries/ESP32/examples/Zigbee/Zigbee_Temperature_Sensor/Zigbee_Temperature_Sensor.ino +++ b/libraries/ESP32/examples/Zigbee/Zigbee_Temperature_Sensor/Zigbee_Temperature_Sensor.ino @@ -255,7 +255,7 @@ static void esp_zb_task(void *pvParameters) { esp_zb_set_primary_network_channel_set(ESP_ZB_PRIMARY_CHANNEL_MASK); //Erase NVRAM before creating connection to new Coordinator - //esp_zb_nvram_erase_at_start(true); //Comment out this line to erase NVRAM data if you are conneting to new Coordinator + //esp_zb_nvram_erase_at_start(true); //Comment out this line to erase NVRAM data if you are connecting to new Coordinator ESP_ERROR_CHECK(esp_zb_start(false)); esp_zb_main_loop_iteration(); diff --git a/libraries/ESP32/examples/Zigbee/Zigbee_Thermostat/Zigbee_Thermostat.ino b/libraries/ESP32/examples/Zigbee/Zigbee_Thermostat/Zigbee_Thermostat.ino index 1ace7d866..f229b9f10 100644 --- a/libraries/ESP32/examples/Zigbee/Zigbee_Thermostat/Zigbee_Thermostat.ino +++ b/libraries/ESP32/examples/Zigbee/Zigbee_Thermostat/Zigbee_Thermostat.ino @@ -279,7 +279,7 @@ void esp_zb_app_signal_handler(esp_zb_app_signal_t *signal_struct) { esp_zb_bdb_start_top_level_commissioning(ESP_ZB_BDB_MODE_NETWORK_FORMATION); } else { log_i("Device rebooted"); - log_i("Openning network for joining for %d seconds", 180); + log_i("Opening network for joining for %d seconds", 180); esp_zb_bdb_open_network(180); } } else { diff --git a/libraries/NetBIOS/src/NetBIOS.cpp b/libraries/NetBIOS/src/NetBIOS.cpp index ca2c29a4c..647f09408 100644 --- a/libraries/NetBIOS/src/NetBIOS.cpp +++ b/libraries/NetBIOS/src/NetBIOS.cpp @@ -12,7 +12,7 @@ typedef struct { uint8_t flags1; uint8_t flags2; uint16_t qcount; - uint16_t acount; + uint16_t acount; // codespell:ignore acount uint16_t nscount; uint16_t adcount; uint8_t name_len; @@ -26,7 +26,7 @@ typedef struct { uint8_t flags1; uint8_t flags2; uint16_t qcount; - uint16_t acount; + uint16_t acount; // codespell:ignore acount uint16_t nscount; uint16_t adcount; uint8_t name_len; @@ -84,7 +84,7 @@ void NetBIOS::_onPacket(AsyncUDPPacket &packet) { nbnsa.flags1 = 0x85; nbnsa.flags2 = 0; append_16((void *)&nbnsa.qcount, 0); - append_16((void *)&nbnsa.acount, 1); + append_16((void *)&nbnsa.acount, 1); // codespell:ignore acount append_16((void *)&nbnsa.nscount, 0); append_16((void *)&nbnsa.adcount, 0); nbnsa.name_len = question->name_len; diff --git a/libraries/NetworkClientSecure/examples/WiFiClientTrustOnFirstUse/WiFiClientTrustOnFirstUse.ino b/libraries/NetworkClientSecure/examples/WiFiClientTrustOnFirstUse/WiFiClientTrustOnFirstUse.ino index 5b683814d..afc588af7 100644 --- a/libraries/NetworkClientSecure/examples/WiFiClientTrustOnFirstUse/WiFiClientTrustOnFirstUse.ino +++ b/libraries/NetworkClientSecure/examples/WiFiClientTrustOnFirstUse/WiFiClientTrustOnFirstUse.ino @@ -22,7 +22,7 @@ https://en.wikipedia.org/wiki/Trust_on_first_use). In this scheme; we start the very first time without any security checks - but once we have our first connection; we store the public crytpographic + but once we have our first connection; we store the public cryptographic details (or a proxy, such as a sha256 of this). And then we use this for any subsequent connections. diff --git a/libraries/OpenThread/examples/COAP/coap_lamp/coap_lamp.ino b/libraries/OpenThread/examples/COAP/coap_lamp/coap_lamp.ino index 0e6504757..9b53373f7 100644 --- a/libraries/OpenThread/examples/COAP/coap_lamp/coap_lamp.ino +++ b/libraries/OpenThread/examples/COAP/coap_lamp/coap_lamp.ino @@ -90,7 +90,7 @@ bool otDeviceSetup(const char **otSetupCmds, uint8_t nCmds1, const char **otCoap } void setupNode() { - // tries to set the Thread Network node and only returns when succeded + // tries to set the Thread Network node and only returns when succeeded bool startedCorrectly = false; while (!startedCorrectly) { startedCorrectly |= diff --git a/libraries/OpenThread/examples/COAP/coap_switch/coap_switch.ino b/libraries/OpenThread/examples/COAP/coap_switch/coap_switch.ino index 37e5baa67..1d4293038 100644 --- a/libraries/OpenThread/examples/COAP/coap_switch/coap_switch.ino +++ b/libraries/OpenThread/examples/COAP/coap_switch/coap_switch.ino @@ -79,12 +79,12 @@ bool otDeviceSetup( } Serial.println("OpenThread setup done. Node is ready."); // all fine! LED goes and stays Blue - rgbLedWrite(RGB_BUILTIN, 0, 0, 64); // BLUE ... Swtich is ready! + rgbLedWrite(RGB_BUILTIN, 0, 0, 64); // BLUE ... Switch is ready! return true; } void setupNode() { - // tries to set the Thread Network node and only returns when succeded + // tries to set the Thread Network node and only returns when succeeded bool startedCorrectly = false; while (!startedCorrectly) { startedCorrectly |= otDeviceSetup( @@ -138,11 +138,11 @@ bool otCoapPUT(bool lampState) { return false; } -// this fucntion is used by the Switch mode to check the BOOT Button and send the user action to the Lamp node +// this function is used by the Switch mode to check the BOOT Button and send the user action to the Lamp node void checkUserButton() { static long unsigned int lastPress = 0; const long unsigned int debounceTime = 500; - static bool lastLampState = true; // first button press will turn the Lamp OFF from inital Green + static bool lastLampState = true; // first button press will turn the Lamp OFF from initial Green pinMode(USER_BUTTON, INPUT_PULLUP); // C6/H2 User Button if (millis() > lastPress + debounceTime && digitalRead(USER_BUTTON) == LOW) { @@ -150,7 +150,7 @@ void checkUserButton() { if (!otCoapPUT(lastLampState)) { // failed: Lamp Node is not responding due to be off or unreachable // timeout from the CoAP PUT message... restart the node. rgbLedWrite(RGB_BUILTIN, 255, 0, 0); // RED ... something failed! - Serial.println("Reseting the Node as Switch... wait."); + Serial.println("Resetting the Node as Switch... wait."); // start over... setupNode(); } diff --git a/libraries/OpenThread/src/OThreadCLI_Util.cpp b/libraries/OpenThread/src/OThreadCLI_Util.cpp index f26b964cc..d1b7f27a3 100644 --- a/libraries/OpenThread/src/OThreadCLI_Util.cpp +++ b/libraries/OpenThread/src/OThreadCLI_Util.cpp @@ -117,7 +117,7 @@ bool otExecCommand(const char *cmd, const char *arg, ot_cmd_return_t *returnCode i--; // search for ' ' before ":' } if (*i == ' ') { - i++; // move it forward to the number begining + i++; // move it forward to the number beginning returnCode->errorCode = atoi(i); returnCode->errorMessage = m; } // otherwise, it will keep the "bad error message" information diff --git a/libraries/PPP/src/PPP.cpp b/libraries/PPP/src/PPP.cpp index 8c25fe6aa..b687153ea 100644 --- a/libraries/PPP/src/PPP.cpp +++ b/libraries/PPP/src/PPP.cpp @@ -226,7 +226,7 @@ bool PPPClass::setPins(int8_t tx, int8_t rx, int8_t rts, int8_t cts, esp_modem_f bool PPPClass::begin(ppp_modem_model_t model, uint8_t uart_num, int baud_rate) { esp_err_t ret = ESP_OK; bool pin_ok = false; - int trys = 0; + int tries = 0; if (_esp_netif != NULL || _dce != NULL) { log_w("PPP Already Started"); @@ -313,11 +313,11 @@ bool PPPClass::begin(ppp_modem_model_t model, uint8_t uart_num, int baud_rate) { if (_pin_rst >= 0) { // wait to be able to talk to the modem log_v("Waiting for response from the modem"); - while (esp_modem_sync(_dce) != ESP_OK && trys < 100) { - trys++; + while (esp_modem_sync(_dce) != ESP_OK && tries < 100) { + tries++; delay(500); } - if (trys >= 100) { + if (tries >= 100) { log_e("Failed to wait for communication"); goto err; } diff --git a/libraries/RainMaker/src/RMakerDevice.cpp b/libraries/RainMaker/src/RMakerDevice.cpp index efeafac87..db431ba10 100644 --- a/libraries/RainMaker/src/RMakerDevice.cpp +++ b/libraries/RainMaker/src/RMakerDevice.cpp @@ -52,7 +52,7 @@ void Device::addCb(deviceWriteCb writeCb, deviceReadCb readCb) { esp_err_t Device::addDeviceAttr(const char *attr_name, const char *val) { err = esp_rmaker_device_add_attribute(getDeviceHandle(), attr_name, val); if (err != ESP_OK) { - log_e("Failed to add attriute to the device"); + log_e("Failed to add attribute to the device"); return err; } return ESP_OK; diff --git a/libraries/SPI/examples/SPI_Multiple_Buses/SPI_Multiple_Buses.ino b/libraries/SPI/examples/SPI_Multiple_Buses/SPI_Multiple_Buses.ino index 672d5fe2b..c73f6078c 100644 --- a/libraries/SPI/examples/SPI_Multiple_Buses/SPI_Multiple_Buses.ino +++ b/libraries/SPI/examples/SPI_Multiple_Buses/SPI_Multiple_Buses.ino @@ -45,7 +45,7 @@ static const int spiClk = 1000000; // 1 MHz -//uninitialised pointers to SPI objects +//uninitialized pointers to SPI objects SPIClass *vspi = NULL; SPIClass *hspi = NULL; diff --git a/libraries/Update/src/Updater.cpp b/libraries/Update/src/Updater.cpp index 4be13b9d1..78f93602c 100644 --- a/libraries/Update/src/Updater.cpp +++ b/libraries/Update/src/Updater.cpp @@ -393,7 +393,7 @@ bool UpdateClass::_writeBuffer() { } } - // try to skip empty blocks on unecrypted partitions + // try to skip empty blocks on unencrypted partitions if ((_partition->encrypted || _chkDataInBlock(_buffer + skip / sizeof(uint32_t), _bufferLen - skip)) && !ESP.partitionWrite(_partition, _progress + skip, (uint32_t *)_buffer + skip / sizeof(uint32_t), _bufferLen - skip)) { _abort(UPDATE_ERROR_WRITE); diff --git a/libraries/WebServer/examples/WebServer/WebServer.ino b/libraries/WebServer/examples/WebServer/WebServer.ino index be1b0bbbe..9871826bb 100644 --- a/libraries/WebServer/examples/WebServer/WebServer.ino +++ b/libraries/WebServer/examples/WebServer/WebServer.ino @@ -243,7 +243,7 @@ void setup(void) { TRACE("Starting WebServer example...\n"); - // ----- check partitions for finding the fileystem type ----- + // ----- check partitions for finding the filesystem type ----- esp_partition_iterator_t i; i = esp_partition_find(ESP_PARTITION_TYPE_DATA, ESP_PARTITION_SUBTYPE_DATA_FAT, nullptr); diff --git a/tools/get.exe b/tools/get.exe index 13f81c367719c2a38a159869f509086976e69ead..161cb193cae89e3dbc84006a7c7332e2683eb329 100644 GIT binary patch delta 40310 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

L&09 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 W&qFtbYj4b+rciM?*xdf_Ui?2jcrR7} delta 40002 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 ZP7QX(6^081Mx9jdlr**QgBZfs{{j63_Spac diff --git a/tools/get.py b/tools/get.py index 19d48be5c..45f97d62f 100755 --- a/tools/get.py +++ b/tools/get.py @@ -171,7 +171,7 @@ def is_latest_version(destination, dirname, rename_to, cfile, checksum): except Exception as e: if verbose: - print(f"Falied to verify version for {rename_to}: {e}") + print(f"Failed to verify version for {rename_to}: {e}") return False diff --git a/variants/alfredo-nou3/pins_arduino.h b/variants/alfredo-nou3/pins_arduino.h index 9d7f57f03..88bdbea0b 100644 --- a/variants/alfredo-nou3/pins_arduino.h +++ b/variants/alfredo-nou3/pins_arduino.h @@ -5,7 +5,7 @@ #define USB_PID 0x0003 #define USB_MANUFACTURER "Alfredo" #define USB_PRODUCT "NoU3" -#define USB_SERIAL "" // Empty string for MAC adddress +#define USB_SERIAL "" // Empty string for MAC address // User LED #define LED_BUILTIN 45 diff --git a/variants/arduino_nano_nora/io_pin_remap.cpp b/variants/arduino_nano_nora/io_pin_remap.cpp index 5ed2b0efe..f615f5729 100644 --- a/variants/arduino_nano_nora/io_pin_remap.cpp +++ b/variants/arduino_nano_nora/io_pin_remap.cpp @@ -10,7 +10,7 @@ // This board uses pin mapping but the build system has disabled it #warning The build system forces the Arduino API to use GPIO numbers on a board that has custom pin mapping. #elif defined(BOARD_USES_HW_GPIO_NUMBERS) -// The user has chosen to disable pin mappin. +// The user has chosen to disable pin mapping. #warning The Arduino API will use GPIO numbers for this build. #endif diff --git a/variants/circuitart_zero_s3/pins_arduino.h b/variants/circuitart_zero_s3/pins_arduino.h index 930a081e0..adf38ca67 100644 --- a/variants/circuitart_zero_s3/pins_arduino.h +++ b/variants/circuitart_zero_s3/pins_arduino.h @@ -7,7 +7,7 @@ #define USB_PID 0x80DB #define USB_MANUFACTURER "CircuitART" #define USB_PRODUCT "ZeroS3" -#define USB_SERIAL "" // Empty string for MAC adddress +#define USB_SERIAL "" // Empty string for MAC address // User LED #define LED_BUILTIN 46