fdhwlib  2.0.25
GpsServer Class Reference

#include <gpsserver.h>

Inheritance diagram for GpsServer:
SimpleServer BaseServer

List of all members.

Public Types

Public Member Functions

Public Attributes

Static Public Attributes

Private Member Functions


Detailed Description

The class provides the interface to the gps unit.

The messages coming from both modules are analysed and the timing correction parameters are store in a ring buffer. The parameters can be requested via a socket interface.

The server is driven on one side by the messages of the GPS clock and on the other side by the user requests. All states of the GPS hardware is store in the server and transfered by request to the user. The user has not to wait for the Gps hardware to answer. E.g. the number of leap seconds is read from the hardware when the server starts. Any request of a user will return this value stored in the server work space.

Concept of data taking: The server waits for all three messages coming from the Gps hardware. The last is asumed to be the messages from the auger specific clock generation unit (!!F-Message). All messages are parsed and stored in the class variables. At the end of the F-Messages, the data is analysed and written to the ring buffer. The addess of the ring buffer corresponds with the gps second store in this line.

Todo:

Implement the state machine in one function - not distributed! Re-implement selftest and site survey

Add the current leap second to the capture and timing buffer. The leap second information is always needed to convert the time stamp values.

Add unit tests for all gps classes

Todo:
Put the buffers to a shared memory block. In case the program terminates or needs a restart no timestamp will be lost !!! Use a class to implement the buffer handling. Is it possible to restart the server witout loosing any time stamp?
Todo:
Implement / separate the server function and display functions. Implement a display of the complete Ea-messages for the GpsUnit.
Todo:
Move the server interface and all display functions to the class GpsClock. The methods of GpsClock should be used by both sides - client and server!

Definition at line 681 of file gpsserver.h.


Member Enumeration Documentation

Enumerator:
OnCj 
OnFa 
OnCf 
OnAt 

Definition at line 1857 of file gpsserver.h.

           {
    OnCj, // receiver id
    OnFa, // selftest
    OnCf, // reset
    OnAt, // position mode
  };
Enumerator:
kLogNone 
kLogConnection 
kLogGenerator 
kLogInput 
kLogInhibit 
kLogSeconds 

Definition at line 1873 of file gpsserver.h.

                       {
    kLogNone = 0,             // none at all
    kLogConnection = 0x01,    // each connect/disconnect
    kLogGenerator = 0x02,     // 'gpsset gen ...' commands
    kLogInput = 0x04,         // 'gpsset input' and 'gpsset lidar' commands
    kLogInhibit = 0x08,       // 'gpsset inhibit' and 'gpsset relinhibit' cmds
    kLogSeconds = 0x10,       //
  };

List of possible startup modes.

Enumerator:
LISTEN 
SET 
SURVEY 
RESET 

Definition at line 1619 of file gpsserver.h.

Enumerator:
TestConnection 
TestReceiver 
TestInitialization 
InitSetPosition 
InitListen 
GPSTEST_NUM 

Definition at line 1864 of file gpsserver.h.

            {
    TestConnection,
    TestReceiver,
    TestInitialization,
    InitSetPosition,
    InitListen,
    GPSTEST_NUM  // Must be the last entry to get the number of tests
  };  

Constructor & Destructor Documentation

GpsServer::GpsServer ( char *  inifile = "FE.ini")
GpsServer::GpsServer ( char *  inifile,
int  port 
)
GpsServer::~GpsServer ( )

Member Function Documentation

void GpsServer::auger_captureMonitor ( )

Enable/Disable the capture monitor.

void GpsServer::auger_msg_A ( u_char *  buf,
size_t   
)

Decode the status message.

void GpsServer::auger_msg_any ( u_char *  buf,
size_t  len,
int  idx 
) [private]

print auger specific response message.

void GpsServer::auger_msg_C ( u_char *  buf,
size_t   
)

Decode the time measurement from the capture input of the GPS unit.

bool GpsServer::auger_msg_checkFormat ( u_char **  buf,
size_t *  len,
char  cmd,
int  reorder = 1 
)

Analyse the general format of the time correction unit.

If correct the pointer is set to the beginning of the message.

void GpsServer::auger_msg_F ( u_char *  buf,
size_t   
)

Decode the auger specific message F.

The message is intended to send for every second the real length between two second strobes (pps signal).

Todo:
Add analysis of the GPS time correction parameters. Use this values to implement a useful interpolation of possibly missing values!
void GpsServer::auger_msg_G ( u_char *  buf,
size_t   
)

Decode the time counter.

Note: The value of the time counter is also transmitted with every F message (frequency parameters).

void GpsServer::auger_msg_gen_read ( u_char *  buf,
size_t   
)

Read the parameters of the gate generators.

void GpsServer::auger_msg_N ( u_char *  buf,
size_t   
)

Decode the message containing the number of time measurement from the capture input.

The memory of the GPS unit can store maximal 256 time stamps.

Note: This value can be also found in the output of the 'F' message (frequency parameters).

void GpsServer::auger_reset_capture_ram ( )

Reset the capture RAM.

Both pointer for reading and writing are set to the beginning of the memory.

Note: To keep the other parameters of the control register unchanged, a copy of the control register in this class is used.

void GpsServer::auger_sendmsg ( u_char *  ptr,
size_t  len 
)
void GpsServer::auger_set_com_end ( int  milisec)

Set the end of the communication window in mili seconds relative to the second strobe.

void GpsServer::auger_set_com_start ( int  milisec)

Set the begin of the communication window in mili seconds relative to the second strobe.

void GpsServer::auger_set_com_window ( int  tStart,
int  tEnd 
)

Set the communication window interval in mili seconds relative to the second strobe.

void GpsServer::auger_set_control ( int  status)

Set the control register of the time measurement unit.

void GpsServer::auger_set_control ( int  resetCapture,
int  lidarFreq,
int  genMode1,
int  genMode2,
int  genMode3,
int  genMode4,
int  inMode1,
int  inMode2,
int  inMode3,
int  inMode4,
int  genStat1,
int  genStat2,
int  genStat3,
int  genStat4,
int  inStat1,
int  inStat2,
int  inStat3,
int  inStat4 
)

Set the control register of the time measurement unit.

void GpsServer::auger_set_generator_mode ( int  no,
int  mode,
int  stat 
)

Set the mode of the signal generators.

The meaning of the signal can be veto or external trigger.

Parameters:
noNumber of the generator (1..4)
mode0 veto, 1 external trigger
statStatus of the signal generator (0 off, 1 active)

Note: To keep the other parameters of the control register unchanged, a copy of the control register in this class is used.

void GpsServer::auger_set_generator_parameter ( int  no,
unsigned int  startSec,
int  startSubSec,
int  stopSubSec,
int  period,
int  period2,
int  n 
)

Set the signal generator parameters.

void GpsServer::auger_set_generator_parameter ( int  no,
unsigned int  startSec,
int  startSubSec,
int  stopSubSec,
int  period,
int  period2,
int  n,
int  mode,
int  stat 
)

Set the signal generator parameters (including the generator mode).

void GpsServer::auger_set_input_mode ( int  no,
int  mode,
int  stat = -1 
)
void GpsServer::auger_set_lidar_freq ( int  freq)

Set frequency of the LIDAR clock signal.

The GPS clock can provide a clock signal for for the LIDAR of 0Hz (no signal), 20Hz or 334Hz.

Parameters:
freq0 no signal, 20Hz, 334Hz, 1000Hz.

Note: To keep the other parameters of the control register unchanged, a copy of the control register in this class is used.

void GpsServer::auger_set_time ( unsigned int  sec)

Set the second counter of the time measurement unit.

void GpsServer::auger_set_time ( )

Set the second counter of the time measurement unit according to the second counter of the oncore module.

void GpsServer::changeReceiveState ( enum receive_state  state)

Change the receiver state.

void GpsServer::changeSiteSurveyState ( enum site_survey_state  state)

Change the site survey state.

void GpsServer::display ( FILE *  fout,
char *  line,
int  helpLevel 
)
void GpsServer::displayBuffer ( )
void GpsServer::displayTestHeader ( FILE *  fout,
char *  name 
)

Display Header for gpsserver tests.

void GpsServer::executeCmd ( int  client,
short  cmd,
unsigned int *  arg,
short  n 
) [virtual]

Instruction set for client requests.

Reimplemented from SimpleServer.

int GpsServer::findCoordinates ( char *  name,
double *  latitude,
double *  longitude,
double *  height 
)

Find the coordinate of a given position in the data base.

Returns:
Error flag (0 success, 1 error)
int GpsServer::findPositionId ( int *  id,
char *  name 
)

Return the eye station number for the given name Will be -1 in case the position is unknown.

int GpsServer::findPositionName ( int *  id,
std::string *  name,
double  latitude,
double  longitude,
double  height 
)

Find the name of a given position in the data base.

Returns:
Position in the database (not the id of the location!). If the location is unknown -1 is returned.
int GpsServer::findPositionName ( int *  id,
char *  name,
double  latitude,
double  longitude,
double  height 
)
int GpsServer::findPositionName ( int  id,
std::string *  name 
)
int GpsServer::getNCmds ( )

Number of commands in the command list.

void GpsServer::getServerVersion ( int &  ver,
int *  min_ver = NULL,
int *  max_ver = NULL 
)

Get the server version and the FPGA version.

int GpsServer::handle_timeout ( ) [virtual]

Handle timeout.

Reimplemented from BaseServer.

void GpsServer::initGpsserver ( )

Called by the constructor.

void GpsServer::initListen ( )

Init sequence for startup mode listen.

void GpsServer::initSetPosition ( )

Init set position.

void GpsServer::oncore_consume ( ) [private]

Deal with any complete messages Loops over all complete messages in the buffer.

void GpsServer::oncore_disablePositionHoldMode ( )

Disable position hold mode.

void GpsServer::oncore_enablePositionHoldMode ( )

Request clock parameters find out about the postion by comparing the coordinates with the positions in the database and go to position fix mode.

void GpsServer::oncore_get_timestamp ( long  dt1,
long  dt2 
)
void GpsServer::oncore_getId ( )

Get oncore id.

void GpsServer::oncore_getTimezone ( )

Request the timezone form the gpsclock.

void GpsServer::oncore_msg_Aa ( u_char *  buf,
size_t  len 
)

Display initial time.

void GpsServer::oncore_msg_Ab ( u_char *  buf,
size_t   
)
void GpsServer::oncore_msg_Ad ( u_char *  buf,
size_t  len 
)

Display initial coordinates.

void GpsServer::oncore_msg_Ae ( u_char *  buf,
size_t  len 
)

Display initial coordinates.

void GpsServer::oncore_msg_Af ( u_char *  buf,
size_t  len 
)

Display initial coordinates.

void GpsServer::oncore_msg_any ( u_char *  buf,
size_t  len,
int  idx 
) [private]

print Oncore response message.

void GpsServer::oncore_msg_As ( u_char *  buf,
size_t  len 
)

get Position hold position

void GpsServer::oncore_msg_At ( u_char *  buf,
size_t  len 
)

Try to use Oncore UT+ Auto Survey Feature If its not there (VP), set flag to do it ourselves.

void GpsServer::oncore_msg_Aw ( u_char *  buf,
size_t   
)
void GpsServer::oncore_msg_Ay ( u_char *  buf,
size_t  len 
)

get PPS Offset

Nb. @@Ay is not supported for early UT (no plus) model

void GpsServer::oncore_msg_Az ( u_char *  buf,
size_t  len 
)

get Cable Delay

void GpsServer::oncore_msg_BaEaHa ( u_char *  buf,
size_t  len 
)

Ba, Ea and Ha come here.

void GpsServer::oncore_msg_Bj ( u_char *  buf,
size_t  len 
)

get leap-second warning message

@@Bj does NOT behave as documented in current Oncore firmware. It turns on the LEAP indicator when the data is set, and does not, as documented, wait until the beginning of the month when the leap second will occur. Until this firmware bug is fixed, @@Bj is only called in June/December.

void GpsServer::oncore_msg_BnEn ( u_char *  buf,
size_t  len 
)
void GpsServer::oncore_msg_Bo ( u_char *  buf,
size_t   
)
void GpsServer::oncore_msg_CaFaIa ( u_char *  buf,
size_t  len 
)

Here for @@Ca, @@Fa and @@Ia messages.

There are good reasons NOT to do a @@Ca or @@Fa command with the ONCORE. Doing it, it was found that under some circumstances the following command would fail if issued immediately after the return from the @@Fa, but a 2sec delay seemed to fix things. Since simply calling sleep(2) is wastefull, and may cause trouble for some OS's, repeating itimer, we set a flag, and test it at the next POLL. If it hasnt been cleared, we reissue the @@Cj that is issued below. Note that we do a @@Cj at the beginning, and again here. The first is to get the info, the 2nd is just used as a safe command after the @@Fa for all Oncores (and it was in this posn in the original code).

void GpsServer::oncore_msg_Cb ( u_char *  buf,
size_t  len 
)

Demultiplex the almanac into shmem.

void GpsServer::oncore_msg_Cf ( u_char *  buf,
size_t  len 
)

Set to Factory Defaults (Reasonable for UT w/ no Battery Backup not so for VP (eeprom) or any unit with a battery.

void GpsServer::oncore_msg_Ch ( u_char *  buf,
size_t   
)

Acknowledge from writing the almanac to the clock.

void GpsServer::oncore_msg_Cj ( u_char *  buf,
size_t  len 
)

We do an @@Cj twice in the initialization sequence.

  • Once at the very beginning to get the Model number so we know what commands we can issue,
  • And once later after we have done a reset and test, (which may hang), as we are about to initialize the Oncore and start it running.
  • We have one routine below for each case.
void GpsServer::oncore_msg_Cj_id ( u_char *  buf,
size_t  len 
)

The information on determing a Oncore 'Model', viz VP, UT, etc, from the Model Number comes from "Richard M. Hambly" <rick@cnssys.com> and from Motorola.

Until recently Rick was the only source of this information as Motorola didnt give the information out.

void GpsServer::oncore_msg_Cj_init ( u_char *  buf,
size_t  len 
)
void GpsServer::oncore_msg_Gj ( u_char *  buf,
size_t  len 
)

Leap Second for M12, gives all info from satellite message.

void GpsServer::oncore_msg_Sz ( u_char *  buf,
size_t  len 
)
void GpsServer::oncore_print_As ( )
void GpsServer::oncore_receive ( char *  buf,
int  len 
) [private]

move data from NTP to buffer (toss in unlikely case it wont fit)

void GpsServer::oncore_requestPositionHoldMode ( )

Request position mode.

Possible states are hold enabled / disabled or hardware site survey mode.

void GpsServer::oncore_reset ( )

Set oncore module to defaults.

This will stop all messages coming from the gps clock and clear the almanac

void GpsServer::oncore_selftest ( )

Request selftest.

void GpsServer::oncore_sendAlmanac ( char *  file = 0)

Send almanac to gpsclock.

void GpsServer::oncore_sendmsg ( u_char *  ptr,
size_t  len 
)
void GpsServer::oncore_setInitialPosition ( char *  pos)

Set initial position This command is useful to speed up the configuration phase after reset.

void GpsServer::oncore_setInitialTime ( )

Set time and date of oncore module.

This command is useful to speed up the configuration phase after reset

void GpsServer::oncore_setPosition ( char *  pos_name)

Initialize gpsclock using a given fixed position.

void GpsServer::oncore_setTimezone ( int  tz)

Set the timezone of the gpsclock.

int GpsServer::oncore_start ( )
void GpsServer::oncore_update_state ( ) [private]

Gpsserver state machine to handle the communication with the gps clock.

Call this function after reception of each message fron the gps clock. The communication will be performed by class member variables.

int GpsServer::read_from_client ( int  fd) [virtual]

Re-implements the standard function, in order to destinguish between GPS messages and client requests.

Reimplemented from SimpleServer.

int GpsServer::read_from_keyboard ( ) [virtual]

Instruction set for keyboard commands.

Reimplemented from BaseServer.

void GpsServer::receiveMessages ( ) [private]
int GpsServer::refclock_close ( )

Close connectrion to the gpsclock.

int GpsServer::refclock_ioctl ( int  fd,
int  flags 
)
int GpsServer::refclock_open ( char *  dev,
int  speed,
int  lflags 
)
void GpsServer::requestStatus ( )

Request gps clock parameter.

void GpsServer::run ( int  debugLevel = 0,
int  unit = -1,
int  runDaemon = 0 
)

Start the gps server.

It will wait for messages from the GSP modules and answer requests from the clients.

Parameters:
debugLevel
unitDefines the number of the gps unit to be used. The numbers correspond with the devices /dev/oncore.serial.<n>. Negative numbers are considered don't care. The number will be defined by the inifile parameter "unit". The number have to be positve. Negative numbers are used for connections to gps proxy servers.
runDaemon
void GpsServer::setParameter ( )

Perform the initialization of the GPS Clock.

void GpsServer::setServerVersion ( int  ver,
const char *  buildnote = 0 
)

Set the server version.

The version number has to be multiplied by 100. An additional build note can be specified.

void GpsServer::startTest ( enum  test)

Start the communication test.

void GpsServer::testConnection ( )

State machine for the connection to the Gps clock by requesting the oncore ID.

The test is successful, if the message is received.

Returns:
Test result (0 Ok, 1 error).
void GpsServer::testHandler ( )

Call all implemented tests.

void GpsServer::testInitialization ( )

Test init sequence.

Reset the GPS receiver and wait for the clock to go to 3D position mode. The time for the init phases are writen to a logfile.

The init phases are:

  • Load almanac
  • Get date and time
  • Find satelites
  • Get position

The initialization can be accelerated by loading an known almanac, date, time and initial position.

Returns:
Test result (0 Ok, 1 error).
void GpsServer::testReceiver ( )

Test the sanity of the Gps receiver by performing a self-test.

The test is successful, if all subsystems are OK.

Returns:
Test result (0 Ok, 1 error).
void GpsServer::testStatus ( )

Display status of the tests.


Member Data Documentation

Definition at line 1713 of file gpsserver.h.

Definition at line 1712 of file gpsserver.h.

u_char GpsServer::almanac[34][28]

Almanac The alamanac is stored in Cb messages format.

Definition at line 1844 of file gpsserver.h.

u_char GpsServer::As

Definition at line 1605 of file gpsserver.h.

Definition at line 1613 of file gpsserver.h.

u_char GpsServer::auger_cmd_A[] [static]

Request the trigger time window control register.

Through the control register the meaning of the time windows is defined. Possible values are:

  • Inhibit: Measurement is stopped?!
  • Veto: No triggers are generated. Although there might be quite bright light sources outside.
  • External triggers: All events recorded during the time window are labeled as external.
  • Normal: The window is not considered. All events during recorded and labeled as usual.

The status will be send in a message with 1 byte data.

 Time window control register:
 | bit 7 | bit 6 | bit 5 | bit 4 | ...
 |   windows 4   |   window 3    | ...
 | value | meaning of the window        |
 |  00   | inhibit                      |
 |  01   | veto                         |
 |  10   | external trigger             |
 |  11   | normal (windows is inactive) |
  *

Definition at line 998 of file gpsserver.h.

u_char GpsServer::auger_cmd_B[] [static]

Set begin of time window for communication via RS232 interface.

Both parts of the GPS unit send periodically data. The GPS oncore module uses normally the first 200ms after the second strobe. The rest of the second can be used by the auger specific part.

The parameter defines the delay in units of 4ms (e.g. a value of 125 will cause a transmission 125 x 4ms = 0.5s after the begin of the second.)

Definition at line 1020 of file gpsserver.h.

u_char GpsServer::auger_cmd_C[] [static]

Definition at line 1061 of file gpsserver.h.

u_char GpsServer::auger_cmd_D[] [static]

Disable sendig timing accurancy information.

Definition at line 1037 of file gpsserver.h.

u_char GpsServer::auger_cmd_E[] [static]

Set end of the time window for communication via RS232 interface (see "Set begin of time windows for communication via RS232 interface" )

Definition at line 1025 of file gpsserver.h.

u_char GpsServer::auger_cmd_F[] [static]

Enable sending timing accurancy information via RS232 information.

The timing information is send to the PC every second during the communication time window.

Definition at line 1033 of file gpsserver.h.

u_char GpsServer::auger_cmd_G[] [static]

Request the second counter of the auger specific module.

The acknowlegde contains 4bytes with the actual value of the counter.

Definition at line 1054 of file gpsserver.h.

Set begin or end of a trigger time window.

During this window depending on the control register the inhibit and/or external trigger signal to the camera electronic is active. Using this signals the electronic is able to label incoming events originating from artifical light sources (laser, flasher, ...).

The clock provides up to 4 different windows. The start point is set with the commands '1' to '4', the end point uses the commands '5' to '8'. For every start / stop time two counters for the miliseconds and the microseconds relative to the second strobe signal have to be specified. The command will give no acknowlegde.

 | byte 0 | byte 1 | byte 2 | byte 3 |
 |  high     low   |   high    low   |
 |  milisec 0..999 |  usec 0 ...999  |
  *

Definition at line 967 of file gpsserver.h.

u_char GpsServer::auger_cmd_gen_read[] [static]

Definition at line 969 of file gpsserver.h.

u_char GpsServer::auger_cmd_I[] [static]

Definition at line 1057 of file gpsserver.h.

u_char GpsServer::auger_cmd_N[] [static]

Definition at line 1062 of file gpsserver.h.

u_char GpsServer::auger_cmd_P[] [static]

Definition at line 1065 of file gpsserver.h.

u_char GpsServer::auger_cmd_R[] [static]

Definition at line 1058 of file gpsserver.h.

u_char GpsServer::auger_cmd_S[] [static]

Set the trigger time window control register.

(see "Request trigger time window control register")

The command send 1 byte of information and receives no acknolegde The argument allays contains the information for all the windows.

Definition at line 1007 of file gpsserver.h.

u_char GpsServer::auger_cmd_S400[] [static]

Definition at line 1008 of file gpsserver.h.

u_char GpsServer::auger_cmd_T[] [static]

Set the second counter of the auger specific module.

The counter is indepentdant from the oncore GPS module. Every time reset is pressed the counter will be cleared. The value of the counter is used as a time stamp for the time accurancy information.

The counter is 32bit wide integer.

Definition at line 1047 of file gpsserver.h.

struct msg_desc GpsServer::auger_messages[] [static]

Signature of the messages from the auger specific part of the GPS unit.

Definition at line 1076 of file gpsserver.h.

Difference auger counter - pc time.

Definition at line 1654 of file gpsserver.h.

unsigned int GpsServer::augerSecond

Second counter of the Auger FD FPGA.

The counter uses the GPS second format.

Definition at line 1651 of file gpsserver.h.

unsigned int GpsServer::augerStatus

Definition at line 1716 of file gpsserver.h.

Definition at line 1753 of file gpsserver.h.

u_char GpsServer::Ay

Definition at line 1606 of file gpsserver.h.

u_char GpsServer::Az

Definition at line 1607 of file gpsserver.h.

Definition at line 1558 of file gpsserver.h.

struct termios GpsServer::bufferedTio

Buffered terminal settings.

Definition at line 1546 of file gpsserver.h.

Delay of the capture logic [ns].

Definition at line 1710 of file gpsserver.h.

unsigned char GpsServer::capturedLeft

Definition at line 1725 of file gpsserver.h.

Definition at line 1724 of file gpsserver.h.

Define the edge of the signal that should be provided by the capture proxy server (0 falling, 1 rising, 2 both)

Definition at line 1698 of file gpsserver.h.

Format of the capture strings.

Definition at line 1694 of file gpsserver.h.

Name of the pseudo serial port for the capture messages.

Definition at line 1691 of file gpsserver.h.

6 for PVT6 or BASIC, 8 for UT/VP, 12 for m12, 0 if unknown

Definition at line 1590 of file gpsserver.h.

Definition at line 1661 of file gpsserver.h.

u_char GpsServer::Cj[300]

Definition at line 1604 of file gpsserver.h.

struct cmd_desc GpsServer::cmd_list[] [static]

List of the oncore commands.

Definition at line 1080 of file gpsserver.h.

Number of auger A-messages that were received.

The number is analysed by the F message.

Definition at line 1734 of file gpsserver.h.

Flag indicating that a command A was send.

The flag is leared by A message

Definition at line 1729 of file gpsserver.h.

int GpsServer::cmdPending[GPSCMD_MAX]

Definition at line 1884 of file gpsserver.h.

cycles thru Ea before starting

Definition at line 1612 of file gpsserver.h.

Debug level, where 0 means less output and 1 or higher will produce more information.

Reimplemented from BaseServer.

Definition at line 1665 of file gpsserver.h.

Definition at line 1666 of file gpsserver.h.

ns

Definition at line 1560 of file gpsserver.h.

std::string GpsServer::device

Definition at line 1530 of file gpsserver.h.

double GpsServer::dH

Definition at line 1576 of file gpsserver.h.

Flag to enable the capture monitor.

Definition at line 1704 of file gpsserver.h.

Stored capture display flag during keyboard input.

Definition at line 1707 of file gpsserver.h.

Definition at line 1670 of file gpsserver.h.

u_char GpsServer::Ea[160]

Ba, Ea or Ha

Definition at line 1601 of file gpsserver.h.

u_char GpsServer::En[70]

Bn or En

Definition at line 1603 of file gpsserver.h.

Definition at line 1598 of file gpsserver.h.

File descriptor id for the catpture messages.

Definition at line 1701 of file gpsserver.h.

File descriptor for the test log file.

Definition at line 1916 of file gpsserver.h.

Definition at line 1742 of file gpsserver.h.

Definition at line 1738 of file gpsserver.h.

Definition at line 1745 of file gpsserver.h.

Definition at line 1743 of file gpsserver.h.

Definition at line 1744 of file gpsserver.h.

unsigned int GpsServer::genStartSec[4]

Definition at line 1740 of file gpsserver.h.

Definition at line 1741 of file gpsserver.h.

Definition at line 1739 of file gpsserver.h.

Definition at line 1791 of file gpsserver.h.

Definition at line 1882 of file gpsserver.h.

Definition at line 1608 of file gpsserver.h.

std::string GpsServer::host

Definition at line 1532 of file gpsserver.h.

std::string GpsServer::inifile

Definition at line 1823 of file gpsserver.h.

Definition at line 1609 of file gpsserver.h.

Definition at line 1789 of file gpsserver.h.

Definition at line 1747 of file gpsserver.h.

Definition at line 1748 of file gpsserver.h.

List of instruction sets.

Definition at line 1838 of file gpsserver.h.

Definition at line 1750 of file gpsserver.h.

u_char GpsServer::LastEa[160]

Definition at line 1602 of file gpsserver.h.

Definition at line 1736 of file gpsserver.h.

Definition at line 1655 of file gpsserver.h.

Definition at line 1720 of file gpsserver.h.

int GpsServer::lidarModeFreq[] [static]

Definition at line 1722 of file gpsserver.h.

Definition at line 1719 of file gpsserver.h.

Definition at line 1718 of file gpsserver.h.

Definition at line 1721 of file gpsserver.h.

std::string GpsServer::line

Input line buffer.

Definition at line 1832 of file gpsserver.h.

Definition at line 1538 of file gpsserver.h.

Master server file descriptor

Definition at line 1540 of file gpsserver.h.

Definition at line 1781 of file gpsserver.h.

0D, 2D, 3D

Definition at line 1555 of file gpsserver.h.

Definition at line 1586 of file gpsserver.h.

Pointer to the next messages.

Definition at line 1847 of file gpsserver.h.

Pointer to the next messages to be send to the clock.

Definition at line 1850 of file gpsserver.h.

Definition at line 1662 of file gpsserver.h.

Definition at line 1714 of file gpsserver.h.

Definition at line 1656 of file gpsserver.h.

Definition at line 1663 of file gpsserver.h.

Definition at line 1765 of file gpsserver.h.

Definition at line 1766 of file gpsserver.h.

Definition at line 688 of file gpsserver.h.

Definition at line 1771 of file gpsserver.h.

Definition at line 1767 of file gpsserver.h.

Definition at line 1761 of file gpsserver.h.

Receive state

Definition at line 1554 of file gpsserver.h.

ns

Definition at line 1561 of file gpsserver.h.

u_char GpsServer::oncore_cmd_Aa[] [static]

Definition at line 839 of file gpsserver.h.

u_char GpsServer::oncore_cmd_Aa0[] [static]

Definition at line 841 of file gpsserver.h.

u_char GpsServer::oncore_cmd_Ab[] [static]

Definition at line 843 of file gpsserver.h.

u_char GpsServer::oncore_cmd_AB[] [static]

Application type = static.

Definition at line 873 of file gpsserver.h.

u_char GpsServer::oncore_cmd_Ab0[] [static]

Definition at line 845 of file gpsserver.h.

u_char GpsServer::oncore_cmd_Ab_set[] [static]

Definition at line 847 of file gpsserver.h.

u_char GpsServer::oncore_cmd_Ac[] [static]

Definition at line 849 of file gpsserver.h.

u_char GpsServer::oncore_cmd_Ad[] [static]

Position Set.

Definition at line 804 of file gpsserver.h.

u_char GpsServer::oncore_cmd_Ae[] [static]

Definition at line 805 of file gpsserver.h.

u_char GpsServer::oncore_cmd_Af[] [static]

Definition at line 806 of file gpsserver.h.

u_char GpsServer::oncore_cmd_As[] [static]

0D/2D Position and Set.

Definition at line 821 of file gpsserver.h.

u_char GpsServer::oncore_cmd_Asx[] [static]

Definition at line 822 of file gpsserver.h.

u_char GpsServer::oncore_cmd_At[] [static]

Definition at line 816 of file gpsserver.h.

u_char GpsServer::oncore_cmd_At0[] [static]

Position-Hold Mode Start automatic site survey.

Definition at line 813 of file gpsserver.h.

u_char GpsServer::oncore_cmd_At1[] [static]

Definition at line 814 of file gpsserver.h.

u_char GpsServer::oncore_cmd_At2[] [static]

Definition at line 815 of file gpsserver.h.

u_char GpsServer::oncore_cmd_Au[] [static]

Definition at line 823 of file gpsserver.h.

u_char GpsServer::oncore_cmd_Av0[] [static]

Definition at line 825 of file gpsserver.h.

u_char GpsServer::oncore_cmd_Av1[] [static]

Definition at line 826 of file gpsserver.h.

u_char GpsServer::oncore_cmd_Aw[] [static]

Set time mode (GPS/UTC).

Definition at line 835 of file gpsserver.h.

u_char GpsServer::oncore_cmd_Aw0[] [static]

Definition at line 836 of file gpsserver.h.

u_char GpsServer::oncore_cmd_Aw1[] [static]

Definition at line 837 of file gpsserver.h.

u_char GpsServer::oncore_cmd_Ay[] [static]

Read back PPS Offset for Output.

Definition at line 861 of file gpsserver.h.

u_char GpsServer::oncore_cmd_Ayx[] [static]

Definition at line 862 of file gpsserver.h.

u_char GpsServer::oncore_cmd_Az[] [static]

Read back Cable Delay for Output.

Definition at line 867 of file gpsserver.h.

u_char GpsServer::oncore_cmd_Azx[] [static]

Definition at line 868 of file gpsserver.h.

u_char GpsServer::oncore_cmd_Ba[] [static]

Definition at line 907 of file gpsserver.h.

u_char GpsServer::oncore_cmd_Ba0[] [static]

Definition at line 911 of file gpsserver.h.

u_char GpsServer::oncore_cmd_Bb[] [static]

Visible Satellite Status Msg.

Definition at line 878 of file gpsserver.h.

u_char GpsServer::oncore_cmd_Be[] [static]

Output Almanac when it changes.

Definition at line 855 of file gpsserver.h.

u_char GpsServer::oncore_cmd_Be0[] [static]

Definition at line 856 of file gpsserver.h.

u_char GpsServer::oncore_cmd_Bj[] [static]

Leap Second Pending Message Request message once.

Definition at line 884 of file gpsserver.h.

u_char GpsServer::oncore_cmd_Bn[] [static]

Definition at line 928 of file gpsserver.h.

u_char GpsServer::oncore_cmd_Bn0[] [static]

Definition at line 929 of file gpsserver.h.

u_char GpsServer::oncore_cmd_Bo0[] [static]

Definition at line 940 of file gpsserver.h.

u_char GpsServer::oncore_cmd_Bo1[] [static]

Definition at line 941 of file gpsserver.h.

u_char GpsServer::oncore_cmd_Ca[] [static]

Self-test.

Definition at line 934 of file gpsserver.h.

u_char GpsServer::oncore_cmd_Cf[] [static]

Set to Defaults.

Definition at line 890 of file gpsserver.h.

u_char GpsServer::oncore_cmd_Cg[] [static]

Set to Position Fix mode (only needed on VP).

Definition at line 895 of file gpsserver.h.

u_char GpsServer::oncore_cmd_Cj[] [static]

Receiver Id.

Definition at line 900 of file gpsserver.h.

u_char GpsServer::oncore_cmd_Ea[] [static]

Position/Status/Data message Send once per second.

Definition at line 906 of file gpsserver.h.

u_char GpsServer::oncore_cmd_Ea0[] [static]

Definition at line 909 of file gpsserver.h.

u_char GpsServer::oncore_cmd_Ea1[] [static]

Definition at line 910 of file gpsserver.h.

u_char GpsServer::oncore_cmd_Ek[] [static]

Position/Status Extension Msg.

Definition at line 916 of file gpsserver.h.

u_char GpsServer::oncore_cmd_En[] [static]

Time Raim Setup & Status Message Send once per second Time-RAIM on Alarm limit 1us PPS on when we have the first sat.

Definition at line 925 of file gpsserver.h.

u_char GpsServer::oncore_cmd_En0[] [static]

Definition at line 926 of file gpsserver.h.

u_char GpsServer::oncore_cmd_EnDef[] [static]

Definition at line 927 of file gpsserver.h.

u_char GpsServer::oncore_cmd_Fa[] [static]

Definition at line 935 of file gpsserver.h.

u_char GpsServer::oncore_cmd_Ga[] [static]

Definition at line 807 of file gpsserver.h.

u_char GpsServer::oncore_cmd_Gd0[] [static]

Definition at line 828 of file gpsserver.h.

u_char GpsServer::oncore_cmd_Gd1[] [static]

Definition at line 829 of file gpsserver.h.

u_char GpsServer::oncore_cmd_Gd2[] [static]

Definition at line 830 of file gpsserver.h.

u_char GpsServer::oncore_cmd_Gj[] [static]

Definition at line 885 of file gpsserver.h.

u_char GpsServer::oncore_cmd_Ha[] [static]

Definition at line 908 of file gpsserver.h.

u_char GpsServer::oncore_cmd_Ia[] [static]

Definition at line 936 of file gpsserver.h.

struct msg_desc GpsServer::oncore_messages[] [static]

Definition at line 1072 of file gpsserver.h.

Definition at line 1794 of file gpsserver.h.

Difference oncore - PC time.

Definition at line 1645 of file gpsserver.h.

unsigned int GpsServer::oncoreError

Number of oncore errors, counter reset if no error.

Definition at line 1647 of file gpsserver.h.

Time of the oncore module.

Stored as second counter in GPS format. The conter is set in the F-message

Definition at line 1642 of file gpsserver.h.

struct termios GpsServer::oncoreTio

Settings of serial device for WG devices.

Definition at line 1543 of file gpsserver.h.

The time transmitted by the oncore module (mesages Ea) is converted by standard c libraries to a second counter in UTC format.

The counter is valid after F-massage.

Definition at line 1634 of file gpsserver.h.

Stores temporary oncore time in UTC format.

Will be copied to oncoreUtcSecond when F-message arrives.

Definition at line 1638 of file gpsserver.h.

Definition at line 1534 of file gpsserver.h.

Definition at line 1597 of file gpsserver.h.

Definition at line 1596 of file gpsserver.h.

Definition at line 1777 of file gpsserver.h.

Definition at line 1773 of file gpsserver.h.

Definition at line 1775 of file gpsserver.h.

Definition at line 1776 of file gpsserver.h.

std::string GpsServer::pos_name

Definition at line 1774 of file gpsserver.h.

struct posData GpsServer::posDatabase[POS_DATABASE_LEN]

Definition at line 1783 of file gpsserver.h.

Definition at line 1784 of file gpsserver.h.

Definition at line 1578 of file gpsserver.h.

Definition at line 1785 of file gpsserver.h.

Definition at line 1533 of file gpsserver.h.

PPS configuration (see ntp_config.c)

Definition at line 1523 of file gpsserver.h.

pps_handle_t GpsServer::pps_h

Definition at line 1551 of file gpsserver.h.

Definition at line 1524 of file gpsserver.h.

pps_params_t GpsServer::pps_p

Definition at line 1552 of file gpsserver.h.

PPS file descriptor

Definition at line 1537 of file gpsserver.h.

Definition at line 1595 of file gpsserver.h.

Definition at line 1675 of file gpsserver.h.

Pointer to the next write position in the buffer.

Definition at line 1682 of file gpsserver.h.

Set of the active sockets that are connected to the raw message stream.

Definition at line 1828 of file gpsserver.h.

u_char GpsServer::rcvbuf[500]

Definition at line 1520 of file gpsserver.h.

u_char GpsServer::Rcvbuf[500]

Definition at line 1600 of file gpsserver.h.

File descriptor masks etc.

for call to select Receive buffer

Definition at line 1519 of file gpsserver.h.

Definition at line 1599 of file gpsserver.h.

Definition at line 1583 of file gpsserver.h.

unsigned short GpsServer::receiverStatus

Result of the last selftest.

Definition at line 1888 of file gpsserver.h.

Definition at line 1588 of file gpsserver.h.

bits extracted from Receiver Status Msg in @@Ea

Definition at line 1594 of file gpsserver.h.

Definition at line 1527 of file gpsserver.h.

Definition at line 1614 of file gpsserver.h.

Definition at line 1610 of file gpsserver.h.

Definition at line 1787 of file gpsserver.h.

Definition at line 1756 of file gpsserver.h.

Definition at line 1755 of file gpsserver.h.

Definition at line 1660 of file gpsserver.h.

Shell object for the keyboard interface.

Definition at line 1835 of file gpsserver.h.

Definition at line 1563 of file gpsserver.h.

Definition at line 1566 of file gpsserver.h.

Definition at line 1565 of file gpsserver.h.

Definition at line 1567 of file gpsserver.h.

Definition at line 1569 of file gpsserver.h.

Definition at line 1564 of file gpsserver.h.

Definition at line 1568 of file gpsserver.h.

Definition at line 1571 of file gpsserver.h.

Definition at line 1570 of file gpsserver.h.

Definition at line 1768 of file gpsserver.h.

Definition at line 1762 of file gpsserver.h.

Site Survey state

Definition at line 1556 of file gpsserver.h.

Definition at line 1577 of file gpsserver.h.

Definition at line 1581 of file gpsserver.h.

Definition at line 1575 of file gpsserver.h.

Definition at line 1573 of file gpsserver.h.

Definition at line 1574 of file gpsserver.h.

Definition at line 1579 of file gpsserver.h.

Definition at line 1778 of file gpsserver.h.

Definition at line 1580 of file gpsserver.h.

Startup mode.

Definition at line 1627 of file gpsserver.h.

Status shm descriptor

Definition at line 1549 of file gpsserver.h.

struct secTiming GpsServer::tBuffer[T_BUFFER_LEN]

Buffer to store the messages that come every second.

The parameters can be used for a time correction.

Definition at line 1674 of file gpsserver.h.

struct captureTimeStamp GpsServer::tCapture[2][T_CAPTURE_LEN]

Buffer to store the time stamps of signal at the two capture inputs.

There are separate buffers for both capture inputs.

Definition at line 1680 of file gpsserver.h.

int GpsServer::testPhase[GPSTEST_MAX]

Test phase.

Each test has it's own test phases that follow eac other. The transition from one phase to the next one is defined by certain messages from the oncore module.

Definition at line 1896 of file gpsserver.h.

unsigned int GpsServer::testStart[GPSTEST_MAX]

Begin of the actual test phase.

Definition at line 1899 of file gpsserver.h.

Definition at line 1657 of file gpsserver.h.

count to retry Cj after Fa self-test

Definition at line 1611 of file gpsserver.h.

Definition at line 1658 of file gpsserver.h.

unsigned int GpsServer::tPC_Ea

PC Time when receiving the Ea message.

Definition at line 1855 of file gpsserver.h.

Definition at line 1770 of file gpsserver.h.

do we have traim? yes UT/VP, no BASIC, GT, -1 unknown, 0 no, +1 yes

Definition at line 1591 of file gpsserver.h.

seconds counter, waiting for reply

Definition at line 1592 of file gpsserver.h.

TTY file descriptor

Definition at line 1536 of file gpsserver.h.

127.127.30.unit

Definition at line 1531 of file gpsserver.h.

Activate capture output to a pseudo serial port.

The proxy server can only be started together with the gpsserver. The parameters are read from the inifile in section [CaptureProxy].

Definition at line 1688 of file gpsserver.h.

Connection to Master socket

Definition at line 1539 of file gpsserver.h.

Definition at line 1587 of file gpsserver.h.


The documentation for this class was generated from the following file: