Esempio n. 1
0
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;
  }
}
Esempio n. 2
0
/*
 * 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);
}
Esempio n. 3
0
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);
    }
}
Esempio n. 4
0
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()));
}
Esempio n. 5
0
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();
		}
	}