#include <pcan_pci.H>
Classes | |
class | observer_t |
Public Member Functions | |
pcan_pci_t () | |
~pcan_pci_t () | |
void | handle_input (int fd) |
bool | send_data_to_iteris (int fd, double velocity, bool left_turn_signal, bool right_turn_signal, bool set_warning_suppression) |
bool | send_data_to_ibeo (int fd, double steering_angle) |
void | debug (bool flag) |
void | register_observer (observer_t *observer) |
Protected Member Functions | |
void | extract_iteris_frame (pcan::pcan_frame_t &frame_) |
void | extract_emc_frame (pcan::pcan_frame_t &frame_) |
Protected Attributes | |
observer_t * | m_observer |
bool | m_debug |
bool | m_iteris_tracking |
pcan_pci_t::pcan_pci_t | ( | ) |
pcan_pci_t::~pcan_pci_t | ( | ) |
void cajun::pcan_pci_t::debug | ( | bool | flag | ) | [inline] |
References m_debug.
void pcan_pci_t::extract_emc_frame | ( | pcan::pcan_frame_t & | frame_ | ) | [protected] |
References pcan::drive_frame_t::active(), pcan::vehicle_frame_t::battery_1_voltage(), pcan::vehicle_frame_t::battery_2_voltage(), pcan::vehicle_frame_t::booted(), pcan::vehicle_frame_t::brake_lights(), pcan::vehicle_frame_t::command(), pcan::drive_frame_t::encoder(), pcan::drive_frame_t::error(), pcan::vehicle_frame_t::generic(), pcan::pcan_frame_t::id(), pcan::vehicle_frame_t::ignition(), pcan::drive_frame_t::is_steering(), pcan::drive_frame_t::is_throttle(), m_observer, pcan::vehicle_frame_t::park_lights(), pcan::vehicle_frame_t::present(), pcan::vehicle_frame_t::remote_off_switch(), cajun::pcan_pci_t::observer_t::set_battery_voltage(), cajun::pcan_pci_t::observer_t::set_bot_speed(), cajun::pcan_pci_t::observer_t::set_command_value(), cajun::pcan_pci_t::observer_t::set_generic_integer(), cajun::pcan_pci_t::observer_t::set_ignition_status(), cajun::pcan_pci_t::observer_t::set_timestamp_for_vehicle_data(), cajun::pcan_pci_t::observer_t::set_vehicle_data(), pcan::vehicle_frame_t::speed(), cajun::pcan_pci_t::observer_t::steering(), pcan::vehicle_frame_t::steering_servo_engaged(), cajun::pcan_pci_t::observer_t::throttle(), pcan::vehicle_frame_t::throttle_clutch_engaged(), and pcan::vehicle_frame_t::valid_coil_pulse().
Referenced by handle_input().
void pcan_pci_t::extract_iteris_frame | ( | pcan::pcan_frame_t & | frame_ | ) | [protected] |
References pcan::iteris_frame_t::bot_angle_wrt_lane(), cajun::iteris_data::bot_angle_wrt_lane, pcan::pcan_frame_t::id(), cajun::pcan_pci_t::observer_t::iteris_lane_data(), pcan::iteris_frame_t::lane_angle_validity(), cajun::iteris_data::lane_angle_validity, pcan::iteris_frame_t::lane_curvature(), cajun::iteris_data::lane_curvature, pcan::iteris_frame_t::lane_curvature_validity(), cajun::iteris_data::lane_curvature_validity, pcan::iteris_frame_t::lane_detection_dist(), cajun::iteris_data::lane_detection_dist, pcan::iteris_frame_t::lateral_offset_to_left_lane(), cajun::iteris_data::lateral_offset_to_left_lane, pcan::iteris_frame_t::lateral_offset_to_right_lane(), cajun::iteris_data::lateral_offset_to_right_lane, pcan::iteris_frame_t::left_lateral_offset_validity(), cajun::iteris_data::left_lateral_offset_validity, m_iteris_tracking, m_observer, pcan::iteris_frame_t::num_of_lines_on_left(), cajun::iteris_data::num_of_lines_on_left, pcan::iteris_frame_t::num_of_lines_on_right(), cajun::iteris_data::num_of_lines_on_right, pcan::iteris_frame_t::right_lateral_offset_validity(), cajun::iteris_data::right_lateral_offset_validity, pcan::iteris_frame_t::system_status(), cajun::iteris_data::system_status, pcan::iteris_frame_t::type_of_lanemark_on_left(), cajun::iteris_data::type_of_lanemark_on_left, pcan::iteris_frame_t::type_of_lanemark_on_right(), cajun::iteris_data::type_of_lanemark_on_right, pcan::iteris_frame_t::vehicle_crossing_left_lane(), cajun::iteris_data::vehicle_crossing_left_lane, pcan::iteris_frame_t::vehicle_crossing_right_lane(), cajun::iteris_data::vehicle_crossing_right_lane, pcan::iteris_frame_t::vehicle_speed_status(), cajun::iteris_data::vehicle_speed_status, pcan::iteris_frame_t::warning_on_left(), cajun::iteris_data::warning_on_left, pcan::iteris_frame_t::warning_on_right(), and cajun::iteris_data::warning_on_right.
Referenced by handle_input().
void pcan_pci_t::handle_input | ( | int | fd | ) |
References extract_emc_frame(), extract_iteris_frame(), pcan::pcan_frame_t::id(), m_observer, TPCANRdMsg::Msg, and PCAN_READ_MSG.
Referenced by main().
void cajun::pcan_pci_t::register_observer | ( | observer_t * | observer | ) | [inline] |
References m_observer.
Referenced by main().
bool pcan_pci_t::send_data_to_ibeo | ( | int | fd, | |
double | steering_angle | |||
) |
References CAN_INIT_TYPE_ST, TPCANMsg::DATA, TPCANMsg::ID, TPCANMsg::LEN, msg_logger, TPCANMsg::MSGTYPE, and PCAN_WRITE_MSG.
Referenced by main().
bool pcan_pci_t::send_data_to_iteris | ( | int | fd, | |
double | velocity, | |||
bool | left_turn_signal, | |||
bool | right_turn_signal, | |||
bool | set_warning_suppression | |||
) |
References CAN_INIT_TYPE_ST, TPCANMsg::DATA, TPCANMsg::ID, TPCANMsg::LEN, m_iteris_tracking, msg_logger, TPCANMsg::MSGTYPE, and PCAN_WRITE_MSG.
Referenced by main().
bool cajun::pcan_pci_t::m_debug [protected] |
Referenced by debug().
bool cajun::pcan_pci_t::m_iteris_tracking [protected] |
Referenced by extract_iteris_frame(), and send_data_to_iteris().
observer_t* cajun::pcan_pci_t::m_observer [protected] |
Referenced by extract_emc_frame(), extract_iteris_frame(), handle_input(), and register_observer().