From 1dc09ab41ae703a1f15be87cacab5e842cf1a09d Mon Sep 17 00:00:00 2001 From: Pavel Pisa Date: Mon, 4 Mar 2019 15:30:11 +0100 Subject: Implemented interrupt delivery and processing for serial port. Signed-off-by: Pavel Pisa --- qtmips_gui/coreview.cpp | 1 + qtmips_gui/terminaldock.cpp | 4 +++- qtmips_gui/terminaldock.h | 2 +- 3 files changed, 5 insertions(+), 2 deletions(-) (limited to 'qtmips_gui') diff --git a/qtmips_gui/coreview.cpp b/qtmips_gui/coreview.cpp index ce438ca..d21f7f2 100644 --- a/qtmips_gui/coreview.cpp +++ b/qtmips_gui/coreview.cpp @@ -109,6 +109,7 @@ CoreViewScene::CoreViewScene(machine::QtMipsMachine *machine) : QGraphicsScene() NEW(Junction, mm.j_addr, 570, mem_data->connector_address()->y()); static QMap excause_map = {{machine::EXCAUSE_NONE, "NONE"}, + {machine::EXCAUSE_INT, "INT"}, {machine::EXCAUSE_BREAK, "BERAK"}, {machine::EXCAUSE_SYSCALL, "SYSCALL"}, {machine::EXCAUSE_HWBREAK, "HWBREAK"}, diff --git a/qtmips_gui/terminaldock.cpp b/qtmips_gui/terminaldock.cpp index bb26952..3dfd457 100644 --- a/qtmips_gui/terminaldock.cpp +++ b/qtmips_gui/terminaldock.cpp @@ -63,12 +63,14 @@ TerminalDock::~TerminalDock() { delete append_cursor; } -void TerminalDock::setup(const machine::SerialPort *ser_port) { +void TerminalDock::setup(machine::SerialPort *ser_port) { if (ser_port == nullptr) return; connect(ser_port, SIGNAL(tx_byte(uint)), this, SLOT(tx_byte(uint))); connect(ser_port, SIGNAL(rx_byte_pool(int,uint&,bool&)), this, SLOT(rx_byte_pool(int,uint&,bool&))); + connect(input_edit, SIGNAL(textChanged(QString)), + ser_port, SLOT(rx_queue_check())); } void TerminalDock::tx_byte(unsigned int data) { diff --git a/qtmips_gui/terminaldock.h b/qtmips_gui/terminaldock.h index 27dc617..47a4ece 100644 --- a/qtmips_gui/terminaldock.h +++ b/qtmips_gui/terminaldock.h @@ -50,7 +50,7 @@ public: TerminalDock(QWidget *parent, QSettings *settings); ~TerminalDock(); - void setup(const machine::SerialPort *ser_port); + void setup(machine::SerialPort *ser_port); public slots: void tx_byte(unsigned int data); -- cgit v1.2.3