This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
sdk:gps2serial [2020/03/25 12:07] – fachet | sdk:gps2serial [2020/03/25 12:21] (current) – fachet | ||
---|---|---|---|
Line 5: | Line 5: | ||
===== Script Summary | ===== Script Summary | ||
- | This Script connects to the GPS server | + | This Script connects to the GPS server |
+ | GPS must be enabled and in RAW mode. | ||
The default serial parameters for GPS are 4800 8N1 (8 databit, no parity, 1 stop bit, no flow controll). This parameter can be configured at the begining of the script. | The default serial parameters for GPS are 4800 8N1 (8 databit, no parity, 1 stop bit, no flow controll). This parameter can be configured at the begining of the script. | ||
Please use if possible a higher data rate e.g. 115200. | Please use if possible a higher data rate e.g. 115200. | ||
Line 25: | Line 25: | ||
Detailed step by step instructions how to install a sdk script can be found [[sdk: | Detailed step by step instructions how to install a sdk script can be found [[sdk: | ||
- | Please combine this script with the **" | + | Please combine this script with the **" |
- | + | ||
- | This script does not need any configuration, | + | |
- | + | ||
- | <code c> | + | |
- | + | ||
- | /* Serial Baud Rate 4800, 9600, 19200, 38400, 57600, 115200 */ | + | |
- | SER_SPEED=4800; | + | |
- | /* number of data bits (5, 6, 7, 8) */ | + | |
- | SER_DATABIT=8; | + | |
- | /* number of stop bits (1, 2) */ | + | |
- | SER_STOPBIT=1; | + | |
- | /* parity (0=no parity, 1=odd parity, 2=even parity) */ | + | |
- | SER_PARITY=0; | + | |
- | /* flow control (0=none, 1=xon/xoff, 2=hardware) */ | + | |
- | SER_FLOW=0; | + | |
- | /* name of the Serial Interface (Only changed if your device has more then one serial Interface (NB3710) */ | + | |
- | DEV = " | + | |
- | + | ||
- | + | ||
- | </ | + | |
- | + | ||
- | ===== Testing ====== | + | |
- | + | ||
- | To be sure the script is running you can take a look on the [[http:// | + | |
- | <code bash> | + | |
- | Apr 23 00:53:41 NB2700 user.info sdkhost[2283]: | + | |
- | Apr 23 00:53:42 NB2700 user.info sdkhost[2283]: | + | |
- | Apr 23 00:53:42 NB2700 user.info sdkhost[2283]: | + | |
- | Apr 23 00:53:42 NB2700 user.info sdkhost[2283]: | + | |
- | Apr 23 00:53:42 NB2700 user.info sdkhost[2283]: | + | |
- | Apr 23 00:53:42 NB2700 user.info sdkhost[2283]: | + | |
- | Apr 23 00:54:08 NB2700 user.info sdkhost[2283]: | + | |
- | Apr 23 00:54:09 NB2700 user.info sdkhost[2283]: | + | |
- | Apr 23 00:54:09 NB2700 user.info sdkhost[2283]: | + | |
- | Apr 23 00:54:09 NB2700 user.info sdkhost[2283]: | + | |
- | Apr 23 00:54:09 NB2700 user.info sdkhost[2283]: | + | |
- | + | ||
- | </ | + | |
===== The Script ===== | ===== The Script ===== | ||
Line 87: | Line 49: | ||
int start_serial() { | int start_serial() { | ||
+ | if (nb_config_get(" | ||
+ | nb_syslog(" | ||
+ | exit(2); | ||
+ | } | ||
// printf(" | // printf(" | ||
if ((rc = nb_serial_setattr(DEV, | if ((rc = nb_serial_setattr(DEV, | ||
Line 104: | Line 70: | ||
if (nb_config_get(" | if (nb_config_get(" | ||
nb_syslog(" | nb_syslog(" | ||
- | exit(2); | + | exit(3); |
} | } | ||
while (1) { | while (1) { | ||
Line 126: | Line 92: | ||
if ((serial_fd = start_serial()) < 0 ) { | if ((serial_fd = start_serial()) < 0 ) { | ||
nb_syslog(" | nb_syslog(" | ||
- | exit(3); | + | exit(4); |
} | } | ||
// printf(" | // printf(" | ||
Line 140: | Line 106: | ||
if (rv < 0 || ( data = recv(gpsd)) == "" | if (rv < 0 || ( data = recv(gpsd)) == "" | ||
nb_syslog(" | nb_syslog(" | ||
+ | close(gpsd); | ||
if ((gpsd = connect_gpsd()) < 0) | if ((gpsd = connect_gpsd()) < 0) | ||
- | exit(4); /* can't connect */ | + | exit(5); /* can't connect */ |
continue; | continue; | ||
} | } | ||
Line 152: | Line 119: | ||
close(gpsd); | close(gpsd); | ||
close(serial_fd); | close(serial_fd); | ||
- | exit(5); | + | exit(6); |
</ | </ | ||