Foro Navegantes

Versión completa: Gazapos en OpenCPN
Actualmente estas viendo una versión simplificada de nuestro contenido. Ver la versión completa con el formato correcto.
Abro este hilo para que podamos mostrar y discutir los posibles gazapos o fallos que nos encontremos en OpenCPN. De esta manera otros podemos intentar reproducirlos y si es asi lo podemos trasladar al foro de Crusiers Forum en el hilo de OpenCPN donde participan sus autores.

Un gazapo que he encontrado, pero que en el fondo me lo sugirio Tehani, es que OpenCPN no filtra correctamente las sentencias de NMEA183.
Me ha pasado lo siguiente. Estoy reorganizando mi Raspberry para ver si puedo optimizarla y aligerarla de programas pesados que la enlentecen. Asi que  estoy escribiendo un programa en Python para introducir las sentencias de NMEA183 directamente en un puerto en la Raspi para leerlo con OpenCPN.  Estas sentencias las genero despues de leer un conversor AD de 4 canales que se encuentra en un interesante Hut de joi-It, el explorer700 (https://www.joy-it.net/de/products/RB-Explorer700).  Ademas del conversor AD de 4 canales tiene el chip DS3231  como High Precision RTC (reloj), el BMP180 que es un sensor de presion atmosferica y un interface para 1-Wire (sondas de temperatura)entre otras cosas mas.
Con las bibliotecas que ofrecen, ya leo los 4 canales del conversor AD para informacion del motor (RPM, Presion aceite, temp. Agua refrigerante y voltaje alternador), el sensor de presion y el 1Wire para temperatura del aire.
Despues mando un tren de sentencias  a un puerto UDP (localhost, 1234) y lo leo con opencpn en conexiones.
Para visualizar los datos de motor utilizo el plugin Engine-Dashboard y la de temperatura de aire y presion atmosferica con el dashboard clasico de OpenCPN.

Bien despues de esta introduccion, al meter las sentencias de todos estos sensores, observo que tanto el reloj de temperatura de agua de refrigeracion y la temperatura de aire, marcan lo mismo. Es decir que el dashboard de OpenCPN no distinge entre ambas.

[Imagen: 2022-09-05-21-04.png]
Aqui lo podeis ver como tanto el reloj de temp agua motor marca 80° y la temperatura del aire tambien de 80°.
Si os fijais en la siguiente foto, las sentencias de temperatura entran en openCPN:
[Imagen: 2022-09-05-21-10.jpg]

La de temperatura de aire es la   XDR,C,22.56,C,TempAir*.....
Y la de temperatura de motor es  XDR,C,80.0,C,ENGINE#
Osea son sentencias parecidas, pero se distingen por el marcador final.  
El programa que he escrito manda las sentencias en este orden que veis .  Como la ultima sentencia es la de temperatura de motor y el dashboar de OpenCPN no distingue las sentencias, permanece esta ultima.
Bien si cambio el orden de las sentencias y mando la ultima la del aire (xdrta2)
[Imagen: 2022-09-05-21-07.jpg]

entonces queda en el dashboard la temperatura del aire correcta

[Imagen: 2022-09-05-21-06.jpg]
Aqui vemos ya diferentes temperaturas 80° de motor y 22.6° de temperatura del aire.

[Imagen: 2022-09-05-21-09.jpg]

Aqui podemos ver como la ultima sentencia que lee OpenCPN es la de temperatura del aire.

Asi que no os extrañeis si las cosas nos las visualiza OpenCPN correctamente.
Yo puedo jugar con mi script y cambiar el orden de las sentencias para que la de temperatura del aire me quede la ultima. Aunque esto no deberia pasar y el  dashboard deberia distinguir entre diferentes marcadores de la sentencia
Este post lo pondre en Crusiers Forum a ver que me contestan.
Hola Gyp. No se si recuerdas que hace unos meses me estuvistes echando una mano en la conexión y programación de unos sensores 1wire para monitorizar temperaturas de motor, recuerdo que en Signalk podía visualizar la conexión pero no recibía información, puede que sea por ese motivo también? 
 Al final desistí tengo los sensores instalados pero desconectados, cuando tenga tiempo si no se complica mucho vuelvo a trastear. 

 Pero la verdad que desde un usuario "normal" sin conocimientos de programación la cosa es más que engorrosa. Al final siempre tiro de Navionics y el CPN únicamente lo conecto en travesías que vea oportuno recibir AIS, aún así también se me queda colgado como comentan otros compañeros.
(06-09-2022, 06:43 AM)onilum escribió: [ -> ]Hola Gyp. No se si recuerdas que hace unos meses me estuvistes echando una mano en la conexión y programación de unos sensores 1wire para monitorizar temperaturas de motor, recuerdo que en Signalk podía visualizar la conexión pero no recibía información, puede que sea por ese motivo también? 
 Al final desistí tengo los sensores instalados pero desconectados, cuando tenga tiempo si no se complica mucho vuelvo a trastear. 

 Pero la verdad que desde un usuario "normal" sin conocimientos de programación la cosa es más que engorrosa. Al final siempre tiro de Navionics y el CPN únicamente lo conecto en travesías que vea oportuno recibir AIS, aún así también se me queda colgado como comentan otros compañeros.

Yo tambien tuve problemas para visualizar otras temperaturas que no fueran la de aire con Openplotter.
Ahora sabemos el motivo que esta en OpenCPN