pure sdk for main
This commit is contained in:
@@ -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
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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_
|
||||
@@ -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
|
||||
@@ -0,0 +1,6 @@
|
||||
#ifndef _HGIC_TICKER_API_H_
|
||||
#define _HGIC_TICKER_API_H_
|
||||
|
||||
void delay_us(uint32 n);
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user