DUNE: Uniform Navigational Environment
2.3.0
|
Public Member Functions | |
Task (const std::string &name, Tasks::Context &ctx) | |
~Task (void) | |
void | onEntityResolution (void) |
void | onResourceAcquisition (void) |
void | onResourceRelease (void) |
void | onResourceInitialization (void) |
void | consume (const IMC::MagneticField *msg) |
bool | setOutputFrequency (uint8_t frequency) |
std::vector< double > | getHardIronFactors (void) |
bool | setHardIronFactors (const std::vector< double > &factors) |
void | decodeOutputData (const UCTK::Frame &frame) |
void | decodeOutputRaw (const UCTK::Frame &frame) |
void | decode (const UCTK::Frame &frame) |
void | readInput (void) |
void | onMain (void) |
Public Attributes | |
Arguments | m_args |
IMC::AngularVelocity | m_ang_vel |
IMC::Acceleration | m_accel |
IMC::EulerAnglesDelta | m_delt_ang |
IMC::VelocityDelta | m_delt_vel |
IMC::EulerAngles | m_euler |
IMC::MagneticField | m_magn |
IMC::Temperature | m_temp |
UCTK::InterfaceUART * | m_uart |
UCTK::Parser | m_parser |
UCTK::Frame | m_frame |
uint8_t | m_buffer [128] |
unsigned | m_calib_eid |
Counter< double > | m_wdog |
ErrorCounts | m_err_counts |
|
inline |
|
inline |
References onResourceRelease().
|
inline |
References Sensors::LIMU::Arguments::hard_iron, m_args, m_calib_eid, and setHardIronFactors().
|
inline |
Decode data frame.
[in] | frame | data frame. |
References decodeOutputData(), decodeOutputRaw(), Sensors::LIMU::PKT_ID_OUTPUT_DATA, and Sensors::LIMU::PKT_ID_OUTPUT_RAW.
Referenced by readInput().
|
inline |
Decode output data frame.
[in] | frame | data frame. |
References Sensors::LIMU::ERR_FLAG_PROC_OVR, Sensors::LIMU::ERR_FLAG_SENS_OVR, Sensors::LIMU::ERR_FLAG_SPI_ERR, Sensors::LIMU::ERR_FLAG_WDOG_TOUT, Sensors::LIMU::ErrorCounts::increment(), m_accel, m_ang_vel, m_delt_ang, m_delt_vel, m_err_counts, m_euler, m_magn, m_temp, m_wdog, and DUNE::Time::Counter< T >::reset().
Referenced by decode().
|
inline |
|
inline |
Get sensor current Hard-Iron calibration parameters.
References m_uart, and Sensors::LIMU::PKT_ID_HARD_IRON.
|
inline |
Resolve entities.
References Sensors::LIMU::Arguments::calib_elabel, m_args, and m_calib_eid.
|
inline |
References m_uart, m_wdog, DUNE::Time::Counter< T >::overflow(), and readInput().
|
inline |
Acquire resources.
References m_args, m_uart, Sensors::LIMU::Arguments::pwr_name, and Sensors::LIMU::Arguments::uart_dev.
|
inline |
Initialize resources.
References Sensors::LIMU::Arguments::hard_iron, m_args, m_wdog, Sensors::LIMU::Arguments::output_frq, setHardIronFactors(), setOutputFrequency(), and DUNE::Time::Counter< T >::setTop().
|
inline |
|
inline |
|
inline |
Set Hard-Iron calibration parameters.
[in] | factors | new calibration values. |
References m_uart, and Sensors::LIMU::PKT_ID_HARD_IRON.
Referenced by consume(), and onResourceInitialization().
|
inline |
Define sensor output frequency.
[in] | frequency | desired frequency. |
References m_args, m_uart, Sensors::LIMU::PKT_ID_OUTPUT_CONF, and Sensors::LIMU::Arguments::raw_data.
Referenced by onResourceInitialization().
IMC::Acceleration Sensors::LIMU::Task::m_accel |
Acceleration.
Referenced by decodeOutputData().
IMC::AngularVelocity Sensors::LIMU::Task::m_ang_vel |
Angular velocity.
Referenced by decodeOutputData().
Arguments Sensors::LIMU::Task::m_args |
Task arguments.
Referenced by consume(), onEntityResolution(), onResourceAcquisition(), onResourceInitialization(), setOutputFrequency(), and Task().
uint8_t Sensors::LIMU::Task::m_buffer[128] |
Scratch buffer.
Referenced by readInput().
unsigned Sensors::LIMU::Task::m_calib_eid |
Compass Calibration maneuver entity id.
Referenced by consume(), and onEntityResolution().
IMC::EulerAnglesDelta Sensors::LIMU::Task::m_delt_ang |
Delta angles.
Referenced by decodeOutputData().
IMC::VelocityDelta Sensors::LIMU::Task::m_delt_vel |
Delta velocity.
Referenced by decodeOutputData().
ErrorCounts Sensors::LIMU::Task::m_err_counts |
Error counts.
Referenced by decodeOutputData().
IMC::EulerAngles Sensors::LIMU::Task::m_euler |
Euler Angles.
Referenced by decodeOutputData().
UCTK::Frame Sensors::LIMU::Task::m_frame |
Scratch frame.
Referenced by readInput().
IMC::MagneticField Sensors::LIMU::Task::m_magn |
Magnetic Field.
Referenced by decodeOutputData().
UCTK::Parser Sensors::LIMU::Task::m_parser |
UCTK parser.
Referenced by readInput().
IMC::Temperature Sensors::LIMU::Task::m_temp |
Temperature.
Referenced by decodeOutputData().
UCTK::InterfaceUART* Sensors::LIMU::Task::m_uart |
Serial port device.
Referenced by getHardIronFactors(), onMain(), onResourceAcquisition(), onResourceRelease(), readInput(), setHardIronFactors(), and setOutputFrequency().
Counter<double> Sensors::LIMU::Task::m_wdog |
Watchdog.
Referenced by decodeOutputData(), onMain(), and onResourceInitialization().