Eric Wu / Mbed 2 deprecated WifiRobot

Dependencies:   mbed

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers irobotSensorStream.h Source File

irobotSensorStream.h

Go to the documentation of this file.
00001 /** \file irobotSensorStream.h
00002  *
00003  * iRobot sensor stream functions
00004  *
00005  * \author Jeff C. Jensen
00006  * \date 2013-12-09
00007  * \copyright Copyright (C) 2013, Jeff C. Jensen, Edward A. Lee, and Sanjit A. Seshia.
00008  *            This software accompanies An Introductory Lab in Embedded and Cyber-Physical Systems
00009  *            and is licensed under a Creative Commons Attribution-NonCommercial-NoDerivs 3.0
00010  *            Unported License. See http://leeseshia.org/lab.
00011  */
00012 
00013 #ifndef _IROBOTSTREAM_H
00014 #define _IROBOTSTREAM_H
00015 
00016 #include "irobotUART.h"
00017 #include "irobotSensorTypes.h"
00018 
00019 /// configure a sensors stream
00020 /// \return error code
00021 int32_t irobotSensorStreamConfigure(
00022     const irobotUARTPort_t          port,           ///< [in] irobot UART port
00023     const irobotSensorCode * const  sensorCodes,    ///< [in] array of sensor codes (must be nSensorCodes in size)
00024     uint8_t                         nSensorCodes    ///< [in] number of sensors in each stream packet
00025 );
00026 
00027 /// pause or resume a sensor stream
00028 /// \return error code
00029 int32_t irobotSensorStreamPause(
00030     const irobotUARTPort_t port,                    ///< [in] irobot UART port
00031     const bool pause                                ///< [in] TRUE if set to pause
00032 );
00033 
00034 /// begin a sensor stream containing all sensors (SensorGroup6)
00035 ///
00036 /// \warning Do not use this to measure distance and angle,
00037 /// as these measurements are subject to roundoff
00038 /// error in each packet; less frequent packets (polling)
00039 /// are needed.
00040 /// \return error code
00041 int32_t irobotSensorStreamStartAll(
00042     const irobotUARTPort_t          port            ///< [in] irobot UART port
00043 );
00044 
00045 /// process a sensors stream that has been configured
00046 /// to transmit SensorGroup6 (all sensors)
00047 int32_t irobotSensorStreamProcessAll(
00048     xqueue_t * const queue,                         ///< [in/out] raw byte stream
00049     irobotSensorGroup6_t * const sensors,           ///< [out] sensors
00050     bool * const packetFound                        ///< [out] packet found
00051 );
00052 
00053 
00054 #endif /// _IROBOTSTREAM_H