ADC Niose test Connect four analog signals to your MBED. and then run the Windows app. The four traces are displayed on an oscilloscope like display. I have used a USB HID DEVICE link, so connections to D+, D- are required. The MBED code is otherwise quite basic, So you can modify it to your own test needs. Additionaly, there is a 16 bit count value, in my MBED code Mainly to test if MSB & LSB are correct.

Dependencies:   mbed

Committer:
ceri
Date:
Sat Nov 19 22:54:22 2011 +0000
Revision:
0:cbe01b678bd4
just enough to work

Who changed what in which revision?

UserRevisionLine numberNew contents of line
ceri 0:cbe01b678bd4 1 /* USBBusInterface.h */
ceri 0:cbe01b678bd4 2 /* USB Bus Interface */
ceri 0:cbe01b678bd4 3 /* Copyright (c) 2011 ARM Limited. All rights reserved. */
ceri 0:cbe01b678bd4 4
ceri 0:cbe01b678bd4 5 #ifndef USBBUSINTERFACE_H
ceri 0:cbe01b678bd4 6 #define USBBUSINTERFACE_H
ceri 0:cbe01b678bd4 7
ceri 0:cbe01b678bd4 8 #include "mbed.h"
ceri 0:cbe01b678bd4 9 #include "USBEndpoints.h"
ceri 0:cbe01b678bd4 10
ceri 0:cbe01b678bd4 11 class USBHAL {
ceri 0:cbe01b678bd4 12 public:
ceri 0:cbe01b678bd4 13 /* Configuration */
ceri 0:cbe01b678bd4 14 USBHAL();
ceri 0:cbe01b678bd4 15 ~USBHAL();
ceri 0:cbe01b678bd4 16 void connect(void);
ceri 0:cbe01b678bd4 17 void disconnect(void);
ceri 0:cbe01b678bd4 18 void configureDevice(void);
ceri 0:cbe01b678bd4 19 void unconfigureDevice(void);
ceri 0:cbe01b678bd4 20 void setAddress(uint8_t address);
ceri 0:cbe01b678bd4 21 void remoteWakeup(void);
ceri 0:cbe01b678bd4 22
ceri 0:cbe01b678bd4 23 /* Endpoint 0 */
ceri 0:cbe01b678bd4 24 void EP0setup(uint8_t *buffer);
ceri 0:cbe01b678bd4 25 void EP0read(void);
ceri 0:cbe01b678bd4 26 uint32_t EP0getReadResult(uint8_t *buffer);
ceri 0:cbe01b678bd4 27 void EP0write(uint8_t *buffer, uint32_t size);
ceri 0:cbe01b678bd4 28 void EP0getWriteResult(void);
ceri 0:cbe01b678bd4 29 void EP0stall(void);
ceri 0:cbe01b678bd4 30
ceri 0:cbe01b678bd4 31 /* Other endpoints */
ceri 0:cbe01b678bd4 32 EP_STATUS endpointRead(uint8_t endpoint, uint32_t maximumSize);
ceri 0:cbe01b678bd4 33 EP_STATUS endpointReadResult(uint8_t endpoint, uint8_t *data, uint32_t *bytesRead);
ceri 0:cbe01b678bd4 34 EP_STATUS endpointWrite(uint8_t endpoint, uint8_t *data, uint32_t size);
ceri 0:cbe01b678bd4 35 EP_STATUS endpointWriteResult(uint8_t endpoint);
ceri 0:cbe01b678bd4 36 void stallEndpoint(uint8_t endpoint);
ceri 0:cbe01b678bd4 37 void unstallEndpoint(uint8_t endpoint);
ceri 0:cbe01b678bd4 38 bool realiseEndpoint(uint8_t endpoint, uint32_t maxPacket, uint32_t options);
ceri 0:cbe01b678bd4 39 bool getEndpointStallState(unsigned char endpoint);
ceri 0:cbe01b678bd4 40
ceri 0:cbe01b678bd4 41 protected:
ceri 0:cbe01b678bd4 42 virtual void busReset(void){};
ceri 0:cbe01b678bd4 43 virtual void EP0setupCallback(void){};
ceri 0:cbe01b678bd4 44 virtual void EP0out(void){};
ceri 0:cbe01b678bd4 45 virtual void EP0in(void){};
ceri 0:cbe01b678bd4 46 virtual void connectStateChanged(unsigned int connected){};
ceri 0:cbe01b678bd4 47 virtual void suspendStateChanged(unsigned int suspended){};
ceri 0:cbe01b678bd4 48 void SOF(int frameNumber){};
ceri 0:cbe01b678bd4 49 virtual bool EPBULK_OUT_callback(){return false;};
ceri 0:cbe01b678bd4 50 virtual bool EPBULK_IN_callback(){return false;};
ceri 0:cbe01b678bd4 51
ceri 0:cbe01b678bd4 52 private:
ceri 0:cbe01b678bd4 53 void usbisr(void);
ceri 0:cbe01b678bd4 54 static void _usbisr(void);
ceri 0:cbe01b678bd4 55 static USBHAL * instance;
ceri 0:cbe01b678bd4 56 };
ceri 0:cbe01b678bd4 57 #endif
ceri 0:cbe01b678bd4 58
ceri 0:cbe01b678bd4 59