ChimeraTK-DeviceAccess  03.18.00
GenericMuxedInterruptDistributor.cc File Reference
#include "async/GenericMuxedInterruptDistributor.h"
#include "async/SubDomain.h"
#include <nlohmann/json.hpp>
#include <unordered_map>
#include <unordered_set>
#include <boost/bimap.hpp>
#include <algorithm>
#include <sstream>
#include <vector>
+ Include dependency graph for GenericMuxedInterruptDistributor.cc:

Go to the source code of this file.

Classes

struct  ChimeraTK::async::JsonDescriptorKeysV1
 

Namespaces

 ChimeraTK
 
 ChimeraTK::async
 

Typedefs

using ChimeraTK::async::JdkV1 = JsonDescriptorKeysV1
 

Functions

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. More...
 
uint32_t ChimeraTK::async::iToMask (const uint32_t ithInterrupt)
 Return a 32 bit mask with the ithInterrupt bit from the left set to 1 and all others 0. More...
 
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. More...
 
std::string ChimeraTK::async::getOptionRegisterStr (GmidOptionCode optCode)
 Given the Register option code enum, returns the corresponding string. More...
 
std::string ChimeraTK::async::explainOptCode (GmidOptionCode optCode)
 This returns strings explaining the option code acronyms for use in error messages. More...
 
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. More...
 
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. More...
 
std::string ChimeraTK::async::controllerIDToStr (const std::vector< size_t > &controllerID)
 Return a string describing the controllerID of the form "[1,2,3]". More...
 
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. More...
 
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. More...