Quelltext /~heha/ewa/Motor/Maxmaus9.zip/usblib/usbd.h

// TITLE: types and definitions used during USB enumeration
#pragma once
#include "usblib.h"	//usb::tRequest

namespace usb{
struct tDevice {
  virtual ~tDevice() {}
  virtual void idle() {}
  virtual bool cbGetDescriptor(const tRequest&)		{return false;}
  virtual bool cbRequestHandler(const tRequest&)	{return false;}
  virtual void onReset()		{devstat &= ~2;	config = 0;}
  virtual void onDisconnect()		{onReset();}
  virtual void onSOF()			{}
  uint8_t config;	// 0 = unconfigured, !=0 = configured
  uint8_t devstat;	// Bit 0: SelfPower, Bit 1: RemoteWakeupEnabled

  bool Init();
  void Term();
//  void RequestDataEP0(uint8_t*,uint32_t);
  void SendDataEP0(const uint8_t*,unsigned, const tRequest&);
  void PowerStatusSet(bool selfpower) {if (selfpower) devstat|=1; else devstat&=~1;}
  void poll();
private:
  void pollEP0();
  void SendDataEP0(const uint8_t*,unsigned);
};
}
Vorgefundene Kodierung: ASCII (7 bit)2