2 #include "halco/common/geometry.h" 
    3 #include "halco/common/typed_array.h" 
    4 #include "halco/hicann-dls/vx/capmem.h" 
    5 #include "halco/hicann-dls/vx/correlation.h" 
    9 #include "hate/visibility.h" 
   13 #include <cereal/cereal.hpp> 
   18 class OmnibusChipOverJTAG;
 
   36     struct GENPYBIND(inline_base("*
")) SenseDelay 
   37         : public halco::common::detail:: 
   38               RantWrapper<SenseDelay, uint_fast16_t, hate::math::pow(2, 12) - 1, 0> 
   40         constexpr explicit SenseDelay(uintmax_t const val = 1) GENPYBIND(implicit_conversion) : 
   49     struct GENPYBIND(inline_base("*
")) ResetDuration 
   50         : public halco::common::detail:: 
   51               RantWrapper<ResetDuration, uint_fast16_t, hate::math::pow(2, 12) - 1, 0> 
   53         constexpr explicit ResetDuration(uintmax_t const val = 200) GENPYBIND(implicit_conversion) : 
   61     struct GENPYBIND(inline_base("*
")) ResetFallTime 
   62         : public halco::common::detail:: 
   63               RantWrapper<ResetFallTime, uint_fast16_t, hate::math::pow(2, 12) - 1, 0> 
   65         constexpr explicit ResetFallTime(uintmax_t const val = 5) GENPYBIND(implicit_conversion) : 
   71     enum class ResetMode : uint_fast8_t 
   74         auto_calibrating = 0b1 
   78     typedef halco::common::typed_array< 
   79         halco::hicann_dls::vx::CapMemBlockOnHemisphere, 
   80         halco::hicann_dls::vx::CapMemBlockOnHemisphere> 
   81         RampOffsets GENPYBIND(opaque(false)); 
   84     CommonCorrelationConfig() SYMBOL_VISIBLE; 
   90     GENPYBIND(getter_for(sense_delay)) 
   91     SenseDelay get_sense_delay() const SYMBOL_VISIBLE; 
   92     GENPYBIND(setter_for(sense_delay)) 
   93     void set_sense_delay(SenseDelay value) SYMBOL_VISIBLE; 
   99     GENPYBIND(getter_for(reset_duration)) 
  100     ResetDuration get_reset_duration() const SYMBOL_VISIBLE; 
  101     GENPYBIND(setter_for(reset_duration)) 
  102     void set_reset_duration(ResetDuration value) SYMBOL_VISIBLE; 
  107     GENPYBIND(getter_for(reset_fall_time)) 
  108     ResetFallTime get_reset_fall_time() const SYMBOL_VISIBLE; 
  109     GENPYBIND(setter_for(reset_fall_time)) 
  110     void set_reset_fall_time(ResetFallTime value) SYMBOL_VISIBLE; 
  116     GENPYBIND(getter_for(reset_mode)) 
  117     ResetMode get_reset_mode() const SYMBOL_VISIBLE; 
  118     GENPYBIND(setter_for(reset_mode)) 
  119     void set_reset_mode(ResetMode value) SYMBOL_VISIBLE; 
  127     GENPYBIND(getter_for(cadc_v_offset_assignment), return_value_policy(reference)) 
  128     RampOffsets const& get_cadc_v_offset_assignment() const SYMBOL_VISIBLE; 
  129     GENPYBIND(setter_for(cadc_v_offset_assignment)) 
  130     void set_cadc_v_offset_assignment(RampOffsets const& value) SYMBOL_VISIBLE; 
  132     bool operator==(CommonCorrelationConfig const& other) const SYMBOL_VISIBLE; 
  133     bool operator!=(CommonCorrelationConfig const& other) const SYMBOL_VISIBLE; 
  135     GENPYBIND(stringstream) 
  136     friend std::ostream& operator<<(std::ostream& os, CommonCorrelationConfig const& config) 
  139     static size_t constexpr config_size_in_words GENPYBIND(hidden) = 4; 
  140     template <typename AddressT> 
  141     static std::array<AddressT, config_size_in_words> addresses(coordinate_type const& word) 
  142         SYMBOL_VISIBLE GENPYBIND(hidden); 
  143     template <typename WordT> 
  144     std::array<WordT, config_size_in_words> encode() const SYMBOL_VISIBLE GENPYBIND(hidden); 
  145     template <typename WordT> 
  146     void decode(std::array<WordT, config_size_in_words> const& data) SYMBOL_VISIBLE 
  150     friend class cereal::access; 
  151     template <typename Archive> 
  152     void serialize(Archive& ar, std::uint32_t const version) SYMBOL_VISIBLE; 
  154     SenseDelay m_sense_delay; 
  155     ResetDuration m_reset_duration; 
  156     ResetFallTime m_reset_fall_time; 
  157     ResetMode m_reset_mode; 
  158     RampOffsets m_cadc_v_offset_assignment; 
  161 std::ostream& operator<<(std::ostream& os, CommonCorrelationConfig::ResetMode const& config) 
  164 } // namespace haldls::vx 
  166 namespace haldls::vx::detail { 
  169 struct BackendContainerTrait<CommonCorrelationConfig> 
  170     : public BackendContainerBase< 
  171           haldls::vx::CommonCorrelationConfig, 
  172           fisch::vx::word_access_type::Omnibus, 
  173           fisch::vx::word_access_type::OmnibusChipOverJTAG> 
  176 } // namespace haldls::vx::detail 
  179 CEREAL_CLASS_VERSION(haldls::vx::CommonCorrelationConfig, 1) 
  180 EXTERN_INSTANTIATE_CEREAL_SERIALIZE(haldls::vx::CommonCorrelationConfig) 
Correlation reset and readout timing configuration container.
std::true_type is_leaf_node
halco::hicann_dls::vx::CommonCorrelationConfigOnDLS coordinate_type
#define GENPYBIND_TAG_HALDLS_VX