|
Open Model Railroad Network (OpenMRN)
|
Generic implementation of the actual HW output with a booster enable and a railcom enable GPIO. More...
#include <DccOutput.hxx>
Static Public Member Functions | |
| static void | hw_preinit (void) |
| Called once during hw_preinit boot state. | |
| static unsigned | start_railcom_cutout_phase1 (void) |
| Invoked at the beginning of a railcom cutout. | |
| static unsigned | start_railcom_cutout_phase2 (void) |
| Invoked at the beginning of a railcom cutout after the delay. | |
| static unsigned | stop_railcom_cutout_phase1 (void) |
| Invoked at the end of a railcom cutout. | |
| static void | stop_railcom_cutout_phase2 (void) |
| Invoked at the end of a railcom cutout. | |
| static void | enable_output (void) |
| Called once every packet by the driver, typically before the preamble, if the output is supposed to be on. | |
| static void | set_disable_reason (DccOutput::DisableReason bit) |
Static Public Member Functions inherited from DccOutputHw< N > | |
| static bool | need_railcom_cutout () |
| Called by the driver to decide whether to make this channel participate in the railcom cutout. | |
| static bool | should_be_enabled () |
| Called once after the railcom cutout is done to decide whether this output should be reenabled. | |
| static void | clear_disable_reason (DccOutput::DisableReason bit) |
| Clears a disable reason. | |
Additional Inherited Members | |
Static Public Attributes inherited from DccOutputHw< N > | |
| static std::atomic_uint_least8_t | outputDisableReasons_ |
| Bitmask of why this output should be disabled. | |
| static std::atomic_uint_least8_t | isRailcomCutoutEnabled_ |
| 0 if we should not produce a railcom cutout; 1 for short cutout; 2 for regular cutout. | |
| static uint8_t | isRailcomCutoutActive_ |
| 1 if we are in a railcom cutout currently. | |
Static Protected Member Functions inherited from DccOutputHw< N > | |
| static void | set_disable_reason_impl (DccOutput::DisableReason bit) |
| Set one bit in the disable reasons bit field. | |
Generic implementation of the actual HW output with a booster enable and a railcom enable GPIO.
| N | is the output number |
| BOOSTER_ENABLE | is a GPIO structure that turns the output on/off. set(true) is on. |
| RAILCOM_ENABLE | is a GPIO structure that turns the RailCom FETs on. set(true) starts the cutout. |
| DELAY_ON_1 | is the number of usec to delay from BOOSTER_ENABLE off to RAILCOM_ENABLE on. |
| DELAY_ON_2 | is the number of usec to delay from RAILCOM_ENABLE on to railcom UART on. |
| DELAY_OFF | is the number of usec to delay from RAILCOM_ENABLE off to booster enable on. |
Definition at line 320 of file DccOutput.hxx.
|
inlinestatic |
Called once every packet by the driver, typically before the preamble, if the output is supposed to be on.
Definition at line 365 of file DccOutput.hxx.
|
inlinestatic |
Called once during hw_preinit boot state.
Definition at line 324 of file DccOutput.hxx.
|
inlinestatic |
Definition at line 370 of file DccOutput.hxx.
|
inlinestatic |
Invoked at the beginning of a railcom cutout.
Definition at line 334 of file DccOutput.hxx.
|
inlinestatic |
Invoked at the beginning of a railcom cutout after the delay.
Definition at line 342 of file DccOutput.hxx.
|
inlinestatic |
Invoked at the end of a railcom cutout.
Definition at line 350 of file DccOutput.hxx.
|
inlinestatic |
Invoked at the end of a railcom cutout.
Definition at line 357 of file DccOutput.hxx.