2020-02-14 Fred Gleason <fredg@paravelsystems.com>

* Fixed a regression in the BroadcastTools GPI-16 switcher driver
	that could cause deadlocks and intermittent operation.
This commit is contained in:
Fred Gleason 2020-02-14 19:18:03 -05:00
parent fb919b02e9
commit 764ce50952
3 changed files with 6 additions and 15 deletions

View File

@ -19554,3 +19554,6 @@
2020-02-14 Fred Gleason <fredg@paravelsystems.com>
* Fixed a regression in the BroadcastTools ADMS 44.22 switcher driver
that could cause deadlocks and intermittent operation.
2020-02-14 Fred Gleason <fredg@paravelsystems.com>
* Fixed a regression in the BroadcastTools GPI-16 switcher driver
that could cause deadlocks and intermittent operation.

View File

@ -2,7 +2,7 @@
//
// A Rivendell switcher driver for the BroadcastTools GPI-16
//
// (C) Copyright 2002-2019 Fred Gleason <fredg@paravelsystems.com>
// (C) Copyright 2002-2020 Fred Gleason <fredg@paravelsystems.com>
//
// This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License version 2 as
@ -51,6 +51,7 @@ BtGpi16::BtGpi16(RDMatrix *matrix,QObject *parent)
//
RDTty *tty=new RDTty(rda->station()->name(),matrix->port(RDMatrix::Primary));
bt_device=new RDTTYDevice();
connect(bt_device,SIGNAL(readyRead()),this,SLOT(processStatus()));
if(tty->active()) {
bt_device->setName(tty->port());
bt_device->setSpeed(tty->baudRate());
@ -62,13 +63,6 @@ BtGpi16::BtGpi16(RDMatrix *matrix,QObject *parent)
}
}
delete tty;
//
// The Poll Timer
//
QTimer *timer=new QTimer(this,"poll_timer");
connect(timer,SIGNAL(timeout()),this,SLOT(processStatus()));
timer->start(BTGPI16_POLL_INTERVAL);
}

View File

@ -2,7 +2,7 @@
//
// A Rivendell switcher driver for the BroadcastTools GPI-16
//
// (C) Copyright 2002-2005,2010,2014,2016 Fred Gleason <fredg@paravelsystems.com>
// (C) Copyright 2002-2020 Fred Gleason <fredg@paravelsystems.com>
//
// This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License version 2 as
@ -30,7 +30,6 @@
#include <switcher.h>
#define BTGPI16_UNIT_ID 0
#define BTGPI16_POLL_INTERVAL 100
#define BTGPI16_GPIO_PINS 16
class BtGpi16 : public Switcher
@ -48,16 +47,11 @@ class BtGpi16 : public Switcher
private slots:
void processStatus();
// void gpiOneshotData(int value);
// void gpoOneshotData(int value);
private:
RDTTYDevice *bt_device;
// RDOneShot *bt_gpi_oneshot;
// RDOneShot *bt_gpo_oneshot;
int bt_matrix;
int bt_gpis;
// int bt_gpos;
int bt_istate;
bool bt_gpi_state[BTGPI16_GPIO_PINS];
bool bt_gpi_mask[BTGPI16_GPIO_PINS];