pure sdk for main

This commit is contained in:
divadiow
2025-08-27 09:51:58 +01:00
parent f0d033f1c9
commit 0571416e7c
3283 changed files with 1577720 additions and 1 deletions
+38
View File
@@ -0,0 +1,38 @@
#ifndef _COMMON_ATCMD_H_
#define _COMMON_ATCMD_H_
int32 sys_atcmd_loaddef(const char *cmd, char *argv[], uint32 argc);
int32 sys_atcmd_reset(const char *cmd, char *argv[], uint32 argc);
int32 sys_atcmd_jtag(const char *cmd, char *argv[], uint32 argc);
int32 sys_syscfg_dump_hdl(const char *cmd, char *argv[], uint32 argc);
int32 sys_heap_dump_hdl(const char *cmd, char *argv[], uint32 argc);
int32 sys_wifi_atcmd_set_channel(const char *cmd, char *argv[], uint32 argc);
int32 sys_wifi_atcmd_set_encrypt(const char *cmd, char *argv[], uint32 argc);
int32 sys_wifi_atcmd_set_ssid(const char *cmd, char *argv[], uint32 argc);
int32 sys_wifi_atcmd_set_key(const char *cmd, char *argv[], uint32 argc);
int32 sys_wifi_atcmd_set_wifimode(const char *cmd, char *argv[], uint32 argc);
int32 sys_wifi_atcmd_loaddef(const char *cmd, char *argv[], uint32 argc);
int32 sys_wifi_atcmd_scan(const char *cmd, char *argv[], uint32 argc);
int32 sys_wifi_atcmd_pair(const char *cmd, char *argv[], uint32 argc);
int32 sys_wifi_atcmd_aphide(const char *cmd, char *argv[], uint32 argc);
int32 sys_wifi_atcmd_hwmode(const char *cmd, char *argv[], uint32 argc);
int32 sys_wifi_atcmd_ft(const char *cmd, char *argv[], uint32 argc);
int32 sys_wifi_atcmd_passwd(const char *cmd, char *argv[], uint32 argc);
int32 sys_ble_atcmd_blenc(const char *cmd, char *argv[], uint32 argc);
int32 sys_ble_atcmd_set_coexist_en(const char *cmd, char *argv[], uint32 argc);
int32 sys_atcmd_ping(const char *cmd, char *argv[], uint32 argc);
int32 sys_atcmd_icmp_mntr(const char *cmd, char *argv[], uint32 argc);
int32 sys_atcmd_iperf2(const char *cmd, char *argv[], uint32 argc);
int32 sys_atcmd_goto_boot(const char *cmd, char *argv[], uint32 argc);
int32 sys_wifi_atcmd_reboot_test_mode(const char *cmd, char *argv[], uint32 argc);
int32 sys_wifi_atcmd_wificsa(const char *cmd, char *argv[], uint32 argc);
int32 udp_test_atcmd_hdl(const char *cmd, char *argv[], uint32 argc);
int32 tcp_test_atcmd_hdl(const char *cmd, char *argv[], uint32 argc);
#endif
+19
View File
@@ -0,0 +1,19 @@
#ifndef _HGIC_COMMON_H_
#define _HGIC_COMMON_H_
void do_global_ctors(void);
void do_global_dtors(void);
void cpu_loading_print(uint8 all, struct os_task_info *tsk_info, uint32 size);
void sys_wakeup_host(void);
void module_version_show(void);
extern uint32 sdk_version;
extern uint32 svn_version;
extern uint32 app_version;
#endif
+19
View File
@@ -0,0 +1,19 @@
#ifndef _HGIC_DSLEEP_DATA_H_
#define _HGIC_DSLEEP_DATA_H_
enum system_sleepdata_id {
SYSTEM_SLEEPDATA_ID_LMAC,
SYSTEM_SLEEPDATA_ID_UMAC,
SYSTEM_SLEEPDATA_ID_PSALIVE,
SYSTEM_SLEEPDATA_ID_PSCONNECT,
SYSTEM_SLEEPDATA_ID_WKDATA,
SYSTEM_SLEEPDATA_ID_USER,
SYSTEM_SLEEPDATA_ID_MAX,
};
extern void sys_sleepdata_init(void);
extern void *sys_sleepdata_request(uint8 id, uint32 size);
extern void sys_sleepdata_reset(void);
extern uint32 sys_sleepdata_freesize(void);
extern void *sys_sleepdata_get(uint8 id);
#endif
+150
View File
@@ -0,0 +1,150 @@
#ifndef __RBUFFER_H__
#define __RBUFFER_H__
#ifdef __cplusplus
extern "C" {
#endif
#define RB_NPOS(rb, pos, i) ({ \
uint32 __pos__ = (rb)->pos;\
((__pos__+(i)>=(rb)->qsize) ? (__pos__+(i)-(rb)->qsize) : (__pos__+(i)));\
})
/* rpos == wpos 表示 rbuffer 为空 */
#define RB_EMPTY(rb) ((rb)->wpos == (rb)->rpos)
/* wpos+1 == rpos 表示 rbuffer 已满 */
#define RB_FULL(rb) ({ \
uint32 _rpos_ = ((rb)->rpos);\
uint32 _wpos_ = ((rb)->wpos)+1;\
((_wpos_>=(rb)->qsize) ? (_wpos_-(rb)->qsize) : (_wpos_)) == (_rpos_);\
})
/* rbuffer 中未被读取的数据长度 */
#define RB_COUNT(rb) ({ \
uint32 _rpos_ = ((rb)->rpos);\
uint32 _wpos_ = ((rb)->wpos);\
((_rpos_<=_wpos_)? (_wpos_-_rpos_): ((rb)->qsize-_rpos_+_wpos_));\
})
/* rbuffer中剩余空间长度 */
#define RB_IDLE(rb) ({ \
uint32 _rpos_ = ((rb)->rpos);\
uint32 _wpos_ = ((rb)->wpos);\
((_wpos_<_rpos_)? (_rpos_-_wpos_-1): ((rb)->qsize-_wpos_+_rpos_-1));\
})
/*ringbuffer define*/
#define RBUFFER_DEF(name, type, size) \
struct {\
uint32 rpos, wpos, qsize;\
type rbq[(size)+1];\
}name
/*ringbuffer define (refference)*/
#define RBUFFER_DEF_R(name, type) \
struct {\
uint32 rpos, wpos, qsize;\
type *rbq;\
}name
/*reset ringbuffer in interrupt*/
#define RB_RESET(rb) ({\
uint32 flag = disable_irq(); \
(rb)->rpos = 0; \
(rb)->wpos = 0; \
enable_irq(flag);\
})
/*get a value from ringbuffer*/
#define RB_GET(rb, val) ({\
uint8 __ret__ = 0;\
if(!RB_EMPTY(rb)){\
val = (rb)->rbq[(rb)->rpos];\
(rb)->rpos = RB_NPOS((rb), rpos, 1);\
__ret__ = 1;\
}\
__ret__;\
})
/*set a value into ringbuffer*/
#define RB_SET(rb, val) ({\
uint8 __ret__ = 0;\
if(!RB_FULL(rb)){\
(rb)->rbq[(rb)->wpos] = val;\
(rb)->wpos = RB_NPOS((rb), wpos, 1);\
__ret__ = 1;\
}\
__ret__;\
})
/*get a value from ringbuffer in interrupt*/
#define RB_INT_GET(rb, val) ({\
uint8 __ret__ = 0;\
uint32 flag = disable_irq(); \
if(!RB_EMPTY(rb)){\
val = (rb)->rbq[(rb)->rpos];\
(rb)->rpos = RB_NPOS((rb), rpos, 1);\
__ret__ = 1;\
}\
enable_irq(flag);\
__ret__;\
})
/*set a value into ringbuffer in interrupt*/
#define RB_INT_SET(rb, val) ({\
uint8 __ret__ = 0;\
uint32 flag = disable_irq(); \
if(!RB_FULL(rb)){\
(rb)->rbq[(rb)->wpos] = val;\
(rb)->wpos = RB_NPOS((rb), wpos, 1);\
__ret__ = 1;\
}\
enable_irq(flag);\
__ret__;\
})
#define RB_INT_RESET(rb) do{\
uint32 flag = disable_irq(); \
(rb)->rpos = 0;\
(rb)->wpos = 0;\
enable_irq(flag);\
}while(0)
/*ringbuffer init*/
#define RB_INIT(rb, size) do{\
(rb)->qsize = (size)+1;\
(rb)->rpos = 0;\
(rb)->wpos = 0;\
} while (0)
/*ringbuffer init (referrence mode)*/
#define RB_INIT_R(rb, size, buff) do{\
(rb)->qsize = (size);\
(rb)->rpos = 0;\
(rb)->wpos = 0;\
(rb)->rbq = buff;\
} while (0)
#define RB_INIT_ALLOC(rb, size) rbuffer_alloc((struct rbuffer *)(rb), size)
#define RB_FREE(rb) rbuffer_free((struct rbuffer *)(rb))
struct rbuffer {
uint32 rpos, wpos, qsize;
char *rbq;
};
int32 rbuffer_init(struct rbuffer *rb, uint32 size, void *buff);
int32 rbuffer_set(struct rbuffer *rb, void *data, uint32 length);
int32 rbuffer_set_force(struct rbuffer *rb, void *data, uint32 length);
int32 rbuffer_get(struct rbuffer *rb, void *buff, uint32 size);
void rbuffer_destroy(struct rbuffer *rb);
void rbuffer_reset(struct rbuffer *rb);
int32 rbuffer_alloc(struct rbuffer *rb, uint32 size);
void rbuffer_free(struct rbuffer *rb);
#ifdef __cplusplus
}
#endif
#endif
+36
View File
@@ -0,0 +1,36 @@
/**
* @file sleep_api.h
* @author HUGE-IC Application Team
* @brief Dsleep mode function library
* @version 1.0.0
* @date 2021-9-6
*
* @copyright Copyright (c) 2021 HUGE-IC
*/
#ifndef _HGIC_SLEEP_API_H_
#define _HGIC_SLEEP_API_H_
enum sleep_setcfg_cmd {
SLEEP_SETCFG_GPIOA_RESV,
SLEEP_SETCFG_GPIOB_RESV,
SLEEP_SETCFG_GPIOC_RESV,
SLEEP_SETCFG_SLEEP_US,
SLEEP_SETCFG_BOOT_MODE,
SLEEP_SETCFG_DSLEEP_EN,
SLEEP_SETCFG_WKSRC_DETECT,
SLEEP_SETCFG_IO_LEVEL_WK,
};
void system_sleep_enter_hook(void);
void system_sleep_wakeup_hook(void);
int32 system_sleep_rxdata_hook(uint8 *data, uint32 len);
void system_sleep_config(uint32 cmd, uint32 param1, uint32 param2);
void system_sleep_reset(void);
void dsleep_itoa(int32 n);
void dsleep_print(char *buff);
//void delay_us(uint32 n);
//uint32 io_input_meas_mv(void);
#endif // _HGIC_SLEEP_API_H_
+106
View File
@@ -0,0 +1,106 @@
#ifndef _SDK_SYSEVT_H_
#define _SDK_SYSEVT_H_
typedef enum {
SYSEVT_CONTINUE = 0,
SYSEVT_CONSUMED = 1,
} sysevt_hdl_res;
typedef sysevt_hdl_res(*sysevt_hdl)(uint32 event_id, uint32 data, uint32 priv);
int32 sys_event_init(uint16 evt_max_cnt);
int32 sys_event_new(uint32 event_id, uint32 data);
int32 sys_event_take(uint32 event_id, sysevt_hdl hdl, uint32 priv);
void sys_event_untake(uint32 event_id, sysevt_hdl hdl);
#define SYS_EVENT(main, sub) ((main)<<16|(sub&0xffff))
enum SYSEVT_MAINID { /* uint16 */
SYS_EVENT_NETWORK = 1,
SYS_EVENT_WIFI,
SYS_EVENT_LMAC,
SYS_EVENT_SYSTEM,
SYS_EVENT_BLE,
SYS_EVENT_LTE,
SYS_EVENT_LLM,
////////////////////////////////////
SYSEVT_MAINID_ID,
};
//////////////////////////////////////////
enum SYSEVT_SYSTEM_SUBEVT { /* uint16 */
SYSEVT_SYSTEM_RESUME = 1,
SYSEVT_SYSTEM_SD_MOUNT,
SYSEVT_SYSTEM_SD_UNMOUNT,
};
#define SYSEVT_NEW_SYSTEM_EVT(subevt, data) sys_event_new(SYS_EVENT(SYS_EVENT_SYSTEM, subevt), data)
//////////////////////////////////////////
enum SYSEVT_LMAC_SUBEVT { /* uint16 */
SYSEVT_LMAC_ACS_DONE = 1,
SYSEVT_LMAC_TX_STATUS = 2,
};
#define SYSEVT_NEW_LMAC_EVT(subevt, data) sys_event_new(SYS_EVENT(SYS_EVENT_LMAC, subevt), data)
//////////////////////////////////////////
enum SYSEVT_WIFI_SUBEVT { /* uint16 */
SYSEVT_WIFI_CONNECT_START = 1, //STA start connect, event data: 0
SYSEVT_WIFI_CONNECTTED, //STA connect success, event data: my AID.
SYSEVT_WIFI_CONNECT_FAIL, //STA connect fail, event data: status code.
SYSEVT_WIFI_DISCONNECT, //unused.
SYSEVT_WIFI_SCAN_START, //Start Scanning, event data: 0
SYSEVT_WIFI_SCAN_DONE, //Scan done, event data: 0
SYSEVT_WIFI_STA_DISCONNECT, //STA disconnect, event data: STA's AID.
SYSEVT_WIFI_STA_CONNECTTED, //STA connected, event data: STA's AID.
SYSEVT_WIFI_STA_PS_START, //STA enter ps mode, event data: STA's AID.
SYSEVT_WIFI_STA_PS_END, //STA exit ps mode, event data: STA's AID.
SYSEVT_WIFI_PAIR_DONE, //pair done, event data: 1:success, 0:fail.
SYSEVT_WIFI_TX_SUCCESS, //wifi tx success, event data: data tag setted by ieee80211_conf_set_datatag.
SYSEVT_WIFI_TX_FAIL, //wifi tx fail, event data: data tag setted by ieee80211_conf_set_datatag.
SYSEVT_WIFI_UNPAIR, //unpaired, event data:0
SYSEVT_WIFI_WRONG_KEY, //wifi password is wrong. event data:0
};
#define SYSEVT_NEW_WIFI_EVT(subevt, data) sys_event_new(SYS_EVENT(SYS_EVENT_WIFI, subevt), data)
//////////////////////////////////////////
enum SYSEVT_NETWORK_SUBEVT { /* uint16 */
SYSEVT_GMAC_LINK_UP = 1,
SYSEVT_GMAC_LINK_DOWN,
SYSEVT_LWIP_DHCPC_START,
SYSEVT_LWIP_DHCPC_DONE,
SYSEVT_WIFI_DHCPC_START,
SYSEVT_WIFI_DHCPC_DONE,
SYSEVT_DHCPD_NEW_IP,
SYSEVT_DHCPD_IPPOOL_FULL,
SYSEVT_NTP_UPDATE,
};
#define SYSEVT_NEW_NETWORK_EVT(subevt, data) sys_event_new(SYS_EVENT(SYS_EVENT_NETWORK, subevt), data)
//////////////////////////////////////////
enum SYSEVT_BLE_SUBEVT { /* uint16 */
SYSEVT_BLE_CONNECTED = 1,
SYSEVT_BLE_DISCONNECT,
SYSEVT_BLE_NETWORK_CONFIGURED,
SYSEVT_BLE_EXCHANGE_MTU,
};
#define SYSEVT_NEW_BLE_EVT(subevt, data) sys_event_new(SYS_EVENT(SYS_EVENT_BLE, subevt), data)
//////////////////////////////////////////
enum SYSEVT_LTE_SUBEVT { /* uint16 */
SYSEVT_LTE_CONNECTED = 1,
SYSEVT_LTE_DISCONNECT,
SYSEVT_LTE_NETWORK_CONFIGURED,
SYSEVT_LTE_OVERLAP_WIFI,
};
#define SYSEVT_NEW_LTE_EVT(subevt, data) sys_event_new(SYS_EVENT(SYS_EVENT_LTE, subevt), data)
//////////////////////////////////////////
enum SYSEVT_LLM_SUBEVT { /* uint16 */
SYSEVT_LLM_CHAT_FAIL = 1,
SYSEVT_LLM_STT_FAIL,
SYSEVT_LLM_TTS_FAIL,
};
#define SYSEVT_NEW_LLM_EVT(subevt, data) sys_event_new(SYS_EVENT(SYS_EVENT_LLM, subevt), data)
#endif
+6
View File
@@ -0,0 +1,6 @@
#ifndef _HGIC_TICKER_API_H_
#define _HGIC_TICKER_API_H_
void delay_us(uint32 n);
#endif