Main Page   Hardware Class Hierarchy   Hardware API     Mapping Class Hierarchy  Mapping API 

component.h

Go to the documentation of this file.
00001 /*
00002 DASI Library Copyright (C) 2004  Derek Jones
00003 This software is free for educational use only--no commercial use allowed.
00004 
00005 This library is  distributed in the hope that it will be useful,
00006 but WITHOUT ANY WARRANTY;  without even the implied warranty of
00007 MERCHANTABILITY or FITNESS FOR A  PARTICULAR PURPOSE.  
00008 */
00009 
00010 #ifndef COMPONENT_H
00011 #define COMPONENT_H
00012 #include <types.h>
00013 // move all objects that will have a JAUS component ID to beginning of list.
00014 // so not every object in object list needs to be a component.
00015 // but every JAUS component will be on object list.
00017 /* This class works in tandem with the Object_List class.  To make a class a JAUS component,
00018         - initialize object list 'Object_List::add(this,cOBJECT);'
00019         - make class a friend to object list.
00020         - add a public method "  void JAUS_Message(jaus_message& imsg);"
00021 
00022 \par Note
00023    particular components must be friend to class Object_List; this is because object list 
00024 has the responsibility to initialize the components attributes.  The JAUS_Message should implement
00025   all defined input/output messages defined for that component.
00026 
00027 */
00028 // Range_Sensor_Component Subtypes
00029 #define OOMRM_OBJECT_MAX 30
00030 
00031 enum OBJECT {
00032    Error_Component=0,
00033    Node_Manager_Component=1,
00034    cEncodedMotor=2,
00035    cA2D=3,
00036    cCameraGB=4,
00037    cCompassDV=5,
00038    cConsole=6,
00039    cDialgue=7,
00040    cEncoder=8,
00041    cKeypad=9,
00042    cLCD=10,                                // 0x0A
00043    cDCmotor=11,                            // 0x0B
00044    cProcessor=12,                          // 0x0C
00045    cPWM=13,                                // 0x0D
00046    cSchedule=14,                           // 0x0E
00047    cServo=15,                              // 0x0F
00048    cSharpGP2D12=16,                        // 0x10
00049    cSonarDV=17,                            // 0x11
00050    cTimer=18,                              // 0x12
00051    cUART=19,                               // 0x13
00052    cTPU=20,                                // 0x14
00053    cVBR=21,                                // 0x15
00054    cWorld_Model_Store_Component=22,        // 0x16
00055    cMotion_Driver=23,                      // 0x17
00056    cIR=24,                                 // 0x18
00057    cIR_chain=25,                           // 0x19
00058    cSwitch=26,                             // 0x1A
00059    cSimulator=27,                          // 0x1B
00060    cSpeaker=28,                            // 0x1C
00061    cTTSemic=29,                            // 0x1D
00062    cCameraC328=30,                         // 0x1E
00063    Subsystem_Commander_Component=32,       // 0x20
00064    Primitive_Driver_Component=33,          // 0x21  cDCmotor
00065    Communicator_Component=35,              // 0x23
00066    Visual_Sensor_Component=37,             // 0x25  Camera component.
00067    Global_Pose_Sensor_Component=38,        // 0x26
00068    System_Commander_Component=40,          // 0x28
00069    Local_Pose_Sensor_Component=41,         // 0x29
00070    Velocity_State_Sensor_Component=42,     // 0x2A
00071    Reflexive_Driver_Component=43,          // 0x2B
00072    Local_Vector_Driver_Component=44,       // 0x2C
00073    Local_Waypoint_Driver_Component=46,     // 0x2E cCommand_Driver
00074    Binary_Status_Component=47,             // 0x2F (ie LED, power light, etc.)
00075    Range_Sensor_Component=50,              // 0x32 IR_base (may use confidence to differentiate IR from Sonar).
00076    Manipulator_Joint_Position_Sensor_Component=51, // 0x33
00077    Manipulator_Joint_Velocity_Sensor_Component=52, // 0x34
00078    Manipulator_Joint_Force_Sensor_Component=53,    // 0x35
00079    Manipulator_Joint_Positions_Driver_Component=54,// 0x36
00080    Manipulator_End_Effector_Pose_Driver_Component=55, // 0x37
00081    Manipulator_Joint_Velocities_Driver_Component=56, // 0x38
00082    Manipulator_End_Effector_Velocity_State_Driver_Component=57, // 0x39
00083    Manipulator_Joint_Move_Driver_Component=58,                  // 0x3A
00084    Manipulator_End_Effector_Discrete_Pose_Driver_Component=59,  // 0x3B
00085    cLAST_JAUS_COMPONENT=60                                      // 0x3C
00086 };
00088 #define JAUS_COMPONENT_ID OBJECT
00089 
00090 #ifdef DOS
00091 void display_component(uint8 comp);
00092 
00093 #endif
00094 
00095 #endif

Generated on Mon Oct 8 19:32:18 2007 for OOMRM Mapping API by doxygen1.3