5 #include "fisch/vx/word_access/type/timer.h"
6 #include "halco/common/geometry.h"
7 #include "halco/hicann-dls/vx/timing.h"
11 #include "hate/visibility.h"
25 struct GENPYBIND(inline_base("*
")) Value
26 : public halco::common::detail::BaseType<Value, uint32_t>
28 constexpr explicit Value(uintmax_t value = 0) GENPYBIND(implicit_conversion) : base_t(value)
31 static const Value fpga_clock_cycles_per_us SYMBOL_VISIBLE;
38 explicit Timer(Value value = Value()) SYMBOL_VISIBLE;
44 void set(Value value) SYMBOL_VISIBLE;
46 bool operator==(Timer const& other) const SYMBOL_VISIBLE;
47 bool operator!=(Timer const& other) const SYMBOL_VISIBLE;
49 GENPYBIND(stringstream)
50 friend std::ostream& operator<<(std::ostream& os, Timer const& config) SYMBOL_VISIBLE;
52 static size_t constexpr write_config_size_in_words GENPYBIND(hidden) = 1;
53 static size_t constexpr read_config_size_in_words GENPYBIND(hidden) = 0;
54 static std::array<halco::hicann_dls::vx::TimerOnDLS, write_config_size_in_words>
55 write_addresses(coordinate_type const& word) SYMBOL_VISIBLE GENPYBIND(hidden);
56 static std::array<halco::hicann_dls::vx::TimerOnDLS, read_config_size_in_words> read_addresses(
57 coordinate_type const& word) SYMBOL_VISIBLE GENPYBIND(hidden);
58 std::array<fisch::vx::word_access_type::Timer, write_config_size_in_words> encode() const
59 SYMBOL_VISIBLE GENPYBIND(hidden);
60 void decode(std::array<fisch::vx::word_access_type::Timer, read_config_size_in_words> const&
61 data) SYMBOL_VISIBLE GENPYBIND(hidden);
64 friend class cereal::access;
65 template <typename Archive>
66 void serialize(Archive& ar, std::uint32_t const version);
71 EXTERN_INSTANTIATE_CEREAL_SERIALIZE(Timer)
76 struct BackendContainerTrait<Timer>
77 : public BackendContainerBase<Timer, fisch::vx::word_access_type::Timer>
87 HALCO_GEOMETRY_HASH_CLASS(haldls::vx::Timer::Value)
Container for resetting the FPGA playback timer.
halco::hicann_dls::vx::TimerOnDLS coordinate_type
std::true_type is_leaf_node
#define GENPYBIND_TAG_HALDLS_VX