static bool garmin_bin_initialize(void) { unsigned int i; #ifndef CONTROLSEND_ENABLE if(serial) { monitor_complain("Direct mode doesn't supported."); return false; } #endif miscwin = subwin(devicewin, 1, 80, 1, 0); mid51win = subwin(devicewin, 12, 18, 2, 0); mid114win = subwin(devicewin, GARMIN_CHANNELS + 3, 23, 2, 18); if (miscwin == NULL || mid51win == NULL || mid114win == NULL) return false; (void)syncok(miscwin, true); (void)syncok(mid51win, true); (void)syncok(mid114win, true); (void)wattrset(miscwin, A_BOLD); display(miscwin, 0, 0, "Time:"); (void)wattrset(miscwin, A_NORMAL); (void)wborder(mid51win, 0, 0, 0, 0, 0, 0, 0, 0), (void)wattrset(mid51win, A_BOLD); display(mid51win, 0, 4, " Position "); display(mid51win, 1, 2, "Fix:"); display(mid51win, 2, 2, "Lat:"); (void)mvwaddch(mid51win, 2, 16, ACS_DEGREE); display(mid51win, 3, 2, "Lon:"); (void)mvwaddch(mid51win, 3, 16, ACS_DEGREE); display(mid51win, 4, 2, "Alt: m"); display(mid51win, 5, 2, "Speed: m/s"); display(mid51win, 6, 2, "Climb: m/s"); display(mid51win, 7, 2, "Leap: sec"); display(mid51win, 8, 2, "epe: m"); display(mid51win, 9, 2, "eph: m"); display(mid51win, 10, 2, "epv: m"); display(mid51win, 11, 3, " ID 51 (0x33) "); (void)wattrset(mid51win, A_NORMAL); (void)wborder(mid114win, 0, 0, 0, 0, 0, 0, 0, 0), (void)wattrset(mid114win, A_BOLD); display(mid114win, 1, 1, "Ch PRN Az El SNR ST"); for (i = 0; i < GARMIN_CHANNELS; i++) { display(mid114win, (int)i + 2, 1, "%2d", i); } display(mid114win, 0, 5, " Satellite "); display(mid114win, 14, 4, " ID 114 (0x72) "); (void)wattrset(mid114win, A_NORMAL); /* initialize the GPS context's time fields */ gpsd_time_init(session.context, time(NULL)); return true; }
static bool test_opaque_syncok(WINDOW *win, int mode) { if (mode >= 0) { syncok(win, mode); } return is_syncok(win); }
cCursesOsd::cCursesOsd(int Left, int Top) :cOsd(Left, Top, 0) { savedRegion = NULL; memset(colorPairs, 0x00, sizeof(colorPairs)); start_color(); leaveok(stdscr, true); window = subwin(stdscr, ScOsdHeight, ScOsdWidth, 0, 0); syncok(window, true); }
static bool italk_initialize(void) { int i; /*@ -onlytrans @*/ /* "heavily inspired" by monitor_nmea.c */ if ((satwin = derwin(devicewin, MAX_NR_VISIBLE_PRNS + 3, 27, 0, 0)) == NULL) return false; (void)wborder(satwin, 0, 0, 0, 0, 0, 0, 0, 0), (void)syncok(satwin, true); (void)wattrset(satwin, A_BOLD); display(satwin, 1, 1, "Ch PRN Az El S/N Flag U"); for (i = 0; i < MAX_NR_VISIBLE_PRNS; i++) display(satwin, (int)(i + 2), 1, "%2d", i); display(satwin, MAX_NR_VISIBLE_PRNS + 2, 7, " PRN_STATUS "); (void)wattrset(satwin, A_NORMAL); /* "heavily inspired" by monitor_nmea.c */ if ((navfixwin = derwin(devicewin, 13, 52, 0, 27)) == NULL) return false; (void)wborder(navfixwin, 0, 0, 0, 0, 0, 0, 0, 0), (void)wattrset(navfixwin, A_BOLD); (void)wmove(navfixwin, 1, 1); (void)wprintw(navfixwin, "ECEF Pos:"); (void)wmove(navfixwin, 2, 1); (void)wprintw(navfixwin, "ECEF Vel:"); (void)wmove(navfixwin, 4, 1); (void)wprintw(navfixwin, "LTP Pos:"); (void)wmove(navfixwin, 5, 1); (void)wprintw(navfixwin, "LTP Vel:"); (void)wmove(navfixwin, 7, 1); (void)wprintw(navfixwin, "Time UTC:"); (void)wmove(navfixwin, 8, 1); (void)wprintw(navfixwin, "Time GPS: Day:"); (void)wmove(navfixwin, 10, 1); (void)wprintw(navfixwin, "DOP [H] [V] [P] [T] [G]"); (void)wmove(navfixwin, 11, 1); (void)wprintw(navfixwin, "Fix:"); display(navfixwin, 12, 20, " NAV_FIX "); (void)wattrset(navfixwin, A_NORMAL); return true; /*@ +onlytrans @*/ }
static bool superstar2_initialize(void) { int i; /* "heavily inspired" by monitor_nmea.c */ if ((satwin = derwin(devicewin, 15, 27, 7, 0)) == NULL) return false; (void)wborder(satwin, 0, 0, 0, 0, 0, 0, 0, 0), (void)syncok(satwin, true); (void)wattrset(satwin, A_BOLD); (void)mvwprintw(satwin, 1, 1, "Ch PRN Az El S/N Fl U"); for (i = 0; i < 12; i++) (void)mvwprintw(satwin, (int)(i + 2), 1, "%2d", i); (void)mvwprintw(satwin, 14, 1, " Satellite Data & Status "); (void)wattrset(satwin, A_NORMAL); return true; }
static bool tnt_initialize(void) { /*@ -onlytrans @*/ thtmwin = derwin(devicewin, 6, 80, 0, 0); (void)wborder(thtmwin, 0, 0, 0, 0, 0, 0, 0, 0), (void)syncok(thtmwin, true); (void)wattrset(thtmwin, A_BOLD); (void)mvwaddstr(thtmwin, 0, 35, " PTNTHTM "); (void)mvwaddstr(thtmwin, 1, 1, "Heading: "); (void)mvwaddstr(thtmwin, 2, 1, "Pitch: "); (void)mvwaddstr(thtmwin, 3, 1, "Roll: "); (void)mvwaddstr(thtmwin, 4, 1, "Dip: "); (void)mvwaddstr(thtmwin, 1, 40, "Magnetometer Status: "); (void)mvwaddstr(thtmwin, 2, 40, "Pitch Status: "); (void)mvwaddstr(thtmwin, 3, 40, "Roll Status "); (void)mvwaddstr(thtmwin, 4, 40, "Horizontal Field: "); (void)wattrset(thtmwin, A_NORMAL); /*@ +onlytrans @*/ return true; }
EIF_INTEGER c_ecurses_syncok (EIF_POINTER w, EIF_BOOLEAN b) { return syncok(((WINDOW *) w), (bool)b) ; };
static bool nmea_initialize(void) { int i; cookedwin = derwin(devicewin, 3, 80, 0, 0); assert(cookedwin !=NULL); (void)wborder(cookedwin, 0, 0, 0, 0, 0, 0, 0, 0); (void)syncok(cookedwin, true); (void)wattrset(cookedwin, A_BOLD); (void)mvwaddstr(cookedwin, 1, 1, "Time: "); (void)mvwaddstr(cookedwin, 1, 32, "Lat: "); (void)mvwaddstr(cookedwin, 1, 55, "Lon: "); (void)mvwaddstr(cookedwin, 2, 34, " Cooked TPV "); (void)wattrset(cookedwin, A_NORMAL); nmeawin = derwin(devicewin, 3, 80, 3, 0); assert(nmeawin !=NULL); (void)wborder(nmeawin, 0, 0, 0, 0, 0, 0, 0, 0); (void)syncok(nmeawin, true); (void)wattrset(nmeawin, A_BOLD); (void)mvwaddstr(nmeawin, 2, 34, " Sentences "); (void)wattrset(nmeawin, A_NORMAL); satwin = derwin(devicewin, MAXSATS + 3, 20, 6, 0); assert(satwin !=NULL); (void)wborder(satwin, 0, 0, 0, 0, 0, 0, 0, 0), (void)syncok(satwin, true); (void)wattrset(satwin, A_BOLD); (void)mvwprintw(satwin, 1, 1, "Ch PRN Az El S/N"); for (i = 0; i < MAXSATS; i++) (void)mvwprintw(satwin, (int)(i + 2), 1, "%2d", i); (void)mvwprintw(satwin, 14, 7, " GSV "); (void)wattrset(satwin, A_NORMAL); gprmcwin = derwin(devicewin, 9, 30, 6, 20); assert(gprmcwin !=NULL); (void)wborder(gprmcwin, 0, 0, 0, 0, 0, 0, 0, 0), (void)syncok(gprmcwin, true); (void)wattrset(gprmcwin, A_BOLD); (void)mvwprintw(gprmcwin, 1, 1, "Time: "); (void)mvwprintw(gprmcwin, 2, 1, "Latitude: "); (void)mvwprintw(gprmcwin, 3, 1, "Longitude: "); (void)mvwprintw(gprmcwin, 4, 1, "Speed: "); (void)mvwprintw(gprmcwin, 5, 1, "Course: "); (void)mvwprintw(gprmcwin, 6, 1, "Status: FAA: "); (void)mvwprintw(gprmcwin, 7, 1, "MagVar: "); (void)mvwprintw(gprmcwin, 8, 12, " RMC "); (void)wattrset(gprmcwin, A_NORMAL); gpgsawin = derwin(devicewin, 6, 30, 15, 20); assert(gpgsawin !=NULL); (void)wborder(gpgsawin, 0, 0, 0, 0, 0, 0, 0, 0); (void)syncok(gpgsawin, true); (void)wattrset(gpgsawin, A_BOLD); #define MODE_LINE 1 (void)mvwprintw(gpgsawin, MODE_LINE, 1, "Mode: "); #define SATS_LINE 1 #define SATS_COL 10 (void)mvwprintw(gpgsawin, SATS_LINE, SATS_COL, "Sats: "); #define DOP_LINE 2 (void)mvwprintw(gpgsawin, DOP_LINE, 1, "DOP: H= V= P="); #define TOFF_LINE 3 (void)mvwprintw(gpgsawin, TOFF_LINE, 1, "TOFF: "); #ifndef PPS_ENABLE (void)mvwaddstr(gpgsawin, TOFF_LINE, 7, "N/A"); #endif /* PPS_ENABLE */ #define PPS_LINE 4 (void)mvwprintw(gpgsawin, PPS_LINE, 1, "PPS: "); #ifndef PPS_ENABLE (void)mvwaddstr(gpgsawin, PPS_LINE, 6, "N/A"); #endif /* PPS_ENABLE */ (void)mvwprintw(gpgsawin, 5, 9, " GSA + PPS "); (void)wattrset(gpgsawin, A_NORMAL); (void)syncok(gpgsawin, true); gpggawin = derwin(devicewin, 9, 30, 6, 50); assert(gpggawin !=NULL); (void)wborder(gpggawin, 0, 0, 0, 0, 0, 0, 0, 0); (void)syncok(gpggawin, true); (void)wattrset(gpggawin, A_BOLD); (void)mvwprintw(gpggawin, 1, 1, "Time: "); (void)mvwprintw(gpggawin, 2, 1, "Latitude: "); (void)mvwprintw(gpggawin, 3, 1, "Longitude: "); (void)mvwprintw(gpggawin, 4, 1, "Altitude: "); (void)mvwprintw(gpggawin, 5, 1, "Quality: Sats: "); (void)mvwprintw(gpggawin, 6, 1, "HDOP: "); (void)mvwprintw(gpggawin, 7, 1, "Geoid: "); (void)mvwprintw(gpggawin, 8, 12, " GGA "); (void)wattrset(gpggawin, A_NORMAL); gpgstwin = derwin(devicewin, 6, 30, 15, 50); assert(gpgstwin !=NULL); (void)wborder(gpgstwin, 0, 0, 0, 0, 0, 0, 0, 0); (void)syncok(gpgstwin, true); (void)wattrset(gpgstwin, A_BOLD); (void)mvwprintw(gpgstwin, 1, 1, "UTC: "); (void)mvwprintw(gpgstwin, 1, 16, "RMS: "); (void)mvwprintw(gpgstwin, 2, 1, "MAJ: "); (void)mvwprintw(gpgstwin, 2, 16, "MIN: "); (void)mvwprintw(gpgstwin, 3, 1, "ORI: "); (void)mvwprintw(gpgstwin, 3, 16, "LAT: "); (void)mvwprintw(gpgstwin, 4, 1, "LON: "); (void)mvwprintw(gpgstwin, 4, 16, "ALT: "); (void)mvwprintw(gpgstwin, 5, 12, " GST "); (void)wattrset(gpgstwin, A_NORMAL); last_tick = timestamp(); sentences[0] = '\0'; return (nmeawin != NULL); }
static bool sirf_initialize(void) { unsigned int i; mid2win = subwin(devicewin, 6, 80, 1, 0); mid4win = subwin(devicewin, SIRF_CHANNELS + 3, 30, 7, 0); mid6win = subwin(devicewin, 3, 50, 7, 30); mid7win = subwin(devicewin, 4, 50, 13, 30); mid9win = subwin(devicewin, 3, 50, 10, 30); mid13win = subwin(devicewin, 3, 50, 17, 30); mid19win = newwin(16, 50, 7, 30); mid27win = subwin(devicewin, 3, 50, 20, 30); if (mid2win == NULL || mid4win == NULL || mid6win == NULL || mid9win == NULL || mid13win == NULL || mid19win == NULL || mid27win == NULL) return false; (void)syncok(mid2win, true); (void)syncok(mid4win, true); (void)syncok(mid6win, true); (void)syncok(mid7win, true); (void)syncok(mid9win, true); (void)syncok(mid13win, true); (void)syncok(mid27win, true); (void)wborder(mid2win, 0, 0, 0, 0, 0, 0, 0, 0), (void)wattrset(mid2win, A_BOLD); (void)wmove(mid2win, 0, 1); display(mid2win, 0, 12, " X "); display(mid2win, 0, 21, " Y "); display(mid2win, 0, 30, " Z "); display(mid2win, 0, 43, " North "); display(mid2win, 0, 54, " East "); display(mid2win, 0, 65, " Alt "); (void)wmove(mid2win, 1, 1); (void)wprintw(mid2win, "Pos: m m"); (void)wmove(mid2win, 2, 1); (void)wprintw(mid2win, "Vel: m/s climb m/s"); (void)wmove(mid2win, 3, 1); (void)wprintw(mid2win, "Time: Leap: Heading: speed m/s"); (void)wmove(mid2win, 4, 1); (void)wprintw(mid2win, "Fix: HDOP: M1: M2: "); display(mid2win, 5, 24, " Packet type 2 (0x02) "); (void)wattrset(mid2win, A_NORMAL); (void)wborder(mid4win, 0, 0, 0, 0, 0, 0, 0, 0), (void)wattrset(mid4win, A_BOLD); display(mid4win, 1, 1, "Ch PRN Az El Stat C/N ? SF"); for (i = 0; i < SIRF_CHANNELS; i++) { display(mid4win, (int)(i + 2), 1, "%2d", i); } display(mid4win, 0, 1, " Measured Tracker "); display(mid4win, 14, 4, " Packet Type 4 (0x04) "); (void)wattrset(mid4win, A_NORMAL); (void)wborder(mid19win, 0, 0, 0, 0, 0, 0, 0, 0), (void)wattrset(mid19win, A_BOLD); display(mid19win, 1, 1, "Alt. hold mode:"); display(mid19win, 2, 1, "Alt. hold source:"); display(mid19win, 3, 1, "Alt. source input:"); display(mid19win, 4, 1, "Degraded timeout:"); display(mid19win, 5, 1, "DR timeout:"); display(mid19win, 6, 1, "Track smooth mode:"); display(mid19win, 7, 1, "Static Navigation:"); display(mid19win, 8, 1, "3SV Least Squares:"); display(mid19win, 9, 1, "DOP Mask mode:"); display(mid19win, 10, 1, "Nav. Elev. mask:"); display(mid19win, 11, 1, "Nav. Power mask:"); display(mid19win, 12, 1, "DGPS Source:"); display(mid19win, 13, 1, "DGPS Mode:"); display(mid19win, 14, 1, "DGPS Timeout:"); display(mid19win, 1, 26, "LP Push-to-Fix:"); display(mid19win, 2, 26, "LP On Time:"); display(mid19win, 3, 26, "LP Interval:"); display(mid19win, 4, 26, "U. Tasks Enab.:"); display(mid19win, 5, 26, "U. Task Inter.:"); display(mid19win, 6, 26, "LP Pwr Cyc En:"); display(mid19win, 7, 26, "LP Max Acq Srch:"); display(mid19win, 8, 26, "LP Max Off Time:"); display(mid19win, 9, 26, "APM enabled:"); display(mid19win, 10, 26, "# of Fixes:"); display(mid19win, 11, 26, "Time btw Fixes:"); display(mid19win, 12, 26, "H/V Error Max:"); display(mid19win, 13, 26, "Rsp Time Max:"); display(mid19win, 14, 26, "Time/Accu:"); display(mid19win, 15, 8, " Packet type 19 (0x13) "); (void)wattrset(mid19win, A_NORMAL); (void)wborder(mid6win, 0, 0, 0, 0, 0, 0, 0, 0), (void)wattrset(mid6win, A_BOLD); display(mid6win, 0, 1, " Firmware Version "); display(mid6win, 2, 8, " Packet Type 6 (0x06) "); (void)wattrset(mid6win, A_NORMAL); (void)wborder(mid7win, 0, 0, 0, 0, 0, 0, 0, 0), (void)wattrset(mid7win, A_BOLD); display(mid7win, 0, 1, " Clock Status "); display(mid7win, 1, 1, "SVs: "); display(mid7win, 1, 9, "Drift: "); display(mid7win, 1, 23, "Bias: "); display(mid7win, 2, 1, "GPS Time: "); display(mid7win, 2, 23, "PPS: "); (void)syncok(mid7win, true); #ifndef PPS_ENABLE (void)mvwaddstr(mid7win, 2, 40, "N/A"); #endif /* PPS_ENABLE */ display(mid7win, 3, 8, " Packet type 7 (0x07) "); (void)wattrset(mid7win, A_NORMAL); (void)wborder(mid9win, 0, 0, 0, 0, 0, 0, 0, 0), (void)wattrset(mid9win, A_BOLD); display(mid9win, 0, 1, " CPU Throughput "); display(mid9win, 1, 1, "Max: "); display(mid9win, 1, 13, "Lat: "); display(mid9win, 1, 25, "Time: "); display(mid9win, 1, 39, "MS: "); display(mid9win, 2, 8, " Packet type 9 (0x09) "); (void)wattrset(mid9win, A_NORMAL); (void)wborder(mid13win, 0, 0, 0, 0, 0, 0, 0, 0), (void)wattrset(mid13win, A_BOLD); display(mid13win, 0, 1, " Visible List "); display(mid13win, 2, 8, " Packet type 13 (0x0D) "); (void)wattrset(mid13win, A_NORMAL); (void)wborder(mid27win, 0, 0, 0, 0, 0, 0, 0, 0), (void)wattrset(mid27win, A_BOLD); display(mid27win, 0, 1, " DGPS Status "); display(mid27win, 2, 8, " Packet type 27 (0x1B) "); (void)wattrset(mid27win, A_NORMAL); #ifdef CONTROLSEND_ENABLE /* probe for version */ (void)monitor_control_send((unsigned char *)"\x84\x00", 2); #endif /* CONTROLSEND_ENABLE */ /* initialize the GPS context's time fields */ gpsd_time_init(session.context, time(NULL)); return true; }
static int sirf_command(char line[]) { unsigned char buf[BUFSIZ]; int v; switch (line[0]) { case 'A': /* toggle 50bps subframe data */ (void)memset(buf, '\0', sizeof(buf)); putbyte(buf, 0, 0x80); putbyte(buf, 23, 0x0c); putbyte(buf, 24, subframe_enabled ? 0x00 : 0x10); (void)monitor_control_send(buf, 25); /* * The subframe_enabled off because we're counting on receipt of * a subframe packet to turn it on if the command succeeds. */ subframe_enabled = false; return COMMAND_MATCH; case 'M': /* static navigation */ putbyte(buf, 0, 0x8f); /* id */ putbyte(buf, 1, atoi(line + 1)); (void)monitor_control_send(buf, 2); return COMMAND_MATCH; case 'D': /* MID 4 rate change (undocumented) */ v = atoi(line + 1); if (v > 30) return COMMAND_MATCH; putbyte(buf, 0, 0xa6); putbyte(buf, 1, 0); putbyte(buf, 2, 4); /* satellite picture */ putbyte(buf, 3, v); putbyte(buf, 4, 0); putbyte(buf, 5, 0); putbyte(buf, 6, 0); putbyte(buf, 7, 0); (void)monitor_control_send(buf, 8); return COMMAND_MATCH; case 'P': /* poll navigation params */ dispmode = !dispmode; if (dispmode) { (void)syncok(mid6win, false); (void)syncok(mid7win, false); (void)syncok(mid9win, false); (void)syncok(mid13win, false); (void)syncok(mid27win, false); } else { (void)syncok(mid6win, true); (void)wsyncup(mid6win); (void)syncok(mid7win, true); (void)wsyncup(mid7win); (void)syncok(mid9win, true); (void)wsyncup(mid9win); (void)syncok(mid13win, true); (void)wsyncup(mid13win); (void)syncok(mid27win, true); (void)wsyncup(mid27win); } return COMMAND_MATCH; } return COMMAND_UNKNOWN; /* no match */ }
static bool ubx_initialize(void) { int i; /* "heavily inspired" by monitor_nmea.c */ if ((satwin = derwin(devicewin, 19, 28, 0, 0)) == NULL) return false; (void)wborder(satwin, 0, 0, 0, 0, 0, 0, 0, 0), (void)syncok(satwin, true); (void)wattrset(satwin, A_BOLD); display(satwin, 1, 1, "Ch PRN Az El S/N Flag U"); for (i = 0; i < 16; i++) display(satwin, (int)(i + 2), 1, "%2d", i); display(satwin, 18, 7, " NAV_SVINFO "); (void)wattrset(satwin, A_NORMAL); /* "heavily inspired" by monitor_nmea.c */ if ((navsolwin = derwin(devicewin, 13, 51, 0, 28)) == NULL) return false; (void)wborder(navsolwin, 0, 0, 0, 0, 0, 0, 0, 0), (void)wattrset(navsolwin, A_BOLD); (void)wmove(navsolwin, 1, 1); (void)wprintw(navsolwin, "ECEF Pos:"); (void)wmove(navsolwin, 2, 1); (void)wprintw(navsolwin, "ECEF Vel:"); (void)wmove(navsolwin, 4, 1); (void)wprintw(navsolwin, "LTP Pos:"); (void)wmove(navsolwin, 5, 1); (void)wprintw(navsolwin, "LTP Vel:"); (void)wmove(navsolwin, 7, 1); (void)wprintw(navsolwin, "Time:"); (void)wmove(navsolwin, 8, 1); (void)wprintw(navsolwin, "Time GPS: Day:"); (void)wmove(navsolwin, 10, 1); (void)wprintw(navsolwin, "Est Pos Err m Est Vel Err m/s"); (void)wmove(navsolwin, 11, 1); (void)wprintw(navsolwin, "PRNs: ## PDOP: xx.x Fix 0x.. Flags 0x.."); display(navsolwin, 12, 20, " NAV_SOL "); (void)wattrset(navsolwin, A_NORMAL); if ((dopwin = derwin(devicewin, 3, 51, 13, 28)) == NULL) return false; (void)wborder(dopwin, 0, 0, 0, 0, 0, 0, 0, 0); (void)wattrset(dopwin, A_BOLD); (void)wmove(dopwin, 1, 1); (void)wprintw(dopwin, "DOP [H] [V] [P] [T] [G]"); display(dopwin, 2, 20, " NAV_DOP "); (void)wattrset(dopwin, A_NORMAL); if ((ppswin = derwin(devicewin, 3, 51, 16, 28)) == NULL) return false; (void)wborder(ppswin, 0, 0, 0, 0, 0, 0, 0, 0); (void)wattrset(ppswin, A_BOLD); #define TOFF_LINE 1 #define TOFF_COLUMN 1 (void)mvwaddstr(ppswin, TOFF_LINE, TOFF_COLUMN, "TOFF: "); #ifndef PPS_ENABLE (void)mvwaddstr(ppswin, TOFF_LINE, TOFF_COLUMN + 10, "N/A"); #endif /* PPS_ENABLE */ #define PPS_LINE 1 #define PPS_COLUMN 26 (void)mvwaddstr(ppswin, PPS_LINE, PPS_COLUMN, "PPS: "); #ifndef PPS_ENABLE (void)mvwaddstr(ppswin, PPS_LINE, PPS_COLUMN + 10, "N/A"); #endif /* PPS_ENABLE */ (void)wattrset(ppswin, A_NORMAL); return true; }
static bool nmea_initialize(void) { int i; /*@ -onlytrans @*/ cookedwin = derwin(devicewin, 3, 80, 0, 0); (void)wborder(cookedwin, 0, 0, 0, 0, 0, 0, 0, 0); (void)syncok(cookedwin, true); wattrset(cookedwin, A_BOLD); mvwaddstr(cookedwin, 1, 1, "Time: "); mvwaddstr(cookedwin, 1, 31, "Lat: "); mvwaddstr(cookedwin, 1, 55, "Lon: "); mvwaddstr(cookedwin, 2, 34, " Cooked PVT "); wattrset(cookedwin, A_NORMAL); nmeawin = derwin(devicewin, 3, 80, 3, 0); (void)wborder(nmeawin, 0, 0, 0, 0, 0, 0, 0, 0); (void)syncok(nmeawin, true); wattrset(nmeawin, A_BOLD); mvwaddstr(nmeawin, 2, 34, " Sentences "); wattrset(nmeawin, A_NORMAL); satwin = derwin(devicewin, MAXSATS + 3, 20, 6, 0); (void)wborder(satwin, 0, 0, 0, 0, 0, 0, 0, 0), (void)syncok(satwin, true); (void)wattrset(satwin, A_BOLD); (void)mvwprintw(satwin, 1, 1, "Ch PRN Az El S/N"); for (i = 0; i < MAXSATS; i++) (void)mvwprintw(satwin, (int)(i + 2), 1, "%2d", i); (void)mvwprintw(satwin, 14, 7, " GSV "); (void)wattrset(satwin, A_NORMAL); gprmcwin = derwin(devicewin, 9, 30, 6, 20); (void)wborder(gprmcwin, 0, 0, 0, 0, 0, 0, 0, 0), (void)syncok(gprmcwin, true); (void)wattrset(gprmcwin, A_BOLD); (void)mvwprintw(gprmcwin, 1, 1, "Time: "); (void)mvwprintw(gprmcwin, 2, 1, "Latitude: "); (void)mvwprintw(gprmcwin, 3, 1, "Longitude: "); (void)mvwprintw(gprmcwin, 4, 1, "Speed: "); (void)mvwprintw(gprmcwin, 5, 1, "Course: "); (void)mvwprintw(gprmcwin, 6, 1, "Status: FAA: "); (void)mvwprintw(gprmcwin, 7, 1, "MagVar: "); (void)mvwprintw(gprmcwin, 8, 12, " RMC "); (void)wattrset(gprmcwin, A_NORMAL); gpgsawin = derwin(devicewin, 5, 30, 15, 20); (void)wborder(gpgsawin, 0, 0, 0, 0, 0, 0, 0, 0), (void)syncok(gpgsawin, true); (void)wattrset(gpgsawin, A_BOLD); (void)mvwprintw(gpgsawin, 1, 1, "Mode: "); (void)mvwprintw(gpgsawin, 2, 1, "Sats: "); (void)mvwprintw(gpgsawin, 3, 1, "DOP: H= V= P="); (void)mvwprintw(gpgsawin, 4, 12, " GSA "); (void)wattrset(gpgsawin, A_NORMAL); gpggawin = derwin(devicewin, 9, 30, 6, 50); (void)wborder(gpggawin, 0, 0, 0, 0, 0, 0, 0, 0), (void)syncok(gpggawin, true); (void)wattrset(gpggawin, A_BOLD); (void)mvwprintw(gpggawin, 1, 1, "Time: "); (void)mvwprintw(gpggawin, 2, 1, "Latitude: "); (void)mvwprintw(gpggawin, 3, 1, "Longitude: "); (void)mvwprintw(gpggawin, 4, 1, "Altitude: "); (void)mvwprintw(gpggawin, 5, 1, "Quality: Sats: "); (void)mvwprintw(gpggawin, 6, 1, "HDOP: "); (void)mvwprintw(gpggawin, 7, 1, "Geoid: "); (void)mvwprintw(gpggawin, 8, 12, " GGA "); (void)wattrset(gpggawin, A_NORMAL); /*@ +onlytrans @*/ last_tick = timestamp(); return (nmeawin != NULL); }