一、Introduction¶
Product introduction¶
DELINCOMM¶
Single GPS receiver RG4538
GPS&GLONASS receiver RU4538-G
GPS&BeiDou (BeiDou)receiver RM4538-B
DK2635U7F¶
Detailed parameters¶
RG4538 | RM4538-B | RU4538-G | DK2635U7F | |
---|---|---|---|---|
Chipset | G9501 | MT3333 | UBX-M8030-KT | UBX-G7020-KT |
Track sensitivity | -165dBm | -165dBm | -167dBm | -162dBm |
Power consumption | Max 60mA@3.3V | Max 45mA@3.3V | Max 40mA@3.3V | Max 25mA@3.3V |
protocol | NMEA-0183 | NMEA-0183 | NMEA-0183 | NMEA-0183 |
voltage range | 3.3V~5.0V | 3.3V~5.0V | 3.3V~5.0V | 3.3V~5.0V |
Operating Temperature | -40℃~85℃ | -40℃~85℃ | -40℃~85℃ | -40℃~85℃ |
size | 45x38x13.8mm | 45x38x13.8mm | 45x38x13.8mm | 26x35x8.5mm |
Communicatione | UART/TTL | UART/TTL | UART/TTL | UART/TTL |
Baud rate | 9600 | 9600 | 9600 | 9600 |
Interface | XH2.0mm PIN spacing 4Pin L=200cm |
XH2.0mm PIN spacing 4Pin L=200cm |
XH2.0mm PIN spacing 4Pin L=200cm |
二、Usage¶
Hardware connection¶
Connect the VCC, GND, TX and RX of the module to 3.3V, GND, RX and TX of {{uart}}(the corresponding node is ) respectively. Pay attention to avoid burning the module due to wrong connection of VCC, GND, TX and RX
For some definitions and descriptions of UART, please refer to the Wiki tutorial “UART Usage” of each board
CPU | Board |
---|---|
RK3399 | AIO-3399C, AIO-3399J, AIO-3399JD4 |
RK3399Pro | AIO-3399ProC, AIO-3399Pro-JD4 |
RK3566 | AIO-3566JD4 |
RK3568 | AIO-3568J |
RK3588 | ITX-3588J , ROC-RK3588S-PC , AIO-3588SJD4,AIO-3588Q |
How to enable GPS and modify serial port configuration ?¶
Android temporary modification¶
Enable ADB: How to enable ADB, refer to the chapter “Using ADB” in the Wiki tutorial of each product.
Set the system to be readable and writable
adb shell setprop persist.sys.root_access 3 adb root && adb remount
Change parameters
Enable GPS: Modify
ro.factory.hasGPS
in/vendor/build.prop
totrue
Modify the serial port configuration: modify the
SERIAL_DEVICE
in the board/system/etc/u-blox.conf
to the serial port path where the corresponding module is connected, andSERIAL_BAUD_RATE
to the baud rate of the corresponding module
Reboot the board
Android code modification¶
Enable GPS
Modify
BOARD_HAS_GPS
indevice/rockchip/{CPU}/{PRODUCT}/{PRODUCT}.mk
in SDK directory totrue
Modify serial port configuration
Modify
SERIAL_DEVICE
indevice/rockchip/{CPU}/{PRODUCT}/gps/u-blox.conf
in the SDK directory to the serial port path where the corresponding module is connected, andSERIAL_BAUD_RATE
to the baud rate of the corresponding module Rate
Recompile the SDK and flash the firmware
FAQ¶
Note:The following content is based on the GPS module’s serial port path /dev/ttysWK2
and baud rate 9600
as an example.
How to judge whether the GPS module hardware connection is correct ?¶
When the GPS module operates according to the Hardware Connection” chapter, through debugging the serial port or adb shell, after executing cat /dev/ttysWK2
, the correct hardware connection will appear The following LOG information.
cat /dev/ttysWK2
$GPRMC,,V,,,,,,,,,,N*53
$GPVTG,,,,,,,,,N*30
$GPGGA,,,,,,0,00,99.99,,,,,,*48
$GPGSA,A,1,,,,,,,,,,,,,99.99,99.99,99.99*30
$GPGLL,,,,,,V,N*64
$GPRMC,,V,,,,,,,,,,N*53
$GPVTG,,,,,,,,,N*30
$GPGGA,,,,,,0,00,99.99,,,,,,*48
$GPGSA,A,1,,,,,,,,,,,,,99.99,99.99,99.99*30
$GPGLL,,,,,,V,N*64
$GPRMC,,V,,,,,,,,,,N*53
$GPVTG,,,,,,,,,N*30
$GPGGA,,,,,,0,00,99.99,,,,,,*48
$GPGSA,A,1,,,,,,,,,,,,,99.99,99.99,99.99*30
$GPGLL,,,,,,V,N*64
$GPRMC,,V,,,,,,,,,,N*53
$GPVTG,,,,,,,,,N*30
$GPGGA,,,,,,0,00,99.99,,,,,,*48
$GPGSA,A,1,,,,,,,,,,,,,99.99,99.99,99.99*30
$GPGLL,,,,,,V,N*64
$GPRMC,,V,,,,,,,,,,N*53
$GPVTG,,,,,,,,,N*30
$GPGGA,,,,,,0,00,99.99,,,,,,*48
$GPGSA,A,1,,,,,,,,,,,,,99.99,99.99,99.99*30
$GPGLL,,,,,,V,N*64
$GPRMC,,V,,,,,,,,,,N*53
$GPVTG,,,,,,,,,N*30
$GPGGA,,,,,,0,00,99.99,,,,,,*48
$GPGSA,A,1,,,,,,,,,,,,,99.99,99.99,99.99*30
$GPGLL,,,,,,V,N*64
...
How to judge whether gps.default.so is loaded normally?¶
When according to “How to enable GPS and modify serial port configuration” section, power on the motherboard again, and execute logcat -s TD1030DBG
through serial port debugging or adb shell, gps.default.so will appear as follows when loading normally LOG information:
logcat -s TD1030DBG
--------- beginning of kernel
--------- beginning of system
--------- beginning of main
06-01 01:38:26.913 254 254 D TD1030DBG: ======ro.factory.hasGPS: true
06-01 01:38:26.913 254 254 D TD1030DBG: Ver:20170626
06-01 01:38:26.913 254 254 D TD1030DBG: Firefly Version: gps_hal-android-arm64-5299e92006fa
06-01 01:38:26.922 254 254 D TD1030DBG: [DebugMask:0x60]
06-01 01:38:26.922 254 254 D TD1030DBG: [PROJECT_NAME : TD1030]
06-01 01:38:26.922 254 254 D TD1030DBG: Uart Path : /dev/ttysWK2
06-01 01:38:26.922 254 254 D TD1030DBG: Uart Baudrate : 9600
06-01 01:38:26.922 254 254 D TD1030DBG: AGPS_PORT:7275
06-01 01:38:26.922 254 254 D TD1030DBG: [AGPS_SERVER : supl.google.com]
06-01 01:38:26.922 254 254 D TD1030DBG: GNSS_MODE:3
06-01 01:38:26.922 254 254 D TD1030DBG: Succeed : Load configfile ok!
06-01 01:38:26.923 254 254 D TD1030DBG: Succeed : open uart /dev/ttysWK2 boadrate = 9600
06-01 01:38:26.924 254 254 V TD1030DBG: UartTxData, do not send data to gps_soc by uart
06-01 01:38:27.074 254 254 V TD1030DBG: UartTxData, do not send data to gps_soc by uart
06-01 01:38:27.224 254 254 V TD1030DBG: UartTxData, do not send data to gps_soc by uart
06-01 01:38:37.447 254 254 D TD1030DBG: Enter : td_bdgps_get_extension(gps-xtra)
06-01 01:38:37.447 254 254 D TD1030DBG: Enter : td_bdgps_get_extension(agps_ril)
06-01 01:38:37.448 254 254 D TD1030DBG: Enter : td_bdgps_get_extension(agps)
06-01 01:38:37.448 254 254 D TD1030DBG: Enter : td_bdgps_get_extension(gps_navigation_message)
06-01 01:38:37.448 254 254 D TD1030DBG: Enter : td_bdgps_get_extension(gps_measurement)
06-01 01:38:37.448 254 254 D TD1030DBG: Enter : td_bdgps_get_extension(gps-debug)
06-01 01:38:37.448 254 254 D TD1030DBG: Enter : td_bdgps_get_extension(gps-ni)
06-01 01:38:37.449 254 254 D TD1030DBG: Enter : td_bdgps_get_extension(gnss_configuration)
06-01 01:38:37.449 254 254 D TD1030DBG: Enter : td_bdgps_get_extension(gps_geofencing)
06-01 01:38:37.450 254 254 D TD1030DBG: Enter : td_bdgps_init
06-01 01:38:37.450 254 254 D TD1030DBG: Enter : gps_state_init
06-01 01:38:37.452 254 254 D TD1030DBG: Enter : td_bd_agps_init
06-01 01:38:37.452 254 254 D TD1030DBG: Succeed : agps init
06-01 01:38:37.453 254 254 D TD1030DBG: Enter : bd_xtra_init
06-01 01:38:37.453 254 254 D TD1030DBG: Enter : td_agps_init
06-01 01:38:37.453 254 254 D TD1030DBG: Enter : td_gps_ni_init
06-01 01:38:37.454 254 254 D TD1030DBG: Enter : td_agps_ril_init
06-01 01:38:37.454 254 254 D TD1030DBG: Enter : td_bdgps_cleanup
06-01 01:38:37.463 254 719 D TD1030DBG: Enter : tdchip_ack_timer_thread(0)
06-01 01:38:37.465 254 254 D TD1030DBG: Enter : td_bdgps_init
06-01 01:38:37.465 254 254 D TD1030DBG: Enter : bd_xtra_init
06-01 01:38:37.466 254 715 D TD1030DBG: Enter : gps_state_thread
06-01 01:38:37.466 254 715 D TD1030DBG: Event : gps control fd event 10
06-01 01:38:37.466 254 717 D TD1030DBG: Enter : supl_client_assist_thread
06-01 01:38:37.467 254 254 D TD1030DBG: Enter : td_agps_init
06-01 01:38:37.467 254 254 D TD1030DBG: Enter : td_gps_ni_init
06-01 01:38:37.468 254 254 D TD1030DBG: Enter : td_agps_ril_init
Among them, you can check whether the serial port path and baud rate set by the software are consistent with the GPS module through the LOG information, such as:
06-01 01:38:26.923 254 254 D TD1030DBG: Succeed : open uart /dev/ttysWK2 boadrate = 9600
If the serial port path does not have 0666 permission, gps.default.so will fail to load, and the following error LOG information will appear:
06-01 01:38:26.923 254 254 D TD1030DBG: ERROR : Uart Open Permission denied
Solution: Give 0666 permission to the serial port path.
The GPS test APK has a small number of stars or fails to locate¶
When the GPS module is connected correctly and gps.default.so is loaded normally, the GPS test APK may find that the number of satellites is small or the positioning fails. It is necessary to check whether the GPS antenna is placed in an open outdoor.
三、Firmware and Resource Download¶
For related documents and firmware download, see Data Download on the official website .
四、Getting Started¶
Flash firmware¶
CPU | USB flash | SD upgrade |
---|---|---|
RK3399 | AIO-3399JD4,AIO-3399J AIO-3399C |
AIO-3399JD4, AIO-3399J AIO-3399C |
RK3399Pro | AIO-3399Pro-JD4, AIO-3399ProC | AIO-3399Pro-JD4, AIO-3399ProC |
RK3566 | AIO-3566JD4 | AIO-3566JD4 |
RK3568 | AIO-3568J | AIO-3568J |
RK3588 | ITX-3588J, ROC-RK3588S-PC, AIO-3588SJD4,AIO-3588Q | ITX-3588J, ROC-RK3588S-PC, AIO-3588SJD4,AIO-3588Q |
Compile the firmware¶
RK3399 platform¶
System | Board |
---|---|
Android7.1 Industry | AIO-3399JD4, AIO-3399J, AIO-3399C |
Ubuntu | AIO-3399JD4, AIO-3399J, AIO-3399C |
Buildroot | AIO-3399JD4, AIO-3399J, AIO-3399C |
RK3399Pro platform¶
System | Board |
---|---|
Android9.0 | AIO-3399Pro-JD4, AIO-3399ProC |
Ubuntu | AIO-3399Pro-JD4, AIO-3399ProC |
RK3566 platform¶
System | Board |
---|---|
Android11.0 | AIO-3566JD4 |
Ubuntu | AIO-3566JD4 |
Buildroot | AIO-3566JD4 |
RK3588 platform¶
System | Board |
---|---|
Android12.0 | ITX-3588J, ROC-RK3588S-PC, AIO-3588SJD4,AIO-3588Q |
Buildroot | ITX-3588J,ROC-RK3588S-PC,AIO-3588SJD4,AIO-3588Q,AIO-3588MQ,AIO-3588JQ |
Ubuntu20.04 | ITX-3588J,ROC-RK3588S-PC,AIO-3588SJD4,AIO-3588Q,AIO-3588MQ,AIO-3588JQ |
Debian11 | ITX-3588J,ROC-RK3588S-PC,AIO-3588SJD4,AIO-3588Q,AIO-3588MQ,AIO-3588JQ |
Ubuntu | ITX-3588J, ROC-RK3588S-PC |
Buildroot | ITX-3588J, ROC-RK3588S-PC |