Skip to main content

一、Introduction

Product introduction

DELINCOMM

  • Single GPS receiver RG4538
  • GPS&GLONASS receiver RU4538-G
  • GPS&BeiDou (BeiDou)receiver RM4538-B

_images/gnss_RG4538_en.png

DK2635U7F

_images/gnss_DK2635U7F_en.jpg

Detailed parameters

RG4538RM4538-BRU4538-GDK2635U7F
ChipsetG9501MT3333UBX-M8030-KTUBX-G7020-KT
Track sensitivity-165dBm-165dBm-167dBm-162dBm
Power consumptionMax 60mA@3.3VMax 45mA@3.3VMax 40mA@3.3VMax 25mA@3.3V
protocolNMEA-0183NMEA-0183NMEA-0183NMEA-0183
voltage range3.3V~5.0V3.3V~5.0V3.3V~5.0V3.3V~5.0V
Operating Temperature-40℃~85℃-40℃~85℃-40℃~85℃-40℃~85℃
size45x38x13.8mm45x38x13.8mm45x38x13.8mm26x35x8.5mm
CommunicationeUART/TTLUART/TTLUART/TTLUART/TTL
Baud rate9600960096009600
InterfaceXH2.0mm PIN spacing 4Pin L=200cmXH2.0mm PIN spacing 4Pin L=200cmXH2.0mm PIN spacing 4Pin L=200cm

Interface

DELINCOMM

  • VCC: Red wire
  • GND: Black wire
  • TX : White wire
  • RX : Green wire

DK2635U7F

  • VCC: White wire
  • GND: Black wire
  • TX : Blue wire
  • RX : Green wire

二、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

CPUBoard
RK3399AIO-3399C, AIO-3399J, AIO-3399JD4
RK3399ProAIO-3399ProC, AIO-3399Pro-JD4
RK3566AIO-3566JD4
RK3568AIO-3568J
RK3588ITX-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 to true
    • 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, and SERIAL_BAUD_RATE to the baud rate of the corresponding module
  • Reboot the board

Android code modification

  • Enable GPS

    • Modify BOARD_HAS_GPS in device/rockchip/{CPU}/{PRODUCT}/{PRODUCT}.mk in SDK directory to true
  • Modify serial port configuration

    • Modify SERIAL_DEVICE in device/rockchip/{CPU}/{PRODUCT}/gps/u-blox.conf in the SDK directory to the serial port path where the corresponding module is connected, and SERIAL_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

CPUUSB flashSD upgrade
RK3399AIO-3399JD4,AIO-3399J AIO-3399CAIO-3399JD4, AIO-3399J AIO-3399C
RK3399ProAIO-3399Pro-JD4, AIO-3399ProCAIO-3399Pro-JD4, AIO-3399ProC
RK3566AIO-3566JD4AIO-3566JD4
RK3568AIO-3568JAIO-3568J
RK3588ITX-3588J, ROC-RK3588S-PC, AIO-3588SJD4,AIO-3588QITX-3588J, ROC-RK3588S-PC, AIO-3588SJD4,AIO-3588Q

Compile the firmware

RK3399 platform

SystemBoard
Android7.1 IndustryAIO-3399JD4, AIO-3399J, AIO-3399C
UbuntuAIO-3399JD4, AIO-3399J, AIO-3399C
BuildrootAIO-3399JD4, AIO-3399J, AIO-3399C

RK3399Pro platform

SystemBoard
Android9.0AIO-3399Pro-JD4, AIO-3399ProC
UbuntuAIO-3399Pro-JD4, AIO-3399ProC

RK3566 platform

SystemBoard
Android11.0AIO-3566JD4
UbuntuAIO-3566JD4
BuildrootAIO-3566JD4

RK3568 platform

SystemBoard
Android11.0AIO-3568J
UbuntuAIO-3568J
BuildrootAIO-3568J

RK3588 platform

SystemBoard
Android12.0ITX-3588J, ROC-RK3588S-PC, AIO-3588SJD4,AIO-3588Q
BuildrootITX-3588J,ROC-RK3588S-PC,AIO-3588SJD4,AIO-3588Q,AIO-3588MQ,AIO-3588JQ
Ubuntu20.04ITX-3588J,ROC-RK3588S-PC,AIO-3588SJD4,AIO-3588Q,AIO-3588MQ,AIO-3588JQ
Debian11ITX-3588J,ROC-RK3588S-PC,AIO-3588SJD4,AIO-3588Q,AIO-3588MQ,AIO-3588JQ
UbuntuITX-3588J, ROC-RK3588S-PC
BuildrootITX-3588J, ROC-RK3588S-PC