|
ifw-ccf
3.0.0-pre2
|
#include <fmt/format.h>#include <boost/exception/diagnostic_information.hpp>#include <Recif.hpp>#include <core/utils/base/base.hpp>#include <core/utils/system/system.hpp>#include <core/utils/time/time.hpp>#include <core/utils/conversion/conversion.hpp>#include <utils/bat/config.hpp>#include <ccf/mptk/manager.hpp>#include <ccf/common/dataType.hpp>Go to the source code of this file.
Classes | |
| class | ccf::Base |
| Class to be used as parent all CCF classes. More... | |
Namespaces | |
| ccf | |
| ccf::loglevel | |
Macros | |
| #define | CCFLOC |
| Macro generating a location identifier: "<file>:<line>:<function>:<thread>". More... | |
| #define | CCFL0C |
| #define | INFO_LOG_GUARD if (ccf::Base::GetLogLevel() >= ccf::LogLevel::INFO) |
| Guard for INFO logs. Ensures log text is only generated when the given log level is enabled. More... | |
| #define | DEBUG_LOG_GUARD if (ccf::Base::GetLogLevel() >= ccf::LogLevel::DEBUG) |
| Guard for DEBUG logs. Ensures log text is only generated when the given log level is enabled. More... | |
| #define | DEBUG2_LOG_GUARD if (ccf::Base::GetLogLevel() >= ccf::LogLevel::DEBUG2) |
| Guard for DEBUG2 logs. Ensures log text is only generated when the given log level is enabled. More... | |
| #define | DEBUG3_LOG_GUARD if (ccf::Base::GetLogLevel() >= ccf::LogLevel::DEBUG3) |
| Guard for DEBUG3 logs. Ensures log text is only generated when the given log level is enabled. More... | |
| #define | CCFTHROW(msg) throw rad::Exception(CCFLOC + ": " + msg) |
| Guard for TRACE logs. Ensures log text is only generated when the given log level is enabled. More... | |
Enumerations | |
| enum class | ccf::LogLevel { ccf::OFF = 0 , ccf::FATAL = 100 , ccf::ERROR = 200 , ccf::WARN = 300 , ccf::INFO = 400 , ccf::DEBUG = 500 , ccf::DEBUG2 = 501 , ccf::DEBUG3 = 502 , ccf::TRACE = 600 , ccf::NOT_SET = -1 } |
| Log levels defined for CCF; adds two debugging levels: DEBUG2, DEBUG3. More... | |
Functions | |
| log4cplus::Logger & | ccf::Logger () |
| std::string | CcfThreadName () |
| Return thread name allocated. More... | |
| void | CcfDebug (const std::string &location, const std::string &msg) |
Variables | |
| constexpr auto | ccf::loglevel::OFF = "OFF" |
| constexpr auto | ccf::loglevel::FATAL = "FATAL" |
| constexpr auto | ccf::loglevel::ERROR = "ERROR" |
| constexpr auto | ccf::loglevel::WARN = "WARN" |
| constexpr auto | ccf::loglevel::INFO = "INFO" |
| constexpr auto | ccf::loglevel::DEBUG = "DEBUG" |
| constexpr auto | ccf::loglevel::DEBUG2 = "DEBUG2" |
| constexpr auto | ccf::loglevel::DEBUG3 = "DEBUG3" |
| constexpr auto | ccf::loglevel::TRACE = "TRACE" |
DB state nodes names. | |
| const std::string | ccf::DB_DELIM = std::string(utils::bat::CONFIG_DB_DELIMITER) |
| const std::string | ccf::DB_NODE_SM_STATUS_STATE |
| const std::string | ccf::DB_NODE_SM_STATUS_SUBSTATE |
| const std::string | ccf::DB_NODE_SM_STATE |
Standard metadata keywords. | |
| constexpr auto | ccf::META_KEY_EXPO_RATE = "MetaExpoType" |
| constexpr auto | ccf::META_KEY_EXPO_TIME = "MetaExpoTime" |
| constexpr auto | ccf::META_KEY_EXPO_WIN_BINX = "MetaExpoWinBinX" |
| constexpr auto | ccf::META_KEY_EXPO_WIN_BINY = "MetaExpoWinBinY" |
| constexpr auto | ccf::META_KEY_EXPO_WIN_STARTX = "MetaExpoWinStartX" |
| constexpr auto | ccf::META_KEY_EXPO_WIN_STARTY = "MetaExpoWinStartY" |
| constexpr auto | ccf::META_KEY_SYSTEM = "MetaSystem" |
| constexpr auto | ccf::META_KEY_CAM_NAME = "MetaCamName" |
| constexpr auto | ccf::META_KEY_CAM_ID = "MetaCamId" |
| constexpr auto | ccf::META_KEY_CAM_MODEL = "MetaCamModel" |
| constexpr auto | ccf::META_KEY_CAM_CHIPMODEL = "MetaCamChipModel" |
| constexpr auto | ccf::META_KEY_CAM_TYPE = "MetaCamType" |
Configuration parameter names. | |
| constexpr auto | ccf::CFG_NODE_ACQUISITION = "acquisition" |
| constexpr auto | ccf::CFG_NODE_MONITORING = "monitoring" |
| constexpr auto | ccf::CFG_NODE_PROCESSING = "processing" |
| constexpr auto | ccf::CFG_NODE_RECORDING = "recording" |
| constexpr auto | ccf::CFG_NODE_SERVER = "server" |
| constexpr auto | ccf::CFG_NODE_TASKS = "tasks" |
| constexpr auto | ccf::CFG_KEY_ADAPTER = "adapter" |
| constexpr auto | ccf::CFG_KEY_ADDRESS = "address" |
| constexpr auto | ccf::CFG_KEY_ALLOW_FRAME_SKIPPING = "allow_frame_skipping" |
| constexpr auto | ccf::CFG_KEY_ALLOW_LOST_FRAMES = "allow_lost_frames" |
| constexpr auto | ccf::CFG_KEY_DEVICES = "devices" |
| constexpr auto | ccf::CFG_KEY_HEIGHT = "height" |
| constexpr auto | ccf::CFG_KEY_ID = "id" |
| constexpr auto | ccf::CFG_KEY_INIT_SETUP = "init_setup" |
| constexpr auto | ccf::CFG_KEY_INPUT_QUEUE_SIZE = "input_queue_size" |
| constexpr auto | ccf::CFG_KEY_MANUFACTURER = "manufacturer" |
| constexpr auto | ccf::CFG_KEY_MAPPING = "mapping" |
| constexpr auto | ccf::CFG_KEY_MAX_RATE = "max_rate" |
| constexpr auto | ccf::CFG_KEY_MAX_RESOLUTION = "max_resolution" |
| constexpr auto | ccf::CFG_KEY_METADATA_MAP = "metadata_map" |
| constexpr auto | ccf::CFG_KEY_MODEL = "model" |
| constexpr auto | ccf::CFG_KEY_NAME = "name" |
| constexpr auto | ccf::CFG_KEY_NAMES = "names" |
| constexpr auto | ccf::CFG_KEY_NB_OF_SAMPLES = "nb_of_samples" |
| constexpr auto | ccf::CFG_KEY_OUPUT_QUEUE_SIZE = "output_queue_size" |
| constexpr auto | ccf::CFG_KEY_PERIOD = "period" |
| constexpr auto | ccf::CFG_KEY_PIPELINE = "pipeline" |
| constexpr auto | ccf::CFG_KEY_PROPERTIES = "properties" |
| constexpr auto | ccf::CFG_KEY_PROTOCOL = "protocol" |
| constexpr auto | ccf::CFG_KEY_PUBLISHERS = "publishers" |
| constexpr auto | ccf::CFG_KEY_RECIPES = "recipes" |
| constexpr auto | ccf::CFG_KEY_REC_HIST_EXP = "rec_hist_expiration" |
| constexpr auto | ccf::CFG_KEY_REC_HIST_SIZE = "rec_hist_size" |
| constexpr auto | ccf::CFG_KEY_RESOLUTION = "resolution" |
| constexpr auto | ccf::CFG_KEY_SDK = "sdk" |
| constexpr auto | ccf::CFG_KEY_SIMULATION = "simulation" |
| constexpr auto | ccf::CFG_KEY_SIM_ADDRESS = "sim_address" |
| constexpr auto | ccf::CFG_KEY_TYPE = "type" |
| constexpr auto | ccf::CFG_KEY_VALUE = "value" |
| constexpr auto | ccf::CFG_KEY_WIDTH = "width" |
| constexpr auto | ccf::CFG_KEY_WRITE_ON_INIT = "write_on_init" |
Setup parameter names. | |
| constexpr auto | ccf::SETUP_NODE_EXPO = "expo" |
| constexpr auto | ccf::SETUP_NODE_SIM = "sim" |
| constexpr auto | ccf::SETUP_KEY_ADDRESS = "address" |
| constexpr auto | ccf::SETUP_KEY_BASENAME = "basename" |
| constexpr auto | ccf::SETUP_KEY_BIN_X = "bin_x" |
| constexpr auto | ccf::SETUP_KEY_BIN_Y = "bin_y" |
| constexpr auto | ccf::SETUP_KEY_DELAY = "delay" |
| constexpr auto | ccf::SETUP_KEY_ENABLED = "enabled" |
| constexpr auto | ccf::SETUP_KEY_FILE = "file" |
| constexpr auto | ccf::SETUP_KEY_FORMAT = "format" |
| constexpr auto | ccf::SETUP_KEY_FRAME_RATE = "frame_rate" |
| constexpr auto | ccf::SETUP_KEY_FRAME_RATE_LIMIT = "frame_rate_limit" |
| constexpr auto | ccf::SETUP_KEY_MAX_RATE = "max_rate" |
| constexpr auto | ccf::SETUP_KEY_MAX_SHIFT = "max_shift" |
| constexpr auto | ccf::SETUP_KEY_MAX_SHIFT_PR_FRAME = "max_shift_pr_frame" |
| constexpr auto | ccf::SETUP_KEY_MAX_SIZE = "max_size" |
| constexpr auto | ccf::SETUP_KEY_MODE = "mode" |
| constexpr auto | ccf::SETUP_KEY_NB = "nb" |
| constexpr auto | ccf::SETUP_KEY_RATE = "rate" |
| constexpr auto | ccf::SETUP_KEY_NOISE = "noise" |
| constexpr auto | ccf::SETUP_KEY_PORT = "port" |
| constexpr auto | ccf::SETUP_KEY_TIME = "time" |
| constexpr auto | ccf::SETUP_KEY_TYPE = "type" |
| constexpr auto | ccf::SETUP_KEY_WIN_START_X = "win_start_x" |
| constexpr auto | ccf::SETUP_KEY_WIN_START_Y = "win_start_y" |
| constexpr auto | ccf::SETUP_KEY_WIN_WIDTH = "win_width" |
| constexpr auto | ccf::SETUP_KEY_WIN_HEIGHT = "win_height" |
Simulation type. | |
| constexpr auto | ccf::SIM_TYPE_FILE_STR = "File" |
| constexpr auto | ccf::SIM_TYPE_PATTERN1_STR = "Pattern1" |
States (composite). | |
| enum class | ccf::ThreadType { ccf::MONITOR = 1 , ccf::ACQUISITION , ccf::PROCESSING , ccf::PUBLISHER , ccf::UNDEFINED = -1 } |
| enum class | ccf::HwStatus { ccf::NOT_OK = 0 , ccf::OK } |
| HW status values. More... | |
| enum class | ccf::Status { ccf::FAILURE = 0 , ccf::SUCCESS = 1 } |
| General status variable. More... | |
| constexpr auto | ccf::STATE_ON_NOT_OP_NOT_READY = "On::NotOperational::NotReady" |
| constexpr auto | ccf::STATE_ON_NOT_OP_READY = "On::NotOperational::Ready" |
| constexpr auto | ccf::STATE_ON_OP_IDLE = "On::Operational::Idle" |
| constexpr auto | ccf::STATE_ON_OP_ACQ = "On::Operational::Acquisition" |
| constexpr auto | ccf::STATE_ON_OP_ACQ_NOT_REC = "On::Operational::Acquisition::NotRecording" |
| constexpr auto | ccf::STATE_ON_OP_ACQ_REC = "On::Operational::Acquisition::Recording" |
| void | ccf::SendThrMsg (const std::string &command, const std::string &sender_thread_name, const std::string &receiver_thread_name, const std::string &data) |
| Send MPTK message via internal Message Bus. More... | |
| bool | ccf::ReceiveThrMsg (const std::string &receiver_thread_name, const double time_out, ccf::mptk::Message &message) |
| Receive a message from the given thread. Returns true if message received. More... | |
| void | ccf::DecomposeSmStatus (const std::string &sm_state, std::string &sum_state, std::string &sum_substate) |
| void | ccf::AssertPtr (const void *ptr, const std::string &object, const std::string &location) |
| Check that pointer is not nullptr and raise rad::exception in case it is. More... | |
Execution status. | |
| enum class | ccf::PubType { ccf::UNDEFINED = -1 , ccf::RECORDING = 1 , ccf::NOT_RECORDING } |
| A Publisher may be Recording or Not-Recording. A Recording Publisher publishes data into files. More... | |
| enum class | ccf::PubStatus { ccf::ACTIVE = recif::RecStatusNames::Active , ccf::COMPLETED = recif::RecStatusNames::Completed , ccf::STOPPED = recif::RecStatusNames::Stopped , ccf::ABORTED = recif::RecStatusNames::Aborted , ccf::FAILED = recif::RecStatusNames::Failed , ccf::UNDEFINED = recif::RecStatusNames::Undefined } |
| Defines the various possible states of a Data Publisher. More... | |
| enum class | ccf::ProcStatus { ccf::UNDEFINED = -1 , ccf::IDLE = 1 , ccf::PROCESSING = 32 , ccf::FINISHED = 128 , ccf::FAILED = 256 } |
| Possible states for a Processing Recipe defined. More... | |
| enum class | ccf::ExpoMode { ccf::FINITE = 1 , ccf::CONTINUOUS , ccf::INACTIVE } |
| Exposure modes. More... | |
| constexpr auto | ccf::SUCCESS = "Success" |
| constexpr auto | ccf::FAILURE = "Failure" |
| std::string | ccf::StatusToStr (ccf::Status status) |
| Convert the status from number to string. More... | |
| DataTypes | ccf::BitpixToDataType (const int8_t bitpix) |
| Converts the FITS BITPIX value into a data type. More... | |
| void | ccf::ResetRecStatusObj (std::shared_ptr< recif::RecStatus > &rec_status_obj, const recif::RecStatusNames rec_status=recif::RecStatusNames::Undefined) |
| Reset the members of the Recording Status Object. More... | |
| void | ccf::CopyRecStatusObj (const std::shared_ptr< recif::RecStatus > &src_rec_status_obj, const std::shared_ptr< recif::RecStatus > &trg_rec_status_obj) |
| Cope the members of one Recording Status Object to another. More... | |
Exposure modes. | |
| enum class | ccf::SimType { ccf::FILE = 1 , ccf::PATTERN1 } |
| Simulation type. More... | |
| constexpr auto | ccf::EXPO_MODE_FINITE = "Finite" |
| constexpr auto | ccf::EXPO_MODE_CONTINUOUS = "Continuous" |
| constexpr auto | ccf::EXPO_MODE_INACTIVE = "Inactive" |
| constexpr auto | ccf::REC_ID_PREFIX = "RecId" |
| ExpoMode | ccf::ExpoModeToNb (const std::string &expo_mode) |
| Convert exposure mode from number representation to string. More... | |
Logging levels literal names. | |
| constexpr auto | ccf::CCF_VERSION = "1.2.0" |
| Version of CCF. More... | |
| constexpr auto | ccf::IFW_VERSION = "4.0" |
| Version of IFW. More... | |
| constexpr auto | ccf::NO_VALUE = "__NO__VALUE__" |
| LogLevel | ccf::LogLevelToNb (const std::string &log_level) |
| std::string | ccf::LogLevelToString (const LogLevel log_level) |
Publisher Status names. | |
| constexpr auto | ccf::PUB_STAT_NAME_ACTIVE = "Active" |
| constexpr auto | ccf::PUB_STAT_NAME_COMPLETED = "Completed" |
| constexpr auto | ccf::PUB_STAT_NAME_STOPPED = "Stopped" |
| constexpr auto | ccf::PUB_STAT_NAME_ABORTED = "Aborted" |
| constexpr auto | ccf::PUB_STAT_NAME_FAILED = "Failed" |
| constexpr auto | ccf::PUB_STAT_NAME_UNDEFINED = "Undefined" |
| std::string | ccf::RecStatusNameToStr (recif::RecStatusNames rec_status_nb) |
| Recording Status name, number to string representation. More... | |
| std::string | ccf::PubStatusNameToStr (PubStatus pub_status_nb) |
| Publisher status, number representation to string. More... | |
| std::string | ccf::BuildKey (const std::vector< std::string > &elements) |
| Build a concatenated key from a number of elements (<el1>.<el2.>...). More... | |
| std::vector< std::string > | ccf::SplitKey (const std::string &key) |
| Split up a concatenated key. More... | |
| #define CCFL0C |
| #define CCFLOC |
Macro generating a location identifier: "<file>:<line>:<function>:<thread>".
| #define CCFTHROW | ( | msg | ) | throw rad::Exception(CCFLOC + ": " + msg) |
Guard for TRACE logs. Ensures log text is only generated when the given log level is enabled.
ERROR log macro. Includes the location ("CCFLOC") in the log message. WARNING log macro. Includes the location ("CCFLOC") in the log message. INFO log macro. Includes the location ("CCFLOC") in the log message. DEBUG log macro. Includes the location ("CCFLOC") in the log message. DEBUG2 log macro. Includes the location ("CCFLOC") in the log message. DEBUG3 log macro. Includes the location ("CCFLOC") in the log message. Throw a "rad::Exception()". The location ("CCFLOC") for the throw statement is added to the message.
| #define DEBUG2_LOG_GUARD if (ccf::Base::GetLogLevel() >= ccf::LogLevel::DEBUG2) |
Guard for DEBUG2 logs. Ensures log text is only generated when the given log level is enabled.
| #define DEBUG3_LOG_GUARD if (ccf::Base::GetLogLevel() >= ccf::LogLevel::DEBUG3) |
Guard for DEBUG3 logs. Ensures log text is only generated when the given log level is enabled.
| #define DEBUG_LOG_GUARD if (ccf::Base::GetLogLevel() >= ccf::LogLevel::DEBUG) |
Guard for DEBUG logs. Ensures log text is only generated when the given log level is enabled.
| #define INFO_LOG_GUARD if (ccf::Base::GetLogLevel() >= ccf::LogLevel::INFO) |
Guard for INFO logs. Ensures log text is only generated when the given log level is enabled.
|
inline |
Used for debugging purposes to print out info to "stdout". It is attempted to flush the "stdout" file descriptor to ensure the message is displayed on "stdout".
|
inline |
Return thread name allocated.