5 #include "halco/common/geometry.h"
6 #include "halco/hicann-dls/vx/highspeed_link.h"
11 #include "hate/visibility.h"
29 struct GENPYBIND(inline_base("*
")) ReadCount
30 : public halco::common::detail::BaseType<ReadCount, uint32_t>
32 constexpr explicit ReadCount(uintmax_t const val = 0)
33 GENPYBIND(implicit_conversion) : base_t(val)
40 struct GENPYBIND(inline_base("*
")) WriteCount
41 : public halco::common::detail::BaseType<WriteCount, uint32_t>
43 constexpr explicit WriteCount(uintmax_t const val = 0)
44 GENPYBIND(implicit_conversion) : base_t(val)
51 struct GENPYBIND(inline_base("*
")) RxCount
52 : public halco::common::detail::BaseType<RxCount, uint32_t>
54 constexpr explicit RxCount(uintmax_t const val = 0)
55 GENPYBIND(implicit_conversion) : base_t(val)
62 struct GENPYBIND(inline_base("*
")) TxCount
63 : public halco::common::detail::BaseType<TxCount, uint32_t>
65 constexpr explicit TxCount(uintmax_t const val = 0)
66 GENPYBIND(implicit_conversion) : base_t(val)
70 HicannARQStatus() SYMBOL_VISIBLE;
72 GENPYBIND(getter_for(read_count))
73 ReadCount get_read_count() const SYMBOL_VISIBLE;
74 GENPYBIND(setter_for(read_count))
75 void set_read_count(ReadCount value) SYMBOL_VISIBLE;
77 GENPYBIND(getter_for(write_count))
78 WriteCount get_write_count() const SYMBOL_VISIBLE;
79 GENPYBIND(setter_for(write_count))
80 void set_write_count(WriteCount value) SYMBOL_VISIBLE;
82 GENPYBIND(getter_for(rx_count))
83 RxCount get_rx_count() const SYMBOL_VISIBLE;
84 GENPYBIND(setter_for(rx_count))
85 void set_rx_count(RxCount value) SYMBOL_VISIBLE;
87 GENPYBIND(getter_for(tx_count))
88 TxCount get_tx_count() const SYMBOL_VISIBLE;
89 GENPYBIND(setter_for(tx_count))
90 void set_tx_count(TxCount value) SYMBOL_VISIBLE;
92 bool operator==(HicannARQStatus const& other) const SYMBOL_VISIBLE;
93 bool operator!=(HicannARQStatus const& other) const SYMBOL_VISIBLE;
95 static size_t constexpr read_config_size_in_words GENPYBIND(hidden) = 4;
96 static size_t constexpr write_config_size_in_words GENPYBIND(hidden) = 0;
97 static std::array<halco::hicann_dls::vx::OmnibusAddress, read_config_size_in_words>
98 read_addresses(coordinate_type const& coord) SYMBOL_VISIBLE GENPYBIND(hidden);
99 static std::array<halco::hicann_dls::vx::OmnibusAddress, write_config_size_in_words>
100 write_addresses(coordinate_type const& coord) SYMBOL_VISIBLE GENPYBIND(hidden);
101 std::array<fisch::vx::word_access_type::Omnibus, write_config_size_in_words> encode() const
102 SYMBOL_VISIBLE GENPYBIND(hidden);
103 void decode(std::array<fisch::vx::word_access_type::Omnibus, read_config_size_in_words> const&
104 data) SYMBOL_VISIBLE GENPYBIND(hidden);
106 GENPYBIND(stringstream)
107 friend std::ostream& operator<<(std::ostream& os, HicannARQStatus const& config) SYMBOL_VISIBLE;
110 friend class cereal::access;
111 template <class Archive>
112 void serialize(Archive& ar, std::uint32_t const version) SYMBOL_VISIBLE;
114 ReadCount m_read_count;
115 WriteCount m_write_count;
120 EXTERN_INSTANTIATE_CEREAL_SERIALIZE(HicannARQStatus)
125 struct BackendContainerTrait<HicannARQStatus>
126 : public BackendContainerBase<HicannARQStatus, fisch::vx::word_access_type::Omnibus>
129 } // namespace detail
132 } // namespace haldls
136 HALCO_GEOMETRY_HASH_CLASS(haldls::vx::HicannARQStatus::ReadCount)
137 HALCO_GEOMETRY_HASH_CLASS(haldls::vx::HicannARQStatus::WriteCount)
138 HALCO_GEOMETRY_HASH_CLASS(haldls::vx::HicannARQStatus::RxCount)
139 HALCO_GEOMETRY_HASH_CLASS(haldls::vx::HicannARQStatus::TxCount)
halco::hicann_dls::vx::HicannARQStatusOnFPGA coordinate_type
std::true_type is_leaf_node
#define GENPYBIND_TAG_HALDLS_VX