Buenas tardes compañeros.
Aclarando que estoy trabajando con el UART1 Y con loa pines P9_24 Y 26 y el P9_17 para ra señal de PPS, e revisado con un hociloscopio mi gps GT-U7 y este si da la señal del pps.
/dts-v1/;
/plugin/;
/{
compatible = "ti,beaglebone-black";
part-number = "BB-UART1-GPS";
version = "00A0";
exclusive-use = "P9.12", "P9.24", "P9.26", "uart1";
fragment@0 {
target=<&ocp>;
__overlay__ {
P9_17_pinmux {status = "disabled";};
P9_24_pinmux {status = "disabled";};
P9_26_pinmux {status = "disabled";};
};
};
fragment@1 {
target = <&am33xx_pinmux>;
__overlay__ {
bb_uart1_pins: pinmux_bb_uart1_pins {
pinctrl-single,pins = <
0x044 0x26 // P9_24, uart1_txd.uart1_txd
0x046 0x26 // P9_26, uart1_rxd.uart1_rxd
>;
};
bb_gps_pps_pins: pinmux_bb_gps_pps_pins {
pinctrl-single,pins = <
0x15D 0x27 // P9_12, pps-gpio
>;
};
};
};
fragment@2 {
target = <&uart1>;
__overlay__ {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&bb_uart1_pins>;
};
};
fragment@3 {
target-path = "/";
__overlay__ {
gps_pps {
status = "okay";
compatible = "pps-gpio";
pinctrl-names = "default";
pinctrl-0 = <&bb_gps_pps_pins>;
gpios = <&gpio1 29 0>;
};
};
};
};
Posteriormente realice los siguientes pasos:
dtc -O dtb -o BB-UART1-GPS-00A0.dtbo -b 0 BB-UART1-GPS-00A0.dts
sudo mv BB-UART1-GPS-00A0.dtbo /lib/firmware
Luego hice una modificacion en el archivo uEvn.txt
agregando la linea uboot_overlay_addr0=/lib/firmware/BB-UART1-GPS-00A0.dtbo
#Docs: http://elinux.org/Beagleboard:U-boot_partitioning_layout_2.0
uname_r=4.19.94-ti-r42
#uuid=
#dtb=
###U-Boot Overlays###
###Documentation: http://elinux.org/Beagleboard:BeagleBoneBlack_Debian#U-Boot_Overlays
###Master Enable
enable_uboot_overlays=1
###
###Overide capes with eeprom
#uboot_overlay_addr0=/lib/firmware/<file0>.dtbo
#uboot_overlay_addr1=/lib/firmware/<file1>.dtbo
#uboot_overlay_addr2=/lib/firmware/<file2>.dtbo
#uboot_overlay_addr3=/lib/firmware/<file3>.dtbo
###
###Additional custom capes
uboot_overlay_addr0=/lib/firmware/BB-UART1-GPS-00A0.dtbo //
#uboot_overlay_addr4=/lib/firmware/<file4>.dtbo
#uboot_overlay_addr5=/lib/firmware/<file5>.dtbo
#uboot_overlay_addr6=/lib/firmware/<file6>.dtbo
#uboot_overlay_addr7=/lib/firmware/<file7>.dtbo
###
###Custom Cape
#dtb_overlay=/lib/firmware/<file8>.dtbo
###
###Disable auto loading of virtual capes (emmc/video/wireless/adc)
#disable_uboot_overlay_emmc=1
#disable_uboot_overlay_video=1
#disable_uboot_overlay_audio=1
#disable_uboot_overlay_wireless=1
#disable_uboot_overlay_adc=1
Posteriormente reinicie mi Beaglebone Black y ahora al momento de usar gpsd tengo las configuraciones asi
Default settings for the gpsd init script and the hotplug wrapper.
Start the gpsd daemon automatically at boot time
START_DAEMON=“true”
Use USB hotplugging to add new USB devices automatically to the daemon
USBAUTO=“true”
Devices gpsd should collect to at boot time.
They need to be read/writeable, either by user gpsd or the group dialout.
DEVICES=“/dev/ttyO1 /dev/pps0”
Other options you want to pass to gpsd
GPSD_OPTIONS="-n /dev/pps0 "
Inicio el servicio y reviso el status
sudo service gpsd status
● gpsd.service - GPS (Global Positioning System) Daemon
Loaded: loaded (/lib/systemd/system/gpsd.service; disabled; vendor preset: enabled)
Active: active (running) since Tue 2023-08-08 05:00:33 UTC; 11min ago
Process: 2282 ExecStart=/usr/sbin/gpsd $GPSD_OPTIONS $DEVICES (code=exited, status=0/SUCCESS)
Main PID: 2283 (gpsd)
Tasks: 4 (limit: 1027)
Memory: 592.0K
CGroup: /system.slice/gpsd.service
└─2283 /usr/sbin/gpsd -n /dev/pps0 /dev/ttyO1 /dev/pps0
Aug 08 05:00:33 beaglebone systemd[1]: Starting GPS (Global Positioning System) Daemon...
Aug 08 05:00:33 beaglebone systemd[1]: Started GPS (Global Positioning System) Daemon.
pero al momento de usar gpsd o cgps -s no me da ningun tipo de informacion
┌───────────────────────────────────────────┐┌─────────────────────────────────┐
│ Time: n/a ││PRN: Elev: Azim: SNR: Used: │
│ Latitude: n/a ││ │
│ Longitude: n/a ││ │
│ Altitude: n/a ││ │
│ Speed: n/a ││ │
│ Heading: n/a ││ │
│ Climb: n/a ││ │
│ Status: NO FIX (0 secs) ││ │
│ Longitude Err: n/a ││ │
│ Latitude Err: n/a ││ │
│ Altitude Err: n/a ││ │
│ Course Err: n/a ││ │
│ Speed Err: n/a ││ │
│ Time offset: n/a ││ │
│ Grid Square: n/a ││ │
└───────────────────────────────────────────┘└─────────────────────────────────┘
Add another rule to the RFC 6724 scope table for IPv4 addresses.
By default the scope IDs described in section 3.2 in RFC 6724 are
used. Changing these defaults should hardly ever be necessary.
The defaults are equivalent to:
scopev4 ::ffff:169.254.0.0/112 2
scopev4 ::ffff:127.0.0.0/104 2
scopev4 ::ffff:0.0.0.0/96 14
Mobility Support for IPv6 [RFC3775]
udplite 136 UDPLite # UDP-Lite [RFC3828]
mpls-in-ip 137 MPLS-in-IP # MPLS-in-IP [RFC4023]
manet 138 # MANET Protocols [RFC5498]
hip 139 HIP # Host Identity Protocol
shim6 140 Shim6 # Shim6 Protocol [RFC5533]
wesp 141 WESP # Wrapped Encapsulating Security Payload
rohc 142 ROHC # Robust Header Compression
class":"DEVICE","path":"/dev/ttyO1","activated":"2023-08-08T05:00:36.660Z","native":0,"bps":9600,"parity":"N","stopbits":1,"cycle":1.00},{"cla
ss":"DEVICE","path":"/dev/pps0","driver":"PPS","activated":"2023-08-08T05:00:36.672Z"}]}
{"class":"WATCH","enable":true,"json":true,"nmea":false,"raw":0,"scaled":false,"timing":false,"split24":false,"pps":false}
Quería revisar con picocom los datos NMEA pero al tener los pines usado en dts no me permite usarlos.
Agradecería su gran ayuda. Ya que realmente soy nuevo en esto y llegue a mi limite solo. gracias