From 282a0dbc340a053af118c9c863ad0b546496c998 Mon Sep 17 00:00:00 2001 From: Tristan Krause Date: Wed, 3 Apr 2019 16:15:35 +0200 Subject: [PATCH] ncurses begin --- driver/Makefile | 2 +- driver/cli | Bin 57600 -> 63216 bytes driver/cli.cpp | 115 ++++++++++++++++++++++++---------------- driver/gnuplotscript.gp | 11 ++-- driver/test_plot | Bin 37120 -> 37120 bytes 5 files changed, 77 insertions(+), 51 deletions(-) diff --git a/driver/Makefile b/driver/Makefile index c3b752a..6978a7d 100644 --- a/driver/Makefile +++ b/driver/Makefile @@ -12,7 +12,7 @@ OBJ_MAIN = main.o OUT_CLI = cli OBJ_CLI = cli.o CFLAGS = -std=c++14 -O3 -Wall -Wextra -LDFLAGS = +LDFLAGS = -lcurses OBJECTS = drv/usart.o drv/b15f.o drv/plottyfile.o drv/dot.o COMPILE = $(COMPILER_PATH) $(CFLAGS) diff --git a/driver/cli b/driver/cli index 8ae139b3dbc0a1416a7cf3849bc49a77229fd434..664d5db24b1b438b3f9be30a957e8c2bfde3183b 100755 GIT binary patch literal 63216 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 IIW delta 22617 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 diff --git a/driver/cli.cpp b/driver/cli.cpp index 7254a58..dd77457 100644 --- a/driver/cli.cpp +++ b/driver/cli.cpp @@ -1,51 +1,97 @@ #include #include // sudo apt-get install libncurses5-dev +#include +#include +#include +#include +#include -#define WIDTH 30 -#define HEIGHT 10 +#define width 30 +#define height 10 -int startx = 0; -int starty = 0; +WINDOW *win_menu; -char *choices[] = { - "Choice 1", - "Choice 2", - "Choice 3", - "Choice 4", - "Exit", - }; -int n_choices = sizeof(choices) / sizeof(char *); -void print_menu(WINDOW *menu_win, int highlight); +std::vector choices = { + "Choice 1", + "Choice 2", + "Choice 3", + "Choice 4", + "Exit", +}; + + +void init_win(WINDOW*& win) +{ + struct winsize size; + if (ioctl(0, TIOCGWINSZ, (char *) &size) < 0) + throw std::runtime_error("TIOCGWINSZ error"); + + int start_x = (size.ws_col - width); + int start_y = (size.ws_row - height); + if(start_x % 2) + start_x++; + if(start_y % 2) + start_y++; + start_x /= 2; + start_y /= 2; + + win = newwin(height, width, start_y, start_x); + keypad(win, TRUE); + refresh(); +} + +void print_menu(WINDOW *win_menu, int highlight) +{ + + + + int x, y, i; + + x = 2; + y = 2; + box(win_menu, 0, 0); + for(i = 0; i < choices.size(); ++i) + { if(highlight == i + 1) /* High light the present choice */ + { wattron(win_menu, A_REVERSE); + mvwprintw(win_menu, y, x, "%s", choices[i].c_str()); + wattroff(win_menu, A_REVERSE); + } + else + mvwprintw(win_menu, y, x, "%s", choices[i].c_str()); + ++y; + } + wrefresh(win_menu); +} int main() -{ WINDOW *menu_win; +{ int highlight = 1; int choice = 0; int c; initscr(); + start_color(); + curs_set(0); // 0: invisible, 1: normal, 2: very visible clear(); noecho(); cbreak(); /* Line buffering disabled. pass on everything */ - startx = (80 - WIDTH) / 2; - starty = (24 - HEIGHT) / 2; - menu_win = newwin(HEIGHT, WIDTH, starty, startx); - keypad(menu_win, TRUE); + init_win(win_menu); mvprintw(0, 0, "Use arrow keys to go up and down, Press enter to select a choice"); + print_menu(win_menu, highlight); refresh(); - print_menu(menu_win, highlight); + while(1) - { c = wgetch(menu_win); + { c = wgetch(win_menu); switch(c) { case KEY_UP: if(highlight == 1) - highlight = n_choices; + highlight = choices.size(); else --highlight; break; case KEY_DOWN: - if(highlight == n_choices) + if(highlight == choices.size()) highlight = 1; else ++highlight; @@ -58,34 +104,13 @@ int main() refresh(); break; } - print_menu(menu_win, highlight); + print_menu(win_menu, highlight); if(choice != 0) /* User did a choice come out of the infinite loop */ break; } - mvprintw(23, 0, "You chose choice %d with choice string %s\n", choice, choices[choice - 1]); + //mvprintw(23, 0, "You chose choice %d with choice string %s\n", choice, choices[choice - 1].c_str()); clrtoeol(); refresh(); endwin(); return 0; } - - -void print_menu(WINDOW *menu_win, int highlight) -{ - int x, y, i; - - x = 2; - y = 2; - box(menu_win, 0, 0); - for(i = 0; i < n_choices; ++i) - { if(highlight == i + 1) /* High light the present choice */ - { wattron(menu_win, A_REVERSE); - mvwprintw(menu_win, y, x, "%s", choices[i]); - wattroff(menu_win, A_REVERSE); - } - else - mvwprintw(menu_win, y, x, "%s", choices[i]); - ++y; - } - wrefresh(menu_win); -} diff --git a/driver/gnuplotscript.gp b/driver/gnuplotscript.gp index 06749ca..b106bab 100644 --- a/driver/gnuplotscript.gp +++ b/driver/gnuplotscript.gp @@ -6,14 +6,15 @@ set xlabel 'U_{DS} [V]' set ylabel 'I_D [mA]' set xrange [0:5] set yrange [0:50] -set label at 4,3 'U_{GS} [V] = 460' left +set label at 4,2 'U_{GS} [V] = 440' left +set label at 4,4 'U_{GS} [V] = 460' left set label at 4,7 'U_{GS} [V] = 480' left -set label at 3,13 'U_{GS} [V] = 500' left +set label at 3,14 'U_{GS} [V] = 500' left set label at 2,22 'U_{GS} [V] = 520' left set label at 1,33 'U_{GS} [V] = 540' left -set label at 0,39 'U_{GS} [V] = 560' left -set label at 0,39 'U_{GS} [V] = 580' left -set label at 0,39 'U_{GS} [V] = 600' left +set label at 0,38 'U_{GS} [V] = 560' left +set label at 0,38 'U_{GS} [V] = 580' left +set label at 0,38 'U_{GS} [V] = 600' left unset output set terminal qt unset output diff --git a/driver/test_plot b/driver/test_plot index e71ea1241e1596613c140862fde2ef8d23b3e21b..e1c894d3d3496bf317e5492ed475a133e461da98 100644 GIT binary patch literal 37120 zcmd4a1$$Lj+wT1_XI7GxWF=V%Gs#L=NeB?!JwSjEG`MSUcXxMpcX#&!#oZkWMT!)P z6lf`0%Knd$0ndJ)V}F2m@8kEJ=XH%SXBPCndly=0WVxDkDr7HLr()A)l}Z^xh(yCv z;4E!;wUB`s)bNR-lzE^!;{C}S<`@f&{|8ejCk41hjnDBrN zp70We;?0R<=hV)r&VufGT&1Ia*|6G8M~GL;f2 zEKWk`p=20b2xpEUrPMs-CL_rxGMY?7rr}L7^t5C;GCdiK3`(%b#4ZzGDKm2xGAo&l z%uePYb0QaVBaf0w1^Pu?qF*Mj;41wZDc!(L z=9~Pt;}-okd58H|Qo6_P9(kX9K>kKPy%LFOcLk-5n{WL`2KnV&2`79a}=*q4ex}yhrp*QEfIqO63OZFrCV<7v1u zhLXcDoO>h4kr+iE!`-n;q%n?pJo^dcL~;@))2EPAF%8o(12dH-6yRaL3 z@RJg4?Bi@d{b%w3d5}Cr9>x(I#W8lr$rCtj!uzQb>%pb{5_>3?37hmxozKJya1xFgwfC&%S;0Z5y!ww(#!VeDkBLMub zzRCakn?VRhDp&|XD8k@ExDsQgCf$fc6rzy^F-nY?R>YX;5X+oFi7_*gnUO__F|%@> zot{I9F>{f**ySPfDluk0k=D%5t{`(EC9PSQEP|qlS7OX!+$lj%P-4uI%%$k1NvSNo zoDyRukxA?-pdu>qHL9?yLRMw2hU%!nT$8MY+Ni@^m#l~S^af-@GMQ{dHbxVAQ#7MD zCtIMUlGbcZwqf6vY)7^yJCGg8PUuYULUtv)p*y_?*;7ep_Ga!w?@RV0`(uET&KyJz zW75y(vFZvaSX?CLP>9);{ItRy?I8YH_x#@j|;enOSp_H zN_z7ed7b+=$eXx@UvL|Dl=S9Z@*eIh>CFec_aXg}lHPpG`~<%Uyu>TK z=KKxbD(TI?*!?YH&3EKK_`v=H`4OM+8DH=(zTz9_-$X1w@JR1rkS6H?8$98~&YQHu z2foab1OChbWFYAzgGm0W-y@i`5Q0$lVWbP;h+vN3PHHleIf{%X(;xq%z2QPIUkvyEI<}iVm;!R3)73BC|!z2F_h2}cuykd ziDW5urO7g6Ih1E#o;itLQLD_ZGP^3wRmo~(b=08OBx{ki$vR|RvL0C<4bTwD>>81c z$tGw@Z$>sFo1-OKp*6cUq|_GenLD5(I-xVVu97q|_e+ zFoP{kYUVXqi*;C!4eX_j*d#J}Y+<*B+{(O-+`+t) zF73i@=AX!)INL|xNA73-83&mUG9RKJCXbLu$>XGSf_@UGaGLoH&eG43=gEsae^F%i zxWs%JS8$cRbdCKD&Toj!HhysbzZlH?&#&OWcEScv&6~8tNAn{khs_ZFiYWqYDV#PB z@m(-42|_BHrwE3H5Sth2B|>f9bZ-%6v(xRurTCEi^}o$mNp15JDICIWOA%%B7m>CA zCE6A!qHInPjWo6(lAi&v1#789TAQV$vxShMBAqRa zD95fmDJ6;Awu)pWB{!MJR+(K@C6BEda}BywOUXm#wbf={7xmcHC+o9ofMj|y*_doZ zHX)mmO+`Lib9xIUpRFZxE41OP4cU%;Talm4Z)=Z^>^gDQiQXAqn7fkQ$Zn#5tvkIZ z*^}%=_C_D{MSphvL_xBEZ6F3I1#Lsfp%|tO=Z-WIqu7m63X+9vAsl?lU zA%79^wmamnO1$kZ^F7?hZ|ol8krHovEQ;BFr$5Cr{Gr6#o^$twQq1;>e9it1`Br6d z+h6p*@lGjbdryAAN8a~|{3MDi|1wMeY2QR~PXR*|^Yjq${K-x#hT@){@TS{IAJUg} zkpA3p&;ztUQNlBbeGtjd0D4;NL\xTlMBu?y!sH9Zn;=14?qX*i3arzO*Ko{r2w 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 V-Jbh=@_(Ptdx!5{-)DEO{R>ifaW((| literal 37120 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