David Cermak
020b407472
fix(modem): Fixed API docs within doxygen comments
2023-11-02 15:46:38 +01:00
David Cermak
0254d50128
fix(modem): Support for custom modules with C-API
...
MAJOR CHANGE: Added support for implementing user defined modules in standard C-API
2023-11-02 13:35:07 +01:00
David Cermak
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
David Cermak
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
David Cermak
4cf9e505e1
feat(modem): Add factory method for simple creation of custom DCEs
...
This allows calling directly:
auto dce = dce_factory::Factory::create_unique_dce_from<SIM7600>(&dce_config, uart_dte, esp_netif);
instead of:
auto dce = create_SIM7600_dce(&dce_config, uart_dte, esp_netif);
Which is very useful when adding a custom module, so we won't need to
update factory layers and add the new device to enums, etc.
To add a new module, you just:
1) Define the module class NewModule: public GenericModule { };
2) Implement the specific commands:
command_result do_work_new_module(CommandableIf *t, params) {}
3) Connect 1) and 2)
command_result NewModule::do_work_new_module(params...)
{
return dce_commands::do_work_new_module(dte.get(), params...);
}
2023-08-28 10:27:16 +02:00
David Cermak
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
David Cermak
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
Victor
60c87ddf26
fix(modem): Fix LoadProhibited after failed CMUX initialization (IDFGH-10845)
2023-08-18 12:44:37 +03:00
Suren Gabrielyan
ab94566995
fix(esp_modem): fix esp_modem build issue
2023-04-27 12:25:59 +04:00
Suren Gabrielyan
05348534a6
docs(esp_modem): updated documents to show missed topics
2023-04-26 16:24:30 +04:00
David Cermak
7547267336
feat(modem): Add mqtt example in AT-only mode
...
Similar to pppos-client, but without PPP mode.
This uses standard mqtt client and a loopback service that forwards the
TCP traffic from localhost to the modem and vice-versa.
(next step is to create a dedicated tcp-transport layer for modem)
Console example uses DCE commandable to demontrate how to handle URC
2023-03-16 19:42:29 +01:00
David Cermak
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
david-cermak
ba45e9a07e
Merge pull request #242 from david-cermak/bugfix/modem_strip_idf_4.1
...
fix(esp_modem): run CI build job for all targets
2023-03-15 18:55:26 +01:00
David Cermak
d0814bf963
fix(esp_modem): Use default UART CLK source
...
Some targets don't support UART_SCLK_APB (e.g. esp32c2)
This change is applicable only for IDFv5.0 and later, as older version
didn't define UART_SCLK_DEFAULT.
Closes https://github.com/espressif/esp-protocols/issues/241
2023-03-08 11:51:31 +01:00
Tomas Rezucha
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
David Cermak
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
David Cermak
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
David Cermak
65c0e0e195
fix(esp_modem): Cleanup custom lib-commands and factory
2022-10-20 16:11:19 +02:00
Franz Höpfinger
652314e73d
fix(esp_modem) Add example that reads GNSS info
2022-10-17 20:30:55 +02:00
Suren Gabrielyan
945bd17701
CI: fixing the files to be complient with pre-commit hooks
2022-10-17 18:16:52 +02:00
David Cermak
a02bf05eed
fix(esp-modem): Uart Terminal read_cb race
2022-10-10 15:39:09 +02:00
diplfranzhoepfinger
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
Tomas Rezucha
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
Tomas Rezucha
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
Jonathan Dreyer
accf9244ca
Minor formatting fix and spelling
2022-09-19 17:11:57 +02:00
David Cermak
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
Tomas Rezucha
ae8479c77e
esp_modem: Expose set_error_cb method
2022-09-02 09:17:49 +02:00
David Cermak
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
david-cermak
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
David Cermak
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
David Cermak
4980ac85b7
fix(esp-modem): Add missing set_pdp_context() to C-API
2022-07-12 15:52:39 +02:00
david-cermak
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
Bruno Binet
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
Bruno Binet
0cf08fb676
Add "at" api for custom commands
2022-06-23 17:40:06 +02:00
David Cermak
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
David Cermak
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
David Cermak
58a0b57e12
fix(esp_modem): Update CMUX example to use CMUX mode automatically
2022-06-11 21:29:25 +02:00
David Cermak
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
David Cermak
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
David Cermak
1e0aefd72a
fix(esp-modem): Improve PPP exit sequence
...
* Implement retry mechanism if escape PPP mode failed
* Stop networking and checking for NO-CARRIER manually on PPP exit
Closes https://github.com/espressif/esp-protocols/issues/47
2022-06-11 15:07:39 +02:00
david-cermak
0875008a46
Merge pull request #30 from Sjurinho/feature/extended-simcom-support
...
Feature/extended simcom support (IDFGH-7243)
2022-05-25 13:21:50 +02:00
diplfranzhoepfinger
a661e51f7e
esp_modem: Fix param description for get_operator_name()
...
Co-authored-by: Franz Höpfinger <krone-trailer@franzhoepfinger.de >
2022-05-24 17:44:35 +02:00
sjurgw
ba88d7fdbc
Update: Renamed list_in to be type-specific
...
Update: Removed modem-specific comment
2022-05-24 14:53:58 +02:00
Sjur G. Wroldsen
15ed885035
Add: Sim7600 extended support
2022-04-19 16:23:22 +02:00
Sjur G. Wroldsen
0733ea8ff4
Add: Support for SIM7000 modules
2022-04-13 15:36:15 +02:00
Sjur G. Wroldsen
15cbc9bd50
Update: modem_mode::UNDEF initially
2022-04-13 13:44:11 +02:00
Sjur G. Wroldsen
bb7f198bea
Add: sim7070 support
2022-04-13 13:42:57 +02:00
Sjur G. Wroldsen
d3f7ea67fb
Add: Expanded modem_command_library with more "standard" commands
2022-04-13 13:41:56 +02:00
Tomas Rezucha
74040cfd1a
esp_modem: Extend modem_console example with USB DTE
2022-04-04 15:48:47 +02:00
Vladimir Chistyakov
face03e4e5
fix: add virtual destructors to ModuleIf and CommandableIf
2022-01-28 22:34:03 +07:00