924f28e9c4
Merge pull request #373 from david-cermak/fix/at_client
...
fix(modem): Fix AT client example to use custom AT processing
2023-10-30 07:06:29 +01:00
1db1e1508d
fix(modem): Fix DTE to post fragments to parsers for USB term
2023-10-20 11:54:48 +02:00
2aada0f308
fix(modem): Fix DUAL_MODE regression from cb6e03ac
...
In the recent DTE refactoring (cb6e03ac
) we install terminal callbacks
in the constructor, but the change missed initializing modem_state
in DTE constructors which take two terminals as arguments to work in
DUAL mode.
2023-10-12 12:50:29 +02:00
1a5ba98964
fix(modem): Fix AT client example to use custom AT processing
...
Need the callback reset upon removal of our custom AT command processing.
This issue has been introduced in cb6e03ac
when refactoring DTE
callbacks.
Closes https://github.com/espressif/esp-protocols/issues/352
2023-10-09 17:49:15 +02:00
8d5947e5f1
fix(modem): Fix to allow MSC frame (SIM800 CMUX) after v1.0.2
...
Fixes the regression from 8edbac69
that added more strict conditions
for CMUX protocol, but didn't allow MSC frames that might be sent during
initializaiton by SIM800.
Closes https://github.com/espressif/esp-protocols/issues/366
2023-09-26 15:48:30 +02:00
8edbac6974
fix(modem): More error handling in cmux protocol
...
Add error path to all CMUX protocol potential issues, checks for
consistency and add recovery.
2023-09-22 08:39:31 +02:00
5287432197
fix(modem): Fix netif to set PPP config in C++ way
...
If the config struct contains more items (or more items will be added in
future) this init will not compile cleanly
2023-09-20 11:38:04 +02:00
25a35e20a3
fix(modem): Fix vfs terminal not to reset read_cb() automatically
...
This change is needed for the fs terminal to work correctly again, after
merging 44bae24c78
which shifted
responsibility of thread safety from a terminal to the DTE. (Before it
was the terminal, which removed this callback safely when processing completed,
and thus we had to check the callback return value). Not the DTE layers
are responsible for thread safety and the return value indicates
success/failure from processing.
Also uses the default clock, the same way as UART terminal.
2023-09-20 11:37:36 +02:00
c8c05075fb
fix(modem): Fix netif data race causing PPP startup delays
...
Removes PPP_started signal on reception, since lwip handles data
reception if the netif is up/down (which we correctly set in start()
stop() methods)
Closes https://github.com/espressif/esp-protocols/issues/308
2023-08-28 10:27:16 +02:00
cb6e03ac62
fix(modem): Added support for inflatable buffer
...
As a configurable option, if disabled we report an error.
Closes https://github.com/espressif/esp-protocols/issues/272
2023-08-28 10:27:10 +02:00
60c87ddf26
fix(modem): Fix LoadProhibited after failed CMUX initialization (IDFGH-10845)
2023-08-18 12:44:37 +03:00
e620eb5fb1
fix(modem): Support UART clean build with IDF v5.2
2023-06-20 15:56:57 +02:00
bf114d3624
feat(modem): DTE to support sending and receiving raw data
...
MAJOR CHANGE: Enable DTE to redefine on_read() and write(cmd) directly
2023-03-16 19:39:13 +01:00
01c26c82fa
esp_modem: Dual DTE support
...
Modems can expose 2 terminals, which can be used simultaneously.
One for AT commands, the other one for data.
2023-03-07 13:35:34 +01:00
44bae24c78
esp_modem: Return true from on_data callback in data mode
...
The callback should return false only if there is a problem with the received data.
The updated UART Terminal implementation cannot longer clear is callback.
It is DTE's responsibility to clear the callback.
2023-02-23 20:32:13 +01:00
0e215b118f
Added the missing definition for the esp_modem_set_baud function (IDFGH-9181) ( #209 )
...
fix(esp_modem): Added the missing definition for the esp_modem_set_baud function
2023-01-19 13:57:06 +01:00
5304a6ec0e
Update esp_modem_command_library.cpp
...
AT+IFC=2,2 instead AT+IFC=2, 2
2022-12-22 11:55:37 +01:00
9a7bd90ad9
fix(esp_modem): Exit data mode only after state change
...
Previously, we set the notification also for event
causing permature PPP mode exit
2022-12-01 18:35:06 +01:00
2180ab17d8
fix(esp-modem): Support AT with callback in C-API
...
Closes https://github.com/espressif/esp-protocols/issues/143
2022-11-21 14:58:15 +01:00
ac5d43882b
feat(esp-modem): Add support for manual CMUX operations
...
Closes https://github.com/espressif/esp-protocols/issues/168
2022-11-21 14:58:15 +01:00
65c0e0e195
fix(esp_modem): Cleanup custom lib-commands and factory
2022-10-20 16:11:19 +02:00
652314e73d
fix(esp_modem) Add example that reads GNSS info
2022-10-17 20:30:55 +02:00
945bd17701
CI: fixing the files to be complient with pre-commit hooks
2022-10-17 18:16:52 +02:00
96fcbc0694
Merge pull request #142 from david-cermak/bugfix/cmux_missed_msc
...
(esp_modem): Fix switching to CMUX mode for devices that send `MSC`s
2022-10-17 14:43:22 +02:00
a02bf05eed
fix(esp-modem): Uart Terminal read_cb race
2022-10-10 15:39:09 +02:00
fe536e476c
esp_modem_get_gnss_power_mode ( #136 )
...
Co-authored-by: Franz Höpfinger <krone-trailer@franzhoepfinger.de >
2022-10-05 08:54:41 +02:00
25ac2d98c6
feat(esp_modem): Make some CMUX params compile-time configurable
...
* bool flag to defragment CMUX payload (useful for devices that send longer messages)
* int flag to force a delay between creating virtual terminals (useful for chatty devices that send some requests)
2022-09-30 17:36:38 +02:00
ce175df376
fix(esp_modem): CMUX to ignore MSC frames
...
Otherwise it gets confused with DISC frame and causes trouble when entering
CMUX mode (if device sends MSC requests)
Closes https://github.com/espressif/esp-protocols/issues/140
2022-09-30 17:36:38 +02:00
62cb235aa9
esp_modem: Allow error handler register in C
...
C++ API offers interface to register error callback.
C API isn't flexible enough, so we offer conversion function between C++ and C enums.
2022-09-30 11:55:09 +02:00
04c711f757
esp_modem: Move common C definitions in to separate header
...
Separate header for C API created.
It can be used by C DTE extensions.
2022-09-30 11:41:34 +02:00
a8714730fb
fix(esp_modem): DTE command race of timeout vs reply's signal
...
Race condtion:
* First command timeouted, but the reply came just after evaluation and
set signal variable to GOT_LINE
* Second command should timeout too, but a consistency check validates
that it timeouted and at the same time GOT_LINE (from previous step) and
throws an exception
STR:
* Revert change in esp_modem_dte.cpp
* Run TEST_CASE("DTE command races", "[esp_modem]")
Closes https://github.com/espressif/esp-protocols/issues/110
2022-09-14 13:50:22 +02:00
d2f519f9e5
Merge pull request #139 from david-cermak/bugfix/modem_get_operator_name_with_act
...
fix(esp_modem): Make get_operator_name() return also ACT value
2022-09-14 13:46:28 +02:00
1029078541
fix(esp_modem): Correct timeouts for certain commands
...
And adds an explicit timeout parameter to the esp_modem_at()
Closes https://github.com/espressif/esp-protocols/issues/129
2022-09-09 11:23:21 +02:00
0015e5411c
fix(esp_modem): Make get_operator_name() return also ACT value
...
Closes https://github.com/espressif/esp-protocols/issues/128
2022-09-09 10:54:55 +02:00
d07237b2ce
esp_modem: Fix IDF version resolution
2022-09-09 09:31:26 +02:00
98bf3efeb6
esp_modem: Fix format warnings
...
Closes https://github.com/espressif/esp-protocols/issues/79
2022-09-02 10:02:34 +02:00
ae8479c77e
esp_modem: Expose set_error_cb method
2022-09-02 09:17:49 +02:00
2099434b3f
fix(esp_modem): Correct exit of CMUX mode
...
* Fix DISC message's control field (0xFF->0xFE) to keep Poll bit cleared
* Accept UIH resp on DISC for both (0xFF, 0xFE) ignoring P/F bit
* Fix timeout processing when handling DISC message
Closes https://github.com/espressif/esp-protocols/issues/103
2022-08-19 11:45:59 +02:00
89e1bd27b3
fix(esp-modem): Add filename/line info to exception message
...
This is useful if exceptions are enabled, but caught internally on C++ API boundary
2022-08-18 14:52:21 +02:00
10e6348e09
Merge pull request #85 from david-cermak/feature/modem_operator_name_add_act
...
feat(esp_modem): Add optional ACT to operator-name
2022-07-13 16:20:54 +02:00
a286634359
feat(esp_modem): Add optional ACT to operator-name
...
Closes https://github.com/espressif/esp-protocols/issues/80
2022-07-13 09:56:29 +02:00
4980ac85b7
fix(esp-modem): Add missing set_pdp_context() to C-API
2022-07-12 15:52:39 +02:00
a243d7e878
fix(esp_modem): Update ap2ppp example to recover network on disconnection
...
Closes https://github.com/espressif/esp-protocols/issues/44
2022-07-01 13:52:49 +02:00
9b403d477f
Merge pull request #64 from bbinet/custom-source-clk
...
Allow to customize uart source_clk (IDFGH-7659)
2022-06-24 16:24:00 +02:00
d723fb7a5a
Allow to customize uart source_clk
...
This is for example needed when using an external crystal to select
UART_SCLK_XTAL, which fixes uart comm issue when using PM with light
sleep enabled.
2022-06-24 14:44:15 +02:00
0cf08fb676
Add "at" api for custom commands
2022-06-23 17:40:06 +02:00
66e6d4cbf8
fix(esp_modem): Implement movable unique_buffer to bundle data, size, ptr
...
Also improves and fixes tests
2022-06-18 12:19:07 +02:00
f3ff98bb82
fix(exp_modem): DTE should own both command and data terminal
...
reworks to clear shared_ptr<> of both command and data terminals
and having DTE own it. When we swith to CMUX mode the ownership is transfered to CMux terminal
2022-06-11 21:33:51 +02:00
3fd4391c38
feat(esp_modem): Add CMUX mode to C-API
...
Closes https://github.com/espressif/esp-protocols/issues/41
2022-06-11 15:07:39 +02:00
a16aab6979
feat(esp_modem): Add support to CMUX exit
...
Closes https://github.com/espressif/esp-protocols/issues/37
2022-06-11 15:07:39 +02:00