I have an structure that I don't understand:
Code: Select all
typedef struct {
uint8_t ssid[32]; /**< SSID of target AP*/
uint8_t password[64]; /**< password of target AP*/
wifi_scan_method_t scan_method; /**< do all channel scan or fast scan */
bool bssid_set; /**< whether set MAC address of target AP or not. Generally, station_config.bssid_set needs to be 0; and it needs to be 1 only when users need to check the MAC address of the AP.*/
uint8_t bssid[6]; /**< MAC address of target AP*/
uint8_t channel; /**< channel of target AP. Set to 1~13 to scan starting from the specified channel before connecting to AP. If the channel of AP is unknown, set it to 0.*/
wifi_sort_method_t sort_method; /**< sort the connect AP in the list by rssi or security mode */
wifi_fast_scan_threshold_t threshold; /**< When scan_method is set to WIFI_FAST_SCAN, only APs which have an auth mode that is more secure than the selected auth mode and a signal stronger than the minimum RSSI will be used. */
} wifi_sta_config_t;
Code: Select all
wifi_config_t wifi_config = {
.sta = {
.ssid = WIFI_AP_NAME,
.password = WIFI_AP_PASS,
bssid_set = 0
},
};
Code: Select all
#define WIFI_AP_NAME CONFIG_WIFI_SSID
#define CONFIG_WIFI_SSID "myssid"
Code: Select all
char *wifi_ssid=mynvs_read(WIFI_SSID_TYPE);
char *wifi_pass=mynvs_read(WIFI_PASS_TYPE);
How to do that, because simple assigment throws an error:
Code: Select all
wifi_config_t wifi_config = {
.sta = {
.ssid = wifi_ssid,
.password = wifi_pass,
.bssid_set = 0
},
};
error: missing braces around initializer [-Werror=missing-braces]
Code: Select all
error: pointer targets in passing argument 1 of 'strcpy' differ in signedness [-Werror=pointer-sign]
strcpy(wifi_config.sta.password,wifi_pass);
Marek