void usb2can::state ( eci::State state ) { switch (state) { case eci::ECI_STATE_Uninitilazed : ui->menuReceiver->setDisabled(true); ui->toolBarRcv->setDisabled(true); ui->actionDevClose->setDisabled(true); ui->actionDevOpen->setDisabled(true); if (modelLog->rowCount()!=0) modelLog->appendRow(new QStandardItem(QIcon::fromTheme("system-reboot"), tr("Device released"))); status_reset(); break; case eci::ECI_STATE_Initilazed : ui->menuReceiver->setDisabled(true); ui->toolBarRcv->setDisabled(true); //ui->actionDevOpen->setEnabled(true); ui->actionDevClose->setDisabled(true); modelLog->appendRow(new QStandardItem(QIcon::fromTheme("dialog-information"), tr("Device initilazed"))); break; case eci::ECI_STATE_Configured : break; case eci::ECI_STATE_Running : break; default: break; } }
/* * Print statistics. * * Triggered by SIGUSR2 or F2 on Windows. */ void print_status (const struct context *c, struct status_output *so) { struct gc_arena gc = gc_new (); status_reset (so); status_printf (so, PACKAGE_NAME " STATISTICS"); status_printf (so, "Updated,%s", time_string (0, 0, false, &gc)); status_printf (so, "TUN/TAP read bytes," counter_format, c->c2.tun_read_bytes); status_printf (so, "TUN/TAP write bytes," counter_format, c->c2.tun_write_bytes); status_printf (so, "TCP/UDP read bytes," counter_format, c->c2.link_read_bytes); status_printf (so, "TCP/UDP write bytes," counter_format, c->c2.link_write_bytes); status_printf (so, "Auth read bytes," counter_format, c->c2.link_read_bytes_auth); #ifdef USE_LZO if (lzo_defined (&c->c2.lzo_compwork)) lzo_print_stats (&c->c2.lzo_compwork, so); #endif #ifdef PACKET_TRUNCATION_CHECK status_printf (so, "TUN read truncations," counter_format, c->c2.n_trunc_tun_read); status_printf (so, "TUN write truncations," counter_format, c->c2.n_trunc_tun_write); status_printf (so, "Pre-encrypt truncations," counter_format, c->c2.n_trunc_pre_encrypt); status_printf (so, "Post-decrypt truncations," counter_format, c->c2.n_trunc_post_decrypt); #endif #ifdef WIN32 if (tuntap_defined (c->c1.tuntap)) status_printf (so, "TAP-WIN32 driver status,\"%s\"", tap_win32_getinfo (c->c1.tuntap, &gc)); #endif status_printf (so, "END"); status_flush (so); gc_free (&gc); }
void ifconfig_pool_write(struct ifconfig_pool_persist *persist, const struct ifconfig_pool *pool) { if (persist && persist->file && (status_rw_flags(persist->file) & STATUS_OUTPUT_WRITE) && pool) { status_reset(persist->file); ifconfig_pool_list(pool, persist->file); status_flush(persist->file); } }
usb2can::usb2can() : QMainWindow() , ui(new Ui::USB2CAN) , tdevice(new TDevice(this)) , modelLog(new QStandardItemModel(0, 1, this)) , modelStatus(new QStandardItemModel(0, 2, this)) , modelReceiver(new QStandardItemModel (0, 10, this)) , itemStatusDevice(new QStandardItem()) , itemDevSerial(new QStandardItem()) , itemDevSerialValue(new QStandardItem()) , itemDevHwVersion(new QStandardItem()) , itemDevHwVersionValue(new QStandardItem()) , itemDevBmVersion(new QStandardItem()) , itemDevBmVersionValue(new QStandardItem()) , itemDevFirmware(new QStandardItem()) , itemDevFirmwareValue(new QStandardItem()) , itemDevFwVersion(new QStandardItem()) , itemDevFwVersionValue(new QStandardItem()) , itemDevApiVersion(new QStandardItem()) , itemDevApiVersionValue(new QStandardItem()) , itemDevCtrlList(new QStandardItem()) , itemStatusBus(new QStandardItem()) , itemStatusAbbonentList(new QStandardItem()) { ui->setupUi(this); ui->listViewActionsLog->setModel(modelLog); ui->treeViewStatus->setModel(modelStatus); ui->treeViewReceiver->setModel(modelReceiver); ui->tableViewMsgDetail->hide(); itemStatusDevice->setEditable(false); itemStatusAbbonentList->setEditable(false); itemStatusBus->setEditable(false); modelStatus->appendRow(itemStatusDevice); QList<QStandardItem*> itemlist; itemlist.append(itemDevSerial); itemlist.append(itemDevSerialValue); itemStatusDevice->appendRow(itemlist); itemlist.clear(); itemlist.append(itemDevHwVersion); itemlist.append(itemDevHwVersionValue); itemStatusDevice->appendRow(itemlist); itemlist.clear(); itemlist.append(itemDevBmVersion); itemlist.append(itemDevBmVersionValue); itemStatusDevice->appendRow(itemlist); itemlist.clear(); itemlist.append(itemDevFirmware); itemlist.append(itemDevFirmwareValue); itemStatusDevice->appendRow(itemlist); itemlist.clear(); itemlist.append(itemDevFwVersion); itemlist.append(itemDevFwVersionValue); itemStatusDevice->appendRow(itemlist); itemlist.clear(); itemlist.append(itemDevApiVersion); itemlist.append(itemDevApiVersionValue); itemStatusDevice->appendRow(itemlist); itemlist.clear(); itemlist.append(itemDevCtrlList); itemStatusDevice->appendRow(itemlist); itemlist.clear(); itemDevSerial->setEditable(false); itemDevSerialValue->setEditable(false); itemDevHwVersion->setEditable(false); itemDevHwVersionValue->setEditable(false); itemDevBmVersion->setEditable(false); itemDevBmVersionValue->setEditable(false); itemDevFirmware->setEditable(false); itemDevFirmwareValue->setEditable(false); itemDevFwVersion->setEditable(false); itemDevFwVersionValue->setEditable(false); itemDevApiVersion->setEditable(false); itemDevApiVersionValue->setEditable(false); itemDevCtrlList->setEditable(false); modelStatus->appendRow(itemStatusBus); modelStatus->appendRow(itemStatusAbbonentList); modelStatus->setHeaderData(0, Qt::Horizontal, tr("Properties")); modelStatus->setHeaderData(1, Qt::Horizontal, tr("Value")); status_reset(); connect(ui->actionDevReset, SIGNAL(activated()), this, SLOT(dev_release())); }
void status_check(bool fix, int32_t curr_alt, float curr_press) { if (fix) { if (MOVING_AVG_EMPTY(&alt_delta)) { prev_alt = curr_alt; prev_press = curr_press; } int32_t delta_alt = curr_alt - prev_alt; prev_alt = curr_alt; float delta_press = curr_press - prev_press; prev_press = curr_press; MOVING_AVG_PUSH(&alt_delta, delta_alt); MOVING_AVG_PUSH(&press_delta, delta_press); if (!MOVING_AVG_FULL(&alt_delta)) { // Stay in the previuos state until we have a good // approximation of the ascent rate. return; } // In order to compute ascent rate, at low altitudes we use the // pressure sensor which is more accurate than the GPS. float rate; if (curr_alt >= ground_alt()) rate = MOVING_AVG_GET(&alt_delta, float) / STATUS_CHECK_INTERVAL; else // If pressure decreases of 1 mBar we have gained ~9 meters in height. rate = -9.0 * (MOVING_AVG_GET(&press_delta) / STATUS_CHECK_INTERVAL); //LOG_INFO("Ascent rate %.2f m/s\n", rate); if (vertical_dir(rate) == HOVERING && curr_alt < ground_alt()) { status_set(BSM2_GROUND_WAIT); } else if (vertical_dir(rate) == HOVERING && curr_alt >= ground_alt()) { status_set(BSM2_HOVERING); } else if (vertical_dir(rate) == UP && curr_alt < tropopause_alt()) { status_set(BSM2_TAKEOFF); } else if (vertical_dir(rate) == UP && curr_alt >= tropopause_alt()) { status_set(BSM2_STRATOPHERE_UP); } else if (vertical_dir(rate) == DOWN && curr_alt >= tropopause_alt()) { status_set(BSM2_STRATOPHERE_FALL); } else if (vertical_dir(rate) == DOWN && curr_alt < landing_alt()) { status_set(BSM2_LANDING); } else if (vertical_dir(rate) == DOWN && curr_alt < tropopause_alt()) { status_set(BSM2_FALLING); } else { // Should never fall here, unknown state ASSERT(0); status_reset(); } }