Files
libretiny/cores/realtek-amb/arduino/libraries/WiFi/WiFiPrivate.h
2025-05-28 15:50:18 +02:00

100 lines
2.4 KiB
C

/* Copyright (c) Kuba Szczodrzyński 2022-04-25. */
#pragma once
#include <WiFi.h>
#include <sdk_private.h>
extern "C" {
// copy defines from PIO builder (for IDE to understand)
#define LWIP_TIMEVAL_PRIVATE 0
#define LWIP_NETIF_HOSTNAME 1
#define LWIP_SO_RCVBUF 1
#include <FreeRTOS.h>
#include <autoconf.h>
#include <dhcp/dhcps.h>
#include <lwip/api.h>
#include <lwip/dns.h>
#include <lwip/err.h>
#include <lwip_netconf.h>
#include <semphr.h>
#include <wifi_conf.h>
#include <wifi_constants.h>
#include <wifi_structures.h>
extern struct netif xnetif[NET_IF_NUM];
// dhcps.c
extern void dns_server_init(struct netif *pnetif);
extern void dns_server_deinit(void);
// wifi_util.c
#if !LT_RTL8720C
extern void rltk_stop_softap(const char *ifname);
#endif
extern void rltk_suspend_softap(const char *ifname);
extern void rltk_suspend_softap_beacon(const char *ifname);
} // extern "C"
// WiFi.cpp
extern rtw_wifi_setting_t wifi_setting;
extern wifi_mode_t wifi_mode;
extern WiFiAuthMode securityTypeToAuthMode(uint8_t type);
// WiFiEvents.cpp
extern void startWifiTask();
extern void handleRtwEvent(uint16_t event, char *data, int len, int flags);
#define WLAN0_NETIF &xnetif[RTW_STA_INTERFACE]
#define WLAN1_NETIF &xnetif[RTW_AP_INTERFACE]
#define NETIF_RTW_STA WLAN0_NETIF
#define NETIF_RTW_AP (wifi_mode & WIFI_MODE_STA ? WLAN1_NETIF : WLAN0_NETIF)
#define NETNAME_STA WLAN0_NAME
#define NETNAME_AP (wifi_mode & WIFI_MODE_STA ? WLAN1_NAME : WLAN0_NAME)
typedef struct {
bool initialized;
bool sleep;
SemaphoreHandle_t scanSem;
WiFiNetworkInfo sta;
WiFiNetworkInfo ap;
} WiFiData;
#define DATA ((WiFiData *)data)
#define pDATA ((WiFiData *)pWiFi->data)
#define cDATA ((WiFiData *)cls->data)
#if LT_RTL8710B // Realtek AmebaZ
#define DIAG_PRINTF_ENABLE() \
do { \
__wrap_rtl_printf_enable(); \
__wrap_DiagPrintf_enable(); \
} while (0);
#define DIAG_PRINTF_DISABLE() \
do { \
__wrap_rtl_printf_disable(); \
__wrap_DiagPrintf_disable(); \
} while (0);
#elif LT_RTL8720C // Realtek AmebaZ2
#define DIAG_PRINTF_ENABLE() \
do { \
__wrap_rt_printf_enable(); \
__wrap_rt_log_printf_enable(); \
} while (0);
#define DIAG_PRINTF_DISABLE() \
do { \
__wrap_rt_printf_disable(); \
__wrap_rt_log_printf_disable(); \
} while (0);
#else
#define DIAG_PRINTF_ENABLE()
#define DIAG_PRINTF_DISABLE()
#endif