예제 #1
0
NetworkWidget::NetworkWidget(QWidget *parent, AbstractSerial *serial) :
    QWidget(parent),
    serial(serial),
    ui(new Ui::NetworkWidget)
{
    ui->setupUi(this);
    udpSocket = new QUdpSocket(this);
    connect(udpSocket, SIGNAL(readyRead()), this, SLOT(processPendingDatagrams()));

    if ( udpSocket->localAddress().isNull() ) {
        ui->lblIP_address->setText("0.0.0.0");
    } else {
        ui->lblIP_address->setText( udpSocket->localAddress().toString() );
    }

    QLineEdit *temp[] = { ui->PWM_01, ui->PWM_02, ui->PWM_03, ui->PWM_04, ui->PWM_05, ui->PWM_06, ui->PWM_07, ui->PWM_08, ui->PWM_09, ui->PWM_10, ui->PWM_11, ui->PWM_12 };
    for (unsigned char i=0; i<(sizeof(temp)/sizeof(temp[0])); i++)
        currentServoValue[i] = temp[i];

    // Zero out all the stats.
    stats_packets = stats_invalid = stats_queue_max = stats_discarded = stats_packets_old = stats_network_failures = 0;
    ui->lblStatus->setText(tr("Not Listening"));

    socketOpen = false;
    STATE = NOT_LISTENING;
    emptyQueue();

    ui->btnClearEmergencyStop->setDisabled(true);

    OutputTimer = new QTimer(this);
    NetworkTimer = new QTimer(this);
    connect(OutputTimer, SIGNAL(timeout()), this, SLOT(ouputServoData()));
    connect(NetworkTimer, SIGNAL(timeout()), this, SLOT(checkNetwork()));
}
예제 #2
0
void GM862::init() {
  delay(1000);
  getStatus();                    // identify if modem is turned on or not
  Serial.println("GM862 MC Control");
  // test to see if modem is on
  if(!isOn()){
    Serial.println("Turning on Modem ...");
    switchOn();                   // switch the modem on
    delay(4000);                        // wait for the modem to boot
  }
  Serial.println("initializing modem ...");
  char buf[BUF_LENGTH];
  requestModem("AT", 1000, true, buf);
  requestModem("AT+IPR=19200", 1000, true, buf);
  requestModem("AT+CMEE=2", 1000, true, buf);
  requestModem("AT+CNMI=2,1,2,1,0", 1000, true, buf);
  requestModem("AT+CMGF=1", 1000, true, buf);             // send text sms
  state |= STATE_INITIALIZED;
  checkNetwork();             // check the network availability
//  modem.version();                    // request modem version info
/*  while (!modem.isRegistered()) {
    delay(1000);
    modem.checkNetwork();             // check the network availability
  }*/
  Serial.println("Modem is ready");
}
예제 #3
0
void MessageProcessor::process(PacketType type, PacketType expected, void* data, int size) {
    if (type == expected) {
        const std::shared_ptr<Message> message(new Message);
        const bool parsed = message->ParseFromArray(data, size);
        checkNetwork(parsed);
        process(message);
    }
}
예제 #4
0
void ImageProcessing::timeout()
{
	qWarning() << __FUNCTION__;
	if (fm.isComplete()) {
		qWarning() << __FUNCTION__ << ": running network check from isComplete = true";
		checkNetwork();
	}
	else {
		showLocalImage();
	}
}
예제 #5
0
bool ImageProcessing::init()
{
	QSettings settings(QSettings::IniFormat, QSettings::UserScope, "Home", "PictureViewer");
	m_ImageTimeout = settings.value("ImageTimeout", 5000).toInt();
	m_NetTimeout = settings.value("NetworkTimeout", 60000).toInt();
    bTurnOff = settings.value("TurnOff", false).toBool();
    picXML.setUrl(settings.value("URL").toString());
    
    if (bTurnOff) {
        offTime = settings.value("OffTime", "17:00").toString();
        onTime = settings.value("OnTime", "7:00").toString();
    }

	lbImage->setGeometry(0, 0, width(), height());
	lbImage->setAlignment(Qt::AlignCenter);

	checkNetwork();

	if (!player->isAvailable()) {
		qWarning() << __FUNCTION__ << ": The QMediaPlayer object does not have a valid service. Check plugins.";
	}

	return true;
}