COSMOS core  1.0.2 (beta)
Comprehensive Open-architecture Solution for Mission Operations Systems
gige_lib.h
Go to the documentation of this file.
1 /********************************************************************
2 * Copyright (C) 2015 by Interstel Technologies, Inc.
3 * and Hawaii Space Flight Laboratory.
4 *
5 * This file is part of the COSMOS/core that is the central
6 * module for COSMOS. For more information on COSMOS go to
7 * <http://cosmos-project.com>
8 *
9 * The COSMOS/core software is licenced under the
10 * GNU Lesser General Public License (LGPL) version 3 licence.
11 *
12 * You should have received a copy of the
13 * GNU Lesser General Public License
14 * If not, go to <http://www.gnu.org/licenses/>
15 *
16 * COSMOS/core is free software: you can redistribute it and/or
17 * modify it under the terms of the GNU Lesser General Public License
18 * as published by the Free Software Foundation, either version 3 of
19 * the License, or (at your option) any later version.
20 *
21 * COSMOS/core is distributed in the hope that it will be useful, but
22 * WITHOUT ANY WARRANTY; without even the implied warranty of
23 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
24 * Lesser General Public License for more details.
25 *
26 * Refer to the "licences" folder for further information on the
27 * condititons and terms to use this software.
28 ********************************************************************/
29 
30 #ifndef _GIGE_H
31 #define _GIGE_H 1
32 
33 #include "support/configCosmos.h"
34 #include "support/socketlib.h"
35 
47 
51 #define GIGE_CMD_DISCOVERY 0x0002
52 #define GIGE_CMD_FORCEIP 0x0004
53 #define GIGE_CMD_PACKETRESEND 0x0040
54 #define GIGE_CMD_READREG 0x0080
55 #define GIGE_CMD_WRITEREG 0x0082
56 #define GIGE_CMD_READMEM 0x0084
57 #define GIGE_CMD_WRITEMEM 0x0086
58 #define GIGE_CMD_EVENT 0x00c0
59 
61 
65 
66 #define GIGE_ACK_DISCOVERY 0x0003
67 #define GIGE_ACK_FORCEIP 0x0005
68 #define GIGE_ACK_READREG 0x0081
69 #define GIGE_ACK_WRITEREG 0x0083
70 #define GIGE_ACK_READMEM 0x0085
71 #define GIGE_ACK_WRITEMEM 0x0087
72 #define GIGE_ACK_PENDING 0x0089
73 
75 
79 
80 #define GIGE_REG_VERSION 0x0000
81 #define GIGE_REG_DEVICE_MODE 0x0004
82 #define GIGE_REG_DEVICE_MAC_HIGH 0x0008
83 #define GIGE_REG_DEVICE_MAC_LOW 0x000c
84 #define GIGE_REG_NET_CAPABILITY 0x0010
85 #define GIGE_REG_NET_CONFIG 0x0014
86 #define GIGE_REG_CURRENT_IP_ADDRESS 0x0024
87 #define GIGE_REG_CURRENT_IP_NETMASK 0x0034
88 #define GIGE_REG_CURRENT_IP_GATEWAY 0x0044
89 #define GIGE_REG_MANUFACTURER_NAME 0x0048
90 #define GIGE_REG_MODEL_NAME 0x0068
91 #define GIGE_REG_DEVICE_VERSION 0x0088
92 #define GIGE_REG_MANUFACTURER_INFO 0x00a8
93 #define GIGE_REG_SERIAL_NUMBER 0x00d8
94 #define GIGE_REG_USER_DEFINED_NAME 0x00e8
95 #define GIGE_REG_FIRST_URL 0x0200
96 #define GIGE_REG_SECOND_URL 0x0400
97 #define GIGE_REG_NET_COUNT 0x0600
98 #define GIGE_REG_PERSISTENT_IP_ADDRESS 0x064c
99 #define GIGE_REG_PERSISTENT_IP_NETMASK 0x065c
100 #define GIGE_REG_PERSISTENT_IP_GATEWAY 0x066c
101 #define GIGE_REG_PERSISTENT_IP_LINK_SPEED 0x0670
102 #define GIGE_REG_MESSAGE_CHANNEL_COUNT 0x0900
103 #define GIGE_REG_STREAM_CHANNEL_COUNT 0x0904
104 #define GIGE_REG_ACTION_CHANNEL_COUNT 0x0908
105 #define GIGE_REG_ACTION_DEVICE_KEY 0x090c
106 #define GIGE_REG_ACTIVE_LINK_COUNT 0x0910
107 #define GIGE_REG_GVSP_CAPABILITY 0x092c
108 #define GIGE_REG_MESSAGE_CHANNEL_CAPABILITY 0x0930
109 #define GIGE_REG_GVCP_CAPABILITY 0x0934
110 #define GIGE_REG_GVCP_HEARTBEAT_TIMEOUT 0x0938
111 #define GIGE_REG_TICK_FREQUENCY_HIGH 0x093c
112 #define GIGE_REG_TICK_FREQUENCY_LOW 0x0940
113 #define GIGE_REG_TIMESTAMP_CONTROL 0x0944
114 #define GIGE_REG_TIMESTAMP_VALUE_HIGH 0x0948
115 #define GIGE_REG_TIMESTAMP_VALUE_LOW 0x094c
116 #define GIGE_REG_DISCOVERY_ACK_DELAY 0x0950
117 #define GIGE_REG_GVCP_CONFIGURATION 0x0954
118 #define GIGE_REG_PENDING_TIMEOUT 0x0958
119 #define GIGE_REG_CONTROL_SWITCHOVER_KEY 0x095c
120 #define GIGE_REG_GVSP_CONFIGURATION 0x0960
121 #define GIGE_REG_PHYSICAL_LINK_CAPABILITY 0x0964
122 #define GIGE_REG_PHYSICAL_LINK_CONFIGURATION 0x0968
123 #define GIGE_REG_IEEE_1588_STATUS 0x096c
124 #define GIGE_REG_QUEUE_SIZE 0x0970
125 #define GIGE_REG_CONTROL_CHANNEL_PRIVILEGE 0x0a00
126 #define GIGE_REG_CCP 0x0a00
127 #define GIGE_REG_PRIMARY_APPLICATION_PORT 0x0a04
128 #define GIGE_REG_PRIMARY_APPLICATION_IP_ADDRESS 0x0a14
129 #define GIGE_REG_MESSAGE_CHANNEL_PORT 0x0b00
130 #define GIGE_REG_MCP 0x0b00
131 #define GIGE_REG_MESSAGE_CHANNEL_DESTINATION 0x0b10
132 #define GIGE_REG_MESSAGE_CHANNEL_TIMEOUT 0x0b14
133 #define GIGE_REG_MCDA 0x0b14
134 #define GIGE_REG_MESSAGE_CHANNEL_RETRY_COUNT 0x0b18
135 #define GIGE_REG_MESSAGE_CHANNEL_SOURCE_PORT 0x0b1c
136 #define GIGE_REG_STREAM_CHANNEL_PORT 0x0d00
137 #define GIGE_REG_SCP 0x0d00
138 #define GIGE_REG_STREAM_CHANNEL_PACKET_SIZE 0x0d04
139 #define GIGE_REG_SCPS 0x0d04
140 #define GIGE_REG_STREAM_CHANNEL_PACKET_DELAY 0x0d08
141 #define GIGE_REG_SCPD 0x0d08
142 #define GIGE_REG_STREAM_CHANNEL_DESTINATION_ADDRESS 0x0d18
143 #define GIGE_REG_SCDA 0x0d18
144 #define GIGE_REG_STREAM_CHANNEL_SOURCE_PORT 0x0d1c
145 #define GIGE_REG_STREAM_CHANNEL_CAPABILITY 0x0d20
146 #define GIGE_REG_STREAM_CHANNEL_CONFIGURATION 0x0d24
147 #define GIGE_REG_STREAM_CHANNEL_ZONE 0x0d28
148 #define GIGE_REG_STREAM_CHANNEL_ZONE_DIRECTION 0x0d2c
149 #define GIGE_REG_MANIFEST_TABLE 0x900
150 #define GIGE_REG_ACTION_GROUP_KEY 0x9800
151 #define GIGE_REG_ACTION_GROUP_MASK 0x9804
152 #define GIGE_REG_MANUFACTURER_SPECIFIC 0xa000
153 
154 #define GIGE_MAX_MANUFACTURER_NAME 32
155 #define GIGE_MAX_MODEL_NAME 32
156 #define GIGE_MAX_DEVICE_VERSION 32
157 #define GIGE_MAX_MANUFACTURER_INFO 48
158 #define GIGE_MAX_SERIAL_NUMBER 16
159 #define GIGE_MAX_USER_DEFINED_NAME 16
160 #define GIGE_MAX_FIRST_URL 512
161 #define GIGE_MAX_SECOND_URL 512
162 #define GIGE_MAX_PACKET 16384
163 #define GIGE_MIN_PACKET 576
164 
166 
170 
172 #define PROSILICA_DeviceID 0x00d8
173 #define PROSILICA_SensorWidth 0x11024
174 #define PROSILICA_SensorHeight 0x11028
175 #define PROSILICA_BinningXMax 0x11104
176 #define PROSILICA_BinningXValue 0x11108
177 #define PROSILICA_BinningYMax 0x11124
178 #define PROSILICA_BinningYValue 0x11128
179 #define PROSILICA_StreamBytesPerSec 0x11144
180 #define PROSILICA_MaxWidth 0x12110
181 #define PROSILICA_MaxHeight 0x12114
182 #define PROSILICA_PixelFormat 0x12120
183 #define PROSILICA_PixelFormat_Mono8 17301505
184 #define PROSILICA_PixelFormat_Mono10 17825795
185 #define PROSILICA_PixelFormat_Mono12 17825797
186 #define PROSILICA_PixelFormat_BayerGR8 17301512
187 #define PROSILICA_PixelFormat_BayerRG8 17301513
188 #define PROSILICA_PixelFormat_BayerBG8 17301515
189 #define PROSILICA_PixelFormat_BayerBG10 17825807
190 #define PROSILICA_PixelFormat_BayerGR12 17825808
191 #define PROSILICA_PixelFormat_BayerRG12 17825809
192 #define PROSILICA_Width 0x12124
193 #define PROSILICA_Height 0x12128
194 #define PROSILICA_RegionX 0x1212c
195 #define PROSILICA_RegionY 0x12130
196 #define PROSILICA_PayloadSize 0x12200
197 #define PROSILICA_AcquisitionCommand 0x130f4
198 #define PROSILICA_AcquisitionCommand_Stop 0
199 #define PROSILICA_AcquisitionCommand_Start 1
200 #define PROSILICA_AcquisitionCommand_Abort 2
201 #define PROSILICA_AcquisitionMode 0x13104
202 #define PROSILICA_AcquisitionMode_Continouous 1
203 #define PROSILICA_AcquisitionMode_SingleFrame 2
204 #define PROSILICA_AcquisitionMode_MultiFrame 3
205 #define PROSILICA_AcquisitionMode_Recorder 4
206 #define PROSILICA_AcquisitionFrameCount 0x13108
207 #define PROSILICA_TriggerMode 0x13410
208 #define PROSILICA_TriggerSource 0x13410
209 #define PROSILICA_TriggerEvent 0x13418
210 #define PROSILICA_TriggerDelay 0x1341C
211 #define PROSILICA_ExposureMode 0x14104
212 #define PROSILICA_ExposureMode_AutoOff 1
214 #define PROSILICA_ExposureMode_AutoOnce 3
216 #define PROSILICA_ExposureMode_Auto 2
218 #define PROSILICA_ExposureValueMin 0x14108
219 #define PROSILICA_ExposureValueMax 0x1410C
220 #define PROSILICA_ExposureValue 0x14110
221 #define PROSILICA_GainMode 0x14144
222 #define PROSILICA_GainMode_AutoOff 1
223 #define PROSILICA_GainMode_AutoOnce 3
224 #define PROSILICA_GainMode_Auto 2
225 #define PROSILICA_GainValueMin 0x14148
226 #define PROSILICA_GainValueMax 0x1414C
227 #define PROSILICA_GainValue 0x14150
228 #define PROSILICA_WhitebalMode 0x14184
229 #define PROSILICA_WhitebalValueMin 0x14188
230 #define PROSILICA_WhitebalValueMax 0x1418C
231 #define PROSILICA_IrisMode 0x14204
232 #define PROSILICA_IrisVideoLevelMin 0x1420C
233 #define PROSILICA_IrisVideoLevelMax 0x14210
234 #define PROSILICA_IrisVideoLevel 0x14214
235 
237 
241 typedef union
242 {
243  uint32_t address;
244  uint32_t data;
245  typedef struct
246  {
247  uint16_t major;
248  uint16_t minor;
249  } version;
250 } gige_register;
251 
252 typedef struct
253 {
254  uint16_t flag;
255  uint16_t command;
256  uint16_t length;
257  uint16_t req_id;
258  uint32_t address;
259  uint32_t data;
260 } gige_command;
261 
262 typedef struct
263 {
264  uint16_t status;
265  uint16_t acknowledge;
266  uint16_t length;
267  uint16_t ack_id;
268  uint32_t data;
270 
271 typedef struct
272 {
273  uint16_t status;
274  uint16_t acknowledge;
275  uint16_t length;
276  uint16_t ack_id;
277  uint32_t address;
278  uint8_t data[600-12];
280 
281 typedef struct
282 {
283  uint16_t status;
284  uint16_t acknowledge;
285  uint16_t length;
286  uint16_t ack_id;
287  uint16_t spec_major;
288  uint16_t spec_minor;
289  uint32_t device_mode;
290  uint16_t res1;
291  uint16_t mac_high;
292  uint32_t mac_low;
295  uint32_t res2[3];
296  uint32_t address;
297  uint32_t res3[3];
298  uint32_t subnet;
299  uint32_t res4[3];
300  uint32_t gateway;
301  char manufacturer[32];
302  char model[32];
303  char device[32];
304  char manufacturer_info[48];
305  char serial_number[16];
306  char user_defined_name[16];
308 
309 typedef struct
310 {
311  uint16_t status;
312  uint16_t block_id;
313  union
314  {
315  uint8_t format;
316  uint32_t packet_id;
317  };
318  uint64_t block_id64;
319  uint32_t packet_id32;
321  uint16_t payload_type;
323 
324 
325 typedef uint32_t gige_device_mode;
326 
327 typedef struct
328 {
329  uint8_t byte[4];
330 } gige_address;
331 
332 typedef uint32_t gige_link_speed;
333 
334 typedef uint32_t gige_count;
335 
336 typedef struct
337 {
343  union
344  {
345  uint8_t cbyte[600];
346  uint32_t cword[150];
351  };
353  uint8_t sbuf[600];
355  uint16_t req_id;
357  uint32_t streambps;
359  uint16_t bestsize;
361  uint16_t maxwidth;
363  uint16_t maxheight;
365  uint16_t width;
367  uint16_t height;
368 } gige_handle;
369 
371 
375 
376 vector<gige_acknowledge_ack> gige_discover();
377 gige_handle *gige_open(char address[18],uint8_t privilege, uint32_t heartbeat_msec, uint32_t socket_usec, uint32_t streambps);
378 int gige_writereg(gige_handle *handle, uint32_t address, uint32_t data);
379 uint32_t gige_readreg(gige_handle *handle, uint32_t address);
380 uint32_t gige_readmem(gige_handle *handle, uint32_t address, uint32_t nbytes);
382 uint32_t gige_address_to_value(char *address);
383 char *gige_value_to_address(uint32_t value);
384 int prosilica_config(gige_handle *handle, uint32_t format, uint32_t xbin, uint32_t ybin, uint32_t xsize, uint32_t ysize, uint32_t xoffset, uint32_t yoffset);
385 int prosilica_image(gige_handle *handle, uint16_t emode, uint32_t exposure, uint32_t gain, uint8_t *buffer, uint16_t bsize);
386 int a35_image(gige_handle *handle, uint32_t frames, uint8_t *buffer, uint16_t bsize);
387 int a35_config(gige_handle *handle, uint32_t xsize, uint32_t ysize, uint32_t video_rate);
388 int pt1000_image(gige_handle *handle, uint32_t frames, uint8_t *buffer, uint16_t bsize);
389 int pt1000_config(gige_handle *handle, uint32_t xsize, uint32_t ysize);
391 
392 
393 
394 // ***************************************************
395 // ********************* A35 ***********************
396 // ***************************************************
397 
398 uint32_t gige_readreg2(gige_handle *handle, uint32_t address);
399 uint32_t gige_request(gige_handle *handle, uint32_t address);
400 
402 
403 
407 
409 
410 
411 #define A35_NETWORK 0x0014
412 #define A35_SETA35IP 0x064C
413 #define A35_SETA35MASK 0x065C
414 #define A35_SETA35GATEWAY 0x066C
415 #define A35_PACKETDELAY 0x0D08
416 #define A35_SETCOMPUTERIP 0x0D18
417 #define A35_FRAMESTOSKIP 0xB81C
418 #define A35_WIDTH 0xD300
419 #define A35_HEIGHT 0xD304
420 #define A35_PIXELFORMAT 0xD308
421 #define A35_ACQUISITIONSTART 0xD314
422 #define A35_ACQUISITIONSTOP 0xD318
423 #define A35_TESTIMAGESELECTOR 0xD33C
424 #define A35_DEVICERESET 0xD340
425 #define A35_CAMERAHEADRESET 0xE81C1
426 #define A35_TEMPERATURE 0xE83C
427 #define A35_TEMPERATUREFPA 0xE840
428 #define A35_COMMAND_DOFFC 0xE938 // (send 0 to do FFC)
429 #define A35_FFCMODE 0xE940 // (Flat Field Correction)
430 #define A35_SENSORVIDEOSTANDARD 0xE9A4
431 #define A35_DIGITALOUTPUT 0xE9C8
432 #define A35_XPMODE 0xE9D4
433 #define A35_LVDSMODE 0xE9D8
434 #define A35_CMOSBITDEPTH 0xE9DC
435 #define A35_LVDSBITDEPTH 0xE9E0
436 #define A35_IMAGEADJUST 0xE9EC
437 #define A35_IPENGINETESTPATTERN 0x80000000
438 
440 #define A35_NETWORK_OFF 4
441 #define A35_NETWORK_MANUAL 5
442 #define A35_NETWORK_DHCP 6
443 #define A35_PIXELFORMAT_8BIT 0x01080001
444 #define A35_PIXELFORMAT_14BIT 0x01100025
445 #define A35_DIGITALOUTPUT_8BIT 2
446 #define A35_DIGITALOUTPUT_14BIT 3
447 #define A35_SENSORVIDEOSTANDARD_30HZ 0
448 #define A35_SENSORVIDEOSTANDARD_60HZ 4
449 #define A35_FFCMODE_MANUAL 0
450 #define A35_FFCMODE_AUTO 1
451 #define A35_FFCMODE_EXTERNAL 2
452 #define A35_XPMODE_CMOS 2
453 #define A35_SKIP0 0x00004000
454 #define A35_SKIP1 0x00014000
455 #define A35_SKIP2 0x00024000
456 #define A35_SKIP3 0x00034000
457 #define A35_SKIP4 0x00044000
458 #define A35_IMAGEADJUST_PLATEAUHISTOGRAM 0
459 #define A35_IMAGEADJUST_ONCEBRIGHT 1
460 #define A35_IMAGEADJUST_AUTOBRIGHT 2
461 #define A35_IMAGEADJUST_MANUAL 3
462 #define A35_IMAGEADJUST_LINEAR 4
463 
464 //#define NETWORKMASK 0xFFFFFF00 //255.255.255.0
466 
470 enum PT1000
471  {
473  DeviceResetReg = 0xD340,
474  SensorWidthReg = 0xA020,
475  SensorHeightReg = 0xA024,
476  WidthReg = 0xD300,
477  HeightReg = 0xD304,
478  OffsetXReg = 0xD31C,
479  OffsetYReg = 0xD320,
480  PixelFormatReg = 0xD308,
486  };
487 
489  {
497  };
498 
500  {
501  Mono8 = 17301505,
502  Mono8Signed = 17301506,
503  Mono10 = 17825795,
504  Mono10Packed = 17563652,
505  Mono12 = 17825797,
506  Mono12Packed = 17563654,
507  Mono14 = 17825829,
508  Mono16 = 17825799,
509  BayerGR8 = 17301512,
510  BayerRG8 = 17301513,
511  BayerGB8 = 17301514,
512  BayerBG8 = 17301515,
513  BayerGR10 = 17825804,
514  BayerRG10 = 17825805,
515  BayerGB10 = 17825806,
516  BayerBG10 = 17825807,
517  BayerGR12 = 17825808,
518  BayerRG12 = 17825809,
519  BayerGB12 = 17825810,
520  BayerBG12 = 17825811,
521  BayerGR10Packed = 17563686,
522  BayerRG10Packed = 17563687,
523  BayerGB10Packed = 17563688,
524  BayerGR12Packed = 17563690,
525  BayerRG12Packed = 17563691,
526  BayerGB12Packed = 17563692,
527  BayerBG12Packed = 17563693,
528  BayerGR16 = 17825838,
529  BayerRG16 = 17825839,
530  BayerGB16 = 17825840,
531  BayerBG16 = 17825841,
532  RGB8Packed = 35127316,
533  BGR8Packed = 35127317,
534  YUV411Packed = 34340894,
535  YUV422Packed = 34603039,
536  YUV444Packed = 35127328
537  };
538 
540 
541 
542 #endif
uint32_t address
Definition: gige_lib.h:277
Definition: gige_lib.h:494
Definition: gige_lib.h:262
gige_acknowledge_mem cack_mem
Definition: gige_lib.h:349
void gige_close(gige_handle *handle)
Close GigE Camera.
Definition: gige_lib.cpp:177
Definition: gige_lib.h:507
uint32_t data
Definition: gige_lib.h:268
uint16_t status
Definition: gige_lib.h:283
uint16_t length
Definition: gige_lib.h:266
Definition: gige_lib.h:534
uint32_t gige_readreg2(gige_handle *handle, uint32_t address)
Read GIGE Register for A35 with different flag.
Definition: gige_lib.cpp:772
uint32_t gige_address_to_value(char *address)
IP Address to value.
Definition: gige_lib.cpp:400
Definition: gige_lib.h:252
Definition: gige_lib.h:514
uint16_t bsize
Definition: netperf_listen.cpp:71
Definition: gige_lib.h:480
uint32_t ip_config_options
Definition: gige_lib.h:293
uint32_t streambps
Flow rate.
Definition: gige_lib.h:357
uint16_t major
Definition: gige_lib.h:247
Definition: gige_lib.h:516
uint16_t req_id
Request ID.
Definition: gige_lib.h:355
Definition: gige_lib.h:481
uint32_t data
Definition: gige_lib.h:244
uint16_t length
Definition: gige_lib.h:285
uint16_t acknowledge
Definition: gige_lib.h:274
Definition: gige_lib.h:536
Definition: gige_lib.h:506
Definition: gige_lib.h:476
Definition: gige_lib.h:511
Definition: gige_lib.h:510
uint64_t block_id64
Definition: gige_lib.h:318
Definition: gige_lib.h:327
uint16_t length
Definition: gige_lib.h:256
Definition: gige_lib.h:473
Definition: gige_lib.h:502
Definition: gige_lib.h:508
Definition: gige_lib.h:245
Definition: gige_lib.h:535
uint32_t gige_count
Definition: gige_lib.h:334
uint16_t req_id
Definition: gige_lib.h:257
Definition: gige_lib.h:484
Definition: gige_lib.h:513
Definition: gige_lib.h:503
int pt1000_config(gige_handle *handle, uint32_t xsize, uint32_t ysize)
Configure pt1000 camera.
Definition: gige_lib.cpp:541
Definition: gige_lib.h:518
gige_acknowledge_ack cack_ack
Definition: gige_lib.h:350
Definition: gige_lib.h:504
vector< gige_acknowledge_ack > gige_discover()
Discover GIGE Camera.
Definition: gige_lib.cpp:332
Definition: gige_lib.h:525
PT1000Format
Definition: gige_lib.h:499
Definition: gige_lib.h:475
uint32_t ip_config_current
Definition: gige_lib.h:294
Definition: gige_lib.h:524
Definition: gige_lib.h:482
char address[]
Definition: netperf_listen.cpp:69
uint16_t length
Definition: gige_lib.h:275
Definition: gige_lib.h:492
gige_handle * gige_open(char address[18], uint8_t privilege, uint32_t heartbeat_msec, uint32_t socket_usec, uint32_t streambps)
Connect to camera.
Definition: gige_lib.cpp:64
static uint16_t model
Definition: add_radio.cpp:19
Definition: gige_lib.h:309
Definition: gige_lib.h:509
static char buffer[255]
Definition: propagator_simple.cpp:60
uint16_t res1
Definition: gige_lib.h:290
uint16_t ack_id
Definition: gige_lib.h:267
uint16_t acknowledge
Definition: gige_lib.h:265
uint16_t status
Definition: gige_lib.h:264
uint16_t payload_type
Definition: gige_lib.h:321
uint32_t gige_request(gige_handle *handle, uint32_t address)
Send A35 discover message?
Definition: gige_lib.cpp:819
int a35_config(gige_handle *handle, uint32_t xsize, uint32_t ysize, uint32_t video_rate)
Configure a35 camera.
Definition: gige_lib.cpp:441
Definition: gige_lib.h:496
Definition: gige_lib.h:533
uint16_t status
Definition: gige_lib.h:311
Definition: gige_lib.h:493
Definition: socketlib.h:115
Headers and definitions common to all COSMOS.
uint16_t acknowledge
Definition: gige_lib.h:284
Definition: gige_lib.h:495
Definition: gige_lib.h:531
Socket Support header file.
uint16_t mac_high
Definition: gige_lib.h:291
Definition: gige_lib.h:491
uint16_t ack_id
Definition: gige_lib.h:286
int a35_image(gige_handle *handle, uint32_t frames, uint8_t *buffer, uint16_t bsize)
Take A35 image stream.
Definition: gige_lib.cpp:479
int prosilica_config(gige_handle *handle, uint32_t format, uint32_t xbin, uint32_t ybin, uint32_t xsize, uint32_t ysize, uint32_t xoffset, uint32_t yoffset)
Configure Prosilica camera.
Definition: gige_lib.cpp:640
uint32_t subnet
Definition: gige_lib.h:298
uint32_t device_mode
Definition: gige_lib.h:289
uint16_t payload_specific
Definition: gige_lib.h:320
gige_handle * handle
Definition: kpc9612p_recv.cpp:33
Definition: gige_lib.h:241
Definition: gige_lib.h:501
uint32_t mac_low
Definition: gige_lib.h:292
Definition: gige_lib.h:515
uint16_t spec_major
Definition: gige_lib.h:287
uint16_t ack_id
Definition: gige_lib.h:276
uint32_t gateway
Definition: gige_lib.h:300
uint16_t maxheight
Detector Height.
Definition: gige_lib.h:363
uint32_t address
Definition: gige_lib.h:296
Definition: gige_lib.h:530
Definition: gige_lib.h:490
Definition: gige_lib.h:527
socket_channel stream
Stream channel.
Definition: gige_lib.h:341
PT1000AcquisitionMode
Definition: gige_lib.h:488
socket_channel command
Command channel.
Definition: gige_lib.h:339
uint32_t data
Definition: gige_lib.h:259
Definition: gige_lib.h:505
Definition: gige_lib.h:529
Definition: gige_lib.h:281
Definition: gige_lib.h:483
Definition: gige_lib.h:477
uint32_t address
Definition: gige_lib.h:258
uint16_t minor
Definition: gige_lib.h:248
Definition: gige_lib.h:520
Definition: gige_lib.h:474
uint32_t address
Definition: gige_lib.h:243
uint16_t block_id
Definition: gige_lib.h:312
uint32_t packet_id
Definition: gige_lib.h:316
Definition: gige_lib.h:478
uint16_t height
Requested Height.
Definition: gige_lib.h:367
uint32_t gige_readreg(gige_handle *handle, uint32_t address)
Read GIGE Register.
Definition: gige_lib.cpp:237
Definition: gige_lib.h:517
Definition: gige_lib.h:526
Definition: gige_lib.h:532
gige_acknowledge cack
Definition: gige_lib.h:348
Definition: gige_lib.h:522
uint16_t flag
Definition: gige_lib.h:254
Definition: gige_lib.h:485
PT1000
Definition: gige_lib.h:470
int pt1000_image(gige_handle *handle, uint32_t frames, uint8_t *buffer, uint16_t bsize)
Take PT1000 image stream.
Definition: gige_lib.cpp:574
Definition: gige_lib.h:521
int gige_writereg(gige_handle *handle, uint32_t address, uint32_t data)
Write Register.
Definition: gige_lib.cpp:192
int prosilica_image(gige_handle *handle, uint16_t emode, uint32_t exposure, uint32_t gain, uint8_t *buffer, uint16_t bsize)
Take Prosilica image.
Definition: gige_lib.cpp:687
uint32_t gige_device_mode
Definition: gige_lib.h:325
Definition: gige_lib.h:336
uint16_t width
Requested Width.
Definition: gige_lib.h:365
uint16_t command
Definition: gige_lib.h:255
uint32_t packet_id32
Definition: gige_lib.h:319
Definition: gige_lib.h:519
uint16_t spec_minor
Definition: gige_lib.h:288
uint8_t format
Definition: gige_lib.h:315
Definition: gige_lib.h:479
Definition: gige_lib.h:523
Definition: gige_lib.h:512
uint32_t gige_readmem(gige_handle *handle, uint32_t address, uint32_t nbytes)
Read GIGE memory.
Definition: gige_lib.cpp:284
static string device
Definition: ax25_recv.cpp:39
uint16_t status
Definition: gige_lib.h:273
Definition: gige_lib.h:528
gige_command creg
Definition: gige_lib.h:347
Definition: gige_lib.h:472
uint16_t bestsize
Best packet size.
Definition: gige_lib.h:359
uint32_t gige_link_speed
Definition: gige_lib.h:332
uint16_t maxwidth
Detector Width.
Definition: gige_lib.h:361
char * gige_value_to_address(uint32_t value)
IP Value to address.
Definition: gige_lib.cpp:418
Definition: gige_lib.h:271