Gocator API

- Home
- Types
- Files

All Classes Files Functions Variables Typedefs Macros Modules Pages
GoControl.h
Go to the documentation of this file.
1 /**
2 * @file GoControl.h
3 * @brief Declares the GoControl class.
4 *
5 * @internal
6 * Copyright (C) 2016 by LMI Technologies Inc.
7 * Licensed under the MIT License.
8 * Redistributed files must retain the above copyright notice.
9 */
10 #ifndef GO_SDK_CONTROL_H
11 #define GO_SDK_CONTROL_H
12
13 #include <GoSdk/GoSdkDef.h>
14 #include <GoSdk/GoSensorInfo.h>
15 #include <kApi/Io/kSerializer.h>
16 #include <kApi/Io/kFile.h>
17 kBeginHeader()
18
19 /**
20 * @class GoControl
21 * @extends kObject
22 * @ingroup GoSdk-Internal
23 * @brief Represents a set of sensor command connections (control, upgrade).
24 */
25 typedef kObject GoControl;
26
27 /**
28 * Constructs a GoControl object.
29 *
30 * @public @memberof GoControl
31 * @version Introduced in firmware 4.0.10.27
32 * @param control Receives constructed control object.
33 * @param allocator Memory allocator (or kNULL for default).
34 * @return Operation status.
35 */
36 GoFx(kStatus) GoControl_Construct(GoControl* control, kAlloc allocator);
37
38 /**
39 * Sets an I/O cancellation query handler for this control object.
40 *
41 * The I/O cancellation query handler will be polled periodically when I/O is blocked
42 * for a non-negligible amount of time. If the cancellation handler returns kERROR_ABORT,
43 * ongoing communication will be terminated.
44 *
45 * @public @memberof GoControl
46 * @version Introduced in firmware 4.0.10.27
47 * @param control Control object.
48 * @param function I/O cancellation callback function (or kNULL to unregister).
49 * @param receiver Receiver argument for callback.
50 * @return Operation status.
51 */
52 GoFx(kStatus) GoControl_SetCancelHandler(GoControl control, kCallbackFx function, kPointer receiver);
53
54 /**
55 * Opens connections to the specified sensor IP address.
56 *
57 * The Open function immediately opens a control connection. Later, while in the
58 * open state, if an upgrade command is given, an upgrade connection will be established
59 * automatically at that time.
60 *
61 * @public @memberof GoControl
62 * @version Introduced in firmware 4.0.10.27
63 * @param control GoControl object.
64 * @param address Sensor IP address.
65 * @return Operation status.
66 */
67 GoFx(kStatus) GoControl_Open(GoControl control, kIpAddress address);
68
69 /**
70 * Closes all open command connections.
71 *
72 * @public @memberof GoControl
73 * @version Introduced in firmware 4.0.10.27
74 * @param control GoControl object.
75 * @return Operation status.
76 */
77 GoFx(kStatus) GoControl_Close(GoControl control);
78
79 /**
80 * Reports whether the control object has been opened.
81 *
82 * @public @memberof GoControl
83 * @version Introduced in firmware 4.0.10.27
84 * @param control GoControl object.
85 * @return kTRUE if connected; kFALSE otherwise.
86 */
87 GoFx(kBool) GoControl_IsConnected(GoControl control);
88
89 /**
90 * Gets the connected sensor's protocol version.
91 *
92 * @public @memberof GoControl
93 * @version Introduced in firmware 4.0.10.27
94 * @param control GoControl object.
95 * @return Protocol version.
96 */
97 GoFx(kVersion) GoControl_ProtocolVersion(GoControl control);
98
99 /**
100 * Reports whether the GoControl object is compatible with the sensor firmware.
101 *
102 * Compatibility is determined by comparing the major protocol version reported
103 * by the sensor with the major protocol version supported by this library. If
104 * the major versions match, then compatibility is established.
105 *
106 * @public @memberof GoControl
107 * @version Introduced in firmware 4.0.10.27
108 * @param control GoControl object.
109 * @return kTRUE if compatible; kFALSE otherwise.
110 */
111 GoFx(kBool) GoControl_IsCompatible(GoControl control);
112
113 /**
114 * Logs into the sensor using the specified user name and password.
115 *
116 * @public @memberof GoControl
117 * @version Introduced in firmware 4.0.10.27
118 * @param control GoControl object.
119 * @param user User account.
120 * @param password User password.
121 * @return Operation status.
122 */
123 GoFx(kStatus) GoControl_Login(GoControl control, GoUser user, const kChar* password);
124
125 /**
126 * Changes the password associated with the specified user account.
127 *
128 * @public @memberof GoControl
129 * @version Introduced in firmware 4.0.10.27
130 * @param control GoControl object.
131 * @param user User account.
132 * @param password New password.
133 * @return Operation status.
134 */
135 GoFx(kStatus) GoControl_ChangePassword(GoControl control, GoUser user, const kChar* password);
136
137 /**
138 * Gets current sensor state information.
139 *
140 * @public @memberof GoControl
141 * @version Introduced in firmware 4.0.10.27
142 * @param control GoControl object.
143 * @param localInfo Receives local sensor information.
144 * @param remoteInfoList Updates a list of remote sensor information.
145 * @return Operation status.
146 */
147 GoFx(kStatus) GoControl_GetSensorInfo(GoControl control, GoSensorInfo localInfo, kArrayList remoteInfoList);
148
149 /**
150 * Gets the sensor's scan mode.
151 *
152 * @public @memberof GoControl
153 * @version Introduced in firmware 4.0.10.27
154 * @param control GoControl object.
155 * @param mode Receives the scan mode.
156 * @return Operation status.
157 */
158 GoFx(kStatus) GoControl_GetScanMode(GoControl control, GoMode* mode);
159
160 /**
161 * Assigns or removes a buddy sensor.
162 *
163 * @public @memberof GoControl
164 * @version Introduced in firmware 4.0.10.27
165 * @param control GoControl object.
166 * @param add kTRUE to add; kFALSE to remove.
167 * @param buddyId Buddy device id.
168 * @return Operation status.
169 */
170 GoFx(kStatus) GoControl_ChangeBuddy(GoControl control, kBool add, k32u buddyId);
171
172 /**
173 * Sends a start command to a sensor with the currently selected input source, but doesn't wait for the response.
174 *
175 * Use the GoControl_EndStart function to wait for the sensor's reply.
176 *
177 * @public @memberof GoControl
178 * @version Introduced in firmware 4.0.10.27
179 * @param control GoControl object.
180 * @return Operation status.
181 * @see GoControl_EndStart, GoControl_SetInputSource, GoControl_GetInputSource
182 */
183 GoFx(kStatus) GoControl_BeginStart(GoControl control);
184
185 /**
186 * Waits for a start response from a sensor.
187 *
188 * Call this function sometime after calling BeginStart.
189 *
190 * @public @memberof GoControl
191 * @version Introduced in firmware 4.0.10.27
192 * @param control GoControl object.
193 * @return Operation status.
194 */
195 GoFx(kStatus) GoControl_EndStart(GoControl control);
196
197 /**
198 * Sends a scheduled start command to a sensor with the currently selected input source, but doesn't wait for the response.
199 *
200 * Use the GoControl_EndScheduledStart function to wait for the sensor's reply.
201 *
202 * @public @memberof GoControl
203 * @version Introduced in firmware 4.1.3.106
204 * @param control GoControl object.
205 * @param value Scheduled start value (in uS for time trigger and ticks for encoder trigger)
206 * @return Operation status.
207 * @see GoControl_EndScheduledStart, GoControl_SetInputSource, GoControl_GetInputSource
208 */
209 GoFx(kStatus) GoControl_BeginScheduledStart(GoControl control, k64s value);
210
211 /**
212 * Waits for a scheduled start response from a sensor.
213 *
214 * Call this function sometime after calling BeginScheduledStart.
215 *
216 * @public @memberof GoControl
217 * @version Introduced in firmware 4.1.3.106
218 * @param control GoControl object.
219 * @return Operation status.
220 */
221 GoFx(kStatus) GoControl_EndScheduledStart(GoControl control);
222
223 /**
224 * Sends a stop command to a sensor, but doesn't wait for the response.
225 *
226 * Use the GoControl_EndStop function to wait for the sensor's reply.
227 *
228 * @public @memberof GoControl
229 * @version Introduced in firmware 4.0.10.27
230 * @param control GoControl object.
231 * @return Operation status.
232 * @see GoControl_EndStop
233 */
234 GoFx(kStatus) GoControl_BeginStop(GoControl control);
235
236 /**
237 * Waits for a stop response from a sensor.
238 *
239 * Call this function sometime after calling BeginStop.
240 *
241 * @public @memberof GoControl
242 * @version Introduced in firmware 4.0.10.27
243 * @param control GoControl object.
244 * @return Operation status.
245 */
246 GoFx(kStatus) GoControl_EndStop(GoControl control);
247
248 /**
249 * Sends a alignment command to a sensor, but doesn't wait for the response.
250 *
251 * Use the GoControl_EndAlignment function to wait for the sensor's reply.
252 *
253 * @public @memberof GoControl
254 * @version Introduced in firmware 4.0.10.27
255 * @param control GoControl object.
256 * @return Operation status.
257 * @see GoControl_EndAlignment
258 */
259 GoFx(kStatus) GoControl_BeginAlignment(GoControl control);
260
261 /**
262 * Waits for a alignment response from a sensor.
263 *
264 * Call this function sometime after calling BeginAlignment.
265 *
266 * @public @memberof GoControl
267 * @version Introduced in firmware 4.0.10.27
268 * @param control GoControl object.
269 * @return Operation status.
270 */
271 GoFx(kStatus) GoControl_EndAlignment(GoControl control);
272
273 /**
274 * Clears the sensor alignment.
275 *
276 * @public @memberof GoControl
277 * @version Introduced in firmware 4.1.3.106
278 * @param control GoControl object.
279 * @return Operation status.
280 */
281 GoFx(kStatus) GoControl_ClearAlignment(GoControl control);
282
283 /**
284 * Sets the alignment reference for a sensor.
285 *
286 * @public @memberof GoControl
287 * @version Introduced in firmware 4.0.10.27
288 * @param control GoControl object.
289 * @param reference Alignment reference.
290 * @return Operation status.
291 */
292 GoFx(kStatus) GoControl_SetAlignmentReference(GoControl control, GoAlignmentRef reference);
293
294 /**
295 * Gets the alignment reference for a sensor.
296 *
297 * @public @memberof GoControl
298 * @version Introduced in firmware 4.0.10.27
299 * @param control GoControl object.
300 * @param reference Alignment reference.
301 * @return Operation status.
302 */
303 GoFx(kStatus) GoControl_GetAlignmentReference(GoControl control, GoAlignmentRef* reference);
304
305 /**
306 * Sends an exposure auto set command to a sensor, but doesn't wait for the response.
307 *
308 * Use the GoControl_EndExposureAutoSet function to wait for the sensor's reply.
309 *
310 * @public @memberof GoControl
311 * @version Introduced in firmware 4.0.10.27
312 * @param control GoControl object.
313 * @param role The sensor's role.
314 * @return Operation status.
315 * @see GoControl_EndExposureAutoSet
316 */
317 GoFx(kStatus) GoControl_BeginExposureAutoSet(GoControl control, GoRole role);
318
319 /**
320 * Waits for a exposure auto set response from a sensor.
321 *
322 * Call this function sometime after calling BeginExposureAutoSet.
323 *
324 * @public @memberof GoControl
325 * @version Introduced in firmware 4.0.10.27
326 * @param control GoControl object.
327 * @return Operation status.
328 */
329 GoFx(kStatus) GoControl_EndExposureAutoSet(GoControl control);
330
331 /**
332 * Reads the list of available sensor files.
333 *
334 * @public @memberof GoControl
335 * @version Introduced in firmware 4.0.10.27
336 * @param control GoControl object.
337 * @param files List to be populated with file names (kArrayList<kText64>).
338 * @param extensionFilter Can be used to filter the file list: "job", "rec" or null for all.
339 * @return Operation status.
340 */
341 GoFx(kStatus) GoControl_ReadFileList(GoControl control, kArrayList files, const kChar* extensionFilter);
342
343 /**
344 * Reads a file from the connected sensor.
345 *
346 * @public @memberof GoControl
347 * @version Introduced in firmware 4.0.10.27
348 * @param control GoControl object.
349 * @param fileName Name of remote file to be read.
350 * @param data Receives a pointer to a buffer containing the file data.
351 * @param size Receives the size of the allocated buffer.
352 * @param allocator Memory allocator, used to allocate the file buffer (or kNULL for default).
353 * @return Operation status.
354 */
355 GoFx(kStatus) GoControl_ReadFile(GoControl control, const kChar* fileName, kByte** data, kSize* size, kAlloc allocator);
356
357 /**
358 * Clears the sensor log file.
359 *
360 * @public @memberof GoControl
361 * @version Introduced in firmware 4.0.10.27
362 * @param control GoControl object.
363 * @return Operation status.
364 */
365 GoFx(kStatus) GoControl_ClearLog(GoControl control);
366
367 /**
368 * Writes a file to the connected sensor.
369 *
370 * @public @memberof GoControl
371 * @version Introduced in firmware 4.0.10.27
372 * @param control GoControl object.
373 * @param fileName Name of remote file to be written.
374 * @param data Pointer to buffer containing the file data.
375 * @param size Size of the file.
376 * @return Operation status.
377 */
378 GoFx(kStatus) GoControl_WriteFile(GoControl control, const kChar* fileName, const kByte* data, kSize size);
379
380 /**
381 * Copies a file within the connected sensor.
382 *
383 * @public @memberof GoControl
384 * @version Introduced in firmware 4.0.10.27
385 * @param control GoControl object.
386 * @param source Source name for the file to be copied.
387 * @param destination Destination name for the file (maximum 63 characters).
388 * @return Operation status.
389 */
390 GoFx(kStatus) GoControl_CopyFile(GoControl control, const kChar* source, const kChar* destination);
391
392 /**
393 * Deletes a file within the connected sensor.
394 *
395 * @public @memberof GoControl
396 * @version Introduced in firmware 4.0.10.27
397 * @param control GoControl object.
398 * @param fileName Name of the file to be deleted.
399 * @return Operation status.
400 */
401 GoFx(kStatus) GoControl_DeleteFile(GoControl control, const kChar* fileName);
402
403 /**
404 * Gets the available storage space remaining for user files.
405 *
406 * @public @memberof GoControl
407 * @version
408 * @param control GoControl object.
409 * @param spaceAvailable Storage space available.
410 * @return Operation status.
411 */
412 GoFx(kStatus) GoControl_GetUserStorageFree(GoControl control, k64u* spaceAvailable);
413
414 /**
415 * Gets the storage space used for user files.
416 *
417 * @public @memberof GoControl
418 * @version
419 * @param control GoControl object.
420 * @param spaceUsed Storage space used.
421 * @return Operation status.
422 */
423 GoFx(kStatus) GoControl_GetUserStorageUsed(GoControl control, k64u* spaceUsed);
424
425 /**
426 * Gets the name of the default job file to be loaded on boot.
427 *
428 * @public @memberof GoControl
429 * @version Introduced in firmware 4.0.10.27
430 * @param control GoControl object.
431 * @param fileName Receives name of the default job.
432 * @param capacity Name buffer capacity.
433 * @return Operation status.
434 */
435 GoFx(kStatus) GoControl_GetDefaultJob(GoControl control, kChar* fileName, kSize capacity);
436
437 /**
438 * Sets a default job file to be loaded on boot.
439 *
440 * @public @memberof GoControl
441 * @version Introduced in firmware 4.0.10.27
442 * @param control GoControl object.
443 * @param fileName Name of the default file.
444 * @return Operation status.
445 */
446 GoFx(kStatus) GoControl_SetDefaultJob(GoControl control, const kChar* fileName);
447
448 /**
449 * Gets the name of the loaded job file and whether it has been modified since loading.
450 *
451 * @public @memberof GoControl
452 * @version Introduced in firmware 4.0.10.27
453 * @param control GoControl object.
454 * @param fileName Receives name of the loaded file.
455 * @param capacity Name buffer capacity.
456 * @param isModified Receives the status of whether the loaded job has been modified.
457 * @return Operation status.
458 */
459 GoFx(kStatus) GoControl_GetLoadedJob(GoControl control, kChar* fileName, kSize capacity, kBool* isModified);
460
461 /**
462 * Restores factory default settings.
463 *
464 * @public @memberof GoControl
465 * @version Introduced in firmware 4.0.10.27
466 * @param control GoControl object.
467 * @param restoreAddress kTRUE to restore the factory default IP address; kFALSE otherwise.
468 * @return Operation status.
469 */
470 GoFx(kStatus) GoControl_RestoreFactory(GoControl control, kBool restoreAddress);
471
472 /**
473 * Reboots the main sensor and any connected buddy sensors.
474 *
475 * @public @memberof GoControl
476 * @version Introduced in firmware 4.0.10.27
477 * @param control GoControl object.
478 * @return Operation status.
479 */
480 GoFx(kStatus) GoControl_Reset(GoControl control);
481
482 /**
483 * Resets the encoder value. NOTE: This is only possible with a direct encoder
484 * connection to a sensor. Resetting the encoder value when connected to a master
485 * will not work.
486 *
487 * @public @memberof GoControl
488 * @version Introduced in firmware 4.5.3.57
489 * @param control GoControl object.
490 * @return Operation status.
491 */
492 GoFx(kStatus) GoControl_ResetEncoder(GoControl control);
493
494 /**
495 * Begins a sensor firmware upgrade.
496 *
497 * Use the GoControl_GetUpgradeStatus function to poll for upgrade completion.
498 *
499 * @public @memberof GoControl
500 * @version Introduced in firmware 4.0.10.27
501 * @param control GoControl object.
502 * @param data Pointer to buffer containing upgrade file.
503 * @param size Size of upgrade file.
504 * @return Operation status.
505 * @see GoControl_GetUpgradeStatus
506 */
507 GoFx(kStatus) GoControl_BeginUpgrade(GoControl control, void* data, kSize size);
508
509 /**
510 * Polls for upgrade status.
511 *
512 * @public @memberof GoControl
513 * @version Introduced in firmware 4.0.10.27
514 * @param control GoControl object.
515 * @param complete Receives boolean indicating upgrade completion.
516 * @param succeeded If complete, receives boolean indicating whether upgrade was successful.
517 * @param progress If not complete, receives integer percentage indicating progress.
518 * @return Operation status.
519 */
520 GoFx(kStatus) GoControl_GetUpgradeStatus(GoControl control, kBool* complete, kBool* succeeded, k32s* progress);
521
522 /**
523 * Gets the current time stamp value(common among all synchronized sensors).
524 *
525 * @public @memberof GoControl
526 * @version Introduced in firmware 4.0.10.27
527 * @param control GoControl object.
528 * @param time Receives the time stamp value.
529 * @return Operation status.
530 */
531 GoFx(kStatus) GoControl_GetTimestamp(GoControl control, k64u* time);
532
533 /**
534 * Gets the current system encoder value.
535 *
536 * @public @memberof GoControl
537 * @version Introduced in firmware 4.0.10.27
538 * @param control GoControl object.
539 * @param encoder Receives encoder value.
540 * @return Operation status.
541 */
542 GoFx(kStatus) GoControl_GetEncoder(GoControl control, k64s* encoder);
543
544 /**
545 * Sends a software trigger to the sensor.
546 *
547 * @public @memberof GoControl
548 * @version Introduced in firmware 4.0.10.27
549 * @param control GoControl object.
550 * @return Operation status.
551 */
552 GoFx(kStatus) GoControl_Trigger(GoControl control);
553
554 /**
555 * Creates and downloads a backup of sensor files.
556 *
557 * @public @memberof GoControl
558 * @version Introduced in firmware 4.0.10.27
559 * @param control GoControl object.
560 * @param fileData Receives a pointer to a buffer containing the backup data.
561 * @param size Receives the size of the allocated buffer.
562 * @param allocator Memory allocator, used to allocate the backup buffer (or kNULL for default).
563 * @return Operation status.
564 */
565 GoFx(kStatus) GoControl_Backup(GoControl control, kByte** fileData, kSize* size, kAlloc allocator);
566
567 /**
568 * Restores a backup of sensor files.
569 *
570 * @public @memberof GoControl
571 * @version Introduced in firmware 4.0.10.27
572 * @param control GoControl object.
573 * @param fileData Pointer to a buffer containing the backup data to be restored.
574 * @param size Size of the backup buffer.
575 * @return Operation status.
576 */
577 GoFx(kStatus) GoControl_Restore(GoControl control, const kByte* fileData, kSize size);
578
579 /**
580 * Schedules a digital output.
581 *
582 * @public @memberof GoControl
583 * @version Introduced in firmware 4.0.10.27
584 * @param control GoControl object.
585 * @param index The digital output index.
586 * @param target The time or position target (uS or mm), depending on the configured domain. Ignored if
587 * scheduling disabled or pulsed mode enabled.
588 * @param value The value of scheduled output (0-Low or 1-High). Ignored if pulsed mode enabled.
589 * @return Operation status.
590 */
591 GoFx(kStatus) GoControl_ScheduleDigital(GoControl control, k16u index, k64s target, k8u value);
592
593 /**
594 * Schedules an analog output.
595 *
596 * @public @memberof GoControl
597 * @version Introduced in firmware 4.0.10.27
598 * @param control GoControl object.
599 * @param index The analog output index.
600 * @param target The time or position target (uS or mm), depending on the configured domain. Ignored if
601 * scheduling disabled.
602 * @param value The value of the scheduled output (mA).
603 * @return Operation status.
604 */
605 GoFx(kStatus) GoControl_ScheduleAnalog(GoControl control, k16u index, k64s target, k32s value);
606
607 /**
608 * Retrieves a set of various sensor states for the sensor associated with the control connection.
609 *
610 * @public @memberof GoControl
611 * @version Introduced in firmware 4.0.10.27
612 * @param control GoControl object.
613 * @param states A struct of current sensor states.
614 * @return Operation status.
615 */
616 GoFx(kStatus) GoControl_GetStates(GoControl control, GoStates* states);
617
618 /**
619 * Enables recording on the sensor.
620 *
621 * @public @memberof GoControl
622 * @version Introduced in firmware 4.0.10.27
623 * @param control GoControl object.
624 * @param enable Enable or disable recording.
625 * @return Operation status.
626 */
627 GoFx(kStatus) GoControl_SetRecordingEnabled(GoControl control, kBool enable);
628
629 /**
630 * Gets the sensor's recording state.
631 *
632 * @public @memberof GoControl
633 * @version Introduced in firmware 4.0.10.27
634 * @param control GoControl object.
635 * @param enabled Receives the recording state.
636 * @return Operation status.
637 */
638 GoFx(kStatus) GoControl_GetRecordingEnabled(GoControl control, kBool* enabled);
639
640 /**
641 * Sets the sensor's data input source.
642 *
643 * @public @memberof GoControl
644 * @version Introduced in firmware 4.0.10.27
645 * @param control GoControl object.
646 * @param source The input source to set.
647 * @return Operation status.
648 */
649 GoFx(kStatus) GoControl_SetInputSource(GoControl control, GoInputSource source);
650
651 /**
652 * Gets the sensor's data input source.
653 *
654 * @public @memberof GoControl
655 * @version Introduced in firmware 4.0.10.27
656 * @param control GoControl object.
657 * @param source Receives the data source used by the sensor.
658 * @return Operation status.
659 */
660 GoFx(kStatus) GoControl_GetInputSource(GoControl control, GoInputSource* source);
661
662 /**
663 * Clear the sensor's replay data.
664 *
665 * @public @memberof GoControl
666 * @version Introduced in firmware 4.0.10.27
667 * @param control GoControl object.
668 * @return Operation status.
669 */
670 GoFx(kStatus) GoControl_ClearReplayData(GoControl control);
671
672 /**
673 * Simulate the current frame stored on the sensor's live replay buffer.
674 *
675 * @public @memberof GoControl
676 * @version Introduced in firmware 4.0.10.27
677 * @param control GoControl object.
678 * @param isBufferValid Represents whether the specified data input source contained valid data to simulate against.
679 * @return Operation status.
680 */
681 GoFx(kStatus) GoControl_Simulate(GoControl control, kBool* isBufferValid);
682
683 /**
684 * Clear the sensor's measurement statistics.
685 *
686 * @public @memberof GoControl
687 * @version Introduced in firmware 4.0.10.27
688 * @param control GoControl object.
689 * @return Operation status.
690 */
691 GoFx(kStatus) GoControl_ClearMeasurementStats(GoControl control);
692
693 /**
694 * Seek to the specified frame position for a replay.
695 *
696 * @public @memberof GoControl
697 * @version Introduced in firmware 4.0.10.27
698 * @param control GoControl object.
699 * @param position Replay frame position.
700 * @return Operation status.
701 */
702 GoFx(kStatus) GoControl_PlaybackSeek(GoControl control, kSize position);
703
704 /**
705 * Advance one frame in a replay.
706 *
707 * @public @memberof GoControl
708 * @version Introduced in firmware 4.0.10.27
709 * @param control GoControl object.
710 * @param direction The direction to seek.
711 * @return Operation status.
712 */
713 GoFx(kStatus) GoControl_PlaybackStep(GoControl control, GoSeekDirection direction);
714
715 /**
716 * Get the current frame position in a replay.
717 *
718 * @public @memberof GoControl
719 * @version Introduced in firmware 4.0.10.27
720 * @param control GoControl object.
721 * @param position Replay frame position.
722 * @param count Replay frame count.
723 * @return Operation status.
724 */
725 GoFx(kStatus) GoControl_PlaybackPosition(GoControl control, kSize* position, kSize* count);
726
727 /**
728 * Export an intensity bitmap file to local storage.
729 *
730 * @public @memberof GoControl
731 * @version Introduced in firmware 4.0.10.27
732 * @param control GoControl object.
733 * @param type The type of data to export.
734 * @param source The data source to obtain data from.
735 * @param dstFileName The destination file name.
736 * @return Operation status.
737 */
738 GoFx(kStatus) GoControl_ExportBitmap(GoControl control,
739 GoReplayExportSourceType type,
740 GoDataSource source,
741 const kChar* dstFileName);
742
743 /**
744 * Export a CSV file to local storage.
745 *
746 * @public @memberof GoControl
747 * @version Introduced in firmware 4.0.10.27
748 * @param control GoControl object.
749 * @param dstFileName The destination file name.
750 * @return Operation status.
751 */
752 GoFx(kStatus) GoControl_ExportCsv(GoControl control, const kChar* dstFileName);
753
754 /**
755 * Enable or disable sensor AutoStart.
756 *
757 * @public @memberof GoControl
758 * @version Introduced in firmware 4.0.10.27
759 * @param control GoControl object.
760 * @param enable kTRUE to enable AutoStart, kFALSE to disable it.
761 * @return Operation status.
762 */
763 GoFx(kStatus) GoControl_SetAutoStartEnabled(GoControl control, kBool enable);
764
765 /**
766 * Returns the state of sensor AutoStart.
767 *
768 * @public @memberof GoControl
769 * @version Introduced in firmware 4.0.10.27
770 * @param control GoControl object.
771 * @param enabled A pointer to store the boolean state of sensor AutoStart. kTRUE if enabled and kFALSE if disabled.
772 * @return Operation status.
773 */
774 GoFx(kStatus) GoControl_GetAutoStartEnabled(GoControl control, kBool* enabled);
775
776 GoFx(kStatus) GoControl_SetRuntimeVariables(GoControl control, kSize startIndex, kSize length, k32s* values);
777 GoFx(kStatus) GoControl_RuntimeVariableCount(GoControl control, kSize* count);
778 GoFx(kStatus) GoControl_GetRuntimeVariables(GoControl control, kSize startIndex, kSize length, k32s* values);
779
780 kEndHeader()
781 #include <GoSdk/Internal/GoControl.x.h>
782
783 #endif
kFile.h
GoStates
Sensor state, login, alignment information, recording state, playback source, uptime, playback information, and auto-start setting state.
Definition: GoSdkDef.h:574
k32u
GoInputSource
Represents a data input source.
GoSensorInfo
Represents read-only sensor information.
GoControl::GoControl_DeleteFile
kStatus GoControl_DeleteFile(GoControl control, const kChar *fileName)
Deletes a file within the connected sensor.
GoControl::GoControl_SetDefaultJob
kStatus GoControl_SetDefaultJob(GoControl control, const kChar *fileName)
Sets a default job file to be loaded on boot.
GoSeekDirection
Represents a playback seek direction.
GoReplayExportSourceType
Represents the replay export source type.
GoControl::GoControl_GetUserStorageUsed
kStatus GoControl_GetUserStorageUsed(GoControl control, k64u *spaceUsed)
Gets the storage space used for user files.
GoControl
Represents a set of sensor command connections (control, upgrade).
k64u
GoControl::GoControl_ChangeBuddy
kStatus GoControl_ChangeBuddy(GoControl control, kBool add, k32u buddyId)
Assigns or removes a buddy sensor.
GoControl::GoControl_PlaybackStep
kStatus GoControl_PlaybackStep(GoControl control, GoSeekDirection direction)
Advance one frame in a replay.
GoControl::GoControl_ExportCsv
kStatus GoControl_ExportCsv(GoControl control, const kChar *dstFileName)
Export a CSV file to local storage.
kPointer
GoControl::GoControl_ClearAlignment
kStatus GoControl_ClearAlignment(GoControl control)
Clears the sensor alignment.
GoControl::GoControl_BeginExposureAutoSet
kStatus GoControl_BeginExposureAutoSet(GoControl control, GoRole role)
Sends an exposure auto set command to a sensor, but doesn't wait for the response.
k16u
GoRole
Represents a user role.
kSize
GoControl::GoControl_GetTimestamp
kStatus GoControl_GetTimestamp(GoControl control, k64u *time)
Gets the current time stamp value(common among all synchronized sensors).
kAlloc
GoControl::GoControl_GetAlignmentReference
kStatus GoControl_GetAlignmentReference(GoControl control, GoAlignmentRef *reference)
Gets the alignment reference for a sensor.
GoControl::GoControl_CopyFile
kStatus GoControl_CopyFile(GoControl control, const kChar *source, const kChar *destination)
Copies a file within the connected sensor.
GoControl::GoControl_Reset
kStatus GoControl_Reset(GoControl control)
Reboots the main sensor and any connected buddy sensors.
GoDataSource
Represents a data source.
k8u
GoControl::GoControl_GetUpgradeStatus
kStatus GoControl_GetUpgradeStatus(GoControl control, kBool *complete, kBool *succeeded, k32s *progress)
Polls for upgrade status.
GoControl::GoControl_GetSensorInfo
kStatus GoControl_GetSensorInfo(GoControl control, GoSensorInfo localInfo, kArrayList remoteInfoList)
Gets current sensor state information.
kIpAddress
GoControl::GoControl_GetAutoStartEnabled
kStatus GoControl_GetAutoStartEnabled(GoControl control, kBool *enabled)
Returns the state of sensor AutoStart.
kChar
kByte
GoControl::GoControl_ResetEncoder
kStatus GoControl_ResetEncoder(GoControl control)
Resets the encoder value.
GoControl::GoControl_BeginScheduledStart
kStatus GoControl_BeginScheduledStart(GoControl control, k64s value)
Sends a scheduled start command to a sensor with the currently selected input source, but doesn't wait for the response.
GoControl::GoControl_EndAlignment
kStatus GoControl_EndAlignment(GoControl control)
Waits for a alignment response from a sensor.
GoControl::GoControl_ClearReplayData
kStatus GoControl_ClearReplayData(GoControl control)
Clear the sensor's replay data.
GoSensorInfo.h
Declares the GoSensorInfo class.
GoControl::GoControl_ReadFile
kStatus GoControl_ReadFile(GoControl control, const kChar *fileName, kByte **data, kSize *size, kAlloc allocator)
Reads a file from the connected sensor.
GoControl::GoControl_Login
kStatus GoControl_Login(GoControl control, GoUser user, const kChar *password)
Logs into the sensor using the specified user name and password.
GoControl::GoControl_GetStates
kStatus GoControl_GetStates(GoControl control, GoStates *states)
Retrieves a set of various sensor states for the sensor associated with the control connection...
GoControl::GoControl_Close
kStatus GoControl_Close(GoControl control)
Closes all open command connections.
GoControl::GoControl_BeginAlignment
kStatus GoControl_BeginAlignment(GoControl control)
Sends a alignment command to a sensor, but doesn't wait for the response.
GoControl::GoControl_EndExposureAutoSet
kStatus GoControl_EndExposureAutoSet(GoControl control)
Waits for a exposure auto set response from a sensor.
GoSdkDef.h
Essential SDK declarations.
GoControl::GoControl_GetInputSource
kStatus GoControl_GetInputSource(GoControl control, GoInputSource *source)
Gets the sensor's data input source.
GoControl::GoControl_EndScheduledStart
kStatus GoControl_EndScheduledStart(GoControl control)
Waits for a scheduled start response from a sensor.
GoControl::GoControl_SetAlignmentReference
kStatus GoControl_SetAlignmentReference(GoControl control, GoAlignmentRef reference)
Sets the alignment reference for a sensor.
GoControl::GoControl_Trigger
kStatus GoControl_Trigger(GoControl control)
Sends a software trigger to the sensor.
GoControl::GoControl_SetRecordingEnabled
kStatus GoControl_SetRecordingEnabled(GoControl control, kBool enable)
Enables recording on the sensor.
GoControl::GoControl_GetDefaultJob
kStatus GoControl_GetDefaultJob(GoControl control, kChar *fileName, kSize capacity)
Gets the name of the default job file to be loaded on boot.
GoControl::GoControl_ScheduleAnalog
kStatus GoControl_ScheduleAnalog(GoControl control, k16u index, k64s target, k32s value)
Schedules an analog output.
GoControl::GoControl_ChangePassword
kStatus GoControl_ChangePassword(GoControl control, GoUser user, const kChar *password)
Changes the password associated with the specified user account.
GoControl::GoControl_PlaybackSeek
kStatus GoControl_PlaybackSeek(GoControl control, kSize position)
Seek to the specified frame position for a replay.
GoControl::GoControl_SetInputSource
kStatus GoControl_SetInputSource(GoControl control, GoInputSource source)
Sets the sensor's data input source.
GoControl::GoControl_SetCancelHandler
kStatus GoControl_SetCancelHandler(GoControl control, kCallbackFx function, kPointer receiver)
Sets an I/O cancellation query handler for this control object.
k32s
GoControl::GoControl_Construct
kStatus GoControl_Construct(GoControl *control, kAlloc allocator)
Constructs a GoControl object.
GoUser
Represents a user id.
kSerializer.h
GoControl::GoControl_ReadFileList
kStatus GoControl_ReadFileList(GoControl control, kArrayList files, const kChar *extensionFilter)
Reads the list of available sensor files.
GoAlignmentRef
Represents an alignment reference.
k64s
GoControl::GoControl_ProtocolVersion
kVersion GoControl_ProtocolVersion(GoControl control)
Gets the connected sensor's protocol version.
GoControl::GoControl_GetLoadedJob
kStatus GoControl_GetLoadedJob(GoControl control, kChar *fileName, kSize capacity, kBool *isModified)
Gets the name of the loaded job file and whether it has been modified since loading.
GoControl::GoControl_BeginUpgrade
kStatus GoControl_BeginUpgrade(GoControl control, void *data, kSize size)
Begins a sensor firmware upgrade.
GoControl::GoControl_GetScanMode
kStatus GoControl_GetScanMode(GoControl control, GoMode *mode)
Gets the sensor's scan mode.
GoControl::GoControl_GetRecordingEnabled
kStatus GoControl_GetRecordingEnabled(GoControl control, kBool *enabled)
Gets the sensor's recording state.
GoControl::GoControl_SetAutoStartEnabled
kStatus GoControl_SetAutoStartEnabled(GoControl control, kBool enable)
Enable or disable sensor AutoStart.
GoControl::GoControl_Restore
kStatus GoControl_Restore(GoControl control, const kByte *fileData, kSize size)
Restores a backup of sensor files.
GoControl::GoControl_ClearMeasurementStats
kStatus GoControl_ClearMeasurementStats(GoControl control)
Clear the sensor's measurement statistics.
GoControl::GoControl_ScheduleDigital
kStatus GoControl_ScheduleDigital(GoControl control, k16u index, k64s target, k8u value)
Schedules a digital output.
kArrayList
GoControl::GoControl_IsCompatible
kBool GoControl_IsCompatible(GoControl control)
Reports whether the GoControl object is compatible with the sensor firmware.
GoControl::GoControl_BeginStop
kStatus GoControl_BeginStop(GoControl control)
Sends a stop command to a sensor, but doesn't wait for the response.
GoControl::GoControl_IsConnected
kBool GoControl_IsConnected(GoControl control)
Reports whether the control object has been opened.
GoControl::GoControl_GetUserStorageFree
kStatus GoControl_GetUserStorageFree(GoControl control, k64u *spaceAvailable)
Gets the available storage space remaining for user files.
kObject
GoControl::GoControl_GetEncoder
kStatus GoControl_GetEncoder(GoControl control, k64s *encoder)
Gets the current system encoder value.
GoMode
Represents a scan mode.
kVersion
GoControl::GoControl_EndStart
kStatus GoControl_EndStart(GoControl control)
Waits for a start response from a sensor.
kStatus
GoControl::GoControl_EndStop
kStatus GoControl_EndStop(GoControl control)
Waits for a stop response from a sensor.
GoControl::GoControl_Backup
kStatus GoControl_Backup(GoControl control, kByte **fileData, kSize *size, kAlloc allocator)
Creates and downloads a backup of sensor files.
GoControl::GoControl_RestoreFactory
kStatus GoControl_RestoreFactory(GoControl control, kBool restoreAddress)
Restores factory default settings.
GoControl::GoControl_PlaybackPosition
kStatus GoControl_PlaybackPosition(GoControl control, kSize *position, kSize *count)
Get the current frame position in a replay.
GoControl::GoControl_Open
kStatus GoControl_Open(GoControl control, kIpAddress address)
Opens connections to the specified sensor IP address.
kBool
GoControl::GoControl_WriteFile
kStatus GoControl_WriteFile(GoControl control, const kChar *fileName, const kByte *data, kSize size)
Writes a file to the connected sensor.
GoControl::GoControl_Simulate
kStatus GoControl_Simulate(GoControl control, kBool *isBufferValid)
Simulate the current frame stored on the sensor's live replay buffer.
GoControl::GoControl_ExportBitmap
kStatus GoControl_ExportBitmap(GoControl control, GoReplayExportSourceType type, GoDataSource source, const kChar *dstFileName)
Export an intensity bitmap file to local storage.
GoControl::GoControl_BeginStart
kStatus GoControl_BeginStart(GoControl control)
Sends a start command to a sensor with the currently selected input source, but doesn't wait for the ...
GoControl::GoControl_ClearLog
kStatus GoControl_ClearLog(GoControl control)
Clears the sensor log file.