mirror of
https://github.com/Ai-Thinker-Open/Ai-Thinker-Open_RTL8710BX_ALIOS_SDK.git
synced 2026-08-28 01:01:34 +00:00
rel_1.6.0 init
This commit is contained in:
commit
27b3e2883d
19359 changed files with 8093121 additions and 0 deletions
170
Living_SDK/include/aos/alink.h
Normal file
170
Living_SDK/include/aos/alink.h
Normal file
|
|
@ -0,0 +1,170 @@
|
|||
/*
|
||||
* Copyright (C) 2015-2017 Alibaba Group Holding Limited
|
||||
*/
|
||||
|
||||
#ifndef AOS_ALINK_H
|
||||
#define AOS_ALINK_H
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C"
|
||||
{
|
||||
#endif
|
||||
|
||||
enum ALINK_LOG_LEVEL {
|
||||
ALINK_LL_NONE, /* disable log */
|
||||
ALINK_LL_FATAL, /* fatal error log will output */
|
||||
ALINK_LL_ERROR, /* error + fatal log will output */
|
||||
ALINK_LL_WARN, /* warn + error + fatal log will output(default level) */
|
||||
ALINK_LL_INFO, /* info + warn + error + fatal log will output */
|
||||
ALINK_LL_DEBUG, /* debug + info + warn + error + fatal log will output */
|
||||
ALINK_LL_TRACE, /* trace + debug + info + warn + error + fatal will output */
|
||||
};
|
||||
|
||||
/**
|
||||
* Log level control
|
||||
*
|
||||
* @param[in] loglevel ALINK_LOG_LEVEL
|
||||
*/
|
||||
void alink_set_loglevel(enum ALINK_LOG_LEVEL loglevel);
|
||||
|
||||
/**
|
||||
* Enable sandbox mode, for debug
|
||||
*
|
||||
* @return 0 on success, otherwise -1 will return
|
||||
*/
|
||||
int alink_enable_sandbox_mode(void);
|
||||
|
||||
/**
|
||||
* Enable daily mode, for debug
|
||||
*
|
||||
* @param[in] server_ip IP Addr
|
||||
* @param[in] port server port
|
||||
*
|
||||
* @return 0 on success, otherwise -1 will return
|
||||
*/
|
||||
int alink_enable_daily_mode(const char *server_ip, int port);
|
||||
|
||||
/**
|
||||
* Entry function. start alink gateway service.
|
||||
*
|
||||
* @return 0 on success, otherwise -1 will return
|
||||
*/
|
||||
int alink_start(void);
|
||||
|
||||
#define ALINK_WAIT_FOREVER (0)
|
||||
|
||||
/**
|
||||
* Waiting alink connect to aliyun server
|
||||
*
|
||||
* @param[in] timeout_ms time in milliseconds, use ALINK_WAIT_FOREVER to wait until server is connected
|
||||
*
|
||||
* @return 0 when connect to server successfully, otherwise -1 will return
|
||||
*/
|
||||
int alink_wait_connect(int timeout_ms);
|
||||
|
||||
/**
|
||||
* Destroy alink service and free resources
|
||||
*
|
||||
* @note this func will block at most 15 seconds to stop all alink related process(thread)
|
||||
*
|
||||
* @return 0 on success, otherwise -1 will return
|
||||
*/
|
||||
int alink_end(void);
|
||||
|
||||
/**
|
||||
* Reset user account binding.
|
||||
*
|
||||
* @return 0 on success, -1 when params invalid
|
||||
*/
|
||||
int alink_factory_reset(void);
|
||||
|
||||
/**
|
||||
* Report alink message, it is a fundamental func.
|
||||
*
|
||||
* @note when connection with server is unstable, this func will block until got response from server or timeout.
|
||||
*
|
||||
* @param[in] method alink protocol method, i.e. "postDeviceRawData", "retrieveDeviceData".
|
||||
* @param[in] json_buffer json format buffer, like {"OnOff":"1", "Light":"80"}.
|
||||
*
|
||||
* @return 0 when successfully got response from cloud,
|
||||
* otherwise this func will block until timeout and -1 will return
|
||||
*/
|
||||
int alink_report(const char *method, const char *json_buffer);
|
||||
int alink_report_async(const char *method, const char *json_buffer,
|
||||
void *(*cb)(void *), void *arg);
|
||||
|
||||
int alink_report_rawdata(const char *rawdata, int len);
|
||||
|
||||
enum ALINK_WIFI_CALLBACK {
|
||||
/*
|
||||
* void callback_cloud_connected(void)
|
||||
* @n@n called each time when gateway successfully connect(or reconnect)
|
||||
* to aliyun server
|
||||
*/
|
||||
ALINK_CLOUD_CONNECTED = 0,
|
||||
|
||||
/*
|
||||
* void callback_cloud_disconnected(void)
|
||||
* @n@n called each time when gateway lose connection with aliyun server
|
||||
*/
|
||||
ALINK_CLOUD_DISCONNECTED,
|
||||
/*
|
||||
* int callback_read_device_status(const char *params)
|
||||
* @n@nuccessfully
|
||||
*/
|
||||
ALINK_GET_DEVICE_STATUS,
|
||||
|
||||
/*
|
||||
* void callback_write_device_status(const char *params)
|
||||
*/
|
||||
ALINK_SET_DEVICE_STATUS,
|
||||
/*
|
||||
* int callback_read_device_rawdata(const char *params)
|
||||
* @n@nuccessfully
|
||||
*/
|
||||
ALINK_GET_DEVICE_RAWDATA,
|
||||
|
||||
/*
|
||||
* void callback_write_device_rawdata(const char *params)
|
||||
*/
|
||||
ALINK_SET_DEVICE_RAWDATA,
|
||||
};
|
||||
|
||||
int awss_register_callback(unsigned char cb_type, void *cb_func);
|
||||
|
||||
/**
|
||||
* Register misc callback
|
||||
*
|
||||
* @param[in] cb_type callback type.
|
||||
* @param[in] cb_func callback func pointer, func declaration see related comments.
|
||||
*
|
||||
* @return 0 on success, otherwise -1 will return
|
||||
*/
|
||||
int alink_register_callback(unsigned char cb_type, void *cb_func);
|
||||
|
||||
/**
|
||||
* Start awss service, block method, block until awss succeed, or timeout(see Note).
|
||||
*
|
||||
* @note platform_awss_get_timeout_interval_ms() return monitor timeout interval,
|
||||
* AP connection timeout is 30s.
|
||||
*
|
||||
* @return 0 on success, otherwise non-zero value will return
|
||||
* = 0: connect AP & DHCP success
|
||||
* = -1: get ssid & passwd fail
|
||||
* = -2: connect AP / DHCP fail
|
||||
*/
|
||||
int awss_start(void);
|
||||
|
||||
/**
|
||||
* Calling this func force awss_start exit.
|
||||
*
|
||||
* @return 0 on success, otherwise -1 will return
|
||||
*/
|
||||
int awss_stop(void);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* AOS_ALINK_H */
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue