void print_help(char *prog, int status) { printf("Usage: %s [OPTION]...\n", prog); printf("Control PCI MAX FM transmitter devices.\n\n"); printf("Omitting optional arguments will print current value.\n"); #if PCIMAXFM_ENABLE_TX_TOGGLE printf("-t, --tx[=1|0] get/toggle transmitter power (1 = on, 0 = off)\n"); #endif /* PCIMAXFM_ENABLE_TX_TOGGLE */ printf("-f, --freq[=MHz|50KHz] get/set frequency in MHz (%.2f-%.2f)\n", FREQ(PCIMAXFM_FREQ_MIN), FREQ(PCIMAXFM_FREQ_MAX)); printf(" or 50 KHz steps (%d-%d)\n", PCIMAXFM_FREQ_MIN, PCIMAXFM_FREQ_MAX); printf("-p, --power[=LVL] get/set power level (%d-%d)\n", PCIMAXFM_POWER_MIN, PCIMAXFM_POWER_MAX); printf("-s, --stereo[=1|0] get/toggle stereo encoder (1 = on, 0 = off)\n"); #if PCIMAXFM_ENABLE_RDS #if PCIMAXFM_ENABLE_RDS_TOGGLE printf("-g, --rds-signal[=1|0] get/toggle RDS signal (1 = on, 0 = off)\n"); #endif /* PCIMAXFM_ENABLE_RDS_TOGGLE */ printf("-r, --rds=PARM=VAL[,...] set RDS parameters (see --help-rds)\n\n"); #endif /* PCIMAXFM_ENABLE_RDS */ printf("-d, --device[=FILE] pcimaxfm device (default: /dev/pcimaxfm0)\n"); printf("-v, --verbose verbose output\n"); printf("-q, --quiet no output\n"); printf("-e, --version print version and exit\n"); printf("-h, --help print this text and exit\n"); #if PCIMAXFM_ENABLE_RDS printf("-H, --help-rds print list of valid RDS parameters\n\n"); #else printf("\n"); #endif /* PCIMAXFM_ENABLE_RDS */ printf("Report bugs to <"PACKAGE_BUGREPORT">.\n"); exit(status); }
/* A function to compute the difference between the current and requested normalized frequency, used by the root bisector. */ static void FreqDiff( LALStatus *stat, REAL4 *y, REAL4 x, void *p ) { FreqDiffParamStruc *par; /* *p cast to its proper type */ REAL4 c0, c1, c2, c3, c4, c5; /* PN frequency coefficients */ BOOLEAN b0, b1, b2, b3, b4, b5; /* whether each order is nonzero */ REAL4 x2, x3, x4, x5; /* x^2, x^3, x^4, and x^5 */ INITSTATUS(stat); ASSERT( p, stat, 1, "Null pointer" ); /* Set constants used by FREQ() macro. */ par = (FreqDiffParamStruc *)( p ); c0 = par->c[0]; c1 = par->c[1]; c2 = par->c[2]; c3 = par->c[3]; c4 = par->c[4]; c5 = par->c[5]; b0 = par->b[0]; b1 = par->b[1]; b2 = par->b[2]; b3 = par->b[3]; b4 = par->b[4]; b5 = par->b[5]; /* Evaluate frequency and compare with reference. */ FREQ( *y, x ); *y -= par->y0; RETURN( stat ); }
int main (int argc, char** argvs) { //Check number of arguments if(argc != 2){ printf("Expected 1 argument to commandline.\n"); exit(-1); } //Read in AST char* filename = argvs[1]; ScopeStmt* stmt = read_ast(filename); //Compile to bytecode Program* program = compile(stmt); //Read in bytecode //Program* program = load_bytecode(argvs[1]); //Interpret bytecode #ifdef DEBUG TIME_T t1, t2; FREQ_T freq; FREQ(freq); TIME(t1); #endif interpret_bc(program); #ifdef DEBUG TIME(t2); double interp_time = ELASPED_TIME(t1, t2, freq); fprintf(stderr, "Interpret Time: %.4lf ms.\n", interp_time); #endif }
void freq(const char *arg) { int freq; double ffreq; dev_open(); if (arg) { if (sscanf(arg, "%lf", &ffreq) < 1) { ERROR_MSG("Invalid frequency. Got \"%s\", expected floating point number in the range of %.2f-%.2f or integer in the range of %d-%d.", arg, FREQ(PCIMAXFM_FREQ_MIN), FREQ(PCIMAXFM_FREQ_MAX), PCIMAXFM_FREQ_MIN, PCIMAXFM_FREQ_MAX); } freq = (int)ffreq; if (freq < PCIMAXFM_FREQ_MIN) { freq = (int)(ffreq * 20.0f); } if (freq < PCIMAXFM_FREQ_MIN || freq > PCIMAXFM_FREQ_MAX) { ERROR_MSG("Frequency out of range. Got %.2f, expected %.2f-%.2f or %d-%d.", ffreq, FREQ(PCIMAXFM_FREQ_MIN), FREQ(PCIMAXFM_FREQ_MAX), PCIMAXFM_FREQ_MIN, PCIMAXFM_FREQ_MAX); } if (ioctl(fd, PCIMAXFM_FREQ_SET, &freq) == -1) { ERROR_MSG("Setting frequency failed."); } } else { if (ioctl(fd, PCIMAXFM_FREQ_GET, &freq) == -1) { ERROR_MSG("Reading frequency failed."); } if (freq == PCIMAXFM_FREQ_NA) { NOTICE_MSG("Frequency not set yet."); return; } } NOTICE_MSG("Frequency: %.2f MHz (%d 50 KHz steps)", FREQ(freq), freq); }
/** * @brief 底盘运动控制 * @param None * @retval None */ void ChassisMovingController() { static u8 sample_idx = 0; static u16 stop_cnt; static bool is_protect = false; static CDistanceValue present_posture = {0,0}; static CSpeedVW present_vw = {0,0}; static CSpeedVW target_vw = {0,0}; static NaviPack_StatusType* status = &NavipackComm.status; SpeedSampling(sample_idx); sample_idx ^= 0x01; present_vw = GlobalParams.presentVW; // 车当前位姿更新 CarLocationUpdate(&present_posture, &present_vw, 1000000/MOTION_PREQ); // 通讯反馈 if(Navipack_LockReg(REG_ID_STATUS)) { status->angularPos = DEGREE_TO_RADIAN(present_posture.theta); status->leftEncoderPos = MotorParams[0].acccumulated_distance; status->rightEncoderPos = MotorParams[1].acccumulated_distance; status->lineVelocity = present_vw.sV; status->angularVelocity = DEGREE_TO_RADIAN(present_vw.sW); Navipack_UnlockReg(REG_ID_STATUS); } if(FREQ(stop_cnt, 500)) { stop_cnt = 0; is_protect = DropAndCollisionSensorHandler(&target_vw, 500); // 碰撞及跌落传感器触发刹车策略 } if(!is_protect) { if(VW_Update) { VW_Update = 0; target_vw = TargetSpeed; } } if(MotionCheckErr()) { target_vw.sV = 0; target_vw.sW = 0; } SpeedLoop_SetTargetSpeed(&target_vw); }
int main(void) { AUDIOINFO info; LPAUDIOWAVE lpWave; HAC hVoice[NUMVOICES]; BOOL stopped; UINT n, m; /* initialize audio library */ AInitialize(); /* open audio device */ info.nDeviceId = AUDIO_DEVICE_MAPPER; info.wFormat = AUDIO_FORMAT_16BITS | AUDIO_FORMAT_STEREO; info.nSampleRate = 44100; AOpenAudio(&info); /* load waveform file */ ALoadWaveFile("test.wav", &lpWave, 0); /* open and allocate voices */ AOpenVoices(NUMVOICES); for (n = 0; n < NUMVOICES; n++) { ACreateAudioVoice(&hVoice[n]); ASetVoiceVolume(hVoice[n], 64); ASetVoicePanning(hVoice[n], n & 1 ? 0 : 255); } /* program main execution loop */ printf("Playing waveform, press any key to stop.\n"); for (n = m = 0; !kbhit() && n < 48 - 7; n++) { /* play chord C-E-G */ APlayVoice(hVoice[m+0], lpWave); APlayVoice(hVoice[m+1], lpWave); APlayVoice(hVoice[m+2], lpWave); ASetVoiceFrequency(hVoice[m+0], FREQ(aPeriodTable[n+0])); ASetVoiceFrequency(hVoice[m+1], FREQ(aPeriodTable[n+4])); ASetVoiceFrequency(hVoice[m+2], FREQ(aPeriodTable[n+7])); m = (m + 3) % NUMVOICES; /* wait until note finishes */ do { /* update audio system */ AUpdateAudio(); AGetVoiceStatus(hVoice[0], &stopped); } while (!stopped); } /* stop and release voices */ for (n = 0; n < NUMVOICES; n++) { AStopVoice(hVoice[n]); ADestroyAudioVoice(hVoice[n]); } ACloseVoices(); /* release the waveform file */ AFreeWaveFile(lpWave); /* close audio device */ ACloseAudio(); return 0; }
static void init_freq_tables(freq_table_map_t &fmap) { // United Kingdom fmap["dvbt_ofdm_gb0"] = new FrequencyTable( 474000000, 850000000, 8000000, "Channel %1", 21, DTVInversion::kInversionOff, DTVBandwidth::kBandwidth8MHz, DTVCodeRate::kFECAuto, DTVCodeRate::kFECAuto, DTVModulation::kModulationQAMAuto, DTVTransmitMode::kTransmissionModeAuto, DTVGuardInterval::kGuardInterval_1_32, DTVHierarchy::kHierarchyNone, DTVModulation::kModulationQAMAuto, 166670, -166670); // Finland fmap["dvbt_ofdm_fi0"] = new FrequencyTable( 474000000, 850000000, 8000000, "Channel %1", 21, DTVInversion::kInversionOff, DTVBandwidth::kBandwidth8MHz, DTVCodeRate::kFECAuto, DTVCodeRate::kFECAuto, DTVModulation::kModulationQAM64, DTVTransmitMode::kTransmissionModeAuto, DTVGuardInterval::kGuardIntervalAuto, DTVHierarchy::kHierarchyNone, DTVModulation::kModulationQAMAuto, 0, 0); // Sweden fmap["dvbt_ofdm_se0"] = new FrequencyTable( 474000000, 850000000, 8000000, "Channel %1", 21, DTVInversion::kInversionOff, DTVBandwidth::kBandwidth8MHz, DTVCodeRate::kFECAuto, DTVCodeRate::kFECAuto, DTVModulation::kModulationQAM64, DTVTransmitMode::kTransmissionModeAuto, DTVGuardInterval::kGuardIntervalAuto, DTVHierarchy::kHierarchyNone, DTVModulation::kModulationQAMAuto, 0, 0); // Australia fmap["dvbt_ofdm_au0"] = new FrequencyTable( 177500000, 226500000, 7000000, "Channel %1", 5, DTVInversion::kInversionOff, DTVBandwidth::kBandwidth7MHz, DTVCodeRate::kFECAuto, DTVCodeRate::kFECAuto, DTVModulation::kModulationQAM64, DTVTransmitMode::kTransmissionMode8K, DTVGuardInterval::kGuardIntervalAuto, DTVHierarchy::kHierarchyNone, DTVModulation::kModulationQAMAuto, 125000, 0); // VHF 5-12 fmap["dvbt_ofdm_au1"] = new FrequencyTable( 529500000, 816500000, 7000000, "Channel %1", 28, DTVInversion::kInversionOff, DTVBandwidth::kBandwidth7MHz, DTVCodeRate::kFECAuto, DTVCodeRate::kFECAuto, DTVModulation::kModulationQAM64, DTVTransmitMode::kTransmissionMode8K, DTVGuardInterval::kGuardIntervalAuto, DTVHierarchy::kHierarchyNone, DTVModulation::kModulationQAMAuto, 125000, 0); // UHF 28-69 // Germany (Deuschland) fmap["dvbt_ofdm_de0"] = new FrequencyTable( 177500000, 226500000, 7000000, "Channel %1", 5, DTVInversion::kInversionOff, DTVBandwidth::kBandwidth7MHz, DTVCodeRate::kFECAuto, DTVCodeRate::kFECAuto, DTVModulation::kModulationQAMAuto, DTVTransmitMode::kTransmissionMode8K, DTVGuardInterval::kGuardIntervalAuto, DTVHierarchy::kHierarchyNone, DTVModulation::kModulationQAMAuto, 0, 0); // VHF 5-12, deprecated fmap["dvbt_ofdm_de1"] = new FrequencyTable( 474000000, 826000000, 8000000, "Channel %1", 21, DTVInversion::kInversionOff, DTVBandwidth::kBandwidth8MHz, DTVCodeRate::kFECAuto, DTVCodeRate::kFECAuto, DTVModulation::kModulationQAMAuto, DTVTransmitMode::kTransmissionModeAuto, DTVGuardInterval::kGuardIntervalAuto, DTVHierarchy::kHierarchyNone, DTVModulation::kModulationQAMAuto, 0, 0); // UHF 21-65 // Israel fmap["dvbt_ofdm_il0"] = new FrequencyTable( 514000000, 514000000+1, 8000000, "Channel %1", 26, DTVInversion::kInversionOff, DTVBandwidth::kBandwidth8MHz, DTVCodeRate::kFECAuto, DTVCodeRate::kFECAuto, DTVModulation::kModulationQAMAuto, DTVTransmitMode::kTransmissionMode8K, DTVGuardInterval::kGuardIntervalAuto, DTVHierarchy::kHierarchyNone, DTVModulation::kModulationQAMAuto, 0, 0); // UHF 26 - central Israel fmap["dvbt_ofdm_il1"] = new FrequencyTable( 538000000, 538000000+1, 8000000, "Channel %1", 29, DTVInversion::kInversionOff, DTVBandwidth::kBandwidth8MHz, DTVCodeRate::kFECAuto, DTVCodeRate::kFECAuto, DTVModulation::kModulationQAMAuto, DTVTransmitMode::kTransmissionModeAuto, DTVGuardInterval::kGuardIntervalAuto, DTVHierarchy::kHierarchyNone, DTVModulation::kModulationQAMAuto, 0, 0); // UHF 29 - North and Eilat area // Italy (Italia) fmap["dvbt_ofdm_it0"] = new FrequencyTable( 177500000, 226500000, 7000000, "Channel %1", 5, DTVInversion::kInversionOff, DTVBandwidth::kBandwidth7MHz, DTVCodeRate::kFECAuto, DTVCodeRate::kFECAuto, DTVModulation::kModulationQAMAuto, DTVTransmitMode::kTransmissionMode8K, DTVGuardInterval::kGuardIntervalAuto, DTVHierarchy::kHierarchyNone, DTVModulation::kModulationQAMAuto, 0, 0); // VHF 5-12, deprecated fmap["dvbt_ofdm_it1"] = new FrequencyTable( 474000000, 858000000, 8000000, "Channel %1", 21, DTVInversion::kInversionOff, DTVBandwidth::kBandwidth8MHz, DTVCodeRate::kFECAuto, DTVCodeRate::kFECAuto, DTVModulation::kModulationQAMAuto, DTVTransmitMode::kTransmissionModeAuto, DTVGuardInterval::kGuardIntervalAuto, DTVHierarchy::kHierarchyNone, DTVModulation::kModulationQAMAuto, 0, 0); // UHF 21-65 // Czech Republic fmap["dvbt_ofdm_cz0"] = new FrequencyTable( 474000000, 858000000, 8000000, "Channel %1", 21, DTVInversion::kInversionOff, DTVBandwidth::kBandwidth8MHz, DTVCodeRate::kFEC_2_3, DTVCodeRate::kFEC_2_3, DTVModulation::kModulationQAM64, DTVTransmitMode::kTransmissionMode8K, DTVGuardInterval::kGuardIntervalAuto, DTVHierarchy::kHierarchyNone, DTVModulation::kModulationQAM64, 0, 0); // UHF 21-69 // Greece (Hellas) fmap["dvbt_ofdm_gr0"] = new FrequencyTable( 174000000, 230000000, 7000000, "Channel %1", 5, DTVInversion::kInversionAuto, DTVBandwidth::kBandwidth7MHz, DTVCodeRate::kFECAuto, DTVCodeRate::kFECAuto, DTVModulation::kModulationQAMAuto, DTVTransmitMode::kTransmissionModeAuto, DTVGuardInterval::kGuardIntervalAuto, DTVHierarchy::kHierarchyAuto, DTVModulation::kModulationQAMAuto, 0, 0); // VHF 5-12, deprecated fmap["dvbt_ofdm_gr1"] = new FrequencyTable( 474000000, 866000000, 8000000, "Channel %1", 21, DTVInversion::kInversionAuto, DTVBandwidth::kBandwidth8MHz, DTVCodeRate::kFECAuto, DTVCodeRate::kFECAuto, DTVModulation::kModulationQAMAuto, DTVTransmitMode::kTransmissionModeAuto, DTVGuardInterval::kGuardIntervalAuto, DTVHierarchy::kHierarchyNone, DTVModulation::kModulationQAMAuto, 0, 0); // UHF 21-65 // Spain fmap["dvbt_ofdm_es0"] = new FrequencyTable( 474000000, 858000000, 8000000, "Channel %1", 21, DTVInversion::kInversionOff, DTVBandwidth::kBandwidth8MHz, DTVCodeRate::kFECAuto, DTVCodeRate::kFECAuto, DTVModulation::kModulationQAMAuto, DTVTransmitMode::kTransmissionModeAuto, DTVGuardInterval::kGuardIntervalAuto, DTVHierarchy::kHierarchyNone, DTVModulation::kModulationQAMAuto, 125000, 0); // UHF 21-69 // New Zealand fmap["dvbt_ofdm_nz0"] = new FrequencyTable( 474000000, 858000000, 8000000, "Channel %1", 21, DTVInversion::kInversionOff, DTVBandwidth::kBandwidth8MHz, DTVCodeRate::kFEC_3_4, DTVCodeRate::kFEC_3_4, DTVModulation::kModulationQAM64, DTVTransmitMode::kTransmissionMode8K, DTVGuardInterval::kGuardInterval_1_16, DTVHierarchy::kHierarchyNone, DTVModulation::kModulationQAM64, 0 , 0); // UHF 21-69 // france fmap["dvbt_ofdm_fr0"] = new FrequencyTable( 474000000, 850000000, 8000000, "Channel %1", 21, DTVInversion::kInversionOff, DTVBandwidth::kBandwidth8MHz, DTVCodeRate::kFECAuto, DTVCodeRate::kFECAuto, DTVModulation::kModulationQAMAuto, DTVTransmitMode::kTransmissionMode8K, DTVGuardInterval::kGuardIntervalAuto, DTVHierarchy::kHierarchyNone, DTVModulation::kModulationQAMAuto, 167000, -166000); // Denmark fmap["dvbt_ofdm_dk0"] = new FrequencyTable( 474000000, 858000000, 8000000, "Channel %1", 21, DTVInversion::kInversionOff, DTVBandwidth::kBandwidth8MHz, DTVCodeRate::kFEC_2_3, DTVCodeRate::kFECNone, DTVModulation::kModulationQAM64, DTVTransmitMode::kTransmissionMode8K, DTVGuardInterval::kGuardInterval_1_4, DTVHierarchy::kHierarchyNone, DTVModulation::kModulationQAM64, 0, 0); // Chile (ISDB-Tb) fmap["dvbt_ofdm_cl0"] = new FrequencyTable( 473000000, 803000000, 6000000, "Channel %1", 14, DTVInversion::kInversionAuto, DTVBandwidth::kBandwidthAuto, DTVCodeRate::kFEC_3_4, DTVCodeRate::kFECAuto, DTVModulation::kModulationQAMAuto, DTVTransmitMode::kTransmissionModeAuto, DTVGuardInterval::kGuardIntervalAuto, DTVHierarchy::kHierarchyNone, DTVModulation::kModulationQAMAuto, 143000, 0); // DVB-C Germany fmap["dvbc_qam_de0"] = new FrequencyTable( 73000000, 73000000, 8000000, "Channel D%1", 73, DTVCodeRate::kFECAuto, DTVModulation::kModulationQAMAuto, 6900000, 0, 0); fmap["dvbc_qam_de1"] = new FrequencyTable( 81000000, 81000000, 8000000, "Channel D%1", 81, DTVCodeRate::kFECAuto, DTVModulation::kModulationQAMAuto, 6900000, 0, 0); fmap["dvbc_qam_de2"] = new FrequencyTable( 113000000, 121000000, 8000000, "Channel S0%1", 2, DTVCodeRate::kFECAuto, DTVModulation::kModulationQAMAuto, 6900000, 0, 0); fmap["dvbc_qam_de3"] = new FrequencyTable( 306000000, 466000000, 8000000, "Channel S%1", 21, DTVCodeRate::kFECAuto, DTVModulation::kModulationQAMAuto, 6900000, 0, 0); fmap["dvbc_qam_de4"] = new FrequencyTable( 474000000, 858000000, 8000000, "Channel %1", 21, DTVCodeRate::kFECAuto, DTVModulation::kModulationQAMAuto, 6900000, 0, 0); fmap["dvbc_qam_gb0"] = new FrequencyTable( 12324000, 12324000+1, 10, "Channel %1", 1, DTVCodeRate::kFEC_3_4, DTVModulation::kModulationQAMAuto, 29500000, 0, 0); fmap["dvbc_qam_gb1"] = new FrequencyTable( 459000000, 459000000+1, 10, "Channel %1", 2, DTVCodeRate::kFEC_3_4, DTVModulation::kModulationQAM64, 6952000, 0, 0); fmap["dvbc_qam_bf0"] = new FrequencyTable( 203000000, 795000000, 100000, "BF Channel %1", 1, DTVCodeRate::kFECAuto, DTVModulation::kModulationQAMAuto, 6900000, 0, 0); fmap["dvbc_qam_bf1"] = new FrequencyTable( 194750000, 794750000, 100000, "BF Channel %1", 1 + (795000-203000) / 100, DTVCodeRate::kFECAuto, DTVModulation::kModulationQAMAuto, 6900000, 0, 0); //#define DEBUG_DVB_OFFSETS #ifdef DEBUG_DVB_OFFSETS // UHF 14-69 fmap["atsc_vsb8_us0"] = new FrequencyTable( 533000000, 803000000, 6000000, "xATSC Channel %1", 24, DTVInversion::kInversionOff, DTVBandwidth::kBandwidth7MHz, DTVCodeRate::kFECAuto, DTVCodeRate::kFECAuto, DTVModulation::kModulationQAMAuto, DTVTransmitMode::kTransmissionMode8K, DTVGuardInterval::kGuardIntervalAuto, DTVHierarchy::kHierarchyNone, DTVModulation::kModulation8VSB, -100000, 100000); #else // if !DEBUG_DVB_OFFSETS // USA Terrestrial (center frequency, subtract 1.75 MHz for visual carrier) // VHF 2-4 fmap["atsc_vsb8_us0"] = new FrequencyTable( "ATSC Channel %1", 2, 57000000, 69000000, 6000000, DTVModulation::kModulation8VSB); // VHF 5-6 fmap["atsc_vsb8_us1"] = new FrequencyTable( "ATSC Channel %1", 5, 79000000, 85000000, 6000000, DTVModulation::kModulation8VSB); // VHF 7-13 fmap["atsc_vsb8_us2"] = new FrequencyTable( "ATSC Channel %1", 7, 177000000, 213000000, 6000000, DTVModulation::kModulation8VSB); // UHF 14-69 fmap["atsc_vsb8_us3"] = new FrequencyTable( "ATSC Channel %1", 14, 473000000, 803000000, 6000000, DTVModulation::kModulation8VSB); #endif // !DEBUG_DVB_OFFSETS QString modStr[] = { "vsb8", "qam256", "qam128", "qam64", }; uint mod[] = { DTVModulation::kModulation8VSB, DTVModulation::kModulationQAM256, DTVModulation::kModulationQAM128, DTVModulation::kModulationQAM64, }; QString desc[] = { "ATSC ", "QAM-256 ", "QAM-128 ", "QAM-64 ", }; #define FREQ(A,B, C,D, E,F,G, H, I) \ fmap[QString("atsc_%1_us%2").arg(A).arg(B)] = \ new FrequencyTable(C+D, E, F, G, H, I); // The maximum channel defined in the US frequency tables (standard, HRC, IRC) #define US_MAX_CHAN 159 // Equation for computing EIA-542 frequency of channels > 99 // A = bandwidth, B = offset, C = channel designation (number) #define EIA_542_FREQUENCY(A,B,C) ( ( A * ( 8 + C ) ) + B ) for (uint i = 0; i < 4; i++) { // USA Cable, ch 2 to US_MAX_CHAN and T.7 to T.14 FREQ(modStr[i], "cable0", desc[i], "Channel %1", 2, 57000000, 69000000, 6000000, mod[i]); // 2-4 FREQ(modStr[i], "cable1", desc[i], "Channel %1", 5, 79000000, 85000000, 6000000, mod[i]); // 5-6 FREQ(modStr[i], "cable2", desc[i], "Channel %1", 7, 177000000, 213000000, 6000000, mod[i]); // 7-13 FREQ(modStr[i], "cable3", desc[i], "Channel %1", 14, 123000000, 171000000, 6000000, mod[i]); // 14-22 FREQ(modStr[i], "cable4", desc[i], "Channel %1", 23, 219000000, 645000000, 6000000, mod[i]); // 23-94 FREQ(modStr[i], "cable5", desc[i], "Channel %1", 95, 93000000, 117000000, 6000000, mod[i]); // 95-99 // The center frequency of any EIA-542 std cable channel over 99 is // Frequency_MHz = ( 6 * ( 8 + channel_designation ) ) + 3 FREQ(modStr[i], "cable6", desc[i], "Channel %1", 100, 651000000, EIA_542_FREQUENCY(6000000, 3000000, US_MAX_CHAN), 6000000, mod[i]); // 100-US_MAX_CHAN FREQ(modStr[i], "cable7", desc[i], "Channel T-%1", 7, 8750000, 50750000, 6000000, mod[i]); // T7-14 // USA Cable, QAM 256 ch 78 to US_MAX_CHAN FREQ(modStr[i], "cablehigh0", desc[i], "Channel %1", 78, 549000000, 645000000, 6000000, mod[i]); // 78-94 FREQ(modStr[i], "cablehigh1", desc[i], "Channel %1", 100, 651000000, EIA_542_FREQUENCY(6000000, 3000000, US_MAX_CHAN), 6000000, mod[i]); // 100-US_MAX_CHAN // USA Cable HRC, ch 1 to US_MAX_CHAN FREQ(modStr[i], "hrc0", desc[i], "HRC %1", 1, 73753600, 73753601, 6000300, mod[i]); // 1 FREQ(modStr[i], "hrc1", desc[i], "HRC %1", 2, 55752700, 67753300, 6000300, mod[i]); // 2-4 FREQ(modStr[i], "hrc2", desc[i], "HRC %1", 5, 79753900, 85754200, 6000300, mod[i]); // 5-6 FREQ(modStr[i], "hrc3", desc[i], "HRC %1", 7, 175758700, 211760500, 6000300, mod[i]); // 7-13 FREQ(modStr[i], "hrc4", desc[i], "HRC %1", 14, 121756000, 169758400, 6000300, mod[i]); // 14-22 FREQ(modStr[i], "hrc5", desc[i], "HRC %1", 23, 217760800, 643782100, 6000300, mod[i]); // 23-94 FREQ(modStr[i], "hrc6", desc[i], "HRC %1", 95, 91754500, 115755700, 6000300, mod[i]); // 95-99 // The center frequency of any EIA-542 HRC cable channel over 99 is // Frequency_MHz = ( 6.0003 * ( 8 + channel_designation ) ) + 1.75 FREQ(modStr[i], "hrc7", desc[i], "HRC %1", 100, 649782400, EIA_542_FREQUENCY(6000300, 1750000, US_MAX_CHAN), 6000300, mod[i]); // 100-US_MAX_CHAN // USA Cable HRC, ch 76-94 and 100-US_MAX_CHAN // Channels 95-99 are low frequency despite high channel numbers FREQ(modStr[i], "hrchigh0", desc[i], "HRC %1", 76, 535776700, 643782100, 6000300, mod[i]); // 76-94 FREQ(modStr[i], "hrchigh1", desc[i], "HRC %1", 100, 649782400, EIA_542_FREQUENCY(6000300, 1750000, US_MAX_CHAN), 6000300, mod[i]); // 100-US_MAX_CHAN // USA Cable IRC, ch 1 to US_MAX_CHAN FREQ(modStr[i], "irc0", desc[i], "IRC %1", 1, 75012500, 75012501, 6000000, mod[i]); // 1 FREQ(modStr[i], "irc1", desc[i], "IRC %1", 2, 57012500, 69012500, 6000000, mod[i]); // 2-4 FREQ(modStr[i], "irc2", desc[i], "IRC %1", 5, 81012500, 87012500, 6000000, mod[i]); // 5-6 FREQ(modStr[i], "irc3", desc[i], "IRC %1", 7, 177012500, 213012500, 6000000, mod[i]); // 7-13 FREQ(modStr[i], "irc4", desc[i], "IRC %1", 14, 123012500, 171012500, 6000000, mod[i]); // 14-22 FREQ(modStr[i], "irc5", desc[i], "IRC %1", 23, 219012500, 327012500, 6000000, mod[i]); // 23-41 FREQ(modStr[i], "irc6", desc[i], "IRC %1", 42, 333025000, 333025001, 6000000, mod[i]); // 42 FREQ(modStr[i], "irc7", desc[i], "IRC %1", 43, 339012500, 645012500, 6000000, mod[i]); // 43-94 FREQ(modStr[i], "irc8", desc[i], "IRC %1", 95, 93012500, 105012500, 6000000, mod[i]); // 95-97 FREQ(modStr[i], "irc9", desc[i], "IRC %1", 98, 111025000, 117025000, 6000000, mod[i]); // 98-99 // The center frequency of any EIA-542 IRC cable channel over 99 is // Frequency_MHz = ( 6 * ( 8 + channel_designation ) ) + 3.0125 FREQ(modStr[i], "irc10", desc[i], "IRC %1", 100, 651012500, EIA_542_FREQUENCY(6000000, 3012500, US_MAX_CHAN), 6000000, mod[i]); // 100-US_MAX_CHAN // USA Cable IRC, ch 76-94 and 100-125 // Channels 95-99 are low frequency despite high channel numbers FREQ(modStr[i], "irchigh0", desc[i], "IRC %1", 76, 537012500, 645012500, 6000000, mod[i]); // 76-94 FREQ(modStr[i], "irchigh1", desc[i], "IRC %1", 100, 651012500, EIA_542_FREQUENCY(6000000, 3012500, US_MAX_CHAN), 6000000, mod[i]); // 100-US_MAX_CHAN } // create old school frequency tables... for (struct CHANLISTS *ptr = chanlists; ptr->name ; ptr++) { QString tbl_name = ptr->name; for (uint i = 0; i < (uint)ptr->count; i++) { uint64_t freq = (ptr->list[i].freq * 1000LL) + 1750000; fmap[QString("analog_analog_%1%2").arg(tbl_name).arg(i)] = new FrequencyTable( QString("%1 %2").arg(tbl_name).arg(ptr->list[i].name), i+2, freq, freq + 3000000, 6000000, DTVModulation::kModulationAnalog); } } }
static void buzzer_start(uint16_t freq) { gptStart(&BUZZER_GPT, &gpt_cfg); gptStartContinuous(&BUZZER_GPT, FREQ(freq)); }
#include "sound_defs.h" //---------------------------------------------// // Tone arrays // frequency | duration const tone_t _beep_1000Hz_10ms[] = { { FREQ(1000), LAST(10) }, {0, 0} }; const tone_t _beep_800Hz_10ms[] = { { FREQ(800), LAST(10) }, {0, 0} }; const tone_t _beep_600Hz_10ms[] = { { FREQ(600), LAST(10) }, {0, 0} }; const tone_t _silence_10ms[] = { { 0, LAST(50) }, {0, 0} };