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

* Fixed a regression in the BroadcastTools ACS8.2 switcher driver
	that could cause deadlocks and intermittent operation.
This commit is contained in:
Fred Gleason 2020-02-14 18:15:11 -05:00
parent e32f415616
commit 5c65965f15
3 changed files with 6 additions and 10 deletions

View File

@ -19548,3 +19548,6 @@
2020-02-14 Fred Gleason <fredg@paravelsystems.com> 2020-02-14 Fred Gleason <fredg@paravelsystems.com>
* Cleaned up the device access mode in the BroadcastTools 8x2 * Cleaned up the device access mode in the BroadcastTools 8x2
switcher driver. switcher driver.
2020-02-14 Fred Gleason <fredg@paravelsystems.com>
* Fixed a regression in the BroadcastTools ACS8.2 switcher driver
that could cause deadlocks and intermittent operation.

View File

@ -2,7 +2,7 @@
// //
// A Rivendell switcher driver for the BroadcastTools ACS 8.2 // A Rivendell switcher driver for the BroadcastTools ACS 8.2
// //
// (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 // 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 // it under the terms of the GNU General Public License version 2 as
@ -53,6 +53,7 @@ BtAcs82::BtAcs82(RDMatrix *matrix,QObject *parent)
// //
RDTty *tty=new RDTty(rda->station()->name(),matrix->port(RDMatrix::Primary)); RDTty *tty=new RDTty(rda->station()->name(),matrix->port(RDMatrix::Primary));
bt_device=new RDTTYDevice(); bt_device=new RDTTYDevice();
connect(bt_device,SIGNAL(readyRead()),this,SLOT(processStatus()));
if(tty->active()) { if(tty->active()) {
bt_device->setName(tty->port()); bt_device->setName(tty->port());
bt_device->setSpeed(tty->baudRate()); bt_device->setSpeed(tty->baudRate());
@ -71,13 +72,6 @@ BtAcs82::BtAcs82(RDMatrix *matrix,QObject *parent)
bt_gpo_oneshot=new RDOneShot(this); bt_gpo_oneshot=new RDOneShot(this);
connect(bt_gpo_oneshot,SIGNAL(timeout(void *)), connect(bt_gpo_oneshot,SIGNAL(timeout(void *)),
this,SLOT(gpoOneshotData(int))); this,SLOT(gpoOneshotData(int)));
//
// The Poll Timer
//
QTimer *timer=new QTimer(this,"poll_timer");
connect(timer,SIGNAL(timeout()),this,SLOT(processStatus()));
timer->start(BTACS82_POLL_INTERVAL);
} }

View File

@ -2,7 +2,7 @@
// //
// A Rivendell switcher driver for the BroadcastTools ACS 8.2 // A Rivendell switcher driver for the BroadcastTools ACS 8.2
// //
// (C) Copyright 2002-2008,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 // 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 // it under the terms of the GNU General Public License version 2 as
@ -30,7 +30,6 @@
#include <switcher.h> #include <switcher.h>
#define BTACS82_UNIT_ID 0 #define BTACS82_UNIT_ID 0
#define BTACS82_POLL_INTERVAL 100
#define BTACS82_GPIO_PINS 16 #define BTACS82_GPIO_PINS 16
class BtAcs82 : public Switcher class BtAcs82 : public Switcher