USB Host Shield 2.0
Public Member Functions | List of all members
MiniDSP Class Reference

#include <MiniDSP.h>

Inheritance diagram for MiniDSP:
Inheritance graph
[legend]
Collaboration diagram for MiniDSP:
Collaboration graph
[legend]

Public Member Functions

 MiniDSP (USB *p)
 
bool connected ()
 
void attachOnInit (void(*funcOnInit)(void))
 
void attachOnVolumeChange (void(*funcOnVolumeChange)(uint8_t))
 
void attachOnMutedChange (void(*funcOnMutedChange)(bool))
 
int getVolume () const
 
float getVolumeDB () const
 
bool isMuted () const
 
- Public Member Functions inherited from HIDUniversal
 HIDUniversal (USB *p)
 
uint8_t Poll () override
 
void EndpointXtract (uint8_t conf, uint8_t iface, uint8_t alt, uint8_t proto, const USB_ENDPOINT_DESCRIPTOR *ep) override
 
- Public Member Functions inherited from HIDComposite
 HIDComposite (USB *p)
 
bool SetReportParser (uint8_t id, HIDReportParser *prs)
 
uint8_t Init (uint8_t parent, uint8_t port, bool lowspeed)
 
uint8_t Release ()
 
virtual uint8_t GetAddress ()
 
virtual bool isReady ()
 
uint8_t SndRpt (uint16_t nbytes, uint8_t *dataptr)
 
- Public Member Functions inherited from USBHID
 USBHID (USB *pusb)
 
const USBGetUsb ()
 
uint8_t SetProtocol (uint8_t iface, uint8_t protocol)
 
uint8_t GetProtocol (uint8_t iface, uint8_t *dataptr)
 
uint8_t GetIdle (uint8_t iface, uint8_t reportID, uint8_t *dataptr)
 
uint8_t SetIdle (uint8_t iface, uint8_t reportID, uint8_t duration)
 
uint8_t GetReportDescr (uint16_t wIndex, USBReadParser *parser=NULL)
 
uint8_t GetHidDescr (uint8_t ep, uint16_t nbytes, uint8_t *dataptr)
 
uint8_t GetReport (uint8_t ep, uint8_t iface, uint8_t report_type, uint8_t report_id, uint16_t nbytes, uint8_t *dataptr)
 
uint8_t SetReport (uint8_t ep, uint8_t iface, uint8_t report_type, uint8_t report_id, uint16_t nbytes, uint8_t *dataptr)
 
- Public Member Functions inherited from USBDeviceConfig
virtual uint8_t ConfigureDevice (uint8_t parent, uint8_t port, bool lowspeed)
 
virtual void ResetHubPort (uint8_t port)
 
virtual bool DEVCLASSOK (uint8_t klass)
 
virtual bool DEVSUBCLASSOK (uint8_t subklass)
 

Protected Member Functions

HIDUniversal implementation
void ParseHIDData (USBHID *hid, bool is_rpt_id, uint8_t len, uint8_t *buf)
 
uint8_t OnInitSuccessful ()
 
USBDeviceConfig implementation
virtual bool VIDPIDOK (uint16_t vid, uint16_t pid)
 
- Protected Member Functions inherited from HIDComposite
uint16_t GetHidClassDescrLen (uint8_t type, uint8_t num)
 
void Initialize ()
 
HIDInterfaceFindInterface (uint8_t iface, uint8_t alt, uint8_t proto)
 
void ZeroMemory (uint8_t len, uint8_t *buf)
 
HIDReportParserGetReportParser (uint8_t id)
 
- Protected Member Functions inherited from USBHID
void PrintEndpointDescriptor (const USB_ENDPOINT_DESCRIPTOR *ep_ptr)
 
void PrintHidDescriptor (const USB_HID_DESCRIPTOR *pDesc)
 

Additional Inherited Members

- Protected Attributes inherited from HIDComposite
struct HIDComposite::ReportParser rptParsers [MAX_REPORT_PARSERS]
 
HID_CLASS_DESCRIPTOR_LEN_AND_TYPE descrInfo [HID_MAX_HID_CLASS_DESCRIPTORS]
 
uint8_t bConfNum
 
uint8_t bNumIface
 
uint8_t bNumEP
 
uint32_t qNextPollTime
 
uint8_t pollInterval
 
bool bPollEnable
 
EpInfo epInfo [totalEndpoints]
 
HIDInterface hidInterfaces [maxHidInterfaces]
 
bool bHasReportId
 
uint16_t PID
 
uint16_t VID
 
- Protected Attributes inherited from USBHID
USBpUsb
 
uint8_t bAddress
 
- Static Protected Attributes inherited from HIDComposite
static const uint16_t constBuffLen = 64
 
- Static Protected Attributes inherited from USBHID
static const uint8_t epInterruptInIndex = 1
 
static const uint8_t epInterruptOutIndex = 2
 
static const uint8_t maxHidInterfaces = 5
 
static const uint8_t maxEpPerInterface = 2
 
static const uint8_t totalEndpoints = (maxHidInterfaces * maxEpPerInterface + 1)
 

Detailed Description

Arduino MiniDSP 2x4HD USB Host Driver by Dennis Frett.

This class implements support for the MiniDSP 2x4HD via USB. Based on NodeJS implementation by Mathieu Rene: https://github.com/mrene/node-minidsp and the Python implementation by Mark Kubiak: https://github.com/markubiak/python3-minidsp.

It uses the HIDUniversal class for all the USB communication.

Definition at line 39 of file MiniDSP.h.

Constructor & Destructor Documentation

◆ MiniDSP()

MiniDSP::MiniDSP ( USB p)
inline

Constructor for the MiniDSP class.

Parameters
pPointer to the USB class instance.

Definition at line 46 of file MiniDSP.h.

Member Function Documentation

◆ connected()

bool MiniDSP::connected ( )
inline

Used to check if a MiniDSP 2x4HD is connected.

Returns
Returns true if it is connected.

Definition at line 53 of file MiniDSP.h.

◆ attachOnInit()

void MiniDSP::attachOnInit ( void(*)(void)  funcOnInit)
inline

Used to call your own function when the device is successfully initialized.

Parameters
funcOnInitFunction to call.

Definition at line 62 of file MiniDSP.h.

◆ attachOnVolumeChange()

void MiniDSP::attachOnVolumeChange ( void(*)(uint8_t)  funcOnVolumeChange)
inline

Used to call your own function when the volume has changed. The volume is passed as an unsigned integer that represents twice the -dB value. Example: 19 represents -9.5dB.

Parameters
funcOnVolumeChangeFunction to call.

Definition at line 72 of file MiniDSP.h.

◆ attachOnMutedChange()

void MiniDSP::attachOnMutedChange ( void(*)(bool)  funcOnMutedChange)
inline

Used to call your own function when the muted status has changed. The muted status is passed as a boolean. True means muted, false means unmuted.

Parameters
funcOnMutedChangeFunction to call.

Definition at line 82 of file MiniDSP.h.

◆ getVolume()

int MiniDSP::getVolume ( ) const
inline

Retrieve the current volume of the MiniDSP. The volume is passed as an unsigned integer that represents twice the -dB value. Example: 19 represents -9.5dB.

Returns
Current volume.

Definition at line 92 of file MiniDSP.h.

◆ getVolumeDB()

float MiniDSP::getVolumeDB ( ) const
inline

Retrieve the current volume of the MiniDSP in -dB.

Returns
Current volume.

Definition at line 100 of file MiniDSP.h.

◆ isMuted()

bool MiniDSP::isMuted ( ) const
inline

Retrieve the current muted status of the MiniDSP

Returns
true if the device is muted, false otherwise.

Definition at line 108 of file MiniDSP.h.

◆ ParseHIDData()

void MiniDSP::ParseHIDData ( USBHID hid,
bool  is_rpt_id,
uint8_t  len,
uint8_t *  buf 
)
protectedvirtual

Used to parse USB HID data.

Parameters
hidPointer to the HID class.
is_rpt_idOnly used for Hubs.
lenThe length of the incoming data.
bufPointer to the data buffer.

Reimplemented from HIDUniversal.

Definition at line 24 of file MiniDSP.cpp.

◆ OnInitSuccessful()

uint8_t MiniDSP::OnInitSuccessful ( )
protectedvirtual

Called when a device is successfully initialized. Use attachOnInit(void (*funcOnInit)(void)) to call your own function. This is useful for instance if you want to set the LEDs in a specific way.

Reimplemented from HIDComposite.

Definition at line 57 of file MiniDSP.cpp.

◆ VIDPIDOK()

virtual bool MiniDSP::VIDPIDOK ( uint16_t  vid,
uint16_t  pid 
)
inlineprotectedvirtual

Used by the USB core to check what this driver support.

Parameters
vidThe device's VID.
pidThe device's PID.
Returns
Returns true if the device's VID and PID matches this driver.

Reimplemented from USBDeviceConfig.

Definition at line 141 of file MiniDSP.h.


The documentation for this class was generated from the following files: