Developer Manual
Welcome to choose D300 series Android RTK receiver!
- D303 and D302 comparison
Items | D303 multi-freq | D302 single-freq |
---|---|---|
constellation | GPS/QZSS L1/L2,BDS B1/B2,GLO L1/L2,GAL E1 | GPS L1,GLO L1,BDS B1,GAL E1 |
RTK initial | 10s | 120s |
1.RTK+ service Intro
RTK+ service is a core service integrated in android on D300 series RTK receiver.
RTK+ can configure the following options:
- GNSS constellation type,GPS/GLONASS/GALILEO/BDS
- VRS/CORS base station ntrip/tcp protocol setting
- Receiver mode setting
- rtk engine optimized setting
- output solution setting
- log data stream setting
2.Intent service
RTK+ provide an intent service, so third party software can launch rtk+ setting pages from its own main UI.
This allow an easy integration without open rtk+ from system setting section.
Please reference the following way:
Intent intent = new Intent();
intent.setClassName("com.datagnss.rtkgui","com.datagnss.rtkgui.ui.MainActivity");
try {
startActivity(intent);
} catch (Exception e) {
e.printStackTrace();
}
3.Location service extra data
RTK+ adds a set of location extra information while it's running. Details on location extras can be found in the corresponding Google Android help.
Extra data description:
Key | type | Details |
---|---|---|
hdop | float | HDOP value |
vdop | float | VDOP value |
pdop | float | PDOP value |
diffAge | float | Message age of any RTK message in seconds |
diffRatio | double | RTK ambiguity resolution,ratio |
diffStatus | int | Position solution status: 1=Autonomous, 2=DGPS, 4=Fixed, 5=Float |
vrms | float | Vertical accuracy (RMS) in meters |
hrms | float | Horizontal accuracy (RMS) in meters |
speed | float | speed, m/s |
bearing | float | bearing,degree |
receiverModel | string | Receiver model string,here is D302-RTK |
mockProvider | string | Mock location provider string,here is DATAGNSS RTK+ |
utcTime | long | UTC time,millisecond,from Jan 1,1970 |
AccuracyEstimated | int | accuracy grade estimated,0-none,1-centimeter grade,2-submeter grade,3:1-3m grade,4:\>3m grade |
satellitesUsed | int | Number of satellites used for rtk |
satellitesView | int | Number of satellites in view |
satellitesId | int[] | Array containing IDs of satellites in view. The number of elements in the array is indicated by the satellitesView data specified above. |
satellitesElv | int[] | Array containing elevation angles of satellites in view expressed in rad. The number of elements in the array is indicated by the satellitesView data specified above. Satellite elevations are stored in the same order as their IDs in the satellitesId array specified above. |
satellitesAzm | double[] | Array containing azimuth angles of satellites in view expressed in rad. The number of elements in the array is indicated by the satellitesView data specified above. Satellite azimuth angles are stored in the same order as their IDs in the satellitesId array specified above. |
satellitesSnr | double[] | Array containing signal-to-noise ratio (SNR) values for the satellites in view. The number of elements in the array is indicated by the satellitesView data specified above. SNR values are stored in the same order as the corresponding satellite IDs in the satellitesId array specified above. |
satellitesUse | boolean[] | Array of flags indicating if a particular satellite has been used in a rtk position computation. The number of elements in the array is indicated by the satellitesView data specified above. The flags are stored in the same order as the corresponding satellite IDs in the satellitesId array specified above. |
4.Input and Output stream
RTK+ service provide the following stream:
-
NMEA-0183 data output via Android Location Service
-
GGA
-
GSA
-
GSV
-
GST
Please refer to Android developer guide:
Public methods abstract void onNmeaReceived(long timestamp, String nmea)
Some special RTK data like accuracy, RTK state, HRMS/VRS etc. please refer above extra data list.
5.How to access rtk module in your App
two steps:
user need switch on receiver in RTKGUI app.
you must integrate the following code in your app.
1.Power on rtk module
private static final String ACTION_RUN_CMD_CPUBOOST_START = "com.datagnss.receiver.CPUBOOST.start";
private static final String ACTION_RUN_CMD_CPUBOOST_STOP = "com.datagnss.receiver.CPUBOOST.stop";
private static final String RTKGUI_PKG_NAME = "com.datagnss.rtkgui";
Intent intent = new Intent(ACTION_RUN_CMD_CPUBOOST_START);
intent.setPackage(RTKGUI_PKG_NAME);
startService(intent);
2.create tcp client connect localhost:52001
3.Power off rtk module
before close your app, you need power off rtk module
Intent intent = new Intent(ACTION_RUN_CMD_CPUBOOST_STOP);
intent.setPackage(RTKGUI_PKG_NAME);
startService(intent);
6.Sample Screenshot from Partner
MapIt GIS App is an affordable field gis data collector software.
It fully supports D302/303 rtk+ service.
Mapit Pro is preinstalled on each D303 receiver.
Google play download from Mapit GIS.
7.Change logs
-
2019-01-30 add projection coordinate to extra data structure, proj_a/proj_b/proj_c
-
2019-11-15 revert”add projection coordinate output in extra data”
remove output stream support for nmea and other data output
2019.10 Ver 1.1.0 updated:2019-11-15