freesasa_classifier* freesasa_classifier_from_file(FILE *file) { assert(file); struct classifier_config *config = read_config(file); if (config == NULL) { fail_msg(""); return NULL; } return init_classifier(config); }
void start_classify_scan(struct ath_softc *sc) { HAL_SPECTRAL_PARAM spectral_params; struct ath_spectral *spectral = sc->sc_spectral; if (spectral == NULL) { SPECTRAL_DPRINTK(sc, ATH_DEBUG_SPECTRAL1, "%s: sc_spectral is NULL, HW may not be spectral capable\n", __func__); return; } SPECTRAL_LOCK(spectral); OS_MEMZERO(&spectral_params, sizeof (HAL_SPECTRAL_PARAM)); spectral_params.ss_count = 128; spectral_params.ss_short_report = sc->sc_spectral->params.ss_short_report; spectral_params.ss_period = sc->sc_spectral->params.ss_period; spectral_params.ss_fft_period = sc->sc_spectral->params.ss_period; ath_hal_configure_spectral(sc->sc_ah, &spectral_params); spectral_get_thresholds(sc, &sc->sc_spectral->params); spectral->send_single_packet = 0; spectral->spectral_sent_msg = 0; spectral->classify_scan = 1; spectral->detects_control_channel=0; spectral->detects_extension_channel=0; #ifdef SPECTRAL_CLASSIFIER_IN_KERNEL init_classifier(sc); classifier_initialize(&spectral->bd_lower, &spectral->bd_upper); #endif spectral->this_scan_phy_err = 0; spectral->num_spectral_data=0; spectral->eacs_this_scan_spectral_data=0; SPECTRAL_UNLOCK(spectral); ath_hal_start_spectral_scan(sc->sc_ah); }