usb-buffer.h
Go to the documentation of this file.
00001 /*
00002         Aseba - an event-based framework for distributed robot control
00003         Copyright (C) 2007--2012:
00004                 Stephane Magnenat <stephane at magnenat dot net>
00005                 (http://stephane.magnenat.net)
00006                 and other contributors, see authors.txt for details
00007         
00008         This program is free software: you can redistribute it and/or modify
00009         it under the terms of the GNU Lesser General Public License as published
00010         by the Free Software Foundation, version 3 of the License.
00011         
00012         This program is distributed in the hope that it will be useful,
00013         but WITHOUT ANY WARRANTY; without even the implied warranty of
00014         MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00015         GNU Lesser General Public License for more details.
00016         
00017         You should have received a copy of the GNU Lesser General Public License
00018         along with this program. If not, see <http://www.gnu.org/licenses/>.
00019 */
00020 
00021 #ifndef _USB_BUFFER_H_
00022 #define _USB_BUFFER_H_
00023 
00024 #include "../../vm/vm.h"
00025 #include "../../common/types.h"
00026 
00034 
00035 /************** 
00036  * Interface USB-HW (Interrupt) <-> Usb buffer 
00037  **************/
00038 
00040 #define ASEBA_USB_MTU   64
00041 
00046 unsigned char AsebaTxReady(unsigned char *data);
00047 
00051 int AsebaUsbBulkRecv(unsigned char *data, unsigned char size);
00052 
00053 
00054 
00055 /*************
00056  * Interface usb-buffer <-> Aseba VM (Main() code)
00057  *************/
00058 
00059 void AsebaSendBuffer(AsebaVMState *vm, const uint8 * data, uint16 length);
00060 uint16 AsebaGetBuffer(AsebaVMState *vm, uint8* data, uint16 maxLength, uint16* source);
00061 
00062 
00063 /*************
00064  * Init, and other random stuff 
00065  *************/
00066 void AsebaUsbInit(unsigned char * sendQueue, size_t sendQueueSize, unsigned char * recvQueue, size_t recvQueueSize);
00067 int AsebaUsbRecvBufferEmpty(void);
00068 int AsebaUsbTxBusy(void);
00069 
00072 #endif


aseba
Author(s): Stéphane Magnenat
autogenerated on Sun Oct 5 2014 23:46:39