Homepage | Demos | Overview | Downloads | Tutorials | Reference | Credits |
#include <WorldState.h>
Definition at line 126 of file WorldState.h.
Public Member Functions | |
WorldState () | |
constructor - sets everything to zeros | |
void | read (OSensorFrameVectorData &sensor, EventRouter *er) |
will process a sensor reading as given by OPEN-R | |
void | read (const OPowerStatus &power, EventRouter *er) |
will process a power status update as given by OPEN-R | |
Public Attributes | |
bool | alwaysGenerateStatus |
controls whether status events are generated for the boolean buttons | |
float | outputs [NumOutputs] |
same format as Motion stuff, for ears, x<.5 is up, x>=.5 is down | |
float | buttons [NumButtons] |
magnitude is pressure for some, 0/1 for others | |
float | sensors [NumSensors] |
IR, Accel, Thermo, Power stuff. | |
float | pids [NumPIDJoints][3] |
current PID settings | |
float | pidduties [NumPIDJoints] |
duty cycles - -1 means the motor is trying to move full power in negative direction, 1 means full power in positive direction, in practice, these values stay rather small - 0.15 is significant force. | |
unsigned int | robotStatus |
bitmask, see OPENR/OPower.h | |
unsigned int | batteryStatus |
bitmask, see OPENR/OPower.h | |
unsigned int | powerFlags [PowerSourceID::NumPowerSIDs] |
bitmasks of similarly-grouped items from previous two masks, corresponds to the PowerSourceID_t's | |
unsigned int | button_times [NumButtons] |
value is time of current press, 0 if not down | |
unsigned int | lastSensorUpdateTime |
primarily so calcDers can determine the time difference between updates, but others might want to know this too... | |
ProfilerOfSize< 20 > | mainProfile |
holds code profiling information for MainObject | |
ProfilerOfSize< 06 > | motionProfile |
holds code profiling information for MotionObject | |
WorldStateSerializer * | wsser |
sends current worldstate to TekkotsuMon, if it's connected | |
unsigned int | robotDesign |
bitmask corresponding to OPENR::GetRobotDesign() | |
Static Public Attributes | |
const double | g = 9.80665 |
the gravitational acceleration of objects on earth | |
const double | IROORDist = 900.0 |
If IR returns this, we're out of range. | |
const unsigned int | ERS210Mask = 1<<0 |
use this to test for ERS210 features | |
const unsigned int | ERS220Mask = 1<<1 |
use this to test for ERS220 features | |
Protected Member Functions | |
void | chkEvent (EventRouter *er, unsigned int off, float newval, const char *name) |
Tests to see if the button status has changed and post events as needed. | |
void | chkPowerEvent (unsigned int sid, unsigned int cur, unsigned int mask, const char *name, std::string actname[PowerSourceID::NumPowerSIDs], std::string dename[PowerSourceID::NumPowerSIDs], unsigned int summask[PowerSourceID::NumPowerSIDs]) |
sets the names of the flags that will be generating events | |
void | calcDers (double next, double &cur, double &vel, double &acc, double invtimediff) |
given the next value, calculates and stores the next current, the velocity, and the acceleration | |
Protected Attributes | |
unsigned int | curtime |
set by read(OSensorFrameVectorData& sensor, EventRouter* er) for chkEvent() so each call doesn't have to | |
Private Member Functions | |
WorldState (const WorldState &) | |
don't use | |
WorldState | operator= (const WorldState &) |
don't use |
|
constructor - sets everything to zeros
Definition at line 26 of file WorldState.cc. References button_times, buttons, ERS210Mask, ERS220Mask, get_time(), ERS210Info::NumButtons, ERS210Info::NumOutputs, ERS210Info::NumPIDJoints, ERS210Info::NumSensors, outputs, pidduties, pids, powerFlags, robotDesign, sensors, and wsser. |
|
don't use
|
|
given the next value, calculates and stores the next current, the velocity, and the acceleration
Definition at line 196 of file WorldState.h. |
|
Tests to see if the button status has changed and post events as needed.
Definition at line 287 of file WorldState.cc. References EventBase::activateETID, alwaysGenerateStatus, button_times, EventBase::buttonEGID, buttons, curtime, EventBase::deactivateETID, EventRouter::postEvent(), and EventBase::statusETID. |
|
sets the names of the flags that will be generating events note that this function does not actually do the event posting Definition at line 179 of file WorldState.h. References powerFlags. |
|
don't use
|
|
will process a power status update as given by OPEN-R This will cause events to be posted Definition at line 213 of file WorldState.cc. References EventBase::activateETID, chkPowerEvent(), EventBase::deactivateETID, EventRouter::postEvent(), ERS210Info::PowerCapacityOffset, ERS210Info::PowerCurrentOffset, EventBase::powerEGID, powerFlags, ERS210Info::PowerRemainOffset, ERS210Info::PowerThermoOffset, ERS210Info::PowerVoltageOffset, sensors, and EventBase::statusETID. |
|
|
controls whether status events are generated for the boolean buttons
Definition at line 131 of file WorldState.h. |
|
bitmask, see OPENR/OPower.h
Definition at line 140 of file WorldState.h. |
|
value is time of current press, 0 if not down
Definition at line 143 of file WorldState.h. |
|
magnitude is pressure for some, 0/1 for others
Definition at line 134 of file WorldState.h. |
|
set by read(OSensorFrameVectorData& sensor, EventRouter* er) for chkEvent() so each call doesn't have to
Definition at line 172 of file WorldState.h. |
|
use this to test for ERS210 features
Definition at line 168 of file WorldState.h. |
|
use this to test for ERS220 features
Definition at line 169 of file WorldState.h. |
|
the gravitational acceleration of objects on earth
Definition at line 21 of file WorldState.cc. |
|
If IR returns this, we're out of range.
Definition at line 22 of file WorldState.cc. |
|
primarily so calcDers can determine the time difference between updates, but others might want to know this too...
Definition at line 145 of file WorldState.h. |
|
holds code profiling information for MainObject
Definition at line 150 of file WorldState.h. |
|
holds code profiling information for MotionObject
Definition at line 151 of file WorldState.h. |
|
same format as Motion stuff, for ears, x<.5 is up, x>=.5 is down
Definition at line 133 of file WorldState.h. |
|
duty cycles - -1 means the motor is trying to move full power in negative direction, 1 means full power in positive direction, in practice, these values stay rather small - 0.15 is significant force.
Definition at line 137 of file WorldState.h. |
|
current PID settings
Definition at line 136 of file WorldState.h. |
|
bitmasks of similarly-grouped items from previous two masks, corresponds to the PowerSourceID_t's
Definition at line 141 of file WorldState.h. |
|
bitmask corresponding to OPENR::GetRobotDesign()
This allows you to efficiently test different combinations, like any 2x0 model vs. any 3xx model (when/if the 3xx's are supported). Definition at line 167 of file WorldState.h. |
|
bitmask, see OPENR/OPower.h
Definition at line 139 of file WorldState.h. |
|
IR, Accel, Thermo, Power stuff.
Definition at line 135 of file WorldState.h. |
|
sends current worldstate to TekkotsuMon, if it's connected
Definition at line 157 of file WorldState.h. |
Tekkotsu v1.4 |
Generated Sat Jul 19 00:09:17 2003 by Doxygen 1.3.2 |