Thomas Watson
f62f1cdeab
AP_HAL_ESP32: RCOutput: add support for brushed PWM mode
...
Also adds some infrastructure for changing PWM group mode, though this
is likely the complete set that can be supported with the ESP32 PWM
peripheral.
2024-12-27 16:20:26 +00:00
Thomas Watson
881c5fbd78
AP_HAL_ESP32: RCOutput: rework to properly support output groups
...
Each of the six available timers now handles two consecutive PWM output
channels. This also implements support for changing the group PWM
frequency in a similar manner to the ChibiOS HAL.
2024-12-27 16:20:26 +00:00
Thomas Watson
b2df646b86
AP_HAL_ESP32: RCOutput: appropriately assert PWM array size
...
Avoid over-running the pending PWM and safe value PWM arrays in case
future chip revisions come out with more channels.
2024-12-27 16:20:26 +00:00
Thomas Watson
f6e01dbee9
AP_HAL_ESP32: RCOutput: fix channel enable/disable
...
Enabling/disabling the timer would apply the setting to whole groups of
channels. Fix to poke the comparator so that the setting only applies to
the particular channel.
Conveniently, though not necessarily intentionally, this avoids
truncating the output pulse and causing unexpected reactions from
servos. This also preserves the old behavior.
2024-12-27 16:20:26 +00:00
Patrick José Pereira
c29815644f
libraries: AP_HAL_ESP32: README: Add info about ESPPORT
...
Signed-off-by: Patrick José Pereira <patrickelectric@gmail.com>
2024-12-27 09:12:12 +11:00
Thomas Watson
54e3d74b51
AP_HAL_ESP32: drop spurious HAL_PARAM_DEFAULTS_PATH definition
...
It's already conditionally defined to nullptr in the top-level AP_HAL.
2024-12-24 10:50:21 +11:00
Thomas Watson
5de8da421d
AP_HAL_ESP32: drop never-used defaults.parm
2024-12-24 10:50:21 +11:00
Peter Barker
ab4614dd98
AP_HAL_ESP32: stop making python python3
...
this isn't something we should be doing to people's environments
2024-12-17 09:19:20 +11:00
Rhys Mainwaring
5b935a3838
AP_HAL_ESP32: update cmake minimum version
...
- The ESP32 API guide states the cmake version must be 3.16 or greater.
Signed-off-by: Rhys Mainwaring <rhys.mainwaring@me.com>
2024-12-15 08:55:04 -06:00
Rhys Mainwaring
d1cbf30286
AP_HAL_ESP32: add targets to measure static memory sizes
...
Signed-off-by: Rhys Mainwaring <rhys.mainwaring@me.com>
2024-12-12 23:16:48 -06:00
Rhys Mainwaring
eecac5eead
AP_HAL_ESP32: reduce sdcard mount config max_files
...
Signed-off-by: Rhys Mainwaring <rhys.mainwaring@me.com>
2024-12-12 22:54:18 -06:00
Rhys Mainwaring
3c561e215f
AP_HAL_ESP32: set default cpu frequency to 240MHz
...
Signed-off-by: Rhys Mainwaring <rhys.mainwaring@me.com>
2024-12-10 10:32:47 +11:00
Thomas Watson
a14fb9ab28
AP_HAL_ESP32: regenerate sdkconfig after sdkconfig.defaults change
...
Ensures the sdkconfig does not get out of date as updates are made to
the defaults. The sdkconfig can still be manually changed for testing.
2024-12-10 10:32:47 +11:00
Thomas Watson
535f6875a8
AP_HAL_ESP32: move generated sdkconfig to build folder
...
Ensures it gets cleaned with `./waf clean`. Users will hopefully delete
and not be confused by the old one as it will now show up as an
untracked file.
2024-12-10 10:32:47 +11:00
Rhys Mainwaring
85f8ae8aa3
AP_HAL_ESP32: disable define of HAL_ESP32_RCIN on esp32empty
...
- RMTSigReader issue with rmt(legacy): RMT RX BUFFER FULL
Signed-off-by: Rhys Mainwaring <rhys.mainwaring@me.com>
2024-11-23 21:50:51 -06:00
Rhys Mainwaring
7c1af5a1a9
AP_HAL_ESP32: format scheduler stack declarations
...
Signed-off-by: Rhys Mainwaring <rhys.mainwaring@me.com>
2024-11-23 13:43:05 -06:00
David Buzz
f10333e787
AP_HAL_ESP32: sneak the scheduler Stack Sizes values down to smaller but still ok-we-hope values.
...
WARN - may cause crashes!
2024-11-23 13:43:05 -06:00
Thomas Watson
5398f1a499
AP_HAL_ESP32: move scheduler stats display behind SCHEDDEBUG
...
It takes ~100ms and causes noticeable control glitches.
2024-11-22 12:20:52 -06:00
Andrew Tridgell
d90d46c02d
AP_HAL_ESP32: removed heap APIs
2024-11-20 07:32:03 +11:00
Andrew Tridgell
de49c9b1bc
AP_HAL_ESP32: implement new scripting heap APIs
2024-11-20 07:32:03 +11:00
Rhys Mainwaring
f9e319d114
AP_HAL_ESP32: enable uart rc
...
Signed-off-by: Rhys Mainwaring <rhys.mainwaring@me.com>
2024-11-19 11:21:09 +11:00
Peter Barker
35f2dce575
AP_HAL_ESP32: re-order initialiser lines so -Werror=reorder will work
2024-11-13 06:40:37 +11:00
ARg
a6f00a34b1
AP_HAL_ESP32: RCOutput ported to new mcpwm driver
2024-10-27 21:19:29 +11:00
Bayu Laksono
d27742983f
AP_HAL_ESP32: Switch WIFI task from FASTCPU to SLOWCPU
...
Switching WIFI task from FASTCPU to SLOWCPU seems to bring more balance between CPUs and thus increasing connection reliabiiity
2024-10-27 21:16:28 +11:00
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