00001
00002
00003 #ifndef SICK_MSG_0X77_BUILDER_H
00004 #define SICK_MSG_0X77_BUILDER_H
00005
00006 #include <stdint.h>
00007 #include "sick_msg_builder.H"
00008
00009 namespace sick
00010 {
00011
00012 class msg_0x77_builder_t : public msg_builder_t
00013 {
00014 public:
00015 msg_0x77_builder_t ();
00016 void blanking (uint16_t blank_);
00017
00018 enum sens_t { STD, MED, LOW, HIGH };
00019 void sensitivity (sens_t sens_);
00020
00021 enum avail_t { LVL_3 = 0x01, RT_INDICES = 0x02, LVL_2 = 0x04};
00022 void availability (avail_t avail_);
00023
00024 enum meas_mode_t { MODE_0 = 0x00, MODE_1 = 0x01, MODE_2 = 0x02,
00025 MODE_3 = 0x03, MODE_4 = 0x04, MODE_5 = 0x05,
00026 MODE_6 = 0x06, MODE_7 = 0x0F };
00027 void measuring_mode (meas_mode_t mode_);
00028
00029 enum units_t { UNIT_CM = 0x00, UNIT_MM = 0x01};
00030 void units (units_t units_);
00031
00032
00033 void temporary_field (uint16_t field_);
00034 void field_a_b_subtractive (bool sub_);
00035 void multiple_eval (uint16_t eval_);
00036 void restart (uint16_t restart_);
00037 void restart_time (uint16_t time_);
00038 void blanking_multiple_eval (uint16_t eval_);
00039 void contour_a_reference (uint16_t ref_);
00040 void contour_a_pos_tolerance (uint16_t tol_);
00041 void contour_a_neg_tolerance (uint16_t tol_);
00042 void contour_a_beg_angle (uint16_t angle_);
00043 void contour_a_end_angle (uint16_t angle_);
00044 void contour_b_reference (uint16_t ref_);
00045 void contour_b_pos_tolerance (uint16_t tol_);
00046 void contour_b_neg_tolerance (uint16_t tol_);
00047 void contour_b_beg_angle (uint16_t angle_);
00048 void contour_b_end_angle (uint16_t angle_);
00049 void contour_c_reference (uint16_t ref_);
00050 void contour_c_pos_tolerance (uint16_t tol_);
00051 void contour_c_neg_tolerance (uint16_t tol_);
00052 void contour_c_beg_angle (uint16_t angle_);
00053 void contour_c_end_angle (uint16_t angle_);
00054 void pixel_eval (bool eval_);
00055 void single_eval_mode (uint16_t mode_);
00056 void field_b_c_restart_time (uint16_t time_);
00057 void dazzling_multiple_eval (uint16_t eval_);
00058 protected:
00059 unsigned m_sc_size;
00060 unsigned char m_sc_data[404];
00061
00062 unsigned _build (void);
00063 };
00064 };
00065 #endif