![]() |
Laelaps
2.3.5
RoadNarrows Robotics Small Outdoor Mobile Robot Project
|
Laelaps WatchDog Interface Class. More...
Public Member Functions | |
| def | __init__ (self) |
| Constructor. | |
| def | attach (self, i2cbus) |
| Attach the open I2C object. More... | |
| def | open (self, devName) |
| Open the I2C bus device. More... | |
| def | close (self) |
| Close the I2C bus device. More... | |
| def | isOpen (self) |
| Test if the open/attached I2C bus device is open. More... | |
| def | sync (self) |
| Synchronize watchdog state with the subprocessor state. | |
| def | getShadow (self) |
| Get the shadowed subprocessor value. More... | |
| def | cmdPetTheDog (self) |
| Execute command to pet the watchdog. More... | |
| def | cmdGetFwVersion (self) |
| Execute command to get the firmware version. More... | |
| def | cmdSetBatterySoC (self, soc) |
| Execute command to set the battery state of charge. More... | |
| def | cmdSetAlarms (self, alarms) |
| Execute command to set/clear alarms. More... | |
| def | cmdSetRgbLed (self, red, green, blue) |
| Execute command to set the RGB LED. More... | |
| def | cmdResetRgbLed (self) |
| Reset the RGB LED to state defaults. More... | |
| def | cmdConfigDPin (self, pin, direction) |
| Execute command to configure a digital I/O pin. More... | |
| def | cmdReadDPin (self, pin) |
| Execute command to read a digital I/O pin's value. More... | |
| def | cmdWriteDPin (self, pin, val) |
| Execute command to wite a value to a digital I/O pin. More... | |
| def | cmdReadAPin (self, pin) |
| Execute command to read an analog I/O pin. More... | |
| def | cmdEnableMotorCtlrs (self, enable) |
| Execute command to enable/disable power to motor controllers. More... | |
| def | cmdEnableAuxPort5V (self, enable) |
| Execute command to enable/disable regulated 5V output to aux. More... | |
| def | cmdEnableAuxPortBatt (self, enable) |
| Execute command to enable/disable battery output to aux. More... | |
| def | cmdReadEnables (self) |
| Execute command to read enable lines. More... | |
| def | cmdReadVoltages (self) |
| Execute command to read sensed voltages. More... | |
| def | printError (self, emsg1, emsg2=None) |
| Print error to stderr. More... | |
Public Attributes | |
| m_i2c | |
| m_addr | |
| m_owner | |
| m_fw | |
Laelaps WatchDog Interface Class.
Definition at line 87 of file WatchDog.py.
| def Laelaps.WatchDog.WatchDog.attach | ( | self, | |
| i2cbus | |||
| ) |
Attach the open I2C object.
| i2cbus | An rnr.i2c.i2c() constructed and open object. |
Definition at line 122 of file WatchDog.py.
References laelaps::LaeI2C.close(), Laelaps.WatchDog.WatchDog.close(), laelaps::LaeKinematics.close(), Laelaps.Imu.Imu.close(), sensor::imu::LaeImu.close(), laelaps::LaeMotorCtlrChipSelect.close(), Laelaps.RoboClaw.RoboClaw.close(), motor::roboclaw::RoboClawComm.close(), Laelaps.WatchDog.WatchDog.m_i2c, laelaps::LaeI2C.m_i2c, and Laelaps.WatchDog.WatchDog.m_owner.
| def Laelaps.WatchDog.WatchDog.close | ( | self | ) |
Close the I2C bus device.
The device must be owned by this class instance.
Definition at line 152 of file WatchDog.py.
References Laelaps.WatchDog.WatchDog.m_i2c, laelaps::LaeI2C.m_i2c, and Laelaps.WatchDog.WatchDog.m_owner.
Referenced by Laelaps.WatchDog.WatchDog.attach(), and Laelaps.WatchDog.WatchDog.open().
| def Laelaps.WatchDog.WatchDog.cmdConfigDPin | ( | self, | |
| pin, | |||
| direction | |||
| ) |
Execute command to configure a digital I/O pin.
| pin | Digital pin number. |
| direction | Pin direction. 0 == input, 1 == output. |
Definition at line 432 of file WatchDog.py.
References laelaps::LaeKinematics.isOpen(), Laelaps.WatchDog.WatchDog.isOpen(), Laelaps.Imu.Imu.isOpen(), laelaps::LaeI2C.isOpen(), laelaps::LaeI2CMux.isOpen(), sensor::imu::LaeImu.isOpen(), laelaps::LaeMotorCtlrChipSelect.isOpen(), Laelaps.RoboClaw.RoboClaw.isOpen(), motor::roboclaw::RoboClawComm.isOpen(), motor::roboclaw::RoboClaw.isOpen(), Laelaps.WatchDog.WatchDog.m_addr, Laelaps.WatchDog.WatchDog.m_fw, and Laelaps.WatchDog.WatchDog.printError().
| def Laelaps.WatchDog.WatchDog.cmdEnableAuxPort5V | ( | self, | |
| enable | |||
| ) |
Execute command to enable/disable regulated 5V output to aux.
port.
| enable | Enable (True) or disable (False). |
Definition at line 668 of file WatchDog.py.
References laelaps::LaeKinematics.isOpen(), Laelaps.WatchDog.WatchDog.isOpen(), Laelaps.Imu.Imu.isOpen(), laelaps::LaeI2C.isOpen(), laelaps::LaeI2CMux.isOpen(), sensor::imu::LaeImu.isOpen(), laelaps::LaeMotorCtlrChipSelect.isOpen(), Laelaps.RoboClaw.RoboClaw.isOpen(), motor::roboclaw::RoboClawComm.isOpen(), motor::roboclaw::RoboClaw.isOpen(), Laelaps.WatchDog.WatchDog.m_addr, Laelaps.WatchDog.WatchDog.m_fw, and Laelaps.WatchDog.WatchDog.printError().
Referenced by Laelaps.WatchDog.WatchDog.sync().
| def Laelaps.WatchDog.WatchDog.cmdEnableAuxPortBatt | ( | self, | |
| enable | |||
| ) |
Execute command to enable/disable battery output to aux.
port.
| enable | Enable (True) or disable (False). |
Definition at line 718 of file WatchDog.py.
References laelaps::LaeKinematics.isOpen(), Laelaps.WatchDog.WatchDog.isOpen(), Laelaps.Imu.Imu.isOpen(), laelaps::LaeI2C.isOpen(), laelaps::LaeI2CMux.isOpen(), sensor::imu::LaeImu.isOpen(), laelaps::LaeMotorCtlrChipSelect.isOpen(), Laelaps.RoboClaw.RoboClaw.isOpen(), motor::roboclaw::RoboClawComm.isOpen(), motor::roboclaw::RoboClaw.isOpen(), Laelaps.WatchDog.WatchDog.m_addr, Laelaps.WatchDog.WatchDog.m_fw, and Laelaps.WatchDog.WatchDog.printError().
Referenced by Laelaps.WatchDog.WatchDog.sync().
| def Laelaps.WatchDog.WatchDog.cmdEnableMotorCtlrs | ( | self, | |
| enable | |||
| ) |
Execute command to enable/disable power to motor controllers.
| enable | Enable (True) or disable (False). |
Definition at line 617 of file WatchDog.py.
References laelaps::LaeKinematics.isOpen(), Laelaps.WatchDog.WatchDog.isOpen(), Laelaps.Imu.Imu.isOpen(), laelaps::LaeI2C.isOpen(), laelaps::LaeI2CMux.isOpen(), sensor::imu::LaeImu.isOpen(), laelaps::LaeMotorCtlrChipSelect.isOpen(), Laelaps.RoboClaw.RoboClaw.isOpen(), motor::roboclaw::RoboClawComm.isOpen(), motor::roboclaw::RoboClaw.isOpen(), Laelaps.WatchDog.WatchDog.m_addr, Laelaps.WatchDog.WatchDog.m_fw, and Laelaps.WatchDog.WatchDog.printError().
Referenced by Laelaps.WatchDog.WatchDog.sync().
| def Laelaps.WatchDog.WatchDog.cmdGetFwVersion | ( | self | ) |
Execute command to get the firmware version.
Definition at line 243 of file WatchDog.py.
References laelaps::LaeKinematics.isOpen(), Laelaps.WatchDog.WatchDog.isOpen(), Laelaps.Imu.Imu.isOpen(), laelaps::LaeI2C.isOpen(), laelaps::LaeI2CMux.isOpen(), sensor::imu::LaeImu.isOpen(), laelaps::LaeMotorCtlrChipSelect.isOpen(), Laelaps.RoboClaw.RoboClaw.isOpen(), motor::roboclaw::RoboClawComm.isOpen(), motor::roboclaw::RoboClaw.isOpen(), Laelaps.WatchDog.WatchDog.m_addr, Laelaps.WatchDog.WatchDog.m_fw, and Laelaps.WatchDog.WatchDog.printError().
Referenced by Laelaps.WatchDog.WatchDog.sync().
| def Laelaps.WatchDog.WatchDog.cmdPetTheDog | ( | self | ) |
Execute command to pet the watchdog.
Definition at line 200 of file WatchDog.py.
References laelaps::LaeKinematics.isOpen(), Laelaps.WatchDog.WatchDog.isOpen(), Laelaps.Imu.Imu.isOpen(), laelaps::LaeI2C.isOpen(), laelaps::LaeI2CMux.isOpen(), sensor::imu::LaeImu.isOpen(), laelaps::LaeMotorCtlrChipSelect.isOpen(), Laelaps.RoboClaw.RoboClaw.isOpen(), motor::roboclaw::RoboClawComm.isOpen(), motor::roboclaw::RoboClaw.isOpen(), Laelaps.WatchDog.WatchDog.m_addr, Laelaps.WatchDog.WatchDog.m_fw, and Laelaps.WatchDog.WatchDog.printError().
Referenced by Laelaps.WatchDog.WatchDog.sync().
| def Laelaps.WatchDog.WatchDog.cmdReadAPin | ( | self, | |
| pin | |||
| ) |
Execute command to read an analog I/O pin.
| pin | Analog pin number. |
Definition at line 571 of file WatchDog.py.
References laelaps::LaeKinematics.isOpen(), Laelaps.WatchDog.WatchDog.isOpen(), Laelaps.Imu.Imu.isOpen(), laelaps::LaeI2C.isOpen(), laelaps::LaeI2CMux.isOpen(), sensor::imu::LaeImu.isOpen(), laelaps::LaeMotorCtlrChipSelect.isOpen(), Laelaps.RoboClaw.RoboClaw.isOpen(), motor::roboclaw::RoboClawComm.isOpen(), motor::roboclaw::RoboClaw.isOpen(), Laelaps.WatchDog.WatchDog.m_addr, Laelaps.WatchDog.WatchDog.m_fw, and Laelaps.WatchDog.WatchDog.printError().
| def Laelaps.WatchDog.WatchDog.cmdReadDPin | ( | self, | |
| pin | |||
| ) |
Execute command to read a digital I/O pin's value.
| pin | Digital pin number. |
Definition at line 479 of file WatchDog.py.
References laelaps::LaeKinematics.isOpen(), Laelaps.WatchDog.WatchDog.isOpen(), Laelaps.Imu.Imu.isOpen(), laelaps::LaeI2C.isOpen(), laelaps::LaeI2CMux.isOpen(), sensor::imu::LaeImu.isOpen(), laelaps::LaeMotorCtlrChipSelect.isOpen(), Laelaps.RoboClaw.RoboClaw.isOpen(), motor::roboclaw::RoboClawComm.isOpen(), motor::roboclaw::RoboClaw.isOpen(), Laelaps.WatchDog.WatchDog.m_addr, Laelaps.WatchDog.WatchDog.m_fw, and Laelaps.WatchDog.WatchDog.printError().
| def Laelaps.WatchDog.WatchDog.cmdReadEnables | ( | self | ) |
Execute command to read enable lines.
Definition at line 766 of file WatchDog.py.
References laelaps::LaeKinematics.isOpen(), Laelaps.WatchDog.WatchDog.isOpen(), Laelaps.Imu.Imu.isOpen(), laelaps::LaeI2C.isOpen(), laelaps::LaeI2CMux.isOpen(), sensor::imu::LaeImu.isOpen(), laelaps::LaeMotorCtlrChipSelect.isOpen(), Laelaps.RoboClaw.RoboClaw.isOpen(), motor::roboclaw::RoboClawComm.isOpen(), motor::roboclaw::RoboClaw.isOpen(), Laelaps.WatchDog.WatchDog.m_addr, Laelaps.WatchDog.WatchDog.m_fw, and Laelaps.WatchDog.WatchDog.printError().
| def Laelaps.WatchDog.WatchDog.cmdReadVoltages | ( | self | ) |
Execute command to read sensed voltages.
Definition at line 817 of file WatchDog.py.
References laelaps::LaeKinematics.isOpen(), Laelaps.WatchDog.WatchDog.isOpen(), Laelaps.Imu.Imu.isOpen(), laelaps::LaeI2C.isOpen(), laelaps::LaeI2CMux.isOpen(), sensor::imu::LaeImu.isOpen(), laelaps::LaeMotorCtlrChipSelect.isOpen(), Laelaps.RoboClaw.RoboClaw.isOpen(), motor::roboclaw::RoboClawComm.isOpen(), motor::roboclaw::RoboClaw.isOpen(), Laelaps.WatchDog.WatchDog.m_addr, Laelaps.WatchDog.WatchDog.m_fw, and Laelaps.WatchDog.WatchDog.printError().
| def Laelaps.WatchDog.WatchDog.cmdResetRgbLed | ( | self | ) |
Reset the RGB LED to state defaults.
Definition at line 398 of file WatchDog.py.
References laelaps::LaeKinematics.isOpen(), Laelaps.WatchDog.WatchDog.isOpen(), Laelaps.Imu.Imu.isOpen(), laelaps::LaeI2C.isOpen(), laelaps::LaeI2CMux.isOpen(), sensor::imu::LaeImu.isOpen(), laelaps::LaeMotorCtlrChipSelect.isOpen(), Laelaps.RoboClaw.RoboClaw.isOpen(), motor::roboclaw::RoboClawComm.isOpen(), motor::roboclaw::RoboClaw.isOpen(), Laelaps.WatchDog.WatchDog.m_addr, Laelaps.WatchDog.WatchDog.m_fw, and Laelaps.WatchDog.WatchDog.printError().
Referenced by Laelaps.WatchDog.WatchDog.sync().
| def Laelaps.WatchDog.WatchDog.cmdSetAlarms | ( | self, | |
| alarms | |||
| ) |
Execute command to set/clear alarms.
| alarms | Or'ed alarm bits. |
Definition at line 318 of file WatchDog.py.
References laelaps::LaeKinematics.isOpen(), Laelaps.WatchDog.WatchDog.isOpen(), Laelaps.Imu.Imu.isOpen(), laelaps::LaeI2C.isOpen(), laelaps::LaeI2CMux.isOpen(), sensor::imu::LaeImu.isOpen(), laelaps::LaeMotorCtlrChipSelect.isOpen(), Laelaps.RoboClaw.RoboClaw.isOpen(), motor::roboclaw::RoboClawComm.isOpen(), motor::roboclaw::RoboClaw.isOpen(), Laelaps.WatchDog.WatchDog.m_addr, Laelaps.WatchDog.WatchDog.m_fw, and Laelaps.WatchDog.WatchDog.printError().
Referenced by Laelaps.WatchDog.WatchDog.sync().
| def Laelaps.WatchDog.WatchDog.cmdSetBatterySoC | ( | self, | |
| soc | |||
| ) |
Execute command to set the battery state of charge.
| soc | State of charge [0-100]. |
Definition at line 278 of file WatchDog.py.
References laelaps::LaeKinematics.isOpen(), Laelaps.WatchDog.WatchDog.isOpen(), Laelaps.Imu.Imu.isOpen(), laelaps::LaeI2C.isOpen(), laelaps::LaeI2CMux.isOpen(), sensor::imu::LaeImu.isOpen(), laelaps::LaeMotorCtlrChipSelect.isOpen(), Laelaps.RoboClaw.RoboClaw.isOpen(), motor::roboclaw::RoboClawComm.isOpen(), motor::roboclaw::RoboClaw.isOpen(), Laelaps.WatchDog.WatchDog.m_addr, Laelaps.WatchDog.WatchDog.m_fw, and Laelaps.WatchDog.WatchDog.printError().
Referenced by Laelaps.WatchDog.WatchDog.sync().
| def Laelaps.WatchDog.WatchDog.cmdSetRgbLed | ( | self, | |
| red, | |||
| green, | |||
| blue | |||
| ) |
Execute command to set the RGB LED.
| red | Red component [0-255] |
| green | Green component [0-255] |
| blue | Blue component [0-255] |
Definition at line 357 of file WatchDog.py.
References laelaps::LaeKinematics.isOpen(), Laelaps.WatchDog.WatchDog.isOpen(), Laelaps.Imu.Imu.isOpen(), laelaps::LaeI2C.isOpen(), laelaps::LaeI2CMux.isOpen(), sensor::imu::LaeImu.isOpen(), laelaps::LaeMotorCtlrChipSelect.isOpen(), Laelaps.RoboClaw.RoboClaw.isOpen(), motor::roboclaw::RoboClawComm.isOpen(), motor::roboclaw::RoboClaw.isOpen(), Laelaps.WatchDog.WatchDog.m_addr, Laelaps.WatchDog.WatchDog.m_fw, and Laelaps.WatchDog.WatchDog.printError().
| def Laelaps.WatchDog.WatchDog.cmdWriteDPin | ( | self, | |
| pin, | |||
| val | |||
| ) |
Execute command to wite a value to a digital I/O pin.
| pin | Digital pin number. |
| value | Pin value. 0 == low, 1 == high. |
Definition at line 523 of file WatchDog.py.
References laelaps::LaeKinematics.isOpen(), Laelaps.WatchDog.WatchDog.isOpen(), Laelaps.Imu.Imu.isOpen(), laelaps::LaeI2C.isOpen(), laelaps::LaeI2CMux.isOpen(), sensor::imu::LaeImu.isOpen(), laelaps::LaeMotorCtlrChipSelect.isOpen(), Laelaps.RoboClaw.RoboClaw.isOpen(), motor::roboclaw::RoboClawComm.isOpen(), motor::roboclaw::RoboClaw.isOpen(), Laelaps.WatchDog.WatchDog.m_addr, Laelaps.WatchDog.WatchDog.m_fw, and Laelaps.WatchDog.WatchDog.printError().
| def Laelaps.WatchDog.WatchDog.getShadow | ( | self | ) |
Get the shadowed subprocessor value.
No I/O is performed.
Definition at line 192 of file WatchDog.py.
References Laelaps.WatchDog.WatchDog.m_fw.
| def Laelaps.WatchDog.WatchDog.isOpen | ( | self | ) |
Test if the open/attached I2C bus device is open.
Definition at line 166 of file WatchDog.py.
References Laelaps.WatchDog.WatchDog.m_i2c, and laelaps::LaeI2C.m_i2c.
Referenced by Laelaps.WatchDog.WatchDog.cmdConfigDPin(), Laelaps.WatchDog.WatchDog.cmdEnableAuxPort5V(), Laelaps.WatchDog.WatchDog.cmdEnableAuxPortBatt(), Laelaps.WatchDog.WatchDog.cmdEnableMotorCtlrs(), Laelaps.WatchDog.WatchDog.cmdGetFwVersion(), Laelaps.WatchDog.WatchDog.cmdPetTheDog(), Laelaps.WatchDog.WatchDog.cmdReadAPin(), Laelaps.WatchDog.WatchDog.cmdReadDPin(), Laelaps.WatchDog.WatchDog.cmdReadEnables(), Laelaps.WatchDog.WatchDog.cmdReadVoltages(), Laelaps.WatchDog.WatchDog.cmdResetRgbLed(), Laelaps.WatchDog.WatchDog.cmdSetAlarms(), Laelaps.WatchDog.WatchDog.cmdSetBatterySoC(), Laelaps.WatchDog.WatchDog.cmdSetRgbLed(), and Laelaps.WatchDog.WatchDog.cmdWriteDPin().
| def Laelaps.WatchDog.WatchDog.open | ( | self, | |
| devName | |||
| ) |
Open the I2C bus device.
| devName | Device name. |
Definition at line 134 of file WatchDog.py.
References laelaps::LaeI2C.close(), Laelaps.WatchDog.WatchDog.close(), laelaps::LaeKinematics.close(), Laelaps.Imu.Imu.close(), sensor::imu::LaeImu.close(), laelaps::LaeMotorCtlrChipSelect.close(), Laelaps.RoboClaw.RoboClaw.close(), motor::roboclaw::RoboClawComm.close(), Laelaps.WatchDog.WatchDog.m_i2c, laelaps::LaeI2C.m_i2c, Laelaps.WatchDog.WatchDog.m_owner, and Laelaps.WatchDog.WatchDog.printError().
| def Laelaps.WatchDog.WatchDog.printError | ( | self, | |
| emsg1, | |||
emsg2 = None |
|||
| ) |
Print error to stderr.
| emsg1 | Error message one (required). |
| emsg2 | Error message two (optional). |
Definition at line 858 of file WatchDog.py.
Referenced by Laelaps.WatchDog.WatchDog.cmdConfigDPin(), Laelaps.WatchDog.WatchDog.cmdEnableAuxPort5V(), Laelaps.WatchDog.WatchDog.cmdEnableAuxPortBatt(), Laelaps.WatchDog.WatchDog.cmdEnableMotorCtlrs(), Laelaps.WatchDog.WatchDog.cmdGetFwVersion(), Laelaps.WatchDog.WatchDog.cmdPetTheDog(), Laelaps.WatchDog.WatchDog.cmdReadAPin(), Laelaps.WatchDog.WatchDog.cmdReadDPin(), Laelaps.WatchDog.WatchDog.cmdReadEnables(), Laelaps.WatchDog.WatchDog.cmdReadVoltages(), Laelaps.WatchDog.WatchDog.cmdResetRgbLed(), Laelaps.WatchDog.WatchDog.cmdSetAlarms(), Laelaps.WatchDog.WatchDog.cmdSetBatterySoC(), Laelaps.WatchDog.WatchDog.cmdSetRgbLed(), Laelaps.WatchDog.WatchDog.cmdWriteDPin(), and Laelaps.WatchDog.WatchDog.open().