12#ifndef TIMING_INCLUDE_TIMING_FLCMDGENERATORNODE_HPP_
13#define TIMING_INCLUDE_TIMING_FLCMDGENERATORNODE_HPP_
21#include "uhal/DerivedNode.hpp"
22#include <nlohmann/json.hpp>
42 std::string
get_status(
bool print_out =
false)
const override;
48 uint32_t channel)
const;
55 uint32_t clock_frequency_hz)
const;
64 uint32_t clock_frequency_hz)
const;
93 static void parse_periodic_fl_cmd_rate(
double requested_rate, uint32_t clock_frequency_hz,
double& actual_rate, uint32_t& divisor, uint32_t& prescale);
Class for master global node.
void disable_fake_trigger(uint32_t channel) const
Clear fake trigger configuration.
virtual ~FLCmdGeneratorNode()
FLCmdGeneratorNode(const uhal::Node &node)
virtual void send_fl_cmd(uint32_t command, uint32_t channel) const
Send a fixed length command.
std::string get_cmd_counters_table(bool print_out=false) const
Get command counters status string.
void validate_channel(uint32_t channel) const
static void parse_periodic_fl_cmd_rate(double requested_rate, uint32_t clock_frequency_hz, double &actual_rate, uint32_t &divisor, uint32_t &prescale)
void enable_periodic_fl_cmd(uint32_t channel, double rate, bool poisson, uint32_t clock_frequency_hz) const
Configure fake trigger.
void validate_command(uint32_t command) const
std::string get_status(bool print_out=false) const override
Get status string, optionally print.
Base class for timing nodes.