From 9ff573e9fe4c40ffb342ce2b215042c39b518aeb Mon Sep 17 00:00:00 2001 From: daniel-Jones Date: Fri, 7 Apr 2017 09:17:10 +0930 Subject: Merged source into one .cpp and .h. Added serial communication from the Arduino to the host computer. Added ping/pong system to maintain a connection, once 3 failed tries have occured, the connection is force closed, this restores the ui to a desired state. A ping is sent every 60 seconds and a response is required within one second. Some debug UI additions and code is still present, to be removed. --- qt/RGBController/controllerwindow.h | 87 ++++++++++++++++++++++--------------- 1 file changed, 51 insertions(+), 36 deletions(-) (limited to 'qt/RGBController/controllerwindow.h') diff --git a/qt/RGBController/controllerwindow.h b/qt/RGBController/controllerwindow.h index 0997e82..1fed07e 100755 --- a/qt/RGBController/controllerwindow.h +++ b/qt/RGBController/controllerwindow.h @@ -6,12 +6,13 @@ #include #include #include +#include #include #include #include #include #include -#include "serial_communication.h" +#include #include "ui_controllerwindow.h" namespace Ui { @@ -25,7 +26,6 @@ class controllerWindow : public QMainWindow public: explicit controllerWindow(QWidget *parent = 0); ~controllerWindow(); - /* public functions */ void info_log(QString text); void populate_serial_list(); @@ -34,6 +34,12 @@ class controllerWindow : public QMainWindow void delete_preset(QString name); void serial_rgb_change(int r, int g, int b); void show_msgbox(QString message); + bool serial_connect(QString port); + bool serial_disconnect(); + void rgb_change(int r, int g, int b); + void send(QString com); + void parse(QString message); + void read(); int show_question_box(QString message, QString omessage); /*public variables */ /* these three ints will hold the current value (0 - 255) of each slider */ @@ -44,71 +50,80 @@ class controllerWindow : public QMainWindow QString port; /* this int will contain the current preset index selected */ int preset_index; - QString presetsfile; - QString tempfile; + QString presetsfile; + QString tempfile; + QString port_name; + QSerialPort *ser; + QByteArray data; + QByteArray serdata; + QTimer *ptimer; + bool tping; + int pingtries; private slots: /* these slots are used to trigger button clicks and drop down items selections etc */ - void on_connect_button_clicked(); + void on_connect_button_clicked(); + + void on_disconnect_button_clicked(); + + void on_refresh_port_button_clicked(); + + void on_reload_preset_button_clicked(); - void on_disconnect_button_clicked(); - - void on_refresh_port_button_clicked(); + void on_r_slider_valueChanged(int value); - void on_reload_preset_button_clicked(); - - void on_r_slider_valueChanged(int value); + void on_g_slider_valueChanged(int value); - void on_g_slider_valueChanged(int value); + void on_b_slider_valueChanged(int value); - void on_b_slider_valueChanged(int value); + void on_red_button_clicked(); - void on_red_button_clicked(); + void on_green_button_clicked(); - void on_green_button_clicked(); + void on_blue_button_clicked(); - void on_blue_button_clicked(); + void on_off_button_clicked(); - void on_off_button_clicked(); + void on_set_preset_button_clicked(); - void on_set_preset_button_clicked(); + void on_presets_dropdown_currentIndexChanged(int index); - void on_presets_dropdown_currentIndexChanged(int index); + void on_preset_save_button_clicked(); - void on_preset_save_button_clicked(); + void on_preset_delete_button_clicked(); - void on_preset_delete_button_clicked(); + void on_red_fade_button_clicked(); - void on_red_fade_button_clicked(); + void on_green_fade_button_clicked(); - void on_green_fade_button_clicked(); + void on_blue_fade_button_clicked(); - void on_blue_fade_button_clicked(); + void on_speed_button_clicked(); - void on_speed_button_clicked(); + void on_r_speed_slider_valueChanged(int value); - void on_r_speed_slider_valueChanged(int value); + void on_g_speed_slider_valueChanged(int value); - void on_g_speed_slider_valueChanged(int value); + void on_b_speed_slider_valueChanged(int value); - void on_b_speed_slider_valueChanged(int value); + void on_rfrom_valueChanged(int arg1); - void on_rfrom_valueChanged(int arg1); + void on_rto_valueChanged(int arg1); - void on_rto_valueChanged(int arg1); + void on_gfrom_valueChanged(int arg1); - void on_gfrom_valueChanged(int arg1); + void on_gto_valueChanged(int arg1); - void on_gto_valueChanged(int arg1); + void on_bfrom_valueChanged(int arg1); - void on_bfrom_valueChanged(int arg1); + void on_bto_valueChanged(int arg1); - void on_bto_valueChanged(int arg1); + void on_serial_send_button_clicked(); + void ping(); + void check_ping(); private: Ui::controllerWindow *ui; - /* serial communication object */ - serial_communication portf; }; #endif // CONTROLLERWINDOW_H -- cgit v1.2.3