Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008 #ifndef KOGMO_RTDB_OBJ_BASE_H
00009 #define KOGMO_RTDB_OBJ_BASE_H
00010
00011
00012
00013
00014
00015 #//endif
00016
00017 #include "kogmo_rtdb_types.h"
00018
00019 #ifdef __cplusplus
00020 namespace KogniMobil {
00021 extern "C" {
00022 #endif
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038
00039
00040
00041
00042
00043
00044
00045 typedef PACKED_struct
00046 {
00047 kogmo_timestamp_t committed_ts;
00048
00049
00050
00051
00052
00053
00054
00055
00056 kogmo_rtdb_objid_t committed_proc;
00057
00058
00059 kogmo_timestamp_t data_ts;
00060
00061
00062 kogmo_rtdb_objsize_t size;
00063
00064
00065
00066
00067 } kogmo_rtdb_subobj_base_t;
00068
00069
00070
00071 typedef PACKED_struct
00072 {
00073 kogmo_rtdb_subobj_base_t base;
00074 } kogmo_rtdb_obj_base_t;
00075
00076
00077
00078
00079
00080
00081 typedef PACKED_struct
00082 {
00083 kogmo_timestamp_t started_ts;
00084 char dbhost[KOGMO_RTDB_OBJMETA_NAME_MAXLEN];
00085 uint32_t version_rev;
00086 char version_date[30];
00087 char version_id[402];
00088 uint32_t objects_max;
00089 uint32_t objects_free;
00090 uint32_t processes_max;
00091 uint32_t processes_free;
00092 kogmo_rtdb_objsize_t memory_max;
00093 kogmo_rtdb_objsize_t memory_free;
00094 } kogmo_rtdb_subobj_c3_rtdb_t;
00095
00096
00097
00098 typedef PACKED_struct
00099 {
00100 kogmo_rtdb_subobj_base_t base;
00101 kogmo_rtdb_subobj_c3_rtdb_t rtdb;
00102 } kogmo_rtdb_obj_c3_rtdb_t;
00103
00104
00105
00106
00107 typedef enum
00108 {
00109 KOGMO_RTDB_PROCSTATUS_UNKNOWN = 0,
00110
00111 KOGMO_RTDB_PROCSTATUS_CYCLEDONE,
00112
00113
00114 KOGMO_RTDB_PROCSTATUS_BUSY,
00115
00116 KOGMO_RTDB_PROCSTATUS_WAITING,
00117
00118 KOGMO_RTDB_PROCSTATUS_FAILURE,
00119
00120
00121 KOGMO_RTDB_PROCSTATUS_WARNING,
00122
00123
00124
00125
00126 } kogmo_rtdb_obj_c3_process_status_t;
00127
00128
00129
00130
00131 typedef PACKED_struct {
00132 kogmo_rtdb_objid_t proc_oid;
00133
00134
00135
00136
00137
00138 uint32_t pid;
00139 uint32_t tid;
00140 uint32_t flags;
00141 uint32_t status;
00142 #define KOGMO_RTDB_PROCSTATUS_MSG_MAXLEN 160
00143 char statusmsg[KOGMO_RTDB_PROCSTATUS_MSG_MAXLEN];
00144 uint32_t version;
00145 uint32_t uid;
00146
00147 } kogmo_rtdb_subobj_c3_process_t;
00148
00149
00150
00151
00152 typedef PACKED_struct
00153 {
00154 kogmo_rtdb_subobj_base_t base;
00155 kogmo_rtdb_subobj_c3_process_t process;
00156 } kogmo_rtdb_obj_c3_process_t;
00157
00158
00159
00160
00161
00162
00163 #ifdef __cplusplus
00164 };
00165 };
00166 #endif
00167
00168 #endif
00169
00170
00171
00172
00173
00174
00175
00176
00177
00178
00179 #ifndef KOGMO_RTDB_OBJ_C3_PLAYREC_H
00180 #define KOGMO_RTDB_OBJ_C3_PLAYREC_H
00181
00182
00183
00184
00185 #ifdef __cplusplus
00186 extern "C" {
00187 namespace KogniMobil {
00188 #endif
00189
00190
00191
00192
00193
00194
00195
00196 typedef PACKED_struct
00197 {
00198 struct
00199 {
00200 uint32_t log : 1;
00201 uint32_t pause : 1;
00202 uint32_t loop : 1;
00203 uint32_t keepcreated : 1;
00204 uint32_t scan : 1;
00205 } flags;
00206 float speed;
00207 kogmo_timestamp_t begin_ts;
00208 kogmo_timestamp_t end_ts;
00209 kogmo_timestamp_t goto_ts;
00210 kogmo_rtdb_objname_t frame_objname;
00211 int16_t frame_go;
00212 } kogmo_rtdb_subobj_c3_playerctrl_t;
00213
00214 typedef PACKED_struct
00215 {
00216 kogmo_rtdb_subobj_base_t base;
00217 kogmo_rtdb_subobj_c3_playerctrl_t playerctrl;
00218 } kogmo_rtdb_obj_c3_playerctrl_t;
00219
00220
00221
00222
00223 typedef PACKED_struct
00224 {
00225 kogmo_timestamp_t current_ts;
00226 kogmo_timestamp_t first_ts;
00227 kogmo_timestamp_t last_ts;
00228 } kogmo_rtdb_subobj_c3_playerstat_t;
00229
00230 typedef PACKED_struct
00231 {
00232 kogmo_rtdb_subobj_base_t base;
00233 kogmo_rtdb_subobj_c3_playerstat_t playerstat;
00234 } kogmo_rtdb_obj_c3_playerstat_t;
00235
00236
00237
00238
00239
00240
00241
00242 typedef PACKED_struct
00243 {
00244 kogmo_timestamp_t begin_ts;
00245 uint64_t bytes_written;
00246 uint32_t events_written;
00247 uint32_t events_total;
00248 uint32_t events_lost;
00249 int16_t event_buffree;
00250 uint16_t event_buflen;
00251 } kogmo_rtdb_subobj_c3_recorderstat_t;
00252
00253
00254
00255 typedef PACKED_struct
00256 {
00257 kogmo_rtdb_subobj_base_t base;
00258 kogmo_rtdb_subobj_c3_recorderstat_t recorderstat;
00259 } kogmo_rtdb_obj_c3_recorderstat_t;
00260
00261
00262
00263
00264
00265 typedef PACKED_struct
00266 {
00267 #define C3_RECORDERCTRL_MAXLIST 50
00268
00269 kogmo_rtdb_objid_t oid_list[C3_RECORDERCTRL_MAXLIST];
00270 kogmo_rtdb_objtype_t tid_list[C3_RECORDERCTRL_MAXLIST];
00271 char name_list[C3_RECORDERCTRL_MAXLIST][KOGMO_RTDB_OBJMETA_NAME_MAXLEN];
00272
00273 kogmo_rtdb_objid_t xoid_list[C3_RECORDERCTRL_MAXLIST];
00274 kogmo_rtdb_objtype_t xtid_list[C3_RECORDERCTRL_MAXLIST];
00275 char xname_list[C3_RECORDERCTRL_MAXLIST][KOGMO_RTDB_OBJMETA_NAME_MAXLEN];
00276
00277 kogmo_rtdb_objid_t oid_stream[10];
00278 struct
00279 {
00280 uint32_t select_all : 1;
00281 uint32_t recorder_on : 1;
00282
00283 uint32_t logging_on : 1;
00284 } switches;
00285 } kogmo_rtdb_subobj_c3_recorderctrl_t;
00286
00287
00288
00289 typedef PACKED_struct
00290 {
00291 kogmo_rtdb_subobj_base_t base;
00292 kogmo_rtdb_subobj_c3_recorderctrl_t recorderctrl;
00293 } kogmo_rtdb_obj_c3_recorderctrl_t;
00294
00295
00296
00297
00298
00299
00300
00301 typedef struct
00302 {
00303
00304
00305
00306 #define C3_TEXT_MAXCHARS (1024*100)
00307 char data[C3_TEXT_MAXCHARS];
00308 } kogmo_rtdb_subobj_c3_text_t;
00309
00310 typedef struct
00311 {
00312 kogmo_rtdb_subobj_base_t base;
00313 kogmo_rtdb_subobj_c3_text_t text;
00314 } kogmo_rtdb_obj_c3_text_t;
00315
00316
00317
00318
00319
00320 typedef struct
00321 {
00322 char data[1024];
00323 } kogmo_rtdb_subobj_c3_text1k_t;
00324
00325 typedef struct
00326 {
00327 kogmo_rtdb_subobj_base_t base;
00328 kogmo_rtdb_subobj_c3_text1k_t text;
00329 } kogmo_rtdb_obj_c3_text1k_t;
00330
00331
00332
00333
00334 typedef struct
00335 {
00336 int32_t intval[256];
00337 } kogmo_rtdb_subobj_c3_ints256_t;
00338
00339 typedef struct
00340 {
00341 kogmo_rtdb_subobj_base_t base;
00342 kogmo_rtdb_subobj_c3_ints256_t ints;
00343 } kogmo_rtdb_obj_c3_ints256_t;
00344
00345
00346
00347
00348 typedef struct
00349 {
00350 int32_t floatval[256];
00351 } kogmo_rtdb_subobj_c3_floats256_t;
00352
00353 typedef struct
00354 {
00355 kogmo_rtdb_subobj_base_t base;
00356 kogmo_rtdb_subobj_c3_floats256_t floats;
00357 } kogmo_rtdb_obj_c3_floats256_t;
00358
00359
00360
00361
00362
00363
00364
00365
00366
00367 typedef struct
00368 {
00369 int width;
00370
00371 int height;
00372 int depth;
00373 int channels;
00374 int colormodell;
00375
00376 int widthstep;
00377
00378 unsigned char data[0];
00379
00380 } kogmo_rtdb_subobj_a2_image_t;
00381
00382
00383
00384 #define A2_IMAGE_DEPTH_1U 1 // 1 Bits/Pixel, unsigned char (==IPL_DEPTH_1U)
00385 #define A2_IMAGE_DEPTH_8U 8 // 8 Bits/Pixel, unsigned char (==IPL_DEPTH_8U)
00386 #define A2_IMAGE_DEPTH_16U 16 // 16 Bits/Pixel, unsigned word (==IPL_DEPTH_16U)
00387 #define A2_IMAGE_DEPTH_32F 32 // 32 Bits/Pixel, float (==IPL_DEPTH_32F)
00388 #define A2_IMAGE_DEPTH_8S 0x80000008 // 8 Bits/Pixel, signed char (==IPL_DEPTH_8S==IPL_DEPTH_SIGN|IPL_DEPTH_8U)
00389 #define A2_IMAGE_DEPTH_16S 0x80000016 // 16 Bits/Pixel, signed char (==IPL_DEPTH_16S==IPL_DEPTH_SIGN|IPL_DEPTH_16U)
00390 #define A2_IMAGE_COLORMODEL_RGB 0 // Bei 1 Kanal: Graustufenbild, bei 3 Kanaelen: RGB
00391 #define A2_IMAGE_COLORMODEL_YUV411 1 // YUV411
00392 #define A2_IMAGE_COLORMODEL_YUV422 2 // YUV422
00393 #define A2_IMAGE_COLORMODEL_YUV444 3 // YUV444
00394 #define A2_IMAGE_COLORMODEL_RGBJPEG 16 // wie 0, aber JPEG komprimiert
00395
00396
00397
00398 typedef struct
00399 {
00400 kogmo_rtdb_subobj_base_t base;
00401 kogmo_rtdb_subobj_a2_image_t image;
00402 } kogmo_rtdb_obj_a2_image_t;
00403
00404
00405
00406
00407
00408
00409
00410
00411 #ifdef __cplusplus
00412 };
00413 };
00414 #endif
00415
00416 #endif