|
|
|
@ -4,21 +4,44 @@ |
|
|
|
|
|
|
|
const int Curses::cmd_kbd_lines = 12; |
|
|
|
const int Curses::cmd_kbd_columns = 50; |
|
|
|
|
|
|
|
const int Curses::cmd_speed_lines = 4; |
|
|
|
const int Curses::cmd_speed_columns = 50; |
|
|
|
|
|
|
|
const int Curses::get_lines = 1; |
|
|
|
const int Curses::get_columns = 1; |
|
|
|
|
|
|
|
const int Curses::nav_data_lines = 5; |
|
|
|
const int Curses::nav_data_columns = 40; |
|
|
|
|
|
|
|
const int Curses::log_sent_w_lines = 12; |
|
|
|
const int Curses::log_sent_w_columns = 40; |
|
|
|
|
|
|
|
Curses::Curses() { |
|
|
|
initscr(); |
|
|
|
cbreak(); |
|
|
|
//noecho();
|
|
|
|
|
|
|
|
cmd_kbd = newwin(cmd_kbd_lines, cmd_kbd_columns, 0, 0); |
|
|
|
cmd_speed = newwin(cmd_speed_lines, |
|
|
|
cmd_speed_columns, cmd_kbd_lines+1, 0); |
|
|
|
get = newwin(1,1,cmd_kbd_lines + cmd_speed_lines + 1,2); |
|
|
|
//log_sent_w = newwin(///
|
|
|
|
//nav_data = newwin(//
|
|
|
|
|
|
|
|
get = newwin(get_lines, get_columns, |
|
|
|
cmd_kbd_lines, cmd_kbd_columns/2); |
|
|
|
|
|
|
|
cmd_speed = newwin(cmd_speed_lines, cmd_speed_columns, |
|
|
|
cmd_kbd_lines + get_lines, 0); |
|
|
|
|
|
|
|
log_sent_w = newwin(log_sent_w_lines, log_sent_w_columns, |
|
|
|
0, cmd_kbd_columns + 1); |
|
|
|
log_line_number = log_sent_w_lines - 1; |
|
|
|
|
|
|
|
scrollok(log_sent_w, TRUE); |
|
|
|
|
|
|
|
nav_data = newwin(nav_data_lines, nav_data_columns, |
|
|
|
log_sent_w_lines + 1, cmd_kbd_columns + 1); |
|
|
|
|
|
|
|
print_cmd_kbd(); |
|
|
|
print_cmd_speed(); |
|
|
|
|
|
|
|
wmove(get, 0, 0); |
|
|
|
wrefresh(get); |
|
|
|
} |
|
|
|
@ -60,7 +83,9 @@ void Curses::update_cmd_speed(const char& coord, const float& v) { |
|
|
|
} |
|
|
|
|
|
|
|
void Curses::log_sent(const std::string& str) { |
|
|
|
|
|
|
|
wmove(log_sent_w, log_line_number++, 0); |
|
|
|
waddstr(log_sent_w, (str + "\n").c_str() ); |
|
|
|
wrefresh(log_sent_w); |
|
|
|
} |
|
|
|
|
|
|
|
void Curses::update_navdata(const float& batteryPercent, |
|
|
|
|