Commit Graph

84 Commits

Author SHA1 Message Date
ARg 47d391fc6d AP_HAL_ESP32: ADC driver ported to new idf 5.x driver and debugged 2024-10-08 10:29:02 +11:00
Bayu Laksono 6d672d42b9 AP_HAL_ESP32: Add GPIO driver and buzzer 2024-10-01 21:06:39 -05:00
ARg 1ef0f1a63f AP_HAL_ESP32: Migration of ESP32 targets from idf 4.4 to 5.3 consisting of:
- modification of CMakeLists to use new component names of idf 5.3;
- removing big sdkconfig, which changes a lot, when upgrading idf and to use sdkconfig.defaults, which contain only non default defines;
- Updated idf installation packages list, according to espressif documentation;
- Updated README.md to reflect changes in sdkconfig handling;
- Fixed WDT in Scheduler, it was broken with idf 5.3;
- fixed compilation issues with GCC 13 (which is used by idf 5.3);
- fixed bug in case when HAL_ESP32_WIFI defined as 0 (disable wifi)
- Added ESP32 targets sdkconfig (auto generated) to .gitignore
2024-10-01 09:25:35 +10:00
Peter Barker cc9279713a AP_HAL_ESP32: re-order initialiser lines so -Werror=reorder will work 2024-09-24 22:50:28 +10:00
muramura 68bb55841a AP_HAL_ESP32: Change the magic number to a defined value 2024-09-12 14:23:10 +10:00
David Buzz 7846cccdaa AP_HAL_ESP32: fix RMT on s3by using channel thats compatible with both . 2024-09-06 11:54:31 +10:00
David 'Buzz' Bussenschutt 792941d4de AP_HAL_ESP32: bigger instruction cache on s3 helps performance 2024-09-06 11:52:32 +10:00
David Buzz 61e83dcd0e AP_HAL_ESP32: improve the reported LOOP_RATE on esp32s3 to similar loop rate to classic esp32
getting a loop rate of around 130 on both now

source modules/esp_idf/export.sh

./waf configure --board=esp32s3empty --debug
./waf copter
cd build/esp32buzz/esp-idf_build/
ninja menuconfig

./waf configure --board=esp32buzz --debug
./waf copter
cd build/esp32buzz/esp-idf_build/
ninja menuconfig

and try to get both the resulting modified sdkconfig as smiilar as possible - this causes s3 to use qio, which is faster, and also puts the wifi stuff onto CORE1 on both configs.

s3:
loop_rate: actual: 148.097137Hz, expected: 400Hz
loop_rate: actual: 147.908691Hz, expected: 400Hz

classic:
loop_rate: actual: 188.718842Hz, expected: 400Hz
loop_rate: actual: 191.819748Hz, expected: 400Hz
2024-09-03 11:04:10 +10:00
David Buzz 04292a280c AP_HAL_ESP32: scheduler timing information was lying to us
This reverts commit 010cfa2f4c.

AP_HAL_ESP32: scheduler timing information was lying to us, this puts it back so both 'esp32buzz' and 'esp32s3empty' loop rates are "better than before.  Still terrible, but an improvement

revert of part of pr #27181
2024-09-02 09:21:45 +10:00
Peter Barker 9a1aece9ab AP_HAL_ESP32: use GCS_SEND_TEXT rather than gcs().send_text
Co-authored-by: muramura <ma2maru@gmail.com>
2024-08-07 18:33:16 +10:00
Thomas Watson 63ab7bec69 AP_HAL_ESP32: use correct unformatted system ID length
Avoids stuffing uninitialized data into the ID.
2024-07-17 09:08:51 +10:00
Andrew Tridgell 15ef6b1192 AP_HAL_ESP32: switched ENABLE_HEAP to an #if 2024-07-11 09:28:17 +10:00
Andrew Tridgell ffc78722f7 HAL_ESP32: removed run_debug_shell 2024-07-11 07:42:54 +10:00
Andrew Tridgell 9caf942c7e AP_HAL_ESP32: use NEW_NOTHROW for new(std::nothrow) 2024-06-04 09:20:21 +10:00
radityankn 4cab322356 Update RCOutput.cpp
erasing additional curly brackets
2024-05-29 17:02:48 +10:00
radityankn 119f822583 AP_HAL_ESP32: support for Safety Switch
modified RCOutout.cpp to read specified pin for safety switch and light
the LED on another specified pin
2024-05-29 17:02:48 +10:00
David Buzz 1c9a44c33e AP_HAL_ESP32:LOWERING the MAIN_PRIO gets a 400hz loop rate on s3 "empty" board
loop_rate: actual: 400.000000Hz, expected: 400Hz
loop_rate: actual: 400.000000Hz, expected: 400Hz
loop_rate: actual: 400.000000Hz, expected: 400Hz
[ setup esp32 build env ] 
./waf configure --board=esp32s3empty --debug
./waf copter --debug --disable-scripting --upload
 after upload:
cd build/esp32s3empty/esp-idf_build && ninja monitor && cd -
[watch console output for 2 minutes]
ctrl-right-square-bracket to stop watching console.
2024-05-29 13:12:37 +10:00
David Buzz 07092715a7 AP_HAL_ESP32: print loop rate
loop rate getting 262Hz from console after approx 2 minutes boot

loop_rate: actual: 262.022766Hz, expected: 400Hz
loop_rate: actual: 262.022766Hz, expected: 400Hz

t
2024-05-29 13:12:37 +10:00
David 'Buzz' Bussenschutt 529d783e0e AP_HAL_ESP32: automatic S3 sdkconfig changes generated by IDF 2024-05-29 13:12:37 +10:00
Dave d6488eb030 AP_HAL_ESP32: Added missing letter to printf statement 2024-04-03 16:18:02 +09:00
David Buzz 5cd6d74d36 AP_HAL_ESP32: esp32s3 debugger readme in both .txt and .md format 2024-03-16 07:16:46 +11:00
Simon 750ef597ff AP_HAL_ESP32: bugfix RmtSigReader for idf - 4.4 2024-03-15 19:29:21 +11:00
David Buzz 73afd26465 AP_HAL_ESP32: bugfixes
bump  tick rate to 1kz to match chibios

experimentally make delay_microseconds not delay, and only yield ( vTaskDelay yields to higher-priority tasks )

ESP32 disable all watchdogs

emit info to console to tell user where to connect tcp/udp and what ports

comment out bad code throwing a ptr error
2024-03-03 07:29:35 +11:00
Andrew Tridgell 673c89da9c AP_HAL_ESP32: fixed get_baud_rate() 2024-02-29 11:00:40 +11:00
David Buzz b65313303f AP_HAL_ESP32: analog warning fix 2024-01-09 11:15:21 +11:00
David Buzz ca32c8a873 AP_HAL_ESP32 : this was an attempt at resolving watchdog issues , now just needs to go
superceeded by b9ac504d0d
2024-01-08 07:49:25 +11:00
Andrew Tridgell 3fd907ddce HAL_ESP32: use faster div1000 2024-01-07 20:51:55 +11:00
Andrew Tridgell d90a4654a7 HAL_ESP32: allow for building with sim on hw 2024-01-07 20:51:55 +11:00
David Buzz 08a09d04dc HAL_ESP32: bring S3's sdkconfig closer to classic , and optimise wifi on classic 2024-01-07 18:37:56 +11:00
David Buzz 9e8c16d15e AP_HAL_ESP32: S3 also needs change to storage sector size to 128K
just completing this PR for the S3..
fa70a56a65
2024-01-07 18:37:04 +11:00
David Buzz 678474614f AP_HAL_ESP32: Update the WiFi init code to the newer ESP-IDF (4.2+) and
mostly by TByte007 from here, but fixed and re-tested.
https://github.com/ArduPilot/ardupilot/pull/24527/commits
2024-01-07 18:36:08 +11:00
David Buzz b9ac504d0d AP_HAL_ESP32: prevent watchdog while booting with slow things like sdcards 2024-01-07 08:32:44 +11:00
Andrew Tridgell bfcb8f361e AP_HAL_ESP32: added PRIORITY_NET 2024-01-03 12:14:47 +11:00
Peter Barker 75ebef32cf AP_HAL_ESP32: cope with HAL_WITH_DSP being false 2024-01-03 11:45:31 +11:00
Andrew Tridgell 5d1eb145cd HAL_ESP32: implement BinarySemaphore 2024-01-03 07:37:05 +11:00
Andrew Tridgell 687c5887af HAL_ESP32: allow for building of examples and tool firmware on ESP32
use waf build target to find the right library name
2023-12-31 09:55:16 +11:00
Andrew Tridgell 4b908077c2 HAL_ESP32: push S3 to 500Hz 2023-12-31 09:55:02 +11:00
Andrew Tridgell e2f82ed9bc HAL_ESP32: added esp32s3empty target 2023-12-31 09:55:02 +11:00
Thomas Watson 6b79349947 AP_HAL_ESP32: eliminate legacy UART ordering/references 2023-12-19 06:53:15 +11:00
Thomas Watson 574c8016c3 AP_HAL_ESP32: pass UARTs to AP_HAL in SERIALn order 2023-12-19 06:53:15 +11:00
Thomas Watson 2dbf5aefb3 AP_HAL_ESP32: introduce get_HAL_mutable() to complement get_HAL()
Returns a mutable reference to the same HAL for certain purposes where
the HAL needs to be mutated to avoid UB problems with casting away const
and to make the fact that mutation is happening obvious.
2023-11-28 08:24:25 +11:00
Rhys Mainwaring b97e98242b AP_HAL_ESP32: update esp32empty
- Add INS_ACC offsets to param to skip calibration for esp32empty
- Update esp32empty.h
  - Change tabs to whitespace.
  - Define HAL_INS_DEFAULT to HAL_INS_NONE
  - Update wifi details
  - Format comment in esp32empty
  - Update serial defaults and uarts
  - Use IO_MUX for UART_NUM_2 (TX 17, RX 16)
- Update scheduler
  - Disable initialisation check in timer thread if HAL_INS_NONE
  - Print main loop rate every 10s
  - Remove serial(n)->begin() calls

Signed-off-by: Rhys Mainwaring <rhys.mainwaring@me.com>
2023-09-02 09:43:14 +10:00
Rhys Mainwaring fa70a56a65 AP_HAL_ESP32: change storage sector size to 128K
Signed-off-by: Rhys Mainwaring <rhys.mainwaring@me.com>
2023-09-01 10:34:27 +10:00
Andrew Tridgell 3caf52a841 AP_HAL_ESP32: moved UART port locking up to AP_HAL 2023-07-12 17:06:02 +10:00
David Buzz 0d9f0c8dd6 AP_HAL_ESP32: esp32 i2c bugfix for idf4.4 2023-07-12 08:19:34 +09:00
Nicholas Kruzan 79d103459a AP_HAL_ESP32: new board: esp32s3devkit 2023-05-26 10:54:01 -07:00
Nicholas Kruzan 575422fdf5 AP_HAL_ESP32: new mcu: esp32s3 2023-05-26 10:54:01 -07:00
Nicholas Kruzan 9744b2d483 AP_HAL_ESP32: move esp32 specific idf build stuff to subfolder
AP_HAL_ESP32: move esp32 specific idf build stuff to subfolder
2023-05-26 10:54:01 -07:00
Peter Barker 86db236647 AP_HAL_ESP32: replace HAVE_FILESYSTEM_SUPPORT with backend defines 2023-05-17 09:40:39 +10:00
Peter Barker 49879ab28c AP_HAL_ESP32: add and use AP_RCPROTOCOL_ENABLED 2023-05-16 09:16:37 +10:00