Skip to content

Commit c54d7f2

Browse files
committed
IDF release/v4.4 f0a3ccc732
1 parent e193e2a commit c54d7f2

File tree

72 files changed

+853
-47
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

72 files changed

+853
-47
lines changed

platform.txt

Lines changed: 4 additions & 4 deletions
Large diffs are not rendered by default.

tools/platformio-build-esp32.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -323,7 +323,7 @@
323323
"UNITY_INCLUDE_CONFIG_H",
324324
"WITH_POSIX",
325325
"_GNU_SOURCE",
326-
("IDF_VER", '\\"v4.4.1-581-gee2029c38a\\"'),
326+
("IDF_VER", '\\"v4.4.1-583-gf0a3ccc732\\"'),
327327
"ESP_PLATFORM",
328328
"_POSIX_READER_WRITER_LOCKS",
329329
"ARDUINO_ARCH_ESP32",

tools/platformio-build-esp32c3.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -318,7 +318,7 @@
318318
"UNITY_INCLUDE_CONFIG_H",
319319
"WITH_POSIX",
320320
"_GNU_SOURCE",
321-
("IDF_VER", '\\"v4.4.1-581-gee2029c38a\\"'),
321+
("IDF_VER", '\\"v4.4.1-583-gf0a3ccc732\\"'),
322322
"ESP_PLATFORM",
323323
"_POSIX_READER_WRITER_LOCKS",
324324
"ARDUINO_ARCH_ESP32",

tools/platformio-build-esp32s2.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -306,7 +306,7 @@
306306
"UNITY_INCLUDE_CONFIG_H",
307307
"WITH_POSIX",
308308
"_GNU_SOURCE",
309-
("IDF_VER", '\\"v4.4.1-581-gee2029c38a\\"'),
309+
("IDF_VER", '\\"v4.4.1-583-gf0a3ccc732\\"'),
310310
"ESP_PLATFORM",
311311
"_POSIX_READER_WRITER_LOCKS",
312312
"ARDUINO_ARCH_ESP32",

tools/platformio-build-esp32s3.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -322,7 +322,7 @@
322322
"UNITY_INCLUDE_CONFIG_H",
323323
"WITH_POSIX",
324324
"_GNU_SOURCE",
325-
("IDF_VER", '\\"v4.4.1-581-gee2029c38a\\"'),
325+
("IDF_VER", '\\"v4.4.1-583-gf0a3ccc732\\"'),
326326
"ESP_PLATFORM",
327327
"_POSIX_READER_WRITER_LOCKS",
328328
"ARDUINO_ARCH_ESP32",

tools/sdk/esp32/dio_qspi/include/sdkconfig.h

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,7 @@
6363
#define CONFIG_ESP_RMAKER_OTA_ROLLBACK_WAIT_PERIOD 90
6464
#define CONFIG_ESP_RMAKER_SCHEDULING_MAX_SCHEDULES 10
6565
#define CONFIG_ESP_RMAKER_SCENES_MAX_SCENES 10
66+
#define CONFIG_ESP_RMAKER_CMD_RESP_ENABLE 1
6667
#define CONFIG_ENABLE_ARDUINO_DEPENDS 1
6768
#define CONFIG_AUTOSTART_ARDUINO 1
6869
#define CONFIG_ARDUINO_RUN_CORE1 1
@@ -601,6 +602,7 @@
601602
#define CONFIG_ESP_RMAKER_FACTORY_NAMESPACE "rmaker_creds"
602603
#define CONFIG_ESP_RMAKER_DEF_TIMEZONE "Asia/Shanghai"
603604
#define CONFIG_ESP_RMAKER_SNTP_SERVER_NAME "pool.ntp.org"
605+
#define CONFIG_ESP_RMAKER_MAX_COMMANDS 10
604606
#define CONFIG_DSP_OPTIMIZATIONS_SUPPORTED 1
605607
#define CONFIG_DSP_OPTIMIZED 1
606608
#define CONFIG_DSP_OPTIMIZATION 1
@@ -748,5 +750,5 @@
748750
#define CONFIG_ULP_COPROC_ENABLED CONFIG_ESP32_ULP_COPROC_ENABLED
749751
#define CONFIG_ULP_COPROC_RESERVE_MEM CONFIG_ESP32_ULP_COPROC_RESERVE_MEM
750752
#define CONFIG_WARN_WRITE_STRINGS CONFIG_COMPILER_WARN_WRITE_STRINGS
751-
#define CONFIG_ARDUINO_IDF_COMMIT "ee2029c38a"
753+
#define CONFIG_ARDUINO_IDF_COMMIT "f0a3ccc732"
752754
#define CONFIG_ARDUINO_IDF_BRANCH "release/v4.4"

tools/sdk/esp32/dout_qspi/include/sdkconfig.h

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,7 @@
6363
#define CONFIG_ESP_RMAKER_OTA_ROLLBACK_WAIT_PERIOD 90
6464
#define CONFIG_ESP_RMAKER_SCHEDULING_MAX_SCHEDULES 10
6565
#define CONFIG_ESP_RMAKER_SCENES_MAX_SCENES 10
66+
#define CONFIG_ESP_RMAKER_CMD_RESP_ENABLE 1
6667
#define CONFIG_ENABLE_ARDUINO_DEPENDS 1
6768
#define CONFIG_AUTOSTART_ARDUINO 1
6869
#define CONFIG_ARDUINO_RUN_CORE1 1
@@ -601,6 +602,7 @@
601602
#define CONFIG_ESP_RMAKER_FACTORY_NAMESPACE "rmaker_creds"
602603
#define CONFIG_ESP_RMAKER_DEF_TIMEZONE "Asia/Shanghai"
603604
#define CONFIG_ESP_RMAKER_SNTP_SERVER_NAME "pool.ntp.org"
605+
#define CONFIG_ESP_RMAKER_MAX_COMMANDS 10
604606
#define CONFIG_DSP_OPTIMIZATIONS_SUPPORTED 1
605607
#define CONFIG_DSP_OPTIMIZED 1
606608
#define CONFIG_DSP_OPTIMIZATION 1
@@ -748,5 +750,5 @@
748750
#define CONFIG_ULP_COPROC_ENABLED CONFIG_ESP32_ULP_COPROC_ENABLED
749751
#define CONFIG_ULP_COPROC_RESERVE_MEM CONFIG_ESP32_ULP_COPROC_RESERVE_MEM
750752
#define CONFIG_WARN_WRITE_STRINGS CONFIG_COMPILER_WARN_WRITE_STRINGS
751-
#define CONFIG_ARDUINO_IDF_COMMIT "ee2029c38a"
753+
#define CONFIG_ARDUINO_IDF_COMMIT "f0a3ccc732"
752754
#define CONFIG_ARDUINO_IDF_BRANCH "release/v4.4"

tools/sdk/esp32/include/esp_rainmaker/include/esp_rmaker_core.h

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -931,6 +931,20 @@ bool esp_rmaker_local_ctrl_service_started(void);
931931
* @return error on failure
932932
*/
933933
esp_err_t esp_rmaker_ota_enable_default(void);
934+
935+
/*
936+
* Send a command to self (TESTING only)
937+
*
938+
* This is to be passed as an argument to esp_rmaker_cmd_resp_test_send().
939+
*
940+
* @param[in] cmd The TLV encoded command data.
941+
* @param[in] cmd_len Length of the command data.
942+
* @param[in] priv_data Private data passed to esp_rmaker_cmd_resp_test_send().
943+
*
944+
* @return ESP_OK on success
945+
* @return error on failure
946+
*/
947+
esp_err_t esp_rmaker_test_cmd_resp(const void *cmd, size_t cmd_len, void *priv_data);
934948
#ifdef __cplusplus
935949
}
936950
#endif
Lines changed: 171 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,171 @@
1+
/*
2+
* SPDX-FileCopyrightText: 2022 Espressif Systems (Shanghai) CO LTD
3+
*
4+
* SPDX-License-Identifier: Apache-2.0
5+
*/
6+
7+
#pragma once
8+
9+
#include <stdint.h>
10+
#include <esp_err.h>
11+
#include <esp_event.h>
12+
13+
#ifdef __cplusplus
14+
extern "C"
15+
{
16+
#endif
17+
18+
/* Super Admin User Flag*/
19+
#define ESP_RMAKER_USER_ROLE_SUPER_ADMIN (1 << 0)
20+
21+
/** Primary User Flag */
22+
#define ESP_RMAKER_USER_ROLE_PRIMARY_USER (1 << 1)
23+
24+
/** Secondary User Flag */
25+
#define ESP_RMAKER_USER_ROLE_SECONDARY_USER (1 << 2)
26+
27+
28+
/** RainMaker Command Response TLV8 Types */
29+
typedef enum {
30+
/** Request Id : Variable length string, max 32 characters*/
31+
ESP_RMAKER_TLV_TYPE_REQ_ID = 1,
32+
/** User Role : 1 byte */
33+
ESP_RMAKER_TLV_TYPE_USER_ROLE,
34+
/** Status : 1 byte */
35+
ESP_RMAKER_TLV_TYPE_STATUS,
36+
/** Timestamp : TBD */
37+
ESP_RMAKER_TLV_TYPE_TIMESTAMP,
38+
/** Command : 2 bytes*/
39+
ESP_RMAKER_TLV_TYPE_CMD,
40+
/** Data : Variable length */
41+
ESP_RMAKER_TLV_TYPE_DATA
42+
} esp_rmaker_tlv_type_t;
43+
44+
/* RainMaker Command Response Status */
45+
typedef enum {
46+
/** Success */
47+
ESP_RMAKER_CMD_STATUS_SUCCESS = 0,
48+
/** Generic Failure */
49+
ESP_RMAKER_CMD_STATUS_FAILED,
50+
/** Invalid Command */
51+
ESP_RMAKER_CMD_STATUS_CMD_INVALID,
52+
/** Authentication Failed */
53+
ESP_RMAKER_CMD_STATUS_AUTH_FAIL,
54+
/** Command not found */
55+
ESP_RMAKER_CMD_STATUS_NOT_FOUND,
56+
/** Last status value */
57+
ESP_RMAKER_CMD_STATUS_MAX,
58+
} esp_rmaker_cmd_status_t;
59+
60+
#define REQ_ID_LEN 32
61+
typedef struct {
62+
/** Command id */
63+
uint16_t cmd;
64+
/** Request id */
65+
char req_id[REQ_ID_LEN];
66+
/** User Role */
67+
uint8_t user_role;
68+
} esp_rmaker_cmd_ctx_t;
69+
70+
typedef enum {
71+
/** Standard command: Set Parameters */
72+
ESP_RMAKER_CMD_TYPE_SET_PARAMS = 1,
73+
/** Last Standard command */
74+
ESP_RMAKER_CMD_STANDARD_LAST = 0xfff,
75+
/** Custom commands can start from here */
76+
ESP_RMAKER_CMD_CUSTOM_START = 0x1000
77+
} esp_rmaker_cmd_t;
78+
79+
/** Command Response Handler
80+
*
81+
* If any command data is received from any of the supported transports (which are outside the scope of this core framework),
82+
* this function should be called to handle it and fill in the response.
83+
*
84+
* @param[in] input Pointer to input data.
85+
* @param[in] input_len data len.
86+
* @param[in] output Pointer to output data which should be set by the handler.
87+
* @param[out] output_len Length of output generated.
88+
*
89+
* @return ESP_OK on success.
90+
* @return error on failure.
91+
*/
92+
esp_err_t esp_rmaker_cmd_response_handler(const void *input, size_t input_len, void **output, size_t *output_len);
93+
94+
/** Prototype for Command Handler
95+
*
96+
* The handler to be invoked when a given command is received.
97+
*
98+
* @param[in] in_data Pointer to input data.
99+
* @param[in] in_len data len.
100+
* @param[in] out_data Pointer to output data which should be set by the handler.
101+
* @param[out] out_len Length of output generated.
102+
* @param[in] ctx Command Context.
103+
* @param[in] priv Private data, if specified while registering command.
104+
*
105+
* @return ESP_OK on success.
106+
* @return error on failure.
107+
*/
108+
typedef esp_err_t (*esp_rmaker_cmd_handler_t)(const void *in_data, size_t in_len, void **out_data, size_t *out_len, esp_rmaker_cmd_ctx_t *ctx, void *priv);
109+
110+
/** Register a new command
111+
*
112+
* @param[in] cmd Command Identifier. Custom commands should start beyond ESP_RMAKER_CMD_STANDARD_LAST
113+
* @param[in] access User Access for the command. Can be an OR of the various user role flags like ESP_RMAKER_USER_ROLE_SUPER_ADMIN,
114+
* ESP_RMAKER_USER_ROLE_PRIMARY_USER and ESP_RMAKER_USER_ROLE_SECONDARY_USER
115+
* @param[in] handler The handler to be invoked when the given command is received.
116+
* @param[in] free_on_return Flag to indicate of the framework should free the output after it has been sent as response.
117+
* @paramp[in] priv Optional private data to be passed to the handler.
118+
*
119+
* @return ESP_OK on success.
120+
* @return error on failure.
121+
*/
122+
esp_err_t esp_rmaker_cmd_register(uint16_t cmd, uint8_t access, esp_rmaker_cmd_handler_t handler, bool free_on_return, void *priv);
123+
124+
/** De-register a command
125+
*
126+
* @param[in] cmd Command Identifier. Custom commands should start beyond ESP_RMAKER_CMD_STANDARD_LAST
127+
*
128+
* @return ESP_OK on success.
129+
* @return error on failure.
130+
*/
131+
esp_err_t esp_rmaker_cmd_deregister(uint16_t cmd);
132+
133+
/** Prototype for Command sending function (TESTING only)
134+
*
135+
* @param[in] data Pointer to the data to be sent.
136+
* @param[in[ data_len Size of data to be sent.
137+
* @param[in] priv Private data, if applicable.
138+
*
139+
* @return ESP_OK on success.
140+
* @return error on failure.
141+
*/
142+
typedef esp_err_t (*esp_rmaker_cmd_send_t)(const void *data, size_t data_len, void *priv);
143+
144+
/** Send Test command (TESTING only)
145+
*
146+
* @param[in] req_id NULL terminated request id of max 32 characters.
147+
* @param[in] role User Role flag.
148+
* @param[in] cmd Command Identifier.
149+
* @param[in] data Pointer to data for the command.
150+
* @param[in] data_size Size of the data.
151+
* @param[in] cmd_send Transport specific function to send the command data.
152+
* @param[in] priv Private data (if any) to be sent to cmd_send.
153+
*
154+
* @return ESP_OK on success.
155+
* @return error on failure.
156+
*/
157+
esp_err_t esp_rmaker_cmd_resp_test_send(const char *req_id, uint8_t role, uint16_t cmd, const void *data, size_t data_size, esp_rmaker_cmd_send_t cmd_send, void *priv);
158+
159+
/** Parse response (TESTING only)
160+
*
161+
* @param[in] response Pointer to the response received
162+
* @param[in] response_len Length of the response
163+
* @param[in] priv Private data, if any. Can be NULL.
164+
*
165+
* @return ESP_OK on success.
166+
* @return error on failure.
167+
*/
168+
esp_err_t esp_rmaker_cmd_resp_parse_response(const void *response, size_t response_len, void *priv);
169+
#ifdef __cplusplus
170+
}
171+
#endif

tools/sdk/esp32/include/rmaker_common/include/esp_rmaker_utils.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ extern "C"
2323
{
2424
#endif
2525

26-
#ifdef CONFIG_SPIRAM
26+
#if (CONFIG_SPIRAM_SUPPORT && (CONFIG_SPIRAM_USE_CAPS_ALLOC || CONFIG_SPIRAM_USE_MALLOC))
2727
#define MEM_ALLOC_EXTRAM(size) heap_caps_malloc(size, MALLOC_CAP_SPIRAM)
2828
#define MEM_CALLOC_EXTRAM(num, size) heap_caps_calloc(num, size, MALLOC_CAP_SPIRAM)
2929
#define MEM_REALLOC_EXTRAM(ptr, size) heap_caps_realloc(ptr, size, MALLOC_CAP_SPIRAM)

0 commit comments

Comments
 (0)