diff options
author | Pavel Pisa <pisa@cmp.felk.cvut.cz> | 2019-03-04 15:30:11 +0100 |
---|---|---|
committer | Pavel Pisa <pisa@cmp.felk.cvut.cz> | 2019-03-04 15:30:11 +0100 |
commit | 1dc09ab41ae703a1f15be87cacab5e842cf1a09d (patch) | |
tree | 392908ad6642e1ad5f9afa8c21998665a83534af /qtmips_gui | |
parent | cd3a4b268a9b3d4d5436fee5de7967adb6f6e170 (diff) | |
download | qtmips-1dc09ab41ae703a1f15be87cacab5e842cf1a09d.tar.gz qtmips-1dc09ab41ae703a1f15be87cacab5e842cf1a09d.tar.bz2 qtmips-1dc09ab41ae703a1f15be87cacab5e842cf1a09d.zip |
Implemented interrupt delivery and processing for serial port.
Signed-off-by: Pavel Pisa <pisa@cmp.felk.cvut.cz>
Diffstat (limited to 'qtmips_gui')
-rw-r--r-- | qtmips_gui/coreview.cpp | 1 | ||||
-rw-r--r-- | qtmips_gui/terminaldock.cpp | 4 | ||||
-rw-r--r-- | qtmips_gui/terminaldock.h | 2 |
3 files changed, 5 insertions, 2 deletions
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<std::uint32_t, QString> 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); |