mirror of
https://github.com/gdsports/USBHost_t36
synced 2025-02-16 06:50:14 -05:00
Add Task function
This commit is contained in:
parent
ea75a1c673
commit
a805d7552e
@ -32,8 +32,8 @@
|
|||||||
/* Data Types */
|
/* Data Types */
|
||||||
/************************************************/
|
/************************************************/
|
||||||
|
|
||||||
These 6 types are the key to understanding how this USB Host
|
// These 6 types are the key to understanding how this USB Host
|
||||||
library really works.
|
// library really works.
|
||||||
|
|
||||||
// USBHost is a static class controlling the hardware.
|
// USBHost is a static class controlling the hardware.
|
||||||
// All common USB functionality is implemented here.
|
// All common USB functionality is implemented here.
|
||||||
@ -175,6 +175,7 @@ struct Transfer_struct {
|
|||||||
class USBHost {
|
class USBHost {
|
||||||
public:
|
public:
|
||||||
static void begin();
|
static void begin();
|
||||||
|
static void Task();
|
||||||
protected:
|
protected:
|
||||||
static Pipe_t * new_Pipe(Device_t *dev, uint32_t type, uint32_t endpoint,
|
static Pipe_t * new_Pipe(Device_t *dev, uint32_t type, uint32_t endpoint,
|
||||||
uint32_t direction, uint32_t maxlen, uint32_t interval=0);
|
uint32_t direction, uint32_t maxlen, uint32_t interval=0);
|
||||||
@ -318,6 +319,11 @@ protected:
|
|||||||
// a timer event, this function is called.
|
// a timer event, this function is called.
|
||||||
virtual void timer_event(USBDriverTimer *whichTimer) { }
|
virtual void timer_event(USBDriverTimer *whichTimer) { }
|
||||||
|
|
||||||
|
// When the user calls USBHost::Task, this Task function for all
|
||||||
|
// active drivers is called, so they may update state and/or call
|
||||||
|
// any attached user callback functions.
|
||||||
|
virtual void Task() { }
|
||||||
|
|
||||||
// When a device disconnects from the USB, this function is called.
|
// When a device disconnects from the USB, this function is called.
|
||||||
// The driver must free all resources it allocated and update any
|
// The driver must free all resources it allocated and update any
|
||||||
// internal state necessary to deal with the possibility of user
|
// internal state necessary to deal with the possibility of user
|
||||||
|
@ -40,6 +40,14 @@ static void pipe_set_maxlen(Pipe_t *pipe, uint32_t maxlen);
|
|||||||
static void pipe_set_addr(Pipe_t *pipe, uint32_t addr);
|
static void pipe_set_addr(Pipe_t *pipe, uint32_t addr);
|
||||||
|
|
||||||
|
|
||||||
|
void USBHost::Task()
|
||||||
|
{
|
||||||
|
for (Device_t *dev = devlist; dev; dev = dev->next) {
|
||||||
|
for (USBDriver *driver = dev->drivers; driver; driver = driver->next) {
|
||||||
|
(driver->Task)();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void USBHost::driver_ready_for_device(USBDriver *driver)
|
void USBHost::driver_ready_for_device(USBDriver *driver)
|
||||||
{
|
{
|
||||||
|
@ -21,7 +21,7 @@
|
|||||||
* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "USBHost.h"
|
#include "USBHost_t36.h"
|
||||||
|
|
||||||
USBHost myusb;
|
USBHost myusb;
|
||||||
USBHub hub1;
|
USBHub hub1;
|
||||||
@ -60,6 +60,7 @@ void setup()
|
|||||||
|
|
||||||
void loop()
|
void loop()
|
||||||
{
|
{
|
||||||
|
myusb.Task();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user