Beispiel #1
0
int init_ais_decoder(char * host, char * port ,int show_levels,int _debug_nmea,int buf_len,int time_print_stats, int use_tcp_listener, int tcp_keep_ais_time){
	debug_nmea=_debug_nmea;
	use_tcp = use_tcp_listener;
	pthread_mutex_init(&message_mutex, NULL);
	if(debug_nmea)
		fprintf(stderr,"Log NMEA sentences to console ON\n");
	else
		fprintf(stderr,"Log NMEA sentences to console OFF\n");
	if( !use_tcp_listener) {
		if (host && port && !initSocket(host, port)) {
			return EXIT_FAILURE;
		}
	}
	else {
		if (!initTcpSocket(port, debug_nmea, tcp_keep_ais_time)) {
			return EXIT_FAILURE;
		}
	}
    if (show_levels) on_sound_level_changed=sound_level_changed;
    on_nmea_sentence_received=nmea_sentence_received;
	initSoundDecoder(buf_len,time_print_stats); 
	return 0;
}	
Beispiel #2
0
MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);
    this->setFixedSize(600, 200);
    this->setStatusBar(NULL);

    lcdCtrl = new LcdControl;

    /* 各ボタン生成 */
    btnUp = new QRightClickButton(this);
    btnUp->setGeometry( 75,  20, 50, 40);
    btnUp->setText("U");
    btnDown = new QRightClickButton(this);
    btnDown->setGeometry( 75, 100, 50, 40);
    btnDown->setText("D");
    btnLeft = new QRightClickButton(this);
    btnLeft->setGeometry( 20,  60, 50, 40);
    btnLeft->setText("L");
    btnRight = new QRightClickButton(this);
    btnRight->setGeometry(130,  60, 50, 40);
    btnRight->setText("R");

    btnBack = new QRightClickButton(this);
    btnBack->setGeometry( 20, 120, 50, 40);
    btnBack->setText("BACK");
    btnEnter = new QRightClickButton(this);
    btnEnter->setGeometry(130, 120, 50, 40);
    btnEnter->setText("ENT");

    /* ラベル生成 */
    label = new QLabel(this);
    label->setText("R button -> toggle mode on/off");
    label->setGeometry(18, 170, 260, 18);

    labelUp = new QLabel(this);
    labelUp->setText("");
    labelUp->setGeometry(200, 120, 60, 18);
    labelDown = new QLabel(this);
    labelDown->setText("");
    labelDown->setGeometry(260, 120, 60, 18);
    labelLeft = new QLabel(this);
    labelLeft->setText("");
    labelLeft->setGeometry(320, 120, 60, 18);
    labelRight = new QLabel(this);
    labelRight->setText("");
    labelRight->setGeometry(380, 120, 60, 18);
    labelBack = new QLabel(this);
    labelBack->setText("");
    labelBack->setGeometry(200, 140, 60, 18);
    labelEnter = new QLabel(this);
    labelEnter->setText("");
    labelEnter->setGeometry(260, 140, 60, 18);

    /* タイマ生成 */
//    timer = new QTimer(this);
//    timerSample = new QTimer(this);

    stateBtnUp_Pushed     = false;
    stateBtnUp_Toggled    = false;
    stateBtnDown_Pushed   = false;
    stateBtnDown_Toggled  = false;
    stateBtnLeft_Pushed   = false;
    stateBtnLeft_Toggled  = false;
    stateBtnRight_Pushed  = false;
    stateBtnRight_Toggled = false;
    stateBtnBack_Pushed   = false;
    stateBtnBack_Toggled  = false;
    stateBtnEnter_Pushed  = false;
    stateBtnEnter_Toggled = false;

    /* シグナル/スロット登録 */
    connect(btnUp,    SIGNAL(pressed()),      this, SLOT(pressedBtnUp()));
    connect(btnUp,    SIGNAL(released()),     this, SLOT(releasedBtnUp()));
    connect(btnUp,    SIGNAL(rightClicked()), this, SLOT(rightClickedBtnUp()));
    connect(btnDown,  SIGNAL(pressed()),      this, SLOT(pressedBtnDown()));
    connect(btnDown,  SIGNAL(released()),     this, SLOT(releasedBtnDown()));
    connect(btnDown,  SIGNAL(rightClicked()), this, SLOT(rightClickedBtnDown()));
    connect(btnLeft,  SIGNAL(pressed()),      this, SLOT(pressedBtnLeft()));
    connect(btnLeft,  SIGNAL(released()),     this, SLOT(releasedBtnLeft()));
    connect(btnLeft,  SIGNAL(rightClicked()), this, SLOT(rightClickedBtnLeft()));
    connect(btnRight, SIGNAL(pressed()),      this, SLOT(pressedBtnRight()));
    connect(btnRight, SIGNAL(released()),     this, SLOT(releasedBtnRight()));
    connect(btnRight, SIGNAL(rightClicked()), this, SLOT(rightClickedBtnRight()));
    connect(btnBack,  SIGNAL(pressed()),      this, SLOT(pressedBtnBack()));
    connect(btnBack,  SIGNAL(released()),     this, SLOT(releasedBtnBack()));
    connect(btnBack,  SIGNAL(rightClicked()), this, SLOT(rightClickedBtnBack()));
    connect(btnEnter, SIGNAL(pressed()),      this, SLOT(pressedBtnEnter()));
    connect(btnEnter, SIGNAL(released()),     this, SLOT(releasedBtnEnter()));
    connect(btnEnter, SIGNAL(rightClicked()), this, SLOT(rightClickedBtnEnter()));

//    connect(timer,       SIGNAL(timeout()),   this, SLOT(changeBlink()));
//    connect(timerSample, SIGNAL(timeout()),   this, SLOT(changeSample()));

	// TCPソケット初期化
	initTcpSocket();

    /* Blinkタイマ起動 */
    //timer->start(500);

    /* サンプル用タイマ起動 */
    //timerSample->start(500);
}