Skip to content

Commit c6b850b

Browse files
Rainmaker: Added enableSystemService API (#7875)
* Rainmaker: Added enableSystemService API * Fixed broken links in espnow docs
1 parent 77e7fa5 commit c6b850b

File tree

5 files changed

+38
-2
lines changed

5 files changed

+38
-2
lines changed

Diff for: docs/source/api/espnow.rst

+2-2
Original file line numberDiff line numberDiff line change
@@ -13,13 +13,13 @@ Examples
1313
ESP-NOW Master
1414
**************
1515

16-
.. literalinclude:: ../../../libraries/ESP32/examples/ESPNow/Basic/Master/Master.ino
16+
.. literalinclude:: ../../../libraries/ESP32/examples/ESPNow/ESPNow_Basic_Master/ESPNow_Basic_Master.ino
1717
:language: arduino
1818

1919
ESP-NOW Slave
2020
*************
2121

22-
.. literalinclude:: ../../../libraries/ESP32/examples/ESPNow/Basic/Slave/Slave.ino
22+
.. literalinclude:: ../../../libraries/ESP32/examples/ESPNow/ESPNow_Basic_Slave/ESPNow_Basic_Slave.ino
2323
:language: arduino
2424

2525
Resources

Diff for: docs/source/api/rainmaker.rst

+20
Original file line numberDiff line numberDiff line change
@@ -139,6 +139,26 @@ This function will return
139139
1. `ESP_OK` : On success
140140
2. Error in case of failure
141141

142+
RMaker.enableSystemService
143+
**************************
144+
145+
This API enables the System service for the node. It should be called after `RMaker.initNode()` and before `RMaker.start()`.
146+
For more information, check `here <https://rainmaker.espressif.com/docs/sys-service.html>`__.
147+
148+
.. code-block:: arduino
149+
150+
esp_err_t enableSystemService(uint16_t flags, int8_t reboot_seconds, int8_t reset_seconds, int8_t reset_reboot_seconds)
151+
152+
* ``flags`` : Logical OR of system service flags (SYSTEM_SERV_FLAG_REBOOT, SYSTEM_SERV_FLAG_FACTORY_RESET, SYSTEM_SERV_FLAG_WIFI_RESET) as required or SYSTEM_SERV_FLAGS_ALL.
153+
* ``reboot_seconds`` Time in seconds after which the device should reboot. Recommended value: 2
154+
* ``reset_seconds`` Time in seconds after which the device should reset(Wi-Fi or Factory). Recommended value: 2
155+
* ``reset_reboot_seconds`` Time in seconds after which the device should reboot after it has been reset. Zero as a value would mean there won't be any reboot after the reset. Recommended value: 2
156+
157+
This function will return
158+
159+
1. `ESP_OK` : On success
160+
2. Error in case of failure
161+
142162
RMaker.setTimeZone
143163
******************
144164

Diff for: libraries/RainMaker/examples/RMakerSwitch/RMakerSwitch.ino

+2
Original file line numberDiff line numberDiff line change
@@ -99,6 +99,8 @@ void setup()
9999

100100
RMaker.enableScenes();
101101

102+
RMaker.enableSystemService(SYSTEM_SERV_FLAGS_ALL, 2, 2, 2);
103+
102104
RMaker.start();
103105

104106
WiFi.onEvent(sysProvEvent);

Diff for: libraries/RainMaker/src/RMaker.cpp

+13
Original file line numberDiff line numberDiff line change
@@ -155,5 +155,18 @@ esp_err_t RMakerClass::enableScenes()
155155
}
156156
return err;
157157
}
158+
159+
esp_err_t RMakerClass::enableSystemService(uint16_t flags, int8_t reboot_seconds, int8_t reset_seconds, int8_t reset_reboot_seconds)
160+
{
161+
esp_rmaker_system_serv_config_t config = {
162+
.flags = flags,
163+
.reboot_seconds = reboot_seconds,
164+
.reset_seconds = reset_seconds,
165+
.reset_reboot_seconds = reset_reboot_seconds
166+
};
167+
err = esp_rmaker_system_service_enable(&config);
168+
return err;
169+
}
170+
158171
RMakerClass RMaker;
159172
#endif

Diff for: libraries/RainMaker/src/RMaker.h

+1
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ class RMakerClass
3636
esp_err_t enableTZService();
3737
esp_err_t enableOTA(ota_type_t type, const char *cert = ESP_RMAKER_OTA_DEFAULT_SERVER_CERT);
3838
esp_err_t enableScenes();
39+
esp_err_t enableSystemService(uint16_t flags, int8_t reboot_seconds = 2, int8_t reset_seconds = 2, int8_t reset_reboot_seconds = 2);
3940
esp_err_t start();
4041
esp_err_t stop();
4142
};

0 commit comments

Comments
 (0)