31 #include <semaphore.h> 36 #define HDT_MAX_NAMECHAR 80 37 #define LCD_MENU_STRLENGTH 32 38 #define LCD_LIST_STRLENGTH 64 39 #define MENU_HEIGHT 38 40 #define KEYTM_MAX_REGIONS 32 42 #define MACHINE_SPEED 700000000 43 #define MACHINE_TYPE VEHICLE 44 #define MACHINE_NAME "EyeBot" 45 #define LIBM6OS_VERSION "1.0" 48 typedef unsigned long KEYCODE;
49 typedef unsigned char KEYMODE;
50 typedef unsigned short LCDMODE;
52 #define HDT_MAX_PATHCHAR 256 53 #define HDT_MAX_FILECHAR 40 54 #define HDT_MAX_READBUFF 128 56 typedef char* DeviceSemantics;
78 int IP_WIDTH, IP_HEIGHT, IP_PIXELS, IP_SIZE;
93 #define FONTNAMELEN 200 107 #define HDT_FILE "/home/pi/eyebot/bin/hdt.txt" 133 #define QQVGA_SIZE (QQVGA_X*QQVGA_Y*3) 134 #define QQVGA_PIXELS (QQVGA_X*QQVGA_Y) 146 #define QVGA_SIZE (QVGA_X*QVGA_Y*3) 147 #define QVGA_PIXELS (QVGA_X*QVGA_Y) 159 #define VGA_SIZE (VGA_X*VGA_Y*3) 160 #define VGA_PIXELS (VGA_X*VGA_Y) 169 #define CAM1MP_X 1296 172 #define CAM1MP_SIZE (CAM1MP_X*CAM1MP_Y*3) 173 #define CAM1MP_PIXELS (CAM1MP_X*CAM1MP_Y) 185 #define CAMHD_SIZE (CAMHD_X*CAMHD_Y*3) 186 #define CAMHD_PIXELS (CAMHD_X*CAMHD_Y) 195 #define CAM5MP_X 2592 197 #define CAM5MP_Y 1944 198 #define CAM5MP_SIZE (CAM5MP_X*CAM5MP_Y*3) 199 #define CAM5MP_PIXELS (CAM5MP_X*CAM5MP_Y) 208 #define RED 0xFF00000 210 #define GREEN 0x00FF00 211 #define BLUE 0x0000FF 212 #define WHITE 0xFFFFFF 213 #define GRAY 0x808080 214 #define BLACK 0x000000 215 #define SILVER 0xC0C0C0 216 #define LIGHTGRAY 0xD3D3D3 217 #define DARKGRAY 0xA9A9A9 218 #define NAVY 0x000080 219 #define CYAN 0x00EEEE 220 #define TEAL 0x008080 221 #define MAGENTA 0xFF00FF 222 #define PURPLE 0x800080 223 #define MAROON 0x800000 224 #define YELLOW 0xFFFF00 225 #define OLIVE 0x9ACD32 226 #define ORANGE 0xFFA500 232 #define ANYKEY 0xFFFFFFFF 234 #define NOKEY 0x00000000 235 #define KEY1 0x00000001 236 #define KEY2 0x00000002 237 #define KEY3 0x00000004 238 #define KEY4 0x00000008 240 #define KEY_ESCAPE 0x80000000 241 #define KEY_LISTTL 0x40000000 242 #define KEY_LISTUP 0x20000000 243 #define KEY_LISTDN 0x10000000 245 #define KEY_LIST1 0x00000010 246 #define KEY_LIST2 0x00000020 247 #define KEY_LIST3 0x00000040 248 #define KEY_LIST4 0x00000080 249 #define KEY_LIST5 0x00000100 250 #define KEY_LIST6 0x00000200 251 #define KEY_LIST7 0x00000400 252 #define KEY_LIST8 0x00000800 262 #define KEYTM_UNKNOWN 0x00 263 #define KEYTM_CLASSIC 0x01 264 #define KEYTM_STANDARD 0x02 265 #define KEYTM_REGIONS 0x03 266 #define KEYTM_LISTMENU 0x04 268 #define KEY_INVALID 0xFFFFFFFF 276 #define IR_KEY_1 '1' //KEY_1 277 #define IR_KEY_2 '2' //KEY_2 278 #define IR_KEY_3 '3' //KEY_3 279 #define IR_KEY_4 '4' //KEY_4 280 #define IR_KEY_5 '5' //KEY_5 281 #define IR_KEY_6 '6' //KEY_6 282 #define IR_KEY_7 '7' //KEY_7 283 #define IR_KEY_8 '8' //KEY_8 284 #define IR_KEY_9 '9' //KEY_9 285 #define IR_KEY_0 '0' //KEY_0 286 #define IR_KEY_RED 'R' //KEY_RED 287 #define IR_KEY_GREEN 'G' //KEY_GREEN 288 #define IR_KEY_YELLOW 'Y' //KEY_YELLOW 289 #define IR_KEY_BLUE 'B' //KEY_BLUE 290 #define IR_KEY_LEFT 'L' //KEY_LEFT 291 #define IR_KEY_RIGHT '>' //KEY_RIGHT 292 #define IR_KEY_UP 'U' //KEY_UP 293 #define IR_KEY_DOWN 'D' //KEY_DOWN 294 #define IR_KEY_OK 'O' //KEY_OK 295 #define IR_KEY_POWER 'P' //KEY_POWER 327 unsigned long functions;
328 unsigned long decorations;
330 unsigned long status;
423 BOX rect[KEYTM_MAX_REGIONS];
431 COORD_PAIR point, value;
440 char label[LCD_MENU_STRLENGTH];
450 char title[LCD_LIST_STRLENGTH];
452 int size, start, width, left, scroll;
469 XFontStruct* fontstruct;
483 MENU_ITEM menuItems[4];
502 typedef struct HDT_ENTRY
512 typedef struct HDT_TABLE
514 struct HDT_TABLE *pnext;
515 char name[HDT_MAX_NAMECHAR];
524 typedef struct HDT_DEVICE
526 struct HDT_DEVICE *pnext;
527 char name[HDT_MAX_NAMECHAR];
528 char tabname[HDT_MAX_NAMECHAR];
536 typedef struct HDT_CAM
538 struct HDT_CAM *pnext;
539 char name[HDT_MAX_NAMECHAR];
540 int regaddr, ucb1400io, width, height;
547 typedef struct HDT_MOTOR
549 struct HDT_MOTOR *pnext;
550 char name[HDT_MAX_NAMECHAR];
551 char tabname[HDT_MAX_NAMECHAR];
560 typedef struct HDT_ENCODER
562 struct HDT_ENCODER *pnext;
563 char name[HDT_MAX_NAMECHAR];
564 char motorname[HDT_MAX_NAMECHAR];
566 int regaddr, clickspm;
574 typedef struct HDT_SERVO
576 struct HDT_SERVO *pnext;
577 char name[HDT_MAX_NAMECHAR];
578 char tabname[HDT_MAX_NAMECHAR];
581 int mintime, maxtime;
589 typedef struct HDT_PSD
591 struct HDT_PSD *pnext;
592 char name[HDT_MAX_NAMECHAR];
593 char tabname[HDT_MAX_NAMECHAR];
602 typedef struct HDT_DRIVE
604 struct HDT_DRIVE *pnext;
605 char name[HDT_MAX_NAMECHAR];
606 char encname1[HDT_MAX_NAMECHAR],encname2[HDT_MAX_NAMECHAR];
607 char encname3[HDT_MAX_NAMECHAR],encname4[HDT_MAX_NAMECHAR];
608 HDT_ENCODER *penc1, *penc2, *penc3, *penc4;
610 int wheeldist1, axesdist, wheeldist2;
617 typedef struct HDT_IRTV
619 struct HDT_IRTV *pnext;
620 char name[HDT_MAX_NAMECHAR];
621 int type, length, togmask, invmask, mode, buffsize, delay;
628 typedef struct HDT_ADC
630 struct HDT_ADC *pnext;
631 char name[HDT_MAX_NAMECHAR];
632 char procname[HDT_MAX_NAMECHAR];
640 typedef struct HDT_COM
642 struct HDT_COM *pnext;
643 char name[HDT_MAX_NAMECHAR];
644 char devname[HDT_MAX_NAMECHAR];
654 char fontName[FONTNAMELEN];
BYTE CAM1MPcol[730][1296][3]
Definition: types.h:175
BYTE CAM1MPgray[730][1296]
Definition: types.h:176
BYTE QQVGAcol[120][160][3]
Definition: types.h:136
int COLOR
Definition: types.h:109
BYTE CAM5MPcol[1944][2592][3]
Definition: types.h:201
BYTE VGAcol[480][640][3]
Definition: types.h:162
BYTE CAMHDgray[1080][1920]
Definition: types.h:189
BYTE QVGAgray[240][320]
Definition: types.h:150
int TIMER
Definition: types.h:112
BYTE CAM5MPgray[1944][2592]
Definition: types.h:202
BYTE VGAgray[480][640]
Definition: types.h:163
BYTE CAMHDcol[1080][1920][3]
Definition: types.h:188
BYTE QQVGAgray[120][160]
Definition: types.h:137
char BYTE
Definition: types.h:110
BYTE QVGAcol[240][320][3]
Definition: types.h:149