Commit Graph

99 Commits

Author SHA1 Message Date
Darian Leung
1f73689c50
fix(console): Fix build issues when CONFIG_ESP_CONSOLE_NONE is enabled
This commit fixes the following build issues when CONFIG_ESP_CONSOLE_NONE is
enabled:

- esp_console_repl.c will have 'defined but unused' warnings on various console
functions.
- esp_console_repl.c does not use "TAG" when CONFIG_ESP_CONSOLE_NONE is
enabled, leading to a "defined by not used" warning.

Closes https://github.com/espressif/esp-idf/issues/12984
2024-02-29 17:36:41 +08:00
Sudeep Mohanty
47cd6cd23c fix(console): Fixed linenoise prompt length calculation
This commit fixes a potential issue where in the prompt length used
for the linenoise based console could be calculated as a negative
integer, leading to a console hang.

Closes https://github.com/espressif/esp-idf/issues/4924
2024-01-17 09:42:01 +01:00
Jakob Hasse
548022fbe6 refactor(linux): excluded all non-Linux components from build
* All components which won't build (yet) on Linux are excluded.
  This enables switching to Linux in an application without
  explicitly setting COMPONENTS to main in the main
  CMakeLists.txt.
* ESP Timer provides headers for Linux now
* automatically disabling LWIP in Kconfig if it is not available

doc(linux): brought section
  "Component Linux/Mock Support Overview" up to date
2023-10-16 17:06:54 +08:00
Marius Vikhammer
d27dd4d9cb Merge branch 'docs/show_include_path' into 'master'
docs: show include path and require component as part of API header

Closes IDF-3134, DOC-1032, and DOC-3629

See merge request espressif/esp-idf!25092
2023-10-11 09:36:14 +08:00
Alexey Lapshin
73742dcdaa fix(console): fix linenoise flushing in dumb mode 2023-10-09 12:13:02 +04:00
Marius Vikhammer
ebe68c3ee3 docs(build): add header include path and component require to api reference 2023-10-07 11:47:45 +08:00
Armando
7dbd3f6909 feat(ci): Enable p4 example, test_apps and unit tests CI build 2023-08-24 12:51:19 +08:00
Jakob Hasse
7b258bef0e refactor(esp_console): improved error handling, added tests and docs
* Updated documentation of
  esp_console_register_help_command
* Improved help command error handling
* Added test for the help command
2023-08-15 14:11:30 +08:00
Josef Norgan
f317cc55f2 feat(esp_console): Added Help command parameter for displaying only specific command 2023-08-15 10:09:37 +08:00
Marius Vikhammer
f80430911f fix(console): fixed esp_console_init not working if heap_alloc_caps was 0 2023-08-10 10:35:32 +08:00
Marius Vikhammer
54f327a380 Merge branch 'contrib/github_pr_11562' into 'master'
[Console] add setting to use PSRAM (GitHub PR)

Closes IDFGH-10303

See merge request espressif/esp-idf!25136
2023-08-08 09:34:47 +08:00
Marius Vikhammer
1ec1a69ed0 feature(console): updated console alloc config to use static config struct
No need to store the config in a separate variable, can re-use the config struct
2023-08-03 10:19:15 +08:00
Chip Weinberger
9178748ff3 [Console] add heap caps settings 2023-08-01 23:38:47 -07:00
Marius Vikhammer
91aaf8b1a0 ci(qemu): temporarily allow qemu tests to fail 2023-07-13 11:16:38 +08:00
Zim Kalinowski
8fe961b3ff console: enable qemu tests 2023-06-20 09:37:39 +02:00
Zim Kalinowski
4ba38c2105 Merge branch 'fix/console-build-error' into 'master'
console: Fix building issue when serial JTAG is set

Closes IDFGH-9327

See merge request espressif/esp-idf!23311
2023-05-04 20:15:42 +08:00
Guillaume Souchere
c84f0b25ac console: Fix building issue when serial JTAG is set
Closes https://github.com/espressif/esp-idf/issues/10707
2023-04-27 15:28:23 +08:00
Marius Vikhammer
1a5e47bd07 ci: fixed test apps overriding pytest configs 2023-04-26 11:07:35 +08:00
Roland Dobai
1bf382a3e1 Merge branch 'monitor_win_color' into 'master'
bug(idf_monitor, hints): fix monitor colors on windows with hints

Closes IDF-5863

See merge request espressif/esp-idf!22070
2023-04-21 20:15:38 +08:00
Peter Dragun
bebd2cec4a bug(idf_monitor): fix color on windows with hints
Closes https://github.com/espressif/esp-idf/issues/9610
2023-04-17 11:18:42 +02:00
Ivan Grokhotkov
141b7356fb
console: minor fixes
- wrong comment
- duplicated setvbuf
2023-04-12 11:07:55 +02:00
Marius Vikhammer
0752227868 console: add running repl test in CI 2023-04-07 07:12:23 +00:00
Zim Kalinowski
2a8bbda6e4 console: Fix and re-enable no-format warnings 2023-03-06 14:12:31 +01:00
Marius Vikhammer
25abc7f6d8 ci: update idf-core related tests for C6 2023-02-13 13:01:57 +08:00
Cao Sen Miao
94120b82c2 esp32h2: add build test 2023-01-17 10:29:04 +08:00
Song Ruo Jing
be0fdfa176 soc: Add a soc cap, SOC_CLK_RC_FAST_D256_SUPPORTED, for whether the target has the RC_FAST_D256 clock 2022-11-01 11:23:26 +08:00
Ivan Grokhotkov
47ba2b48ea
console: argtable3: upgrade to v3.2.2
Closes https://github.com/espressif/esp-idf/issues/9907
Closes https://github.com/espressif/esp-idf/pull/10016
2022-10-27 11:38:49 +02:00
Zim Kalinowski
c37ccfb84e console: migrate console tests to pytest 2022-09-26 12:02:38 +02:00
Ivan Grokhotkov
5b88c6b142
console: pass esp_console_repl_universal_t pointer to the repl task
For usb_serial_jtag REPL only, xTaskCreate was passing a pointer to
esp_console_repl_com_t, while esp_console_repl_task was expecting
a pointer to esp_console_repl_universal_t.

The way the two structures are defined, this makes no difference, and
the pointer values are the same. Still, this could potentially break
in the future.

(I am not sure what is the distinction between repl_com (common?) and
repl_universal; it seems that `int uart_channel` could just as well
be part of esp_console_repl_com_t; alternatively, as suggested in the
previous commit, this structure could contain a callback function
pointer, which would allow `esp_console_new_repl_*` functions to
specify how stdin/stdout should be initialized by the REPL task.)
2022-08-30 19:37:15 +02:00
Ivan Grokhotkov
c1d5717013
console: fix a crash when initializing usb_serial_jtag console
The crash occurred when calling setvbuf(stdin,...) with stdin==NULL.
This happened because esp_console_repl_task started running before
its args->uart_channel was initialized; then esp_console_repl_task
went into the code path 'uart_channel != CONFIG_ESP_CONSOLE_UART_NUM',
and tried to 'fopen("/dev/uart/0");`
Since the UART VFS is not registered when ESP_CONSOLE_USB_SERIAL_JTAG
option is enabled, fopen failed and 'stdin' was NULL.
Fix by moving the initialization of repl task arguments before the
start of the task, same as it is done for the usb_cdcacm case.

The crash started happening after the commit 287ab7566b. I haven’t
verified this, but I guess the reason why it wasn’t happening before
was that xTaskCreate was not correctly yielding to the newly created
higher-priority 'repl' task, therefore the code which was setting
the repl task arguments after xTaskCreate had time to execute.

It should be noted that the 'uart_channel' argument is a bit hacky,
in the first place. The code should be refactored to pass a callback
function to the repl task, and let this callback initialize stdin and
stdout based on the chosen console channel. Then esp_console_repl_task
does not require assumptions about the specific interface used.

Closes https://github.com/espressif/esp-idf/issues/9662
2022-08-30 19:16:51 +02:00
morris
d91c8759c0 driver: remove -Wno-format flag 2022-08-08 08:30:09 +00:00
Ivan Grokhotkov
401c10ecfb build system: re-add -Wno-format as private flag for some components 2022-08-03 16:42:47 +04:00
simon.chupin
5468d79382 tools: fix idf.py monitor consol problem
Closes https://github.com/espressif/esp-idf/issues/9432
2022-07-27 08:35:30 +00:00
Vladimir Chistyakov
7a4cacfcd0 console: allow use apb clock for uart to achieve high baud rate
Console sets UART clock source to REF_TICK on ESP32 and ESP32S2 by
default, however, APB clock frequency does not change when power
management is disabled. Using APB clock source allows higher baud rates
for UART console.

Closes https://github.com/espressif/esp-idf/pull/8572
2022-05-09 11:26:30 +08:00
Ivan Grokhotkov
6b5599bb12
console: linenoiseProbe: check if response is valid
Previously linenoiseProbe would accept any 4 byte response, even one
that isn't expected. This adds a check that the first byte of the
response is ESC.
Suggested in https://github.com/espressif/esp-idf/issues/8839.
2022-05-03 21:26:14 +02:00
Ivan Grokhotkov
5f7afd3980
console: argtable3: sync arg_end argument name
...between declaration and definition, to silence clang-tidy warnings
2022-04-11 19:42:53 +02:00
Ivan Grokhotkov
ebe1acc6b8
console: argtable3: fix -Wwrite-strings warnings
Re-apply commit 744c2dcdd9
2022-04-11 19:42:53 +02:00
Ivan Grokhotkov
8240144580
console: argtable3: re-introduce arg_print_formatted function 2022-04-11 19:42:53 +02:00
Ivan Grokhotkov
21a94dfcb6
console: argtable3: use newlib getopt, disable logs
Opted for changing the source code to avoid adding one extra flag to
component public CPPFLAGS.
2022-04-11 19:42:52 +02:00
Ivan Grokhotkov
10f72e1086
console: argtable3: update CMakeLists.txt for v3.2.1 2022-04-11 19:42:52 +02:00
Ivan Grokhotkov
69d1424c15
console: argtable3: add SPDX copyright headers 2022-04-11 19:42:52 +02:00
Ivan Grokhotkov
c0d62c58d3
console: argtable3: upgrade to v3.2.1
Source code taken from release archives in
https://github.com/argtable/argtable3/releases/tag/v3.2.1.52f24e5

Applied dos2unix to all files.
Removed trailing whitespace with the pre-commit hook.

Resolves some of the static analysis issues reported in
https://github.com/espressif/esp-idf/issues/6440
(mallocs are replaced by xmalloc wrapper which panics on failed
allocations)
2022-04-11 19:42:52 +02:00
Ivan Grokhotkov
eab33e7174
console: linenoise: fix usage of an uninitialized buffer
Reported in https://github.com/espressif/esp-idf/issues/6440

The issue could occur if esp_console_config_t::hint_color
was set to -1.
2022-03-11 20:54:09 +01:00
Ivan Grokhotkov
49e8b97de3
console: disable colored hints if CONFIG_LOG_COLORS is not set 2022-03-11 20:54:06 +01:00
wuzhenghui
ee532d55c5 fix console stuck in auto test 2022-01-25 16:19:35 +08:00
Sudeep Mohanty
722a6b7cf4 docs: update programming guide for esp32s3 chip independent system chapters
This commit updates the chip independent system chapters of the
programming guide for esp32s3.

Signed-off-by: Sudeep Mohanty <sudeep.mohanty@espressif.com>
2021-11-23 12:48:10 +05:30
Roland Dobai
766aa57084 Build & config: Remove leftover files from the unsupported "make" build system 2021-11-11 15:32:36 +01:00
Ivan Grokhotkov
82f0488f77 argtable: move GCC-specific pragma to cmake/make files
...and only add it when building with GCC.
2021-09-16 11:07:54 +02:00
Renz Bagaporo
7c22cccb9c esp32: cleanup build script 2021-07-16 20:14:27 +08:00
Omar Chebib
0fd74a43c8 console: re-use the available REPL console API and improve linenoise
Console example doesn't duplicate code in `console` component.
Linenoise has been improved: it now has a parametrized command line
length. It is now possible to paste data efficiently to the console.
Note: this can only be done if the cursor is at the end of the line.

Closes https://github.com/espressif/esp-idf/issues/7057
2021-07-15 11:37:11 +08:00