2020-12-31 19:02:03 +01:00
|
|
|
#pragma once
|
|
|
|
|
|
|
|
|
|
#include "Emu/Io/usb_device.h"
|
|
|
|
|
|
|
|
|
|
class usb_device_buzz : public usb_device_emulated
|
|
|
|
|
{
|
|
|
|
|
public:
|
2023-05-20 10:54:20 +02:00
|
|
|
usb_device_buzz(u32 first_controller, u32 last_controller, const std::array<u8, 7>& location);
|
2020-12-31 19:02:03 +01:00
|
|
|
~usb_device_buzz();
|
|
|
|
|
|
2025-01-23 23:49:24 +01:00
|
|
|
static std::shared_ptr<usb_device> make_instance(u32 controller_index, const std::array<u8, 7>& location);
|
|
|
|
|
static u16 get_num_emu_devices();
|
|
|
|
|
|
2020-12-31 19:02:03 +01:00
|
|
|
void control_transfer(u8 bmRequestType, u8 bRequest, u16 wValue, u16 wIndex, u16 wLength, u32 buf_size, u8* buf, UsbTransfer* transfer) override;
|
|
|
|
|
void interrupt_transfer(u32 buf_size, u8* buf, u32 endpoint, UsbTransfer* transfer) override;
|
2023-05-20 10:54:20 +02:00
|
|
|
|
|
|
|
|
private:
|
|
|
|
|
u32 m_first_controller;
|
|
|
|
|
u32 m_last_controller;
|
2020-12-31 19:02:03 +01:00
|
|
|
};
|