static void BUTTON_Mirror_Persist(button_config_t* conf) { button_config_t saved_config; dct_read_app_data_copy(DCT_MODE_BUTTON_MIRROR_OFFSET, &saved_config, sizeof(saved_config)); if (conf) { if (saved_config.active == 0xFF || memcmp((void*)conf, (void*)&saved_config, sizeof(button_config_t))) { dct_write_app_data((void*)conf, DCT_MODE_BUTTON_MIRROR_OFFSET, sizeof(button_config_t)); } } else { if (saved_config.active != 0xFF) { memset((void*)&saved_config, 0xff, sizeof(button_config_t)); dct_write_app_data((void*)&saved_config, DCT_MODE_BUTTON_MIRROR_OFFSET, sizeof(button_config_t)); } } }
/** * Sets the IP Addresses to use when the device is in static IP mode. * @param host * @param netmask * @param gateway * @param dns1 * @param dns2 * @param reserved */ void wlan_set_ipaddress(const HAL_IPAddress* host, const HAL_IPAddress* netmask, const HAL_IPAddress* gateway, const HAL_IPAddress* dns1, const HAL_IPAddress* dns2, void* reserved) { const static_ip_config_t* pconfig = wlan_fetch_saved_ip_config(); static_ip_config_t config; memcpy(&config, pconfig, sizeof(config)); assign_if_set(config.host, host); assign_if_set(config.netmask, netmask); assign_if_set(config.gateway, gateway); assign_if_set(config.dns1, dns1); assign_if_set(config.dns2, dns2); dct_write_app_data(&config, DCT_IP_CONFIG_OFFSET, sizeof(config)); }
void save_antenna_selection(WLanSelectAntenna_TypeDef selection) { dct_write_app_data(&selection, DCT_ANTENNA_SELECTION_OFFSET, DCT_ANTENNA_SELECTION_SIZE); }
/** * Sets the IP source - static or dynamic. */ void wlan_set_ipaddress_source(IPAddressSource source, bool persist, void* reserved) { char c = source; dct_write_app_data(&c, DCT_IP_CONFIG_OFFSET+offsetof(static_ip_config_t, config_mode), 1); }
uint16_t DCT_If_Write (uint32_t Add, uint32_t Len) { return dct_write_app_data(MAL_Buffer, Add, Len) ? MAL_FAIL : MAL_OK; }