bool PHY_set_bitrate(uint8_t bitrate){ if(bitrate == PHY_STORAGE.bitrate) return true; if (set_bitrate(bitrate) == false) return false; bool holder = set_chanel_freq_rate (PHY_STORAGE.channel, PHY_STORAGE.band, bitrate); send_reload_radio(); return holder; }
void oggencWidget::quality_changed_by_slider(int quality) { float q = (float)((float)quality/10.0f); kdoublenuminput_quality->blockSignals(true); kdoublenuminput_quality->setValue(q); kdoublenuminput_quality->blockSignals(false); set_bitrate(q); }
void oggencWidget::quality_changed_by_spinbox(double quality) { int q = (int)((float)quality*10.0f); horizontalSlider_quality->blockSignals(true); horizontalSlider_quality->setValue(q); horizontalSlider_quality->blockSignals(false); set_bitrate(quality); }
void PHY_init(PHY_init_t params){ HW_init(); HW_disableConfig(); HW_disableData(); PHY_STORAGE.send_done = false; PHY_STORAGE.cca_noise_treshold = params.cca_noise_treshold; //---- configuring the RF link -------------------------------- for (uint8_t i = 0; i <= 31; i++) { //setup freq if((i << 1)== R1CNTREG ){ set_chanel_freq_rate (params.channel, params.band, params.bitrate); //jump over R1CNTREG, P1CNTREG, S1CNTREG i+=3; } if((i << 1)== TXPARAMREG ){ set_power(params.power); //jump over TXPARAMREG i+=1; } if((i << 1)== FDEVREG){ set_bitrate(params.bitrate); //jump over FDEVREG, BRREG i+=2; } if((i << 1)== FILCONREG){ // already done in previous call of set_bitrate(params.bitrate); i+=1; } set_register(i<<1, InitConfigRegs[i]); } for (uint8_t i = 0; i <= 31; i++) { uint8_t reg_val = get_register(i<<1); } send_reload_radio(); HW_clearIRQ0(); HW_enableIRQ0(); HW_clearIRQ1(); HW_enableIRQ1(); }
oggencWidget::oggencWidget(Parameters *parameters, QWidget *parent) : oggencWidgetUI(parent) { Q_UNUSED(parent); this->parameters = parameters; if (!parameters) { qDebug() << "ParameterString is NULL!"; return; } horizontalSlider_quality->setValue((int)(parameters->valueToFloat(ENCODER_OGGENC_QUALITY_KEY, ENCODER_OGGENC_QUALITY)*10)); kdoublenuminput_quality->setValue(parameters->valueToFloat(ENCODER_OGGENC_QUALITY_KEY, ENCODER_OGGENC_QUALITY)); set_bitrate(parameters->valueToInt(ENCODER_OGGENC_QUALITY_KEY, ENCODER_OGGENC_QUALITY)); enable_min_bitrate(parameters->valueToBool(ENCODER_OGGENC_MINBITRATE_KEY)); checkBox_minbitrate->setChecked(parameters->valueToBool(ENCODER_OGGENC_MINBITRATE_KEY)); kintspinbox_minbitrate->setValue(parameters->valueToInt(ENCODER_OGGENC_MINBITRATE_VALUE_KEY, ENCODER_OGGENC_MINBITRATE_VALUE)); set_minbitrate(parameters->valueToInt(ENCODER_OGGENC_MINBITRATE_VALUE_KEY, ENCODER_OGGENC_MINBITRATE_VALUE)); enable_max_bitrate(parameters->valueToBool(ENCODER_OGGENC_MAXBITRATE_KEY)); checkBox_maxbitrate->setChecked(parameters->valueToBool(ENCODER_OGGENC_MAXBITRATE_KEY)); kintspinbox_maxbitrate->setValue(parameters->valueToInt(ENCODER_OGGENC_MAXBITRATE_VALUE_KEY, ENCODER_OGGENC_MAXBITRATE_VALUE)); set_maxbitrate(parameters->valueToInt(ENCODER_OGGENC_MAXBITRATE_VALUE_KEY, ENCODER_OGGENC_MAXBITRATE_VALUE)); qlineedit_suffix->setText(parameters->value(ENCODER_OGGENC_SUFFIX_KEY, ENCODER_OGGENC_SUFFIX)); connect(horizontalSlider_quality, SIGNAL(valueChanged(int)), this, SLOT(quality_changed_by_slider(int))); connect(horizontalSlider_quality, SIGNAL(valueChanged(int)), this, SLOT(trigger_changed())); connect(kdoublenuminput_quality, SIGNAL(valueChanged(double)), this, SLOT(quality_changed_by_spinbox(double))); connect(kdoublenuminput_quality, SIGNAL(valueChanged(double)), this, SLOT(trigger_changed())); connect(checkBox_minbitrate, SIGNAL(toggled(bool)), this, SLOT(enable_min_bitrate(bool))); connect(checkBox_minbitrate, SIGNAL(toggled(bool)), this, SLOT(trigger_changed())); connect(checkBox_maxbitrate, SIGNAL(toggled(bool)), this, SLOT(enable_max_bitrate(bool))); connect(checkBox_maxbitrate, SIGNAL(toggled(bool)), this, SLOT(trigger_changed())); connect(kintspinbox_minbitrate, SIGNAL(valueChanged(int)), this, SLOT(trigger_changed())); connect(kintspinbox_minbitrate, SIGNAL(valueChanged(int)), this, SLOT(set_minbitrate(int))); connect(kintspinbox_maxbitrate, SIGNAL(valueChanged(int)), this, SLOT(trigger_changed())); connect(kintspinbox_maxbitrate, SIGNAL(valueChanged(int)), this, SLOT(set_maxbitrate(int))); connect(qlineedit_suffix, SIGNAL(textEdited(const QString&)), this, SLOT(trigger_changed())); changed = false; }
int set_up(void) { int ret; char line[40]; atexit(clean); #ifndef SIM if(( can_fd = open(device, /* O_RDONLY */ O_RDWR )) < 0 ) { fprintf(stderr,"Error opening CAN device %s\n", device); exit(1); } if(o_bitrate != 0) { sprintf(line, " %d\n", o_bitrate); set_bitrate(line); } #endif BDEBUG("message structure canmsg_t has %d bytes\n", sizeof(canmsg_t)); if(!o_server) { /* set terminal mode */ ret = system("stty cbreak -echo"); if(ret != 0) { fprintf(stderr, " system(stty) returns %d\n", ret); } } /* pe-set time structures */ gettimeofday(&tv_start, &tz); return 0; }
int main(int argc,char **argv) { int can_fd; char device[40]; int newbaud = 250; printf("usage: %s [dev] [bit_rate]\n", argv[0]); printf(" e.g.:\n"); printf(" ./baud /dev/can0 125\n"); printf(" sends out a message at /dev/can0 with 125Kbit/s\n"); printf(" which can be watched at the CAN cable using an scope\n\n"); sprintf(device, "%s", argv[1]); printf("using CAN device %s\n", device); if(( can_fd = open(device, O_RDWR )) < 0 ) { fprintf(stderr,"Error opening CAN device %s\n", device); exit(1); } if(argc == 3) { newbaud = atoi(argv[2]); } printf("set baudrate to %d Kbit/s\n", newbaud); set_bitrate(can_fd, newbaud); /* Use the new CAB nit rate to send one message * If no other CAN node is connected, we can see this mesage * using an oscilloscope and we can measure the bit rate */ { canmsg_t txmsg; int ret; txmsg.id = 0x55; txmsg.flags = 0; txmsg.length = 8; txmsg.data[0] = 0x55; txmsg.data[1] = 0x55; txmsg.data[2] = 0x55; txmsg.data[3] = 0x55; txmsg.data[4] = 0x55; txmsg.data[5] = 0x55; txmsg.data[6] = 0x55; txmsg.data[7] = 0x55; ret = write(can_fd, &txmsg, 1); if (ret == -1) { /* int e = errno; */ perror("write error"); /* } */ } else if (ret == 0) { printf("transmit timed out\n"); } else { } } sleep(30); close(can_fd); return 0; }