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

Dependencies:   mbed

Fork of autonomous Robot Android by Christian Burri

Committer:
chrigelburri
Date:
Fri May 03 06:30:46 2013 +0000
Revision:
17:f0a973f17917
bastel mit adb

Who changed what in which revision?

UserRevisionLine numberNew contents of line
chrigelburri 17:f0a973f17917 1
chrigelburri 17:f0a973f17917 2
chrigelburri 17:f0a973f17917 3 /** @file PacketBuffer.h
chrigelburri 17:f0a973f17917 4 * @brief Packet Buffer
chrigelburri 17:f0a973f17917 5 */
chrigelburri 17:f0a973f17917 6
chrigelburri 17:f0a973f17917 7 #ifndef PacketBuffer_H
chrigelburri 17:f0a973f17917 8 #define PacketBuffer_H
chrigelburri 17:f0a973f17917 9
chrigelburri 17:f0a973f17917 10 #include "mbed.h"
chrigelburri 17:f0a973f17917 11
chrigelburri 17:f0a973f17917 12 typedef struct
chrigelburri 17:f0a973f17917 13 {
chrigelburri 17:f0a973f17917 14 char *buf;
chrigelburri 17:f0a973f17917 15 int size;
chrigelburri 17:f0a973f17917 16 } PacketBufInf;
chrigelburri 17:f0a973f17917 17
chrigelburri 17:f0a973f17917 18 class PacketBuffer {
chrigelburri 17:f0a973f17917 19 public:
chrigelburri 17:f0a973f17917 20 /** init Stack class
chrigelburri 17:f0a973f17917 21 * @param num buffering packet num
chrigelburri 17:f0a973f17917 22 * @param packet_size size of packet(max size)
chrigelburri 17:f0a973f17917 23 */
chrigelburri 17:f0a973f17917 24 PacketBuffer(int num,int packet_size);
chrigelburri 17:f0a973f17917 25 ~PacketBuffer();
chrigelburri 17:f0a973f17917 26
chrigelburri 17:f0a973f17917 27 /** put to Packet buffer
chrigelburri 17:f0a973f17917 28 * @param packet packet data
chrigelburri 17:f0a973f17917 29 * @param len packet length
chrigelburri 17:f0a973f17917 30 * @return put length
chrigelburri 17:f0a973f17917 31 */
chrigelburri 17:f0a973f17917 32 int PutPacket(char *packet, int len);
chrigelburri 17:f0a973f17917 33
chrigelburri 17:f0a973f17917 34 /** get from ring buffer
chrigelburri 17:f0a973f17917 35 * @param packet packet data
chrigelburri 17:f0a973f17917 36 * @return get length
chrigelburri 17:f0a973f17917 37 */
chrigelburri 17:f0a973f17917 38 int GetPacket(char *packet);
chrigelburri 17:f0a973f17917 39
chrigelburri 17:f0a973f17917 40 void clear();
chrigelburri 17:f0a973f17917 41 int available();
chrigelburri 17:f0a973f17917 42 int use();
chrigelburri 17:f0a973f17917 43
chrigelburri 17:f0a973f17917 44 private:
chrigelburri 17:f0a973f17917 45 PacketBufInf *p_buf;
chrigelburri 17:f0a973f17917 46 int max_num,max_size;
chrigelburri 17:f0a973f17917 47 int addr_w, addr_r;
chrigelburri 17:f0a973f17917 48 };
chrigelburri 17:f0a973f17917 49 #endif