1
0
mirror of https://github.com/f4exb/sdrangel.git synced 2024-12-23 10:05:46 -05:00
sdrangel/plugins/channelrx/demodendoftrain
2024-03-03 21:57:33 +00:00
..
CMakeLists.txt
endoftraindemod.cpp Add settings to API. 2024-03-03 21:57:33 +00:00
endoftraindemod.h
endoftraindemodbaseband.cpp
endoftraindemodbaseband.h
endoftraindemodgui.cpp
endoftraindemodgui.h
endoftraindemodgui.ui
endoftraindemodplugin.cpp
endoftraindemodplugin.h
endoftraindemodsettings.cpp
endoftraindemodsettings.h
endoftraindemodsink.cpp
endoftraindemodsink.h
endoftraindemodwebapiadapter.cpp
endoftraindemodwebapiadapter.h
endoftrainpacket.cpp
endoftrainpacket.h
readme.md

End-of-Train Demodulator Plugin

Introduction

This plugin can be used to demodulate End-of-Train packets. These are packets transmitted by an End-of-Train Device, that can be found on some trains. It transmits information about whether motion is detected, brake pressue, whether the marker light is on and battery information.

  • Frequency: 457.9375 MHz (North America, India), 477.7 MHz (Australia) and 450.2625 MHz (New Zealand).
  • Modulation: FSK, 1800Hz space, 1200 mark, +-3kHz deviation.
  • Baud rate: 1200 baud.

The End-of-train packet specification is defined in: AAR Manual of Standards and Recommended Practices - S-9152 End of Train Communication - Section K Part II Locomotive Electronics and Train Consist System Architecture. If anyone has a copy, please get in touch.

Interface

The top and bottom bars of the channel window are described here

EndOfTrain Demodulator plugin GUI

1: Frequency shift from center frequency of reception

Use the wheels to adjust the frequency shift in Hz from the center frequency of reception. Left click on a digit sets the cursor position at this digit. Right click on a digit sets all digits on the right to zero. This effectively floors value at the digit position. Wheels are moved with the mousewheel while pointing at the wheel or by selecting the wheel with the left mouse click and using the keyboard arrows. Pressing shift simultaneously moves digit by 5 and pressing control moves it by 2.

2: Channel power

Average total power in dB relative to a +/- 1.0 amplitude signal received in the pass band.

3: Level meter in dB

  • top bar (green): average value
  • bottom bar (blue green): instantaneous peak value
  • tip vertical bar (bright green): peak hold value

4: RF Bandwidth

This specifies the bandwidth of a LPF that is applied to the input signal to limit the RF bandwidth.

5: Frequency deviation

Adjusts the expected frequency deviation in 0.1 kHz steps from 1 to 6 kHz. Typical value is 3 kHz.

6: Filter Address

Entering a regular expression in the field displays only packets where the unit address matches the regular expression.

7: UDP

When checked, received packets are forwarded to the specified UDP address (8) and port (9).

8: UDP address

IP address of the host to forward received packets to via UDP.

9: UDP port

UDP port number to forward received packets to.

10: Use Date and Time from File

When checked, if the source device is a File Input device, the date and time used for packet reception time is taken from the file playback time. Otherwise, the current system clock time is used.

11: Start/stop Logging Packets to .csv File

When checked, writes all received packets to a .csv file. The filename is specified by (12).

12: .csv Log Filename

Click to specify the name of the .csv file which received packets are logged to.

13: Read Data from .csv File

Click to specify a previously written .csv log file, which is read and used to update the table.

14: Clear table

Pressing this button clears all packets from the table.

Received Packets Table

The received packets table displays the contents of the packets that have been received. Only packets with valid CRCs are displayed.

  • Date - Date the packet was received.
  • Time - Time the packet was received.
  • Battery condition - Whether the battery charge is OK, low, very low or not monitored (N/A).
  • Type - Message type identifier.
  • Address - Unit address, which uniquely identifies the end-of-train unit.
  • Pressure - Brake pipe pressure in Pounds per Square Inch Gauge (PSIG).
  • Charge - Battery charge in percent.
  • Disc - Discretionary bit that is used for varying data by different vendors.
  • Valve - Valve circuit status (Ok or Fail).
  • Conf - Confirmation indicator.
  • Turbine - Air tubine equiped.
  • Motion - Whether motion is detected (i.e. is the rear of the train is moving).
  • Light Batt - Marker light battery condition (Ok or Low).
  • Light - Marker light status (On or off).
  • CRC - Whether the calculated CRC matches the received CRC.
  • Hex - The packet data displayed as hexadecimal.

Attribution

Based on code and reverse engineering by Eric Reuter

Clock icons created by Pixel perfect from Flaticon https:://www.flaticon.com