#define HOKUYO_RANGE_ANGLE_RIGHT 70.0
#define HOKUYO_ORIENTATION (1) /* 1 = screws up, -1 = screws down */
+#define SICK_CENTER_OFFSET_MM 180.0
+#define SICK_CENTER_OFFSET_M (SICK_CENTER_OFFSET_MM/1000.0)
+#define SICK_RANGE_ANGLE_LEFT 135.0 /* view angle in degrees from center axis */
+#define SICK_RANGE_ANGLE_RIGHT 135.0
+#define SICK_ORIENTATION (-1) /* 1 = screws up, -1 = screws down */
+
#define ODOMETRY_WHEEL_RADIUS_MM 30.0
#define ODOMETRY_WHEEL_RADIUS_M (ODOMETRY_WHEEL_RADIUS_MM/1000.0)
#define ODOMETRY_ROTATION_RADIUS_MM (284.0/2.0)
INCLUDES += $(shell pkg-config libusb-1.0 --cflags)
LDFLAGS += $(shell pkg-config libusb-1.0 --libs)
+include_HEADERS = sick.h
+
test_PROGRAMS = test_sick
test_sick_SOURCES = tim3xx_example.c
lib_LOADLIBES = roboorte robottype orte
+
--- /dev/null
+#ifndef SICK_H
+#define SICK_H
+
+#include <math.h>
+#include <robottype.h>
+
+#define SICK_ARRAY_SIZE (sizeof(((struct sick_scan_type*)0)->data) / sizeof(((struct sick_scan_type*)0)->data[0]))
+
+#define SICK_START_ANGLE (270.00/2)
+#define SICK_SPLIT_DIVISION 360
+
+#define SICK_INDEX_TO_DEG(x) ((SICK_START_ANGLE-(x)*360.0/SICK_SPLIT_DIVISION) * SICK_ORIENTATION)
+#define SICK_INDEX_TO_RAD(x) (HOKUYO_INDEX_TO_DEG(x)/180.0*M_PI)
+
+#define SICK_DEG_TO_INDEX(d) ((SICK_START_ANGLE-(d))/(360.0/SICK_SPLIT_DIVISION))
+
+#endif //SICK_H