ActionMgr class source file. More...
Classes | |
| class | ActionMgr |
| class | ActionsEnable |
| class | ActionsInit |
| class | ActionsRecover |
| class | ActionsSetup |
| class | ActionsStd |
| class | ActivityEnabling |
| class | ActivityInitialising |
| class | ActivityRecovering |
| class | AppCmdsImpl |
| class | Config |
| struct | DaqInfo |
| class | DataContext |
| class | Device |
| class | DeviceConfig |
| Device Configuration class. More... | |
| struct | DeviceControllerData |
| The DeviceControllerData struct. More... | |
| class | DeviceFacade |
| class | DeviceFactory |
| class | DeviceLcsIf |
| class | DeviceMaker |
| class | IDevice |
| class | IDeviceConfig |
| Device Configuration class. More... | |
| class | IDeviceMaker |
| struct | is_std_vector |
| struct | is_std_vector< std::vector< T, Alloc > > |
| class | MetaDaqImpl |
| struct | SIValue |
| class | StdCmdsImpl |
| class | TaskSetup |
| struct | UnitInfo |
Enumerations | |
| enum class | QuantityKind { Length , Angle , Time , Empty } |
Functions | |
| std::optional<::fcfif::ModeDrot > | DrotModeFromString (std::string_view input) |
| void | InstallFndLog4cplusBridge () |
| Install an ifw::fnd::Logger that forwards FND* macros into log4cplus under the "uatools" logger. Idempotent: does nothing if an ifw-fnd logger is already installed. | |
| template<typename... Args> | |
| std::vector< ifw::fnd::defs::CallArgument > | MakeCallArgs (Args &&... args) |
Build a vector of positional CallArguments from any number of typed values. | |
| void | CheckRpcReply (const ifw::fnd::defs::CallResult &result, const std::string &what, const std::function< std::string(short)> &error_message_fn) |
| Translate the short-typed reply of an FCF RPC call into a throw-if-non-zero check. | |
| void | ExecuteRpcCall (ifw::fnd::defs::ICommAdapter &comm, const std::string &method_node_id, std::vector< ifw::fnd::defs::CallArgument > args, const std::string &what, const std::function< std::string(short)> &error_message_fn, const std::string &object_node_id="") |
| double | variant_to_double (const ifw::fnd::defs::Value &value) |
| const UnitInfo & | lookup_unit (std::string_view unit) |
| SIValue | to_si (const ifw::fnd::defs::Value &value, std::string_view unit) |
| const char * | kind_to_string (QuantityKind kind) |
| const char * | si_unit_name (QuantityKind kind) |
Variables | |
| constexpr auto | CONFIG_DEFAULT_DICTIONARIES = "dictionary/ifw/core/dit/stddid/primary.did.yaml" |
| constexpr auto | CONFIG_DEFAULT_FIT_PREFIX = "INS" |
| constexpr auto | KEY_CONFIG_EXT_PUB_ENDPOINT = "ext_pub_endpoint" |
| constexpr auto | KEY_CONFIG_EXT_SUB_ENDPOINT = "ext_sub_endpoint" |
| constexpr auto | KEY_CONFIG_DEVICES = "devices" |
| constexpr auto | KEY_CONFIG_DEVFILE = "cfgfile" |
| constexpr auto | KEY_CONFIG_TYPE = "type" |
| constexpr auto | KEY_CONFIG_DEVNAME = "name" |
| constexpr auto | KEY_CONFIG_INTERFACE = "interface" |
| constexpr auto | KEY_CONFIG_INTERFACE_CFG = "interface_cfg" |
| constexpr auto | KEY_CONFIG_STATUS = "status" |
| constexpr auto | CONFIG_ENVVAR_DBHOST = "DB_HOST" |
| const short | SRV_STATE_NOT_OPERATIONAL = 1 |
| const short | SRV_STATE_OPERATIONAL = 2 |
| const short | SRV_SUBSTATE_NOTREADY = 1 |
| const short | SRV_SUBSTATE_READY = 2 |
| const short | SRV_SUBSTATE_IDLE = 3 |
| const short | SRV_SUBSTATE_INITIALISING = 4 |
| const short | SRV_SUBSTATE_ENABLING = 5 |
| const short | SRV_SUBSTATE_SETTING_UP = 6 |
| const short | SRV_SUBSTATE_ERROR = 10 |
| const std::string | SRV_STATE_NOT_OPERATIONAL_STR = "NotOperational" |
| const std::string | SRV_STATE_OPERATIONAL_STR = "Operational" |
| const std::string | SRV_STATE_UNAVAILABLE_STR = "Unavailable" |
| const std::string | SRV_SUBSTATE_NOTREADY_STR = "NotReady" |
| const std::string | SRV_SUBSTATE_READY_STR = "Ready" |
| const std::string | SRV_SUBSTATE_IDLE_STR = "Idle" |
| const std::string | SRV_SUBSTATE_INITIALISING_STR = "Initialising" |
| const std::string | SRV_SUBSTATE_ENABLING_STR = "Enabling" |
| const std::string | SRV_SUBSTATE_ERROR_STR = "Error" |
| const std::string | SRV_SUBSTATE_SETTING_UP_STR = "SettingUp" |
| const std::unordered_map< short, std::string > | SRV_STATE_MAP |
| const std::unordered_map< std::string, short > | SRV_STATE_STR_MAP |
| const std::unordered_map< short, std::string > | SRV_SUBSTATE_MAP |
| const std::unordered_map< std::string, short > | SRV_SUBSTATE_STR_MAP |
| constexpr auto | CI_IDENTIFIER = "identifier" |
| constexpr auto | CI_SIMULATED = "simulated" |
| constexpr auto | CI_IGNORED = "ignored" |
| constexpr auto | CI_ADDRESS = "dev_endpoint" |
| constexpr auto | CI_SIM_ADDRESS = "sim_endpoint" |
| constexpr auto | CI_TYPE = "type" |
| constexpr auto | CI_PREFIX = "prefix" |
| constexpr auto | CI_NAME = "name" |
| constexpr auto | CI_NAMESPACE = "namespace" |
| constexpr auto | CI_MAP_FILE = "mapfile" |
| constexpr auto | CI_FITS_PREFIX = "fits_prefix" |
| constexpr auto | CI_ALIAS = "alias" |
| constexpr auto | CI_ID = "id" |
| constexpr auto | CI_OVERVIEW = "overview" |
| constexpr auto | CI_DESCRIPTION = "description" |
| constexpr auto | CI_CFG_FILE = "cfgfile" |
| constexpr auto | CI_CTRL_CONFIG = "ctrl_config" |
| constexpr auto | CI_WIDGET = "widget" |
| constexpr auto | CI_WIDGET_MODULE = "module" |
| constexpr auto | CI_WIDGET_CLASS = "class" |
| constexpr auto | CI_WIDGET_WIDGET = "widget" |
| constexpr auto | CI_WIDGET_HEIGHT = "height" |
| constexpr auto | CI_INTERFACE_CFG = "interface_cfg" |
| constexpr auto | RPC_INIT = "rpcInit" |
| constexpr auto | RPC_ENABLE = "rpcEnable" |
| constexpr auto | RPC_DISABLE = "rpcDisable" |
| constexpr auto | RPC_STOP = "rpcStop" |
| constexpr auto | RPC_RESET = "rpcReset" |
| constexpr auto | CI_STAT_SUBSTATE = "substate" |
| constexpr auto | CI_STAT_STATE = "state" |
| constexpr auto | CI_STAT_STATU = "status" |
| constexpr auto | CI_STAT_LOCAL = "local" |
| constexpr auto | CI_STAT_ERROR_CODE = "error_code" |
| constexpr auto | CI_STAT_ERROR_STR = "error_str" |
| constexpr auto | DB_CONTROLLER_PREFIX = "lcs" |
| constexpr auto | CAT_STAT = "stat" |
| constexpr auto | CAT_CFG = "cfg" |
| constexpr auto | CAT_CTRL = "ctrl" |
| constexpr auto | CAT_RPC = "rpc" |
| constexpr int | STATE_NOT_OPERATIONAL = 1 |
| constexpr int | STATE_OPERATIONAL = 2 |
| constexpr auto | STATE_NOT_OPERATIONAL_STR = "NotOperational" |
| constexpr auto | STATE_OPERATIONAL_STR = "Operational" |
| constexpr auto | STATE_UNAVAILABLE_STR = "Unavailable" |
| const std::unordered_map< short, std::string > | STATE_MAP |
| const std::unordered_map< std::string, short > | STATE_STR_MAP |
| constexpr int | SUBSTATE_NOTREADY = 100 |
| constexpr int | SUBSTATE_READY = 101 |
| constexpr int | SUBSTATE_INITIALISING = 102 |
| constexpr int | SUBSTATE_ERROR = 199 |
| constexpr auto | SUBSTATE_NOTREADY_STR = "NotReady" |
| constexpr auto | SUBSTATE_INITIALISING_STR = "Initialising" |
| constexpr auto | SUBSTATE_READY_STR = "Ready" |
| constexpr auto | SUBSTATE_ERROR_STR = "Error" |
| constexpr int | SUBSTATE_OP_DISABLING = 205 |
| constexpr int | SUBSTATE_OP_ERROR = 299 |
| constexpr auto | SUBSTATE_OP_DISABLING_STR = "Disabling" |
| constexpr auto | SUBSTATE_OP_ERROR_STR = "OpError" |
| constexpr auto | FITS_PARAM_ID = "ID" |
| constexpr auto | FITS_PARAM_NAME = "NAME" |
| constexpr auto | FITS_PARAM_STAT = "STAT" |
| constexpr auto | FITS_PARAM_DEVSIM = "DEVSIM" |
| constexpr auto | FITS_PARAM_DEVIGN = "DEVIGN" |
| constexpr std::chrono::milliseconds | kRpcTimeout {60'000} |
| Convenience: call + check in one go. Most FCF RPC call sites become a single line with this. | |
| template<typename T> | |
| constexpr bool | is_std_vector_v = is_std_vector<std::decay_t<T>>::value |
ActionMgr class source file.
unitConversion class header file.
StdCmds Interface implementation header file.
deviceLcsIf class header file.
DataContext class header file.
Metadaq Interface implementation header file.
Application Interface implementation header file.
ActionsStd class header file.
ActionMgr class header file.
DeviceLcsIf class source file.
DataContext class source file.
Config class source file.
ActionsStd class source file.
|
strong |
|
inline |
Translate the short-typed reply of an FCF RPC call into a throw-if-non-zero check.
Used after ualib::Client::Call(...) — extracts the first output argument (which FCF Devmgr always expects to be a short ICD reply code), throws with the device-supplied error_message_fn(reply) if it's non-zero, returns silently otherwise.
| result | the CallResult returned by ualib::Client::Call |
| what | short tag of the calling RPC (used in error messages — e.g. "Init", "Enable"). |
| error_message_fn | device-specific code -> string lookup (DeviceLcsIf::GetRpcError typically). |
| std::optional<::fcfif::ModeDrot > ifw::fcf::devmgr::common::DrotModeFromString | ( | std::string_view | input | ) |
|
inline |
| void ifw::fcf::devmgr::common::InstallFndLog4cplusBridge | ( | ) |
Install an ifw::fnd::Logger that forwards FND* macros into log4cplus under the "uatools" logger. Idempotent: does nothing if an ifw-fnd logger is already installed.
Call once at the top of main(), before any code that may issue FND* calls (e.g. before constructing any ualib::Client via DeviceLcsIf).
| const char * ifw::fcf::devmgr::common::kind_to_string | ( | QuantityKind | kind | ) |
| std::vector< ifw::fnd::defs::CallArgument > ifw::fcf::devmgr::common::MakeCallArgs | ( | Args &&... | args | ) |
Build a vector of positional CallArguments from any number of typed values.
Drop-in replacement for the old CreateVariantVector(...). The returned vector is directly assignable to CallRequest::input_arguments. Names are left empty — OPC UA Methods take positional arguments on the wire, and FCF never relied on the name field.
| const char * ifw::fcf::devmgr::common::si_unit_name | ( | QuantityKind | kind | ) |
| SIValue ifw::fcf::devmgr::common::to_si | ( | const ifw::fnd::defs::Value & | value, |
| std::string_view | unit ) |
|
inline |
|
constexpr |
|
constexpr |
|
constexpr |
|
constexpr |
|
constexpr |
|
constexpr |
|
constexpr |
|
constexpr |
|
constexpr |
|
constexpr |
|
constexpr |
|
constexpr |
|
constexpr |
|
constexpr |
|
constexpr |
|
constexpr |
|
constexpr |
|
constexpr |
|
constexpr |
|
constexpr |
|
constexpr |
|
constexpr |
|
constexpr |
|
constexpr |
|
constexpr |
|
constexpr |
|
constexpr |
|
constexpr |
|
constexpr |
|
constexpr |
|
constexpr |
|
constexpr |
|
constexpr |
|
constexpr |
Default application configuration values. no default value to force user to specify config filename since it overwrites the command line options.
|
constexpr |
|
constexpr |
Application configuration environment variables
|
constexpr |
|
constexpr |
|
constexpr |
|
constexpr |
|
constexpr |
|
constexpr |
|
inlineconstexpr |
|
constexpr |
|
constexpr |
|
constexpr |
|
constexpr |
|
constexpr |
|
constexpr |
|
constexpr |
|
constexpr |
|
constexpr |
|
inlineconstexpr |
Convenience: call + check in one go. Most FCF RPC call sites become a single line with this.
Default RPC timeout for FCF device calls.
PLC state-machine transitions can legitimately take seconds — e.g. a derotator tracking-startup or an ADC's wait-for-substate handler. The ifw-fnd default (5s) is too tight for that. 60s matches the asyncua devsim's longest wait_for_node_value, and is still far below the higher-level Robot test timeout (50s+). Individual call sites can override via req.options.timeout when faster failure is preferred.
|
constexpr |
|
constexpr |
|
constexpr |
|
constexpr |
|
constexpr |
| const std::unordered_map<short, std::string> ifw::fcf::devmgr::common::SRV_STATE_MAP |
| const short ifw::fcf::devmgr::common::SRV_STATE_NOT_OPERATIONAL = 1 |
| const std::string ifw::fcf::devmgr::common::SRV_STATE_NOT_OPERATIONAL_STR = "NotOperational" |
| const short ifw::fcf::devmgr::common::SRV_STATE_OPERATIONAL = 2 |
| const std::string ifw::fcf::devmgr::common::SRV_STATE_OPERATIONAL_STR = "Operational" |
| const std::unordered_map<std::string, short> ifw::fcf::devmgr::common::SRV_STATE_STR_MAP |
| const std::string ifw::fcf::devmgr::common::SRV_STATE_UNAVAILABLE_STR = "Unavailable" |
| const short ifw::fcf::devmgr::common::SRV_SUBSTATE_ENABLING = 5 |
| const std::string ifw::fcf::devmgr::common::SRV_SUBSTATE_ENABLING_STR = "Enabling" |
| const short ifw::fcf::devmgr::common::SRV_SUBSTATE_ERROR = 10 |
| const std::string ifw::fcf::devmgr::common::SRV_SUBSTATE_ERROR_STR = "Error" |
| const short ifw::fcf::devmgr::common::SRV_SUBSTATE_IDLE = 3 |
| const std::string ifw::fcf::devmgr::common::SRV_SUBSTATE_IDLE_STR = "Idle" |
| const short ifw::fcf::devmgr::common::SRV_SUBSTATE_INITIALISING = 4 |
| const std::string ifw::fcf::devmgr::common::SRV_SUBSTATE_INITIALISING_STR = "Initialising" |
| const std::unordered_map<short, std::string> ifw::fcf::devmgr::common::SRV_SUBSTATE_MAP |
| const short ifw::fcf::devmgr::common::SRV_SUBSTATE_NOTREADY = 1 |
| const std::string ifw::fcf::devmgr::common::SRV_SUBSTATE_NOTREADY_STR = "NotReady" |
| const short ifw::fcf::devmgr::common::SRV_SUBSTATE_READY = 2 |
| const std::string ifw::fcf::devmgr::common::SRV_SUBSTATE_READY_STR = "Ready" |
| const short ifw::fcf::devmgr::common::SRV_SUBSTATE_SETTING_UP = 6 |
| const std::string ifw::fcf::devmgr::common::SRV_SUBSTATE_SETTING_UP_STR = "SettingUp" |
| const std::unordered_map<std::string, short> ifw::fcf::devmgr::common::SRV_SUBSTATE_STR_MAP |
| const std::unordered_map<short, std::string> ifw::fcf::devmgr::common::STATE_MAP |
|
constexpr |
|
constexpr |
|
constexpr |
|
constexpr |
| const std::unordered_map<std::string, short> ifw::fcf::devmgr::common::STATE_STR_MAP |
|
constexpr |
|
constexpr |
|
constexpr |
|
constexpr |
|
constexpr |
|
constexpr |
|
constexpr |
|
constexpr |
|
constexpr |
|
constexpr |
|
constexpr |
|
constexpr |
|
constexpr |