Skip to content

File usb.h

File List > external-docs > libDaisy > src > hid > usb.h

Go to the documentation of this file

Source Code

#pragma once
#ifndef DSY_HID_USB_H
#define DSY_HID_USB_H
#include <stdint.h>
#include <stdlib.h>

namespace daisy
{
class UsbHandle
{
  public:
    enum class Result
    {
        OK,
        ERR,
    };

    enum UsbPeriph
    {
        FS_INTERNAL, 
        FS_EXTERNAL, 
        FS_BOTH,     
    };


    typedef void (*ReceiveCallback)(uint8_t* buff, uint32_t* len);

    UsbHandle() {}

    ~UsbHandle() {}

    void Init(UsbPeriph dev);

    void DeInit(UsbPeriph dev);

    Result TransmitInternal(uint8_t* buff, size_t size);
    Result TransmitExternal(uint8_t* buff, size_t size);

    void SetReceiveCallback(ReceiveCallback cb, UsbPeriph dev);

  private:
};

} // namespace daisy
#endif

/* - Add support for other USB classes (currently only CDC is supported)
- DMA setup
*/