2020-05-08, 10:33 AM
(This post was last modified: 2020-05-08, 10:34 AM by glowntiger.)
If signalk can´t read the data, you can check the incomming data with a little python script (see attached)
You must edit the Port an baudrate... ;-) (be sure that the Port isn´t in use by any other application)
I think that did not work. V1NMEA toggles between 0-12V. RS422 works with differetial voltage. The Output produces an absolute voltage rating to gnd from 0-3,3V. Means in standby both A/B Pegel have ca 1,7V. If sending both channels toggles between 0-3,3V in different pegel. The NMEAV1 need 0-12V. I think the NMEAV1 In of the other device interpret it as always 0. Don´t now wehre there is the trewshold....
The recieving works because we use an active biasing. Means we pull A to 3,3V and B (B-A=<0) to gnd with an internal resistor. So you get a logical 0. If you now only pull B to 12V B-A=>0 and you get an logical 1.
You must edit the Port an baudrate... ;-) (be sure that the Port isn´t in use by any other application)
Code:
import serial
ser = serial.Serial(
port="/dev/ttySC0",
baudrate = 4800,
parity=serial.PARITY_NONE,
stopbits=serial.STOPBITS_ONE,
bytesize=serial.EIGHTBITS,
timeout=1
)
if ser.is_open == 1:
ser.close()
ser.open()
print (ser.get_settings)
while 1:
try:
x = ser.readline()
print(x)
except (OSError, serial.serialutil.SerialException):
print("no data")
I think that did not work. V1NMEA toggles between 0-12V. RS422 works with differetial voltage. The Output produces an absolute voltage rating to gnd from 0-3,3V. Means in standby both A/B Pegel have ca 1,7V. If sending both channels toggles between 0-3,3V in different pegel. The NMEAV1 need 0-12V. I think the NMEAV1 In of the other device interpret it as always 0. Don´t now wehre there is the trewshold....
The recieving works because we use an active biasing. Means we pull A to 3,3V and B (B-A=<0) to gnd with an internal resistor. So you get a logical 0. If you now only pull B to 12V B-A=>0 and you get an logical 1.