You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
modules: memfault: Add automatic sending of coredumps over LTE
Add automatic sending of coredumps over LTE:
- Add new file memfault_lte_coredump.c that uses LTE cereg and PDN
to determine if the device is connected to the network.
If connected, the layer will trigger sending of a stored coredump.
Library is implemented with retry logic and backoff.
- Add overlay file to SLM that enables Memfault features
- Update Memfault sample to use the new coredump feature.
- Add missing features to Memfault sample
- Enable assertions by default in SLM, there is no reason why it should
be enabled as long as there is space.
Signed-off-by: Simen S. Røstad <[email protected]>
Copy file name to clipboardExpand all lines: applications/serial_lte_modem/doc/slm_description.rst
+3Lines changed: 3 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -336,6 +336,9 @@ The following configuration files are provided:
336
336
It can be customized to fit your configuration (UART, baud rate, and so on).
337
337
By default, it sets the baud rate of the PPP UART to 1 000 000.
338
338
339
+
* :file:`overlay-memfault.conf` - Configuration file that enables `Memfault`_.
340
+
For more information about Memfault features in |NCS|, see :ref:`mod_memfault`.
341
+
339
342
* :file:`overlay-zephyr-modem.conf`, :file:`overlay-zephyr-modem-external-mcu.conf`, :file:`overlay-zephyr-modem-nrf9160dk-nrf52840.conf`, :file:`overlay-external-mcu.overlay`, and :file:`overlay-zephyr-modem-nrf9160dk-nrf52840.overlay` - These configuration files are used when compiling SLM to turn an nRF91 Series SiP into a Zephyr-compatible standalone modem.
340
343
See :ref:`slm_as_zephyr_modem` for more information.
Copy file name to clipboardExpand all lines: doc/nrf/libraries/debug/memfault_ncs.rst
+14Lines changed: 14 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -58,6 +58,19 @@ To have these configuration files in the include path, add the following to the
58
58
59
59
.. memfault_config_files_end
60
60
61
+
Automatic sending of coredumps to Memfault
62
+
==========================================
63
+
64
+
To post a stored coredump from a previous crash to Memfault upon network connection, set the :kconfig:option:`CONFIG_MEMFAULT_NCS_POST_COREDUMP_ON_NETWORK_CONNECTED` Kconfig option to ``y``.
65
+
The option is only supported for nRF91 Series devices.
66
+
67
+
The library has built-in connection awareness and tries to post the coredump to a maximum of the number set in the :kconfig:option:`CONFIG_MEMFAULT_NCS_POST_COREDUMP_RETRIES_MAX` Kconfig option, at an interval of the time set in the :kconfig:option:`CONFIG_MEMFAULT_NCS_POST_COREDUMP_RETRY_INTERVAL_SECONDS` Kconfig option between each attempt.
68
+
If unsuccessful within the number of attempts, the library gives up.
69
+
If at any point the network is lost during the retry process, the library waits for the device to reconnect before restarting the retry process.
70
+
71
+
This feature is useful when you want to post the coredump as soon as possible after a crash and it is not desirable to wait for the next periodic upload set by :kconfig:option:`CONFIG_MEMFAULT_HTTP_PERIODIC_UPLOAD_INTERVAL_SECS`.
72
+
Alternatively, you can manually trigger the coredump upload by calling the :c:func:`memfault_zephyr_port_post_data` function.
73
+
You can use the :c:func:`memfault_coredump_has_valid_coredump` function to check whether a coredump is available.
61
74
62
75
Configuration options in Memfault SDK
63
76
=====================================
@@ -93,6 +106,7 @@ Configuration options in |NCS|
93
106
94
107
The Kconfig options for Memfault that are defined in |NCS| provide some additional features compared to the options that are already implemented in Memfault SDK:
0 commit comments