Homepage Demos Overview Downloads Tutorials Reference
Credits

PowerSourceID Namespace Reference


Detailed Description

holds source ID types for power events; see EventBase, see PowerSourceID_t


Enumerations

enum  PowerSourceID_t {
  PauseSID = 0, MotorPowerSID, VibrationSID, BatteryEmptySID,
  LowPowerWarnSID, BatteryFullSID, ExternalPowerSID, ExternalPortSID,
  BatteryConnectSID, BatteryInitSID, DischargingSID, ChargingSID,
  OverheatingSID, PowerGoodSID, ChargerStatusSID, SuspendedSID,
  OverChargedSID, TermDischargeSID, TermChargeSID, ErrorSID,
  StationConnectSID, BatteryOverCurrentSID, DataFromStationSID, RegisterUpdateSID,
  RTCSID, SpecialModeSID, BMNDebugModeSID, PlungerSID,
  UpdatedSID, NumPowerSIDs
}
 holds source ID types for power events More...


Enumeration Type Documentation

enum PowerSourceID::PowerSourceID_t
 

holds source ID types for power events

Also serve as offsets into ::powerFlags[] I've never seen a lot of these events thrown by the OS. NS means never-seen, which could simply be because i haven't put it in that situation (don't have a station-type power charger) or because the OS doesn't actually support sending that flag.

Under normal conditions, you'll see MotorPowerSID, BatteryConnectSID, DischargingSID, and PowerGoodSID always active with occasional VibrationSID and UpdateSID. When the chest button is pushed, PauseSID is activated and MotorPowerSID is deactivated.

The BatteryMonitorBehavior will give a warning once power begins getting low. The OS won't boot off a battery with less than 15% power remaining (which is when the LowPowerWarnSID is thrown)

Note:
there's not a one-to-one correspondance of the events from the OPENR power system... i map several OPENR events to fewer Tekkotsu events, check the name if you want to know the specific source (say if low battery is low current and/or low voltage) Status ETIDS are only generated when one of a related group goes on/off but others are still active
Enumeration values:
PauseSID  the chest button was pushed (this is not a normal button, it kills power to the motors in hardware)
MotorPowerSID  active while the motors have power
VibrationSID  triggered when the OS decides a large acceleration has occured, like falling down (or more specifically, hitting the ground afterward)
BatteryEmptySID  battery is dead
LowPowerWarnSID  triggered when sensors[PowerRemainOffset] <= 0.15 (PowerGoodSID stays on)
BatteryFullSID  battery is full
ExternalPowerSID  receiving power from an external source (such as AC cable, may or may not include the "station", see StationConnectSID)
ExternalPortSID  an external power source is plugged in (does not imply current is flowing however)
BatteryConnectSID  a battery is plugged in
BatteryInitSID  ? NS
DischargingSID  using power from the battery (although still stays on after hooked up to external power)
ChargingSID  you used to be able to charge while running, tho that has changed in more recent versions of OPEN-R. In any case, I never saw this even when it did work.
OverheatingSID  in case the robot starts getting too hot NS
PowerGoodSID  there is power, either from external or battery
ChargerStatusSID  ? NS
SuspendedSID  ? NS
OverChargedSID  in case the charger screws up somehow (?) NS
TermDischargeSID  end of battery (?) NS
TermChargeSID  end of charging (?) NS
ErrorSID  general power error NS
StationConnectSID  connected to a station NS
BatteryOverCurrentSID  similar to OverChargedSID (?) NS
DataFromStationSID  ? NS
RegisterUpdateSID  ? NS
RTCSID  ? NS
SpecialModeSID  ? NS
BMNDebugModeSID  ? NS
PlungerSID  I think this is in reference to having a memorystick (?) NS.
UpdatedSID  sent as last event after processing a frame
NumPowerSIDs 

Definition at line 53 of file WorldState.h.


Tekkotsu v2.0
Generated Wed Jan 21 03:23:35 2004 by Doxygen 1.3.4