Wizualizacja konfiguracji dłoni  1.0
Dokumentacja klasy MainWindow

Klasa definiujaca glowne okno. Więcej...

#include <mainwindow.hh>

Diagram dziedziczenia dla MainWindow
Diagram współpracy dla MainWindow:

Sloty publiczne

void action_connect_click ()
 Reakcja na wcisniecie opcji "Polacz". Więcej...
 
void action_disconnect_click ()
 Reakcja na wcisniecie opcji "Rozlacz". Więcej...
 
void action_exit_click ()
 Reakcja na wcisniecie opcji "Wyjdz". Więcej...
 
void serial_dataAvailable ()
 Reakcja na pojawienie sie danych na porcie szeregowym. Więcej...
 
void serial_errorOccurred (QSerialPort::SerialPortError error)
 Reakcja na pojawienie sie bledu na porcie szeregowym. Więcej...
 
void device_ready ()
 Slot określający gotowość urządzenia do pracy. Więcej...
 
void handle_data (const std::string &_data)
 Slot odpowiedzialny za parsowanie ramki danych. Więcej...
 
void vibrate (const int &sensor_id)
 Slot odpowiedzialny za wysłanie sygnału wibracji dla określonego palca. Więcej...
 
void vibrate_thumb ()
 Slot odpowiedzialny za wywołanie wibracji na kciuku. Więcej...
 
void vibrate_index ()
 Slot odpowiedzialny za wywołanie wibracji na palcu wskazującym. Więcej...
 
void vibrate_middle ()
 Slot odpowiedzialny za wywołanie wibracji na palcu środkowym. Więcej...
 
void vibrate_ring ()
 Slot odpowiedzialny za wywołanie wibracji na palcu serdecznym. Więcej...
 
void vibrate_pinky ()
 Slot odpowiedzialny za wywołanie wibracji na małym palcu. Więcej...
 
void testrun ()
 Uruchomienie testowego zbierania danych. Więcej...
 
void testrun_timeoutHandler ()
 Reakcja na timeout timera testowego. Więcej...
 

Sygnały

void disconnect_me ()
 Sygnal emitowany w celu realizacji rozłączenia urządzenia. Więcej...
 
void reconnect ()
 Sygnal emitowany w celu realizacji powtornej proby polaczenia. Więcej...
 

Metody publiczne

 MainWindow (QWidget *parent=nullptr)
 Konstruktor parametryczny klasy MainWindow. Więcej...
 
 ~MainWindow ()
 Destruktor klasy MainWindow. Więcej...
 
void parse (const std::string &)
 Parsuje ramke danych. Więcej...
 
double convert_touch_value (double touch_value)
 Przelicza wartosci 8 bitowe na wartosci procentowe. Więcej...
 

Metody prywatne

void set_hand_visualisation_scene (int sensor_type, int sensor_id, int sensor_value)
 Ustawia scene wizualizacji. Więcej...
 
void reset_hand_visualisation_scene ()
 Resetuje wizualizacje do stanu niepodlaczonego. Więcej...
 

Atrybuty prywatne

QGraphicsScene * scene_visualisation = new QGraphicsScene
 
QGraphicsScene * scene_orientation = new QGraphicsScene
 
Ui::MainWindowui
 
ConnectionconnectionWindow
 
QSerialPort * serial
 
int timeout_counter
 
bool flag_isConnected
 
bool device_firstWord
 
bool device_isReady
 
bool device_finished
 
QVector< double > graph_time
 
QVector< double > sensor_bend_01
 
QVector< double > sensor_bend_02
 
QVector< double > sensor_bend_03
 
QVector< double > sensor_bend_04
 
QVector< double > sensor_bend_05
 
QVector< double > sensor_touch_01
 
QVector< double > sensor_touch_02
 
QVector< double > sensor_touch_03
 
QVector< double > sensor_touch_04
 
QVector< double > sensor_touch_05
 
QVector< double > sensor_acc_x
 
QVector< double > sensor_acc_z
 
QVector< QVector< double > * > pointers_bendSensor
 
QVector< QVector< double > * > pointers_touchSensor
 
QVector< QVector< double > * > pointers_accSensor
 
double time_now
 
QVector< QPen > pens
 
QVector< QPen > pens_ACC
 
QTimer * debugTimer
 
bool debug_on
 
char * debug_frame
 

Opis szczegółowy

Klasa modeluje pojęcie głównego okna programu.

Dokumentacja konstruktora i destruktora

MainWindow::MainWindow ( QWidget *  parent = nullptr)
explicit

Konstruktor parametryczny klasy.

Inicjalizuje wszystkie graficzne elementy okna oraz definiuje połączenia między wykorzystywanymi sygnałami i slotami.

MainWindow::~MainWindow ( )

Dokumentacja funkcji składowych

void MainWindow::action_connect_click ( )
slot

Slot określający reakcję na wciśnięcie przycisku "Połącz".

Uruchamia dodatkowe okno klasy Connection, w którym użytkownik określa ustawienia połączenia. Następnie podejmuje próbę połączenia.

void MainWindow::action_disconnect_click ( )
slot

Slot określający reakcję na wciśnięcie przycisku "Rozłącz".

Podejmuje próbę rozłączenia.

void MainWindow::action_exit_click ( )
slot

Slot określający reakcję na wciśnięcie przycisku "Wyjdź".

Emituje sygnał załączający slot rozłączenia i wychodzi z programu.

double MainWindow::convert_touch_value ( double  touch_value)
Parametry
[in]wartosc8 bitowa
[out]wartoscprocentowa 0-100% double
void MainWindow::device_ready ( )
slot

Wypisuje w terminalu i na pasku stanu informację o gotowości urządzenia.

void MainWindow::disconnect_me ( )
signal
void MainWindow::handle_data ( const std::string &  _data)
slot
void MainWindow::parse ( const std::string &  dataframe_chunk)
void MainWindow::reconnect ( )
signal
void MainWindow::reset_hand_visualisation_scene ( )
private
void MainWindow::serial_dataAvailable ( )
slot

Slot określający reakcję na pojawienie się danych na porcie szeregowym.

Rozwiązana tu jest kwestia komunikacji między urządzeniem a komputerem.

void MainWindow::serial_errorOccurred ( QSerialPort::SerialPortError  error)
slot

Slot określający reakcję na pojawienie się błędu portu szeregowego.

Parametry
[in]kodbledu

Wyświetla w terminalu treść błędu.

void MainWindow::set_hand_visualisation_scene ( int  sensor_type,
int  sensor_id,
int  sensor_value 
)
private
Parametry
[in]inttyp sensora (1-2)
[in]intid palca (1-5)
[in]intwartosc chwili obecnej (0-255)
void MainWindow::testrun ( )
slot

Wypisuje w terminalu i na pasku stanu informacje o uruchomieniu testowego przebiegu. Ignoruje wbudowane flagi – sluzy za test parsowania ramki i wyswietlania na wykresie danych.

void MainWindow::testrun_timeoutHandler ( )
slot

Generuje dane dla wszystkich mozliwych czujnikow, nastepnie parsuje je i wyswietla na wykresach.

void MainWindow::vibrate ( const int &  sensor_id)
slot
Parametry
[in]IDsilnika wibracyjnego (palca)
void MainWindow::vibrate_index ( )
slot
void MainWindow::vibrate_middle ( )
slot
void MainWindow::vibrate_pinky ( )
slot
void MainWindow::vibrate_ring ( )
slot
void MainWindow::vibrate_thumb ( )
slot

Dokumentacja atrybutów składowych

Connection* MainWindow::connectionWindow
private
char* MainWindow::debug_frame
private
bool MainWindow::debug_on
private
QTimer* MainWindow::debugTimer
private
bool MainWindow::device_finished
private
bool MainWindow::device_firstWord
private
bool MainWindow::device_isReady
private
bool MainWindow::flag_isConnected
private
QVector<double> MainWindow::graph_time
private
QVector<QPen> MainWindow::pens
private
QVector<QPen> MainWindow::pens_ACC
private
QVector<QVector<double>*> MainWindow::pointers_accSensor
private
QVector<QVector<double>*> MainWindow::pointers_bendSensor
private
QVector<QVector<double>*> MainWindow::pointers_touchSensor
private
QGraphicsScene* MainWindow::scene_orientation = new QGraphicsScene
private
QGraphicsScene* MainWindow::scene_visualisation = new QGraphicsScene
private
QVector<double> MainWindow::sensor_acc_x
private
QVector<double> MainWindow::sensor_acc_z
private
QVector<double> MainWindow::sensor_bend_01
private
QVector<double> MainWindow::sensor_bend_02
private
QVector<double> MainWindow::sensor_bend_03
private
QVector<double> MainWindow::sensor_bend_04
private
QVector<double> MainWindow::sensor_bend_05
private
QVector<double> MainWindow::sensor_touch_01
private
QVector<double> MainWindow::sensor_touch_02
private
QVector<double> MainWindow::sensor_touch_03
private
QVector<double> MainWindow::sensor_touch_04
private
QVector<double> MainWindow::sensor_touch_05
private
QSerialPort* MainWindow::serial
private
double MainWindow::time_now
private
int MainWindow::timeout_counter
private
Ui::MainWindow* MainWindow::ui
private

Dokumentacja dla tej klasy została wygenerowana z plików: