![]() |
ChimeraTK-DeviceAccess 03.25.00
|
Namespaces | |
| namespace | detail |
Classes | |
| struct | AccessorInstanceDescriptor |
| Helper class to have a complete descriton to create an Accessor. More... | |
| class | AsyncAccessorManager |
| The AsyncAccessorManager has three main functionalities: More... | |
| class | AsyncNDRegisterAccessor |
| The AsyncNDRegisterAccessor implements a data transport queue with typed data as continuation of the void queue in TransferElement. More... | |
| struct | AsyncVariable |
| Typeless base class. More... | |
| struct | AsyncVariableImpl |
| AsyncVariableImpl contains a weak pointer to an AsyncNDRegisterAccessor<UserType> and a send buffer NDRegisterAccessor<UserType>::Buffer. More... | |
| class | DataConsistencyKey |
| class | DataConsistencyRealm |
| class | DataConsistencyRealmStore |
| class | Domain |
| The Domain is the thread-safe entry point for each distribution tree. More... | |
| class | DomainImpl |
| class | DomainsContainer |
| The DomainsContainer has a container with Domains and is performing actions on all of them. More... | |
| class | DummyMuxedInterruptDistributor |
| class | GenericAsyncVariable |
| class | GenericMuxedInterruptDistributor |
| struct | JsonDescriptorKeysV1 |
| class | MuxedInterruptDistributor |
| Interface base class for interrupt controller handlers. More... | |
| class | MuxedInterruptDistributorFactory |
| struct | PolledAsyncVariable |
| Implementation of the PolledAsyncVariable for the concrete UserType. More... | |
| class | SourceTypedAsyncAccessorManager |
| class | SubDomain |
| Send backend-specific asynchronous data to different distributors: More... | |
| class | TriggeredPollDistributor |
| The TriggeredPollDistributor has std::nullptr_t source data type and is polling the data for the AsyncVariables via synchronous accessors in TransferGroup. More... | |
| class | VariableDistributor |
| class | VoidAsyncVariable |
Typedefs | |
| using | JdkV1 = JsonDescriptorKeysV1 |
Enumerations | |
| enum | GmidOptionCode { ISR = 0 , IER , MER , MIE , GIE , ICR , IAR , IPR , SIE , CIE , IMaskR , IModeR , IVR , ILR , IVAR , IVEAR , OPTION_CODE_COUNT , INVALID_OPTION_CODE } |
Functions | |
| DECLARE_TEMPLATE_FOR_CHIMERATK_USER_TYPES (AsyncNDRegisterAccessor) | |
| INSTANTIATE_TEMPLATE_FOR_CHIMERATK_USER_TYPES (AsyncNDRegisterAccessor) | |
| boost::bimap< std::string, GmidOptionCode > | makeBimap (std::initializer_list< typename boost::bimap< std::string, GmidOptionCode >::value_type > list) |
| This is an initializer for a boost::bimap so that it can be produced using nice syntax. | |
| uint32_t | iToMask (const uint32_t ithInterrupt) |
| Return a 32 bit mask with the ithInterrupt bit from the left set to 1 and all others 0. | |
| GmidOptionCode | getOptionRegisterEnum (const std::string &opt) |
| If the string is not a recognized option code, returns GmidOptionCode::INVALID_OPTION_CODE It is not the job of this function to do any control logic on these code, just convert the strings It uses ChimeraTK::async::GmidOptionCodeMap Example: "ISR" -> GmidOptionCode::ISR Example: "useless" -> GmidOptionCode::INVALID_OPTION_CODE. | |
| std::string | getOptionRegisterStr (GmidOptionCode optCode) |
| Given the Register option code enum, returns the corresponding string. | |
| std::string | explainOptCode (GmidOptionCode optCode) |
| This returns strings explaining the option code acronyms for use in error messages. | |
| std::string | strSetToStr (const std::set< std::string > &strSet, char delimiter=',') |
| The default delimiter is ',' TODO move this to some string helper library. | |
| std::string | intVecToStr (const std::vector< size_t > &intVec, char delimiter=',') |
| Return a string describing the intVec of the form "1,2,3" The default delimiter is ',' TODO move this to some string helper library. | |
| std::string | controllerIDToStr (const std::vector< size_t > &controllerID) |
| Return a string describing the controllerID of the form "[1,2,3]". | |
| std::pair< std::bitset< OPTION_CODE_COUNT >, std::string > | parseAndValidateJsonDescriptionStrV0 (const std::vector< size_t > &controllerID, const std::string &descriptionJsonStr) |
| This extracts and validates data from the json snippet 'descriptorJsonStr' that matches the version 1 format Expect 'descriptionJsonStr' of the form {"path":"APP.INTCB", "options":{"ICR", "IPR", "MER"...}, "version":1} controllerID is used for error reporting only. | |
| void | steriliseOptionRegisterSettings (std::bitset< OPTION_CODE_COUNT > const &optionRegisterSettings, std::vector< size_t > const &controllerID) |
| Ensures permissible combinations of option registers by throwing ChimeraTK::logic_error if there are any problems. | |
| template boost::shared_ptr< AsyncAccessorManager > | MuxedInterruptDistributor::getAccessorManager< VariableDistributor< std::nullptr_t > > (std::vector< size_t > const &qualififedSubDomainId) |
| using ChimeraTK::async::JdkV1 = typedef JsonDescriptorKeysV1 |
Definition at line 22 of file GenericMuxedInterruptDistributor.cc.
| Enumerator | |
|---|---|
| ISR | |
| IER | |
| MER | |
| MIE | |
| GIE | |
| ICR | |
| IAR | |
| IPR | |
| SIE | |
| CIE | |
| IMaskR | |
| IModeR | |
| IVR | |
| ILR | |
| IVAR | |
| IVEAR | |
| OPTION_CODE_COUNT | |
| INVALID_OPTION_CODE | |
Definition at line 12 of file GenericMuxedInterruptDistributor.h.
| std::string ChimeraTK::async::controllerIDToStr | ( | const std::vector< size_t > & | controllerID | ) |
Return a string describing the controllerID of the form "[1,2,3]".
Definition at line 173 of file GenericMuxedInterruptDistributor.cc.
| ChimeraTK::async::DECLARE_TEMPLATE_FOR_CHIMERATK_USER_TYPES | ( | AsyncNDRegisterAccessor | ) |
| std::string ChimeraTK::async::explainOptCode | ( | GmidOptionCode | optCode | ) |
This returns strings explaining the option code acronyms for use in error messages.
Ex: explainOptCode(ISR) ==> "ISR (Interrupt Status Register)"
Definition at line 105 of file GenericMuxedInterruptDistributor.cc.
| GmidOptionCode ChimeraTK::async::getOptionRegisterEnum | ( | const std::string & | opt | ) |
If the string is not a recognized option code, returns GmidOptionCode::INVALID_OPTION_CODE It is not the job of this function to do any control logic on these code, just convert the strings It uses ChimeraTK::async::GmidOptionCodeMap Example: "ISR" -> GmidOptionCode::ISR Example: "useless" -> GmidOptionCode::INVALID_OPTION_CODE.
Definition at line 76 of file GenericMuxedInterruptDistributor.cc.
| std::string ChimeraTK::async::getOptionRegisterStr | ( | GmidOptionCode | optCode | ) |
Given the Register option code enum, returns the corresponding string.
Definition at line 90 of file GenericMuxedInterruptDistributor.cc.
| ChimeraTK::async::INSTANTIATE_TEMPLATE_FOR_CHIMERATK_USER_TYPES | ( | AsyncNDRegisterAccessor | ) |
| std::string ChimeraTK::async::intVecToStr | ( | const std::vector< size_t > & | intVec, |
| char | delimiter = ',' |
||
| ) |
Return a string describing the intVec of the form "1,2,3" The default delimiter is ',' TODO move this to some string helper library.
Definition at line 157 of file GenericMuxedInterruptDistributor.cc.
|
inline |
Return a 32 bit mask with the ithInterrupt bit from the left set to 1 and all others 0.
Definition at line 63 of file GenericMuxedInterruptDistributor.cc.
| boost::bimap< std::string, GmidOptionCode > ChimeraTK::async::makeBimap | ( | std::initializer_list< typename boost::bimap< std::string, GmidOptionCode >::value_type > | list | ) |
This is an initializer for a boost::bimap so that it can be produced using nice syntax.
Ex: static const auto OptionCodeMap = makeBimap({ {"SIE", SIE}, {"IER", IER}, ... })
Definition at line 30 of file GenericMuxedInterruptDistributor.cc.
| template boost::shared_ptr< AsyncAccessorManager > ChimeraTK::async::MuxedInterruptDistributor::getAccessorManager< VariableDistributor< std::nullptr_t > > | ( | std::vector< size_t > const & | qualififedSubDomainId | ) |
| std::pair< std::bitset< OPTION_CODE_COUNT >, std::string > ChimeraTK::async::parseAndValidateJsonDescriptionStrV0 | ( | const std::vector< size_t > & | controllerID, |
| const std::string & | descriptionJsonStr | ||
| ) |
This extracts and validates data from the json snippet 'descriptorJsonStr' that matches the version 1 format Expect 'descriptionJsonStr' of the form {"path":"APP.INTCB", "options":{"ICR", "IPR", "MER"...}, "version":1} controllerID is used for error reporting only.
Returns a pair containing {option flags, registerPath} options flags as a bitset indexed by the GmidOptionCode enum registerPath takes the value keyed in the descriptionJson by JsonDescriptorStandardV0::PATH_JSON_KEY ("path")
Definition at line 187 of file GenericMuxedInterruptDistributor.cc.
| void ChimeraTK::async::steriliseOptionRegisterSettings | ( | std::bitset< OPTION_CODE_COUNT > const & | optionRegisterSettings, |
| std::vector< size_t > const & | controllerID | ||
| ) |
Ensures permissible combinations of option registers by throwing ChimeraTK::logic_error if there are any problems.
Definition at line 299 of file GenericMuxedInterruptDistributor.cc.
| std::string ChimeraTK::async::strSetToStr | ( | const std::set< std::string > & | strSet, |
| char | delimiter = ',' |
||
| ) |
The default delimiter is ',' TODO move this to some string helper library.
Definition at line 139 of file GenericMuxedInterruptDistributor.cc.