예제 #1
0
파일: button_hal.c 프로젝트: spark/firmware
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));
        }
    }
}
예제 #2
0
/**
 * 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));
}
예제 #3
0
void save_antenna_selection(WLanSelectAntenna_TypeDef selection)
{
    dct_write_app_data(&selection, DCT_ANTENNA_SELECTION_OFFSET, DCT_ANTENNA_SELECTION_SIZE);
}
예제 #4
0
/**
 * 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);
}
예제 #5
0
uint16_t DCT_If_Write (uint32_t Add, uint32_t Len) {
    return dct_write_app_data(MAL_Buffer, Add, Len) ? MAL_FAIL : MAL_OK;
}