31 #ifndef _usb_hid_packetizer_h_ 32 #define _usb_hid_packetizer_h_ 34 #include "Packetizer.h" 35 #include "UsbHidPeripheral.h" 38 #include "bootloader_common.h" 40 #include "bootloader_hid_report_ids.h" 56 kReadFlushTimeoutMs = 100000,
57 #if defined(BL_WITHOUT_RECEIVE_SB_FILE_CMD) 58 kPollAbortTimeoutMs = 0,
60 kPollAbortTimeoutMs = 10,
62 kPollPacketMaxRetryCnt = 50,
63 kContinuousReadMargin = 2,
78 virtual status_t
readPacket(uint8_t **packet, uint32_t *packetLength, packet_type_t packetType);
84 virtual status_t
writePacket(
const uint8_t *packet, uint32_t byteCount, packet_type_t packetType);
119 m_continuousReadCount;
126 #endif // _usb_hid_packetizer_h_ Interface class for packetization of commands and data.
Definition: Packetizer.h:59
bl_hid_report_t m_abortReport
Used for received abort report.
Definition: UsbHidPacketizer.h:115
virtual void abortPacket()
Abort data phase.
Definition: UsbHidPacketizer.cpp:206
virtual status_t readPacket(uint8_t **packet, uint32_t *packetLength, packet_type_t packetType)
Read a packet.
Definition: UsbHidPacketizer.cpp:111
Definition: BlfwkErrors.h:16
virtual void sync()
Send framing packet ack/nak.
Definition: UsbHidPacketizer.h:90
UsbHidPacketizer(UsbHidPeripheral *peripheral, uint32_t readPacketTimeoutMs)
Default Constructor.
Definition: UsbHidPacketizer.cpp:47
virtual uint32_t getMaxPacketSize()
Returns the max packet size supported.
Definition: UsbHidPacketizer.cpp:232
Provides source and sink for packets that go over USB HID class.
Definition: UsbHidPacketizer.h:50
_usbhid_contants
Constants.
Definition: UsbHidPacketizer.h:54
bool pollForAbortPacket()
Poll overlapped read for receiver data phase abort.
Definition: UsbHidPacketizer.cpp:213
virtual void setAborted(bool aborted)
Set aborted flag.
Definition: UsbHidPacketizer.h:100
virtual void enableSimulatorPump()
Enable simulator command processor pump.
Definition: UsbHidPacketizer.h:96
virtual UsbHidPeripheral * getPeripheral()
Peripheral accessor.
Definition: UsbHidPacketizer.h:105
virtual void finalize()
Finalize.
Definition: UsbHidPacketizer.h:93
bl_hid_report_t m_report
Used for building and receiving the report.
Definition: UsbHidPacketizer.h:114
virtual void flushInput()
Flush input from device.
Definition: UsbHidPacketizer.cpp:196
Represents a USB HID peripheral.
Definition: UsbHidPeripheral.h:47
virtual ~UsbHidPacketizer()
Destructor.
Definition: UsbHidPacketizer.cpp:54
Peripheral * m_peripheral
Peripheral to send/receive bytes on.
Definition: Packetizer.h:113
virtual void pumpSimulator()
Pump simulator command processor.
Definition: UsbHidPacketizer.h:98
virtual status_t writePacket(const uint8_t *packet, uint32_t byteCount, packet_type_t packetType)
Write a packet.
Definition: UsbHidPacketizer.cpp:60