This program is for an autonomous robot for the competition at the Hochschule Luzern. http://cruisingcrepe.wordpress.com/ We are one of the 32 teams. http://cruisingcrepe.wordpress.com/ The postition control is based on this Documentation: Control of Wheeled Mobile Robots: An Experimental Overview from Alessandro De Luca, Giuseppe Oriolo, Marilena Vendittelli. For more information see here: http://www.dis.uniroma1.it/~labrob/pub/papers/Ramsete01.pdf
Fork of autonomous Robot Android by
Diff: Android/AndroidAccessory/AndroidAccessory.h
- Revision:
- 12:235e318a414f
- Parent:
- 11:775ebb69d5e1
- Child:
- 13:a7c30ee09bae
--- a/Android/AndroidAccessory/AndroidAccessory.h Fri Apr 05 10:58:42 2013 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,195 +0,0 @@ -/* mbed AndroidAccessory Library - * Created by p07gbar from work by Makoto Abe - * - */ -#ifndef ADK_H_INCLUDED -#define ADK_H_INCLUDED - -#include "mbed.h" -#include "USBHost.h" - - -//#define ADKLOG 1 -#if ADKLOG -#define LOG(...) printf(__VA_ARGS__) -#define Log(...) printf(__VA_ARGS__) -#define log(...) printf(__VA_ARGS__) - -#else -#define LOG(...) do {} while(0) -#define Log(...) do {} while(0) -#define log(...) do {} while(0) - -#endif - -#define ACCESSORY_STRING_MANUFACTURER 0 -#define ACCESSORY_STRING_MODEL 1 -#define ACCESSORY_STRING_DESCRIPTION 2 -#define ACCESSORY_STRING_VERSION 3 -#define ACCESSORY_STRING_URI 4 -#define ACCESSORY_STRING_SERIAL 5 - -#define ACCESSORY_GET_PROTOCOL 51 -#define ACCESSORY_SEND_STRING 52 -#define ACCESSORY_START 53 - - - -/** An AndroidAccessory control class - * - * It allows easy creation of a mbed android ADK accessory, with minimal low level fussing. - * Base code should have methods resetDevice(), setupDevice(), callbackRead(u8 *buff, int len) and callBackWrite() functions - * - */ - -class AndroidAccessory { -public: - - - -/** Create a AndroidAccessory object - * - * Create a AndroidAccessoryobject with specified buffer sizes and infomation - * - * @param rbuffsize The size of the read buffer - * @param wbuffsize The size of the write buffer - * @param manufacturer The manufacturer of the accessory - * @param model The model of the accessory - * @param description A short description of the accessory - * @param version The current version of the accessory - * @param uri Some data to go with the accessory (URL or more description) - * @param serial The serial number of the accessory - */ - AndroidAccessory(int rbuffsize,int wbuffsize, - const char* manufacturer, - const char *model, - const char *description, - const char *version, - const char *uri, - const char *serial - ); - - /** Init the device - * This is meant to be implimented by the user of the class - * - * @param device Device number - * @param configuration Configuration - * @param interfaceNumber Inteface number - */ - virtual void init(int device, int configuration, int interfaceNumber); - -/** Reset the device - * This is meant to be implimented by the user of the class - * - */ - virtual void resetDevice()=0; - -/** Setup the device - * This is meant to be implimented by the user of the class. Called when the device is first intialised - * - */ - virtual void setupDevice()=0; - - /** Callback on Read - * This is meant to be implimented by the user of the class. Called when some data has been read in. - * - * @param buff The buffered read in data - * @param len The length of the packet recived - * - */ - virtual int callbackRead(u8 *buff, int len)=0; - - /** Callback after Write - * This is meant to be implimented by the user of the class. Called when the write has been finished. - * - */ - virtual int callbackWrite()=0; - - /** Write over USB - * This sends the data in the buffer over USB in a packet - * - * @param buff The buffer to write out - * @param len The length of the packet to send - * - */ - int write(u8 *buff, int len); - -/** Write over USB - * This sends the data in the buffer over USB in a packet, sends _writebuff and _writebuffsize - * - */ - int write() { - return write(_writebuff,_writebuffsize); - } - - /** Write over USB with no callback - * This sends the data in the buffer over USB in a packet, waits until the packet is sent, rather than doing a callback - * - * @param buff The buffer to write out - * @param len The length of the packet to send - * - */ - int writeNC(u8 *buff, int len); - - /** Write over USB - * This sends the data in the buffer over USB in a packet, waits until the packet is sent, rather than doing a callback, sends _writebuff and _writebuffsize - * - */ - int writeNC() { - return writeNC(_writebuff,_writebuffsize); - } - - /** Read the buffer USB - * This sends the data in the buffer over USB in a packet, waits until the packet is sent, rather than doing a callback - * - * @param buff The buffer to read into - * @param len The length of the packet to read in - * - * @param returns The number of bytes read - * - */ - int read(u8 *buff, int len); - - - void adkEnd() { - // _initok=false; - resetDevice(); - }; //if connection close - bool switchDevice(int device); - - //buffer - u8* _readbuff; - int _readbuffsize; - u8* _writebuff; - int _writebuffsize; - u8* _strbuff;//255bytes; - void sendString(const char *str); - -private: - - void sendString(int device, int index, const char *str); - int getProtocol(int device); - - const char *manufacturer; - const char *model; - const char *description; - const char *version; - const char *uri; - const char *serial; - - //endpoints - int input_ep; - int output_ep; - - int _device; - int _configuration; - int _interfaceNumber; - - //bool _initok; - -}; - -extern AndroidAccessory* _adk; //declared in cpp - - -#endif \ No newline at end of file