Академический Документы
Профессиональный Документы
Культура Документы
Порты.
PIN_PULLUP_DIS(PIN_NAME) - Отключить подтягивающий резистор от «pull up» (+).
PIN_PULLUP_EN(PIN_NAME) - Подключить подтягивающий резистор к «pull up» (+).
PIN_PULLDWN_DIS(PIN_NAME) – Отключить подтягивающий резистор от «pull down» (-).
PIN_PULLDWN_EN(PIN_NAME) – Подключить подтягивающий резистор к «pull down» (-).
PIN_FUNC_SELECT(PIN_NAME, FUNC) - Установка функции ножки.
gpio_output_set(set_mask, clear_mask, enable_mask, disable_mask) - установка состояния ножек.
set_mask – 1, высокий уровень на выходе (подается маска по всем портам).
clear_mask – 1, низкий уровень на выходе (подается маска по всем портам).
enable_mask – 1 выход (подается маска по всем портам).
disable_mask – 1, вход (подается маска по всем портам).
GPIO_OUTPUT_SET(PIN_NOM,state) – установить состояние выхода. При этом порт становится как выход.
PIN_NOM – номер порта (0-31).
state – состояние выхода (0-1).
GPIO_DIS_OUTPUT(PIN_NOM) – Установить порт как вход.
gpio_input_get() - получить состояние всех входов.
GPIO_INPUT_GET (PIN_NOM) – получить состояние входа.
Таймеры.
os_timer_arm(ETSTimer *ptimer, uint32_t milliseconds, bool repeat_flag) – Инициализация таймера.
ptimer – Указатель на структуру таймера.
milliseconds – период в миллисекундах.
repeat_flag – вызывать функцию периодически.
os_timer_disarm(ETSTimer *ptimer) – Отключить таймер.
os_timer_setfn(ETSTimer *ptimer, ETSTimerFunc *pfunction, void *parg) – Прописать в таймер функцию вызова.
ptimer - Указатель на структуру таймера.
pfunction – указатель на функцию.
parg – указатель на аргумент.
system_timer_reinit() – Вызвать при инициализации, если необходимо использовать микро секундный таймер (USE_US_TIMER).
Пример:
static volatile os_timer_t test_timer;
void fnc_timer (void *arg)
{
…
}
…
os_timer_disarm(&test_timer);
os_timer_setfn(&test_timer, (os_timer_func_t *) fnc_timer, NULL);
os_timer_arm(&test_timer, 1000, 1);//Раз в секунду
Системные функции
system_get_sdk_version() – Получить строку определяющую версию SDK PRINT("\f\r\n\r\nSDK version: %s\r\n", system_get_sdk_version());
system_restore() – Сброс настроек по умолчанию.
system_restart() – Перезапуск программы
system_init_done_cb(init_done_cb_t cb) – прописывает функцию, которая будет вызываться после выполнения инициализации.
Например для wifi_station_scan.
uint32 system_get_chip_id (void) – Возвращает идентификатор чипа.
void system_deep_sleep(uint32 time_in_us) – перевести модуль в режим глубокого сна на указанное время, после пробуждения будет
вызвана функция user_init. Время сна в микросекундах.
bool system_deep_sleep_set_option(uint8 option) – устанавливает параметры глубокого сна, вызывается перед system_deep_sleep.
void system_phy_set_rfoption(uint8 option) – Опции работы трансивера во сне.
void system_phy_set_max_tpw(uint8 max_tpw) – Установка максимальной выходной мощности устанавливаемый диапазон 0-82 один
шаг 0.25dBm .
void system_phy_set_tpw_via_vdd33(uint16 vdd33) – Установка выходной мощности в зависимости от напряжения.
void system_uart_swap (void) – Сменить функции ножек UART0, при этом задействуются MTDO(U0CTS) и MTCK(U0RTS).
void system_uart_de_swap (void) – Вернуть функции ножек UART0 на старые позиции.
uint16 system_adc_read (void) – Прочитать значение на входе ADC.
bool system_update_cpu_freq(uint8 freq) – Выполнить установку частоты ядра в МГц. По умолчанию 80.
uint8 system_get_cpu_freq(void) – Получить текущую частоту ядра в МГц.
enum flash_size_map system_get_flash_size_map(void) – Получить текущую конфигурацию flash памяти. (см. flash_size_map )
struct rst_info* system_get_rst_info(void) – Получить информацию о режиме запуска (Включение питания, сброс, …) .
void system_soft_wdt_stop(void) – Отключить программный watchdog.
void system_soft_wdt_restart(void) – Перезапускает программный watchdog, если он бал остановлен ф-ей system_soft_wdt_stop.
void system_soft_wdt_feed(void) – Сброс watchdog.
void os_delay_us(uint16 us) – Задержка в мкСек.
SPI
uint32 spi_flash_get_id (void) – прочитать идентификатор Flash памяти.
SpiFlashOpResult spi_flash_erase_sector (uint16 sec) – Выполнить очистку сектора в Flash.
SpiFlashOpResult spi_flash_write (uint32 des_addr, uint32 *src_addr, uint32 size) – Выполнить запись блока в Flash.
SpiFlashOpResult spi_flash_read(uint32 src_addr, uint32 * des_addr, uint32 size) – Выполнить чтение блока из Flash.
bool system_param_save_with_protect(uint16 start_sec, void *param, uint16 len) – Выполнить сохранение данных с защитой.
bool system_param_load(uint16 start_sec, uint16 offset, void *param, uint16 len) – Выполнить загрузку данных из защищенной области.
void spi_flash_set_read_func (user_spi_flash_read read) – зарегистрировать функцию пользователя для чтения из Flash.
WiFi
wifi_get_opmode – Получить текущий режим работы модуля
wifi_get_opmode_default – Получить режим работы по умолчанию. Записанный во flash.
wifi_set_opmode – Установка режима работы модуля с сохранением во Flash.
wifi_set_opmode_current Установка режима работы модуля. Без сохранения во Flash.
STATION_MODE (1) – Режим клиентского устройства;
SOFTAP_MODE (2) – Режим точки доступа;
STATIONAP_MODE (3) - Режим клиентского устройства и точки доступа.
0 ставит нельзя.
void wifi_station_get_config(struct station_config * config) – Получить текущие параметры WiFi в режиме клиентского устройства.
bool wifi_station_get_config_default (struct station_config *config) – Получить конфигурацию по умолчанию. Записанную во flash.
void wifi_station_set_config (struct station_config * config) – Установить параметры WiFi в режиме клиента. С сохранением во flash.
bool wifi_station_set_config_current (struct station_config *config) – Установить параметры WiFi в режиме клиента. Без сохранения во
Flash.
struct station_config {
uint8 ssid[32]; - название точки доступа, к которой нужно подключиться.
uint8 password[64]; - Пароль на сеть
uint8 bssid_set; == 1 если Мак адрес точки доступа должен соответствовать bssid.
uint8 bssid[6]; - Мак адрес точки доступа, к которой нужно подключиться.
};
Если wifi_station_set_config будет вызываться в user_init, то нет необходимости далее вызывать wifi_station_connect, esp8266
будет подключаться к маршрутизатору автоматически.
bool wifi_station_connect (void) – Выполнить подключение к точке доступа. Если устройство уже подключено, то необходимо вызвать
wifi_station_disconnect. Не вызывать из user_init.
bool wifi_station_disconnect (void) – разорвать соединение с точкой доступа. Не вызывать из user_init.
uint8 wifi_station_get_connect_status (void) – Получить статус соединения с точкой доступа.
bool wifi_station_scan (struct scan_config *config, scan_done_cb_t cb) – Выполнить сканирование доступных точек доступа.
struct scan_config{
uint8 *ssid; // AP’s ssid
uint8 *bssid; // AP’s bssid
uint8 channel; //scan a specific channel
uint8 show_hidden; //scan APs of which ssid is hidden. – сканировать скрытые точки
};
Если config == NULL, то выполняется сканирование всех точек доступа.
Если ssid == NULL и bssid == NULL и channel != 0, то выполняется сканирование указанного канала.
scan_done_cb_t cb – функция в которую будут передаваться найденные каналы.
void scan_done_cb_t (void *arg, STATUS status);
struct bss_info { - Структура определяющая найденные сети (= (struct bss_info *)arg;)
STAILQ_ENTRY(bss_info) next;
u8 bssid[6];
u8 ssid[32];
u8 channel;
s8 rssi;
u8 authmode;
uint8 is_hidden; // SSID of current AP is hidden or not.
};
bool wifi_station_ap_number_set (uint8 ap_number) - задает количество точек доступа, к которым модуль может подключаться? (0-4).
uint8 wifi_station_get_ap_info(struct station_config config[]) – получить информацию по запомненным точкам доступа (AP).
struct station_config config[] - массив на 5 AP. Возвращает кол-во хранимых точек в памяти.
bool wifi_station_ap_change (uint8 current_ap_id) – переместить точку доступа с номером current_ap_id в начало списка.
Uint8 wifi_station_get_current_ap_id () – Получить текущий номер записи подключённой к AP.
uint8 wifi_station_get_auto_connect(void) – ф-я возвращает, будет ли модуль автоматически подключаться к AP или нет. (1 - да).
bool wifi_station_set_auto_connect(uint8 set) – установить режим автоматического подключения при включении питания. Сохраняется
во flash.
bool wifi_station_set_reconnect_policy(bool set) – Выполнять пере подключение к точке доступа если произойдет разрыв связи.
Рекомендуется вызывать из user_init.
sint8 wifi_station_get_rssi(void) – Получить уровень сигнала у подключенной станции. (<0) получено значение rssi.
bool wifi_softap_get_config (struct softap_config *config) – Получить конфигурацию в режиме точки доступа.
bool wifi_softap_get_config_default(struct softap_config *config) – Получить конфигурацию в режиме точки доступа по умолчанию.
bool wifi_softap_set_config (struct softap_config *config) – Установить конфигурацию в режиме точки доступа по умолчанию.
bool wifi_softap_set_config_current (struct softap_config *config) – Установить конфигурацию в режиме точки доступа.
struct softap_config {
uint8 ssid[32]; // имя в режиме AP
uint8 password[64]; // пароль в режиме АР
uint8 ssid_len; // длинна имени AP
uint8 channel; // используемый канал
uint8 authmode; // режим аутентификации (AUTH_OPEN = 0, AUTH_WEP, AUTH_WPA_PSK, AUTH_WPA2_PSK, AUTH_WPA_WPA2_PSK)
uint8 ssid_hidden; // Скрывать сеть
uint8 max_connection; //Максимальное кол-во подключений
uint8 beacon_interval; //интервал оповещения (маяка) 100 ~ 60000 ms, default 100
};
uint8 wifi_softap_get_station_num(void) – получить количество подключенных клиентов в режиме точки доступа.
struct station_info * wifi_softap_get_station_info(void) – получает информацию о подключенных устройствах в режиме АР.
struct station_info {
STAILQ_ENTRY(station_info) next;// следующая запись
uint8 bssid[6];//МАС адрес
struct ip_addr ip;//IP адрес
};
void wifi_softap_free_station_info(void) – очистить занимаемую память (struct station_info), полученную после вызова
wifi_softap_get_station_info.
bool wifi_set_phy_mode(enum phy_mode mode) – установить режим работы Wi-Fi трансивера.( PHY_MODE_11B = 1, PHY_MODE_11G = 2,
PHY_MODE_11N = 3).
Enum phy_mode wifi_get_phy_mode(void) – получить текущий режим работы Wi-Fi трансивера.
bool wifi_get_ip_info(uint8 if_index, struct ip_info *info) – получить информацию о IP адресе в режиме клиента (0) или АР(1).
bool wifi_set_ip_info(uint8 if_index, struct ip_info *info) - Установить IP для режима клиента или АР.
if_index – 0 для режима клиента, 1 для режима точки доступа (AP).
struct ip_info {
struct ip_addr ip;
struct ip_addr netmask;
struct ip_addr gw;
};
bool wifi_set_macaddr(uint8 if_index, uint8 *macaddr) – установить МАС адрес для режимов клиента(0) и AP(1).
bool wifi_get_macaddr(uint8 if_index , uint8 *macaddr) – получить МАС адрес для режимов клиента(0) и AP(1).
Bool wifi_set_sleep_type(enum sleep_type type) – установить спящий режим для экономии энергии.
Enum sleep_type wifi_get_sleep_type(void) – получить установленный спящий режим.
void wifi_status_led_install(uint8 gpio_id, uint32 gpio_name, uint8 gpio_func) – установить ножку, которая будет индицировать
состояние WiFi.
void wifi_status_led_uninstall () – освободить ножку, которая была задействована ф-й wifi_status_led_install.
bool wifi_set_broadcast_if (uint8 interface) – выбор режима отправки broadcast UDP сообщений. (1:station; 2:soft-AP, 3:station+soft-AP)
uint8 wifi_get_broadcast_if (void) – получить текущий режим отправки broadcast UDP сообщений.
void wifi_set_event_handler_cb(wifi_event_handler_cb_t cb) – Зарегистрировать функцию на события от WiFi модуля.
Upgrade (API)?
uint8 system_upgrade_userbin_check() – выполнить проверку userbin ?
void system_upgrade_flag_set(uint8 flag) – установить флаг обновления.
uint8 system_upgrade_flag_check() - получить флаги обновления.
bool system_upgrade_start (struct upgrade_server_info *server) – запуск обновления
struct upgrade_server_info *server – структура определяющая сервер обновления
void system_upgrade_reboot (void) – перезапустить систему с использование новой версии.
SNTP APIs
void sntp_setserver(unsigned char idx, ip_addr_t *addr) – Установить сервер синхронизации времени. Да 3-х адресов. Idx – номер сервера
(0-2), addr – адрес сервера.
ip_addr_t sntp_getserver(unsigned char idx) – Получить IP адрес сервера.
void sntp_setservername(unsigned char idx, char *server) – установить 3 SNTP сервера по доменному имени.
char * sntp_getservername(unsigned char idx) – Получить указатель на строку имени SNTP сервера.
void sntp_init(void) – Выполнить инициализацию SNTP сервера.
void sntp_stop(void) – Остановить сервис SNTP.
uint32 sntp_get_current_timestamp() – Получить текущие время в формате time stamp.
char* sntp_get_real_time(long t) – Получить строку времени. T – время в формате time stamp.
bool sntp_set_timezone (sint8 timezone) – Выполнить установку временной зоны.
TCP/UDP APIs
sint8 espconn_regist_sentcb(struct espconn *espconn, espconn_sent_callback sent_cb) – зарегистрировать функцию, которая будет
вызываться после отправки данных. (typedef void (* espconn_sent_callback)(void *arg); )
sint8 espconn_regist_recvcb(struct espconn *espconn, espconn_recv_callback recv_cb) – зарегистрировать функцию, котрая будет
вызываться при получении данных. (typedef void (* espconn_recv_callback)(void *arg, char *pdata, unsigned short len);)
sint8 espconn_sent(struct espconn *espconn, uint8 *psent, uint16 length) – выполнить отправку данных через WiFi.
TCP APIs
sint8 espconn_accept(struct espconn *espconn) – Создать TCP сервер.
sint8 espconn_secure_accept(struct espconn *espconn) – Создать SSL TCP сервер.
sint8 espconn_regist_time( struct espconn *espconn, uint32 interval, uint8 type_flag) – установить таймаут разрыва соединения.
uint32 Interval – интервал. Максимум = 7200 сек. Если == 0, то соединение не разрывается.
uint8 type_flag - 0 - для всех соединений, 1 – для одного.
sint8 espconn_set_opt(struct espconn *espconn, uint8 opt) - Установить опции TCP соединения.
sint8 espconn_clear_opt(struct espconn *espconn, uint8 opt) – Отключить опции TCP соединения.
sint8 espconn_set_keepalive(struct espconn *espconn, uint8 level, void* optarg) – Установить конфигурацию TCP keep alive.
sint8 espconn_set_keepalive(struct espconn *espconn, uint8 level, void* optarg) – Получить конфигурацию TCP keep alive.
bool espconn_secure_set_size (uint8 level, uint16 size) – установить размер буфера для зашифрованных данных.
sint16 espconn_secure_get_size (uint8 level) – Получить размер буфера для зашифрованных данных.
sint8 espconn_secure_connect (struct espconn *espconn) – Выполнить подключение к TCP серверу в режиме SSL.
sint8 espconn_secure_sent (struct espconn *espconn, uint8 *psent, uint16 length) – Выполнить отправку зашифрованных данных.
sint8 espconn_secure_disconnect(struct espconn *espconn) – Разорвать TCP SSL соединение.
UDP APIs
sin8 espconn_create(struct espconn *espconn) – создать UDP соединение.
sint8 espconn_igmp_join(ip_addr_t *host_ip, ip_addr_t *multicast_ip) -
sint8 espconn_igmp_leave(ip_addr_t *host_ip, ip_addr_t *multicast_ip)
void espconn_dns_setserver(char numdns, ip_addr_t *dnsserver) – установить DNS сервер. Всего можно 2 (numdns = 0 или 1).
mDNS APIs