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 current sensor state information.
151 *
152 * @public @memberof GoControl
153 * @version Introduced in firmware 4.6.4.70
154 * @param control GoControl object.
155 * @param localInfo Receives local sensor information.
156 * @param remoteInfoList Updates a list of remote sensor information.
157 * @param buddyInfoList Updates a list of buddy sensor information.
158 * @return Operation status.
159 */
160 GoFx(kStatus) GoControl_GetSensorInfoV2(GoControl control, GoSensorInfo localInfo, kArrayList remoteInfoList, kArrayList buddyInfoList);
161
162 /**
163 * Gets the sensor's scan mode.
164 *
165 * @public @memberof GoControl
166 * @version Introduced in firmware 4.0.10.27
167 * @param control GoControl object.
168 * @param mode Receives the scan mode.
169 * @return Operation status.
170 */
171 GoFx(kStatus) GoControl_GetScanMode(GoControl control, GoMode* mode);
172
173 /**
174 * Assigns or removes a buddy sensor.
175 *
176 * @public @memberof GoControl
177 * @version Introduced in firmware 4.0.10.27
178 * @param control GoControl object.
179 * @param add kTRUE to add; kFALSE to remove.
180 * @param buddyId Buddy device id.
181 * @return Operation status.
182 */
183 GoFx(kStatus) GoControl_ChangeBuddy(GoControl control, kBool add, k32u buddyId);
184
185 /**
186 * Start assigning multiple buddy sensors. A zero count unassigns all buddies.
187 *
188 * @public @memberof GoControl
189 * @version Introduced in firmware 4.6.2.95
190 * @param control GoControl object.
191 * @param buddyIds Buddy device id array.
192 * @param count 0 to Unassign all buddies; ELSE Number of buddies to assign.
193 * @return Operation status.
194 */
195 GoFx(kStatus) GoControl_AssignBuddies(GoControl control, const k32u* buddyIds, kSize count);
196
197 /**
198 * Remove multiple buddy sensors. A zero count unassigns all buddies.
199 *
200 * @public @memberof GoControl
201 * @version Introduced in firmware 4.6.4.66
202 * @param control GoControl object.
203 * @param buddyIds Buddy device id array.
204 * @param count 0 to Unassign all buddies; ELSE Number of buddies to assign.
205 * @return Operation status.
206 */
207
208 GoFx(kStatus) GoControl_RemoveBuddiesById(GoControl control, const k32u* buddyIds, kSize count);
209
210 /**
211 * Remove multiple buddy sensors.
212 *
213 * @public @memberof GoControl
214 * @version Introduced in firmware 4.6.2.95
215 * @param control GoControl object.
216 * @param buddyIds Buddy device id array.
217 * @param count Number of buddies to unassign.
218 * @return Operation status.
219 */
220 GoFx(kStatus) GoControl_RemoveBuddies(GoControl control, const k32u* buddyIds, kSize count);
221
222 /**
223 * Sends a start command to a sensor with the currently selected input source, but doesn't wait for the response.
224 *
225 * Use the GoControl_EndStart function to wait for the sensor's reply.
226 *
227 * @public @memberof GoControl
228 * @version Introduced in firmware 4.0.10.27
229 * @param control GoControl object.
230 * @return Operation status.
231 * @see GoControl_EndStart, GoControl_SetInputSource, GoControl_GetInputSource
232 */
233 GoFx(kStatus) GoControl_BeginStart(GoControl control);
234
235 /**
236 * Waits for a start response from a sensor.
237 *
238 * Call this function sometime after calling BeginStart.
239 *
240 * @public @memberof GoControl
241 * @version Introduced in firmware 4.0.10.27
242 * @param control GoControl object.
243 * @return Operation status.
244 */
245 GoFx(kStatus) GoControl_EndStart(GoControl control);
246
247 /**
248 * Sends a scheduled start command to a sensor with the currently selected input source, but doesn't wait for the response.
249 *
250 * Use the GoControl_EndScheduledStart function to wait for the sensor's reply.
251 *
252 * @public @memberof GoControl
253 * @version Introduced in firmware 4.1.3.106
254 * @param control GoControl object.
255 * @param value Scheduled start value (in uS for time trigger and ticks for encoder trigger)
256 * @return Operation status.
257 * @see GoControl_EndScheduledStart, GoControl_SetInputSource, GoControl_GetInputSource
258 */
259 GoFx(kStatus) GoControl_BeginScheduledStart(GoControl control, k64s value);
260
261 /**
262 * Waits for a scheduled start response from a sensor.
263 *
264 * Call this function sometime after calling BeginScheduledStart.
265 *
266 * @public @memberof GoControl
267 * @version Introduced in firmware 4.1.3.106
268 * @param control GoControl object.
269 * @return Operation status.
270 */
271 GoFx(kStatus) GoControl_EndScheduledStart(GoControl control);
272
273 /**
274 * Sends a stop command to a sensor, but doesn't wait for the response.
275 *
276 * Use the GoControl_EndStop function to wait for the sensor's reply.
277 *
278 * @public @memberof GoControl
279 * @version Introduced in firmware 4.0.10.27
280 * @param control GoControl object.
281 * @return Operation status.
282 * @see GoControl_EndStop
283 */
284 GoFx(kStatus) GoControl_BeginStop(GoControl control);
285
286 /**
287 * Waits for a stop response from a sensor.
288 *
289 * Call this function sometime after calling BeginStop.
290 *
291 * @public @memberof GoControl
292 * @version Introduced in firmware 4.0.10.27
293 * @param control GoControl object.
294 * @return Operation status.
295 */
296 GoFx(kStatus) GoControl_EndStop(GoControl control);
297
298 /**
299 * Sends a alignment command to a sensor, but doesn't wait for the response.
300 *
301 * Use the GoControl_EndAlignment function to wait for the sensor's reply.
302 *
303 * @public @memberof GoControl
304 * @version Introduced in firmware 4.0.10.27
305 * @param control GoControl object.
306 * @return Operation status.
307 * @see GoControl_EndAlignment
308 */
309 GoFx(kStatus) GoControl_BeginAlignment(GoControl control);
310
311 /**
312 * Waits for a alignment response from a sensor.
313 *
314 * Call this function sometime after calling BeginAlignment.
315 *
316 * @public @memberof GoControl
317 * @version Introduced in firmware 4.0.10.27
318 * @param control GoControl object.
319 * @return Operation status.
320 */
321 GoFx(kStatus) GoControl_EndAlignment(GoControl control);
322
323 /**
324 * Clears the sensor alignment.
325 *
326 * @public @memberof GoControl
327 * @version Introduced in firmware 4.1.3.106
328 * @param control GoControl object.
329 * @return Operation status.
330 */
331 GoFx(kStatus) GoControl_ClearAlignment(GoControl control);
332
333 /**
334 * Sets the alignment reference for a sensor.
335 *
336 * @public @memberof GoControl
337 * @version Introduced in firmware 4.0.10.27
338 * @param control GoControl object.
339 * @param reference Alignment reference.
340 * @return Operation status.
341 */
342 GoFx(kStatus) GoControl_SetAlignmentReference(GoControl control, GoAlignmentRef reference);
343
344 /**
345 * Gets the alignment reference for a sensor.
346 *
347 * @public @memberof GoControl
348 * @version Introduced in firmware 4.0.10.27
349 * @param control GoControl object.
350 * @param reference Alignment reference.
351 * @return Operation status.
352 */
353 GoFx(kStatus) GoControl_GetAlignmentReference(GoControl control, GoAlignmentRef* reference);
354
355 /**
356 * Sends an exposure auto set command to a sensor, but doesn't wait for the response.
357 *
358 * Use the GoControl_EndExposureAutoSet function to wait for the sensor's reply.
359 *
360 * @public @memberof GoControl
361 * @version Introduced in firmware 4.0.10.27
362 * @param control GoControl object.
363 * @param role The sensor's role.
364 * @return Operation status.
365 * @see GoControl_EndExposureAutoSet
366 */
367 GoFx(kStatus) GoControl_BeginExposureAutoSet(GoControl control, GoRole role);
368
369 /**
370 * Waits for a exposure auto set response from a sensor.
371 *
372 * Call this function sometime after calling BeginExposureAutoSet.
373 *
374 * @public @memberof GoControl
375 * @version Introduced in firmware 4.0.10.27
376 * @param control GoControl object.
377 * @return Operation status.
378 */
379 GoFx(kStatus) GoControl_EndExposureAutoSet(GoControl control);
380
381 /**
382 * Reads the list of available sensor files.
383 *
384 * @public @memberof GoControl
385 * @version Introduced in firmware 4.0.10.27
386 * @param control GoControl object.
387 * @param files List to be populated with file names (kArrayList<kText64>).
388 * @param extensionFilter Can be used to filter the file list: "job", "rec" or null for all.
389 * @return Operation status.
390 */
391 GoFx(kStatus) GoControl_ReadFileList(GoControl control, kArrayList files, const kChar* extensionFilter);
392
393 /**
394 * Reads a file from the connected sensor.
395 *
396 * @public @memberof GoControl
397 * @version Introduced in firmware 4.0.10.27
398 * @param control GoControl object.
399 * @param fileName Name of remote file to be read.
400 * @param data Receives a pointer to a buffer containing the file data.
401 * @param size Receives the size of the allocated buffer.
402 * @param allocator Memory allocator, used to allocate the file buffer (or kNULL for default).
403 * @return Operation status.
404 */
405 GoFx(kStatus) GoControl_ReadFile(GoControl control, const kChar* fileName, kByte** data, kSize* size, kAlloc allocator);
406
407 /**
408 * Clears the sensor log file.
409 *
410 * @public @memberof GoControl
411 * @version Introduced in firmware 4.0.10.27
412 * @param control GoControl object.
413 * @return Operation status.
414 */
415 GoFx(kStatus) GoControl_ClearLog(GoControl control);
416
417 /**
418 * Writes a file to the connected sensor.
419 *
420 * @public @memberof GoControl
421 * @version Introduced in firmware 4.0.10.27
422 * @param control GoControl object.
423 * @param fileName Name of remote file to be written.
424 * @param data Pointer to buffer containing the file data.
425 * @param size Size of the file.
426 * @return Operation status.
427 */
428 GoFx(kStatus) GoControl_WriteFile(GoControl control, const kChar* fileName, const kByte* data, kSize size);
429
430 /**
431 * Copies a file within the connected sensor.
432 *
433 * @public @memberof GoControl
434 * @version Introduced in firmware 4.0.10.27
435 * @param control GoControl object.
436 * @param source Source name for the file to be copied.
437 * @param destination Destination name for the file (maximum 63 characters).
438 * @return Operation status.
439 */
440 GoFx(kStatus) GoControl_CopyFile(GoControl control, const kChar* source, const kChar* destination);
441
442 /**
443 * Deletes a file within the connected sensor.
444 *
445 * @public @memberof GoControl
446 * @version Introduced in firmware 4.0.10.27
447 * @param control GoControl object.
448 * @param fileName Name of the file to be deleted.
449 * @return Operation status.
450 */
451 GoFx(kStatus) GoControl_DeleteFile(GoControl control, const kChar* fileName);
452
453 /**
454 * Gets the available storage space remaining for user files.
455 *
456 * @public @memberof GoControl
457 * @version
458 * @param control GoControl object.
459 * @param spaceAvailable Storage space available.
460 * @return Operation status.
461 */
462 GoFx(kStatus) GoControl_GetUserStorageFree(GoControl control, k64u* spaceAvailable);
463
464 /**
465 * Gets the storage space used for user files.
466 *
467 * @public @memberof GoControl
468 * @version
469 * @param control GoControl object.
470 * @param spaceUsed Storage space used.
471 * @return Operation status.
472 */
473 GoFx(kStatus) GoControl_GetUserStorageUsed(GoControl control, k64u* spaceUsed);
474
475 /**
476 * Gets the name of the default job file to be loaded on boot.
477 *
478 * @public @memberof GoControl
479 * @version Introduced in firmware 4.0.10.27
480 * @param control GoControl object.
481 * @param fileName Receives name of the default job.
482 * @param capacity Name buffer capacity.
483 * @return Operation status.
484 */
485 GoFx(kStatus) GoControl_GetDefaultJob(GoControl control, kChar* fileName, kSize capacity);
486
487 /**
488 * Sets a default job file to be loaded on boot.
489 *
490 * @public @memberof GoControl
491 * @version Introduced in firmware 4.0.10.27
492 * @param control GoControl object.
493 * @param fileName Name of the default file.
494 * @return Operation status.
495 */
496 GoFx(kStatus) GoControl_SetDefaultJob(GoControl control, const kChar* fileName);
497
498 /**
499 * Gets the name of the loaded job file and whether it has been modified since loading.
500 *
501 * @public @memberof GoControl
502 * @version Introduced in firmware 4.0.10.27
503 * @param control GoControl object.
504 * @param fileName Receives name of the loaded file.
505 * @param capacity Name buffer capacity.
506 * @param isModified Receives the status of whether the loaded job has been modified.
507 * @return Operation status.
508 */
509 GoFx(kStatus) GoControl_GetLoadedJob(GoControl control, kChar* fileName, kSize capacity, kBool* isModified);
510
511 /**
512 * Restores factory default settings.
513 *
514 * @public @memberof GoControl
515 * @version Introduced in firmware 4.0.10.27
516 * @param control GoControl object.
517 * @param restoreAddress kTRUE to restore the factory default IP address; kFALSE otherwise.
518 * @return Operation status.
519 */
520 GoFx(kStatus) GoControl_RestoreFactory(GoControl control, kBool restoreAddress);
521
522 /**
523 * Reboots the main sensor and any connected buddy sensors.
524 *
525 * @public @memberof GoControl
526 * @version Introduced in firmware 4.0.10.27
527 * @param control GoControl object.
528 * @return Operation status.
529 */
530 GoFx(kStatus) GoControl_Reset(GoControl control);
531
532 /**
533 * Resets the encoder value. NOTE: This is only possible with a direct encoder
534 * connection to a sensor. Resetting the encoder value when connected to a master
535 * will not work.
536 *
537 * @public @memberof GoControl
538 * @version Introduced in firmware 4.5.3.57
539 * @param control GoControl object.
540 * @return Operation status.
541 */
542 GoFx(kStatus) GoControl_ResetEncoder(GoControl control);
543
544 /**
545 * Begins a sensor firmware upgrade.
546 *
547 * Use the GoControl_GetUpgradeStatus function to poll for upgrade completion.
548 *
549 * @public @memberof GoControl
550 * @version Introduced in firmware 4.0.10.27
551 * @param control GoControl object.
552 * @param data Pointer to buffer containing upgrade file.
553 * @param size Size of upgrade file.
554 * @return Operation status.
555 * @see GoControl_GetUpgradeStatus
556 */
557 GoFx(kStatus) GoControl_BeginUpgrade(GoControl control, void* data, kSize size);
558
559 /**
560 * Polls for upgrade status.
561 *
562 * @public @memberof GoControl
563 * @version Introduced in firmware 4.0.10.27
564 * @param control GoControl object.
565 * @param complete Receives boolean indicating upgrade completion.
566 * @param succeeded If complete, receives boolean indicating whether upgrade was successful.
567 * @param progress If not complete, receives integer percentage indicating progress.
568 * @return Operation status.
569 */
570 GoFx(kStatus) GoControl_GetUpgradeStatus(GoControl control, kBool* complete, kBool* succeeded, k32s* progress);
571
572 /**
573 * Gets the current time stamp value(common among all synchronized sensors).
574 *
575 * @public @memberof GoControl
576 * @version Introduced in firmware 4.0.10.27
577 * @param control GoControl object.
578 * @param time Receives the time stamp value.
579 * @return Operation status.
580 */
581 GoFx(kStatus) GoControl_GetTimestamp(GoControl control, k64u* time);
582
583 /**
584 * Gets the current system encoder value.
585 *
586 * @public @memberof GoControl
587 * @version Introduced in firmware 4.0.10.27
588 * @param control GoControl object.
589 * @param encoder Receives encoder value.
590 * @return Operation status.
591 */
592 GoFx(kStatus) GoControl_GetEncoder(GoControl control, k64s* encoder);
593
594 /**
595 * Sends a software trigger to the sensor.
596 *
597 * @public @memberof GoControl
598 * @version Introduced in firmware 4.0.10.27
599 * @param control GoControl object.
600 * @return Operation status.
601 */
602 GoFx(kStatus) GoControl_Trigger(GoControl control);
603
604 /**
605 * Creates and downloads a backup of sensor files.
606 *
607 * @public @memberof GoControl
608 * @version Introduced in firmware 4.0.10.27
609 * @param control GoControl object.
610 * @param fileData Receives a pointer to a buffer containing the backup data.
611 * @param size Receives the size of the allocated buffer.
612 * @param allocator Memory allocator, used to allocate the backup buffer (or kNULL for default).
613 * @return Operation status.
614 */
615 GoFx(kStatus) GoControl_Backup(GoControl control, kByte** fileData, kSize* size, kAlloc allocator);
616
617 /**
618 * Restores a backup of sensor files.
619 *
620 * @public @memberof GoControl
621 * @version Introduced in firmware 4.0.10.27
622 * @param control GoControl object.
623 * @param fileData Pointer to a buffer containing the backup data to be restored.
624 * @param size Size of the backup buffer.
625 * @return Operation status.
626 */
627 GoFx(kStatus) GoControl_Restore(GoControl control, const kByte* fileData, kSize size);
628
629 /**
630 * Schedules a digital output.
631 *
632 * @public @memberof GoControl
633 * @version Introduced in firmware 4.0.10.27
634 * @param control GoControl object.
635 * @param index The digital output index.
636 * @param target The time or position target (uS or mm), depending on the configured domain. Ignored if
637 * scheduling disabled or pulsed mode enabled.
638 * @param value The value of scheduled output (0-Low or 1-High). Ignored if pulsed mode enabled.
639 * @return Operation status.
640 */
641 GoFx(kStatus) GoControl_ScheduleDigital(GoControl control, k16u index, k64s target, k8u value);
642
643 /**
644 * Schedules an analog output.
645 *
646 * @public @memberof GoControl
647 * @version Introduced in firmware 4.0.10.27
648 * @param control GoControl object.
649 * @param index The analog output index.
650 * @param target The time or position target (uS or mm), depending on the configured domain. Ignored if
651 * scheduling disabled.
652 * @param value The value of the scheduled output (mA).
653 * @return Operation status.
654 */
655 GoFx(kStatus) GoControl_ScheduleAnalog(GoControl control, k16u index, k64s target, k32s value);
656
657 /**
658 * Retrieves a set of various sensor states for the sensor associated with the control connection.
659 *
660 * @public @memberof GoControl
661 * @version Introduced in firmware 4.0.10.27
662 * @param control GoControl object.
663 * @param states A struct of current sensor states.
664 * @return Operation status.
665 */
666 GoFx(kStatus) GoControl_GetStates(GoControl control, GoStates* states);
667
668 /**
669 * Enables recording on the sensor.
670 *
671 * @public @memberof GoControl
672 * @version Introduced in firmware 4.0.10.27
673 * @param control GoControl object.
674 * @param enable Enable or disable recording.
675 * @return Operation status.
676 */
677 GoFx(kStatus) GoControl_SetRecordingEnabled(GoControl control, kBool enable);
678
679 /**
680 * Gets the sensor's recording state.
681 *
682 * @public @memberof GoControl
683 * @version Introduced in firmware 4.0.10.27
684 * @param control GoControl object.
685 * @param enabled Receives the recording state.
686 * @return Operation status.
687 */
688 GoFx(kStatus) GoControl_GetRecordingEnabled(GoControl control, kBool* enabled);
689
690 /**
691 * Sets the sensor's data input source.
692 *
693 * @public @memberof GoControl
694 * @version Introduced in firmware 4.0.10.27
695 * @param control GoControl object.
696 * @param source The input source to set.
697 * @return Operation status.
698 */
699 GoFx(kStatus) GoControl_SetInputSource(GoControl control, GoInputSource source);
700
701 /**
702 * Gets the sensor's data input source.
703 *
704 * @public @memberof GoControl
705 * @version Introduced in firmware 4.0.10.27
706 * @param control GoControl object.
707 * @param source Receives the data source used by the sensor.
708 * @return Operation status.
709 */
710 GoFx(kStatus) GoControl_GetInputSource(GoControl control, GoInputSource* source);
711
712 /**
713 * Clear the sensor's replay data.
714 *
715 * @public @memberof GoControl
716 * @version Introduced in firmware 4.0.10.27
717 * @param control GoControl object.
718 * @return Operation status.
719 */
720 GoFx(kStatus) GoControl_ClearReplayData(GoControl control);
721
722 /**
723 * Simulate the current frame stored on the sensor's live replay buffer.
724 *
725 * @public @memberof GoControl
726 * @version Introduced in firmware 4.0.10.27
727 * @param control GoControl object.
728 * @param isBufferValid Represents whether the specified data input source contained valid data to simulate against.
729 * @return Operation status.
730 */
731 GoFx(kStatus) GoControl_Simulate(GoControl control, kBool* isBufferValid);
732
733 /**
734 * Clear the sensor's measurement statistics.
735 *
736 * @public @memberof GoControl
737 * @version Introduced in firmware 4.0.10.27
738 * @param control GoControl object.
739 * @return Operation status.
740 */
741 GoFx(kStatus) GoControl_ClearMeasurementStats(GoControl control);
742
743 /**
744 * Seek to the specified frame position for a replay.
745 *
746 * @public @memberof GoControl
747 * @version Introduced in firmware 4.0.10.27
748 * @param control GoControl object.
749 * @param position Replay frame position.
750 * @return Operation status.
751 */
752 GoFx(kStatus) GoControl_PlaybackSeek(GoControl control, kSize position);
753
754 /**
755 * Advance one frame in a replay.
756 *
757 * @public @memberof GoControl
758 * @version Introduced in firmware 4.0.10.27
759 * @param control GoControl object.
760 * @param direction The direction to seek.
761 * @return Operation status.
762 */
763 GoFx(kStatus) GoControl_PlaybackStep(GoControl control, GoSeekDirection direction);
764
765 /**
766 * Get the current frame position in a replay.
767 *
768 * @public @memberof GoControl
769 * @version Introduced in firmware 4.0.10.27
770 * @param control GoControl object.
771 * @param position Replay frame position.
772 * @param count Replay frame count.
773 * @return Operation status.
774 */
775 GoFx(kStatus) GoControl_PlaybackPosition(GoControl control, kSize* position, kSize* count);
776
777 /**
778 * Export an intensity bitmap file to local storage.
779 *
780 * @public @memberof GoControl
781 * @version Introduced in firmware 4.0.10.27
782 * @param control GoControl object.
783 * @param type The type of data to export.
784 * @param source The data source to obtain data from.
785 * @param dstFileName The destination file name.
786 * @return Operation status.
787 */
788 GoFx(kStatus) GoControl_ExportBitmap(GoControl control,
789 GoReplayExportSourceType type,
790 GoDataSource source,
791 const kChar* dstFileName);
792
793 /**
794 * Export a CSV file to local storage.
795 *
796 * @public @memberof GoControl
797 * @version Introduced in firmware 4.0.10.27
798 * @param control GoControl object.
799 * @param dstFileName The destination file name.
800 * @return Operation status.
801 */
802 GoFx(kStatus) GoControl_ExportCsv(GoControl control, const kChar* dstFileName);
803
804 /**
805 * Enable or disable sensor AutoStart.
806 *
807 * @public @memberof GoControl
808 * @version Introduced in firmware 4.0.10.27
809 * @param control GoControl object.
810 * @param enable kTRUE to enable AutoStart, kFALSE to disable it.
811 * @return Operation status.
812 */
813 GoFx(kStatus) GoControl_SetAutoStartEnabled(GoControl control, kBool enable);
814
815 /**
816 * Returns the state of sensor AutoStart.
817 *
818 * @public @memberof GoControl
819 * @version Introduced in firmware 4.0.10.27
820 * @param control GoControl object.
821 * @param enabled A pointer to store the boolean state of sensor AutoStart. kTRUE if enabled and kFALSE if disabled.
822 * @return Operation status.
823 */
824 GoFx(kStatus) GoControl_GetAutoStartEnabled(GoControl control, kBool* enabled);
825
826 GoFx(kStatus) GoControl_SetRuntimeVariables(GoControl control, kSize startIndex, kSize length, k32s* values);
827 GoFx(kStatus) GoControl_RuntimeVariableCount(GoControl control, kSize* count);
828 GoFx(kStatus) GoControl_GetRuntimeVariables(GoControl control, kSize startIndex, kSize length, k32s* values);
829
830 kEndHeader()
831 #include <GoSdk/Internal/GoControl.x.h>
832
833 #endif
kFile.h
GoStates
Sensor state, login, alignment information, recording state, playback source, uptime, playback information, and auto-start setting state.
Definition: GoSdkDef.h:624
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.
GoControl::GoControl_AssignBuddies
kStatus GoControl_AssignBuddies(GoControl control, const k32u *buddyIds, kSize count)
Start assigning multiple buddy sensors.
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_GetSensorInfoV2
kStatus GoControl_GetSensorInfoV2(GoControl control, GoSensorInfo localInfo, kArrayList remoteInfoList, kArrayList buddyInfoList)
Gets current sensor state information.
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_RemoveBuddies
kStatus GoControl_RemoveBuddies(GoControl control, const k32u *buddyIds, kSize count)
Remove multiple buddy sensors.
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_RemoveBuddiesById
kStatus GoControl_RemoveBuddiesById(GoControl control, const k32u *buddyIds, kSize count)
Remove multiple buddy sensors.
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.