开启雷鸟线程宏
authorcheng <chengyf@zhihuishixun.com>
Thu, 18 Sep 2025 12:13:21 +0000 (20:13 +0800)
committercheng <chengyf@zhihuishixun.com>
Thu, 18 Sep 2025 12:13:21 +0000 (20:13 +0800)
code/sdk/build/config/target_config/brandy/config.py
code/sdk/zhihui/leiniao/imsl_ln/ln_api.h
code/sdk/zhihui/leiniao/leiniao_python_test/ota_upgrade_task_5.py

index dff9169..7f17680 100644 (file)
@@ -1281,7 +1281,7 @@ target = {
             'SAP_EFFECT_SWS_SUPPORT',
             'AUDIO_SMARTPA_AW88082',
             'LCD_JD9885',
-            # 'SUPPORT_LEINIAO',暂时屏蔽
+            'SUPPORT_LEINIAO',
         ],
         #添加自定义应用
        'ram_component': [
index e9917c5..ead3b03 100644 (file)
@@ -39,6 +39,8 @@ typedef struct
 #define LN_DEVICE_GET_CHARACTER_PATH "/v1/device/getCharacter"
 #define LN_DEVICE_GET_USER_ID_PATH "/v1/device/getUserId"
 #define LN_OTA_GET_TASK_PATH "/v1/upgrade/getTask"
+#define LN_EMOJI_REPORT_PATH "/v1/emoji/reportEmoji"
+#define LN_EMOJI_REPORT_ALL_PATH "/v1/emoji/reportAllEmoji"
 #define LN_STORY_CHOOSE_URL LN_BASE_URL LN_STORY_CHOOSE_PATH
 #define LN_STORY_RANDOM_URL LN_BASE_URL LN_STORY_RANDOM_PATH
 #define LN_STORY_EXIT_INQUIRY_URL LN_BASE_URL LN_STORY_EXIT_INQUIRY_PATH
@@ -46,9 +48,11 @@ typedef struct
 #define LN_DEVICE_GET_CHARACTER_URL LN_BASE_URL LN_DEVICE_GET_CHARACTER_PATH
 #define LN_DEVICE_GET_USER_ID_URL LN_BASE_URL LN_DEVICE_GET_USER_ID_PATH
 #define LN_OTA_GET_TASK_URL LN_BASE_URL LN_OTA_GET_TASK_PATH
+#define LN_EMOJI_REPORT_URL LN_BASE_URL LN_EMOJI_REPORT_PATH
+#define LN_EMOJI_REPORT_ALL_URL LN_BASE_URL LN_EMOJI_REPORT_ALL_PATH
 #define LN_SIGN_SECRET "vDdXVXgPUEUM6_piUjz5AEhMvYTSFzQdPaN-ogKnSus="
-/* OTA 包保存目录(最终文件仍将放在 /user/ 下)*/
-#define LN_OTA_SAVE_DIR "/user"
+/* OTA 包保存目录*/
+#define LN_OTA_SAVE_DIR "/user/update/update.fwpkg"
 /* 用户数据保存目录 */
 #define LN_DATA_PATH          "/user/leiniao"
 
@@ -104,6 +108,10 @@ typedef struct
 #define LN_HTTP_SERVICE_CMD_AUDIO_PAUSE 0x1005 /* 暂停播放 */
 #define LN_HTTP_SERVICE_CMD_AUDIO_RESUME 0x1006 /* 恢复播放 */
 
+/* Emoji 上报结果接收命令 */
+#define LN_HTTP_RECV_EMOJI_REPORT          0x1007 
+#define LN_HTTP_RECV_EMOJI_REPORT_ALL      0x1008
+
 /* 故事-随机故事 请求体(可选主题)*/
 typedef struct
 {
@@ -127,6 +135,15 @@ typedef struct {
     char md5[65];              /* MD5(来自任务),仅状态为COMPLETED时有效 */
 } OtaDownloadMsg;
 
+/* =================== Emoji 表情上报相关结构体 =================== */
+typedef struct
+{
+    const char *characterId; /* 角色ID */
+    const char *eyesColor;   /* 瞳色 */
+    const char *eyesShape;   /* 眼型 */
+    const char *status;      /* 状态: download_success/download_fail/delete_success/delete_fail */
+} LnEmojiGroup;
+
 /* 设备绑定状态 */
 typedef enum
 {
@@ -272,6 +289,19 @@ uint32_t ln_ota_download_flow_http(const char *device_id,
                                    const char *device_token,
                                    const char *source_version);
 
+/* Emoji 表情接口 */
+uint32_t ln_emoji_report_status_http(const char *device_id,
+                                     const char *device_token,
+                                     const char *character_id,
+                                     const char *eyes_color,
+                                     const char *eyes_shape,
+                                     const char *status);
+
+uint32_t ln_emoji_report_all_http(const char *device_id,
+                                  const char *device_token,
+                                  const LnEmojiGroup *groups,
+                                  int group_count);
+
 /* ============================== WebSocket 客户端接口 ============================== */
 int ln_ws_start(void);
 int ln_ws_send_text(const char *text);
index 7c3e9d5..1caacb9 100644 (file)
@@ -25,7 +25,7 @@ OTA_TASK_URL = BASE_URL + OTA_TASK_INTERFACE
 SIGN_SECRET = "vDdXVXgPUEUM6_piUjz5AEhMvYTSFzQdPaN-ogKnSus="
 DEVICE_ID = "DEVICE_001"
 DEVICE_ICCID = "86123456789012345678"
-CURRENT_VERSION = "1.0.0"  # 当前固件版本
+CURRENT_VERSION = "1.3.107"  # 当前固件版本
 UPGRADE_PACKAGE_DIR = "upgrade_packages"  # 升级包存储目录
 
 # -------------------------- 工具函数 --------------------------
@@ -46,7 +46,7 @@ def get_device_token() -> Optional[str]:
             "timestamp": timestamp,
             "nonce": nonce,
             "signature": signature,
-            "deviceModel": "abmybox_1",
+            "deviceModel": "AB101",
             # 注意:升级后这里应该使用新的固件版本
             "deviceVersion": CURRENT_VERSION,
             "Content-Type": "application/json"
@@ -83,7 +83,7 @@ def check_ota_update() -> Optional[Dict]:
         headers = {
             "deviceId": DEVICE_ID,
             "deviceToken": token,
-            "deviceModel": "abmybox_1",
+            "deviceModel": "AB101",
             "deviceVersion": CURRENT_VERSION,
             "Content-Type": "application/json",
         }