RobotKit API
|
00001 // 00002 // RKSetDataStreamingCommand.h 00003 // RobotKit 00004 // 00005 // Created by Brian Smith on 7/7/11. 00006 // Copyright 2011 Orbotix Inc. All rights reserved. 00007 // 00008 00011 #import <Foundation/Foundation.h> 00012 #import <RobotKit/RKDeviceCommand.h> 00013 00015 typedef uint32_t RKDataStreamingMask; 00019 enum { 00021 RKDataStreamingMaskOff = 0x00000000, 00022 RKDataStreamingMaskLeftMotorBackEMFFiltered = 0x00000020, 00023 RKDataStreamingMaskRightMotorBackEMFFiltered = 0x00000040, 00024 RKDataStreamingMaskMagnetometerZFiltered = 0x00000080, 00025 RKDataStreamingMaskMagnetometerYFiltered = 0x00000100, 00026 RKDataStreamingMaskMagnetometerXFiltered = 0x00000200, 00027 RKDataStreamingMaskGyroZFiltered = 0x00000400, 00028 RKDataStreamingMaskGyroYFiltered = 0x00000800, 00029 RKDataStreamingMaskGyroXFiltered = 0x00001000, 00030 RKDataStreamingMaskAccelerometerZFiltered = 0x00002000, 00031 RKDataStreamingMaskAccelerometerYFiltered = 0x00004000, 00032 RKDataStreamingMaskAccelerometerXFiltered = 0x00008000, 00033 RKDataStreamingMaskIMUYawAngleFiltered = 0x00010000, 00034 RKDataStreamingMaskIMURollAngleFiltered = 0x00020000, 00035 RKDataStreamingMaskIMUPitchAngleFiltered = 0x00040000, 00036 RKDataStreamingMaskLeftMotorBackEMFRaw = 0x00200000, 00037 RKDataStreamingMaskRightMotorBackEMFRaw = 0x00400000, 00038 RKDataStreamingMaskMagnetometerZRaw = 0x00800000, 00039 RKDataStreamingMaskMagnetometerYRaw = 0x01000000, 00040 RKDataStreamingMaskMagnetometerXRaw = 0x02000000, 00041 RKDataStreamingMaskGyroZRaw = 0x04000000, 00042 RKDataStreamingMaskGyroYRaw = 0x08000000, 00043 RKDataStreamingMaskGyroXRaw = 0x10000000, 00044 RKDataStreamingMaskAccelerometerZRaw = 0x20000000, 00045 RKDataStreamingMaskAccelerometerYRaw = 0x40000000, 00046 RKDataStreamingMaskAccelerometerXRaw = 0x80000000 00047 }; 00048 00061 @interface RKSetDataStreamingCommand : RKDeviceCommand { 00062 uint16_t sampleRateDivisor; 00063 uint16_t packetFrames; 00064 RKDataStreamingMask requestMask; 00065 uint8_t packetCount; 00066 } 00067 00069 @property (nonatomic, readonly) uint16_t sampleRateDivisor; 00071 @property (nonatomic, readonly) uint16_t packetFrames; 00073 @property (nonatomic, readonly) RKDataStreamingMask requestMask; 00075 @property (nonatomic, readonly) uint8_t packetCount; 00076 00080 + (RKDataStreamingMask)currentMask; 00081 00091 + (void)sendCommandWithSampleRateDivisor:(uint16_t)devisor 00092 packetFrames:(uint16_t)frames 00093 sensorMask:(uint32_t)mask 00094 packetCount:(uint8_t)count; 00098 - (id)initWithSampleRateDivisor:(uint16_t)devisor 00099 packetFrames:(uint16_t)frames 00100 sensorMask:(uint32_t)mask 00101 packetCount:(uint8_t)count; 00102 00103 @end