11 namespace itk::itkpix::emu {
31 virtual void send_cmds(
const std::span<const uint16_t> cmds) = 0;
33 typedef std::function<void(
const uint64_t* data,
size_t size)> OnDataCallback;
34 typedef std::function<void(
const uint64_t data)> OnServiceCallback;
62 std::constructible_from<T, uint8_t> and
65 std::destructible<T> and
69 {
self.reset() } -> std::same_as<void>;
74 requires(T
self,
const std::span<const uint16_t> cmds) {
75 {
self.send_cmds(cmds) } -> std::same_as<void>;
80 requires(T
self, std::function<
void(
const uint64_t* data,
size_t size)> on_data) {
81 {
self.callback_on_data(on_data) } -> std::same_as<void>;
86 requires(T
self, std::function<
void(
const uint64_t data)> on_service) {
87 {
self.callback_on_service(on_service) } -> std::same_as<void>;
Emulator interface on downlink/uplink streams level. downlink provided as 16-bit command frames uplin...
Definition: emulator.hpp:21
virtual ~Emulator()=default
Destructor.
virtual void reset()=0
Reset emulator.
virtual void send_cmds(const std::span< const uint16_t > cmds)=0
Send commands.
virtual void callback_on_data(OnDataCallback on_data)=0
Set on_data callback.
virtual void callback_on_service(OnServiceCallback on_service)=0
Set on_service callback.
concept Emulator
Emulator interface on downlink/uplink streams level. Downlink is represented as 16-bit command frames...
Definition: emulator.hpp:59