Gocator API
 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) 2015 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 /**
225  * Sends a stop command to a sensor, but doesn't wait for the response.
226  *
227  * Use the GoControl_EndStop function to wait for the sensor's reply.
228  *
229  * @public @memberof GoControl
230  * @version Introduced in firmware 4.0.10.27
231  * @param control GoControl object.
232  * @return Operation status.
233  * @see GoControl_EndStop
234  */
235 GoFx(kStatus) GoControl_BeginStop(GoControl control);
236 
237 /**
238  * Waits for a stop response from a sensor.
239  *
240  * Call this function sometime after calling BeginStop.
241  *
242  * @public @memberof GoControl
243  * @version Introduced in firmware 4.0.10.27
244  * @param control GoControl object.
245  * @return Operation status.
246  */
247 GoFx(kStatus) GoControl_EndStop(GoControl control);
248 
249 
250 /**
251  * Sends a alignment command to a sensor, but doesn't wait for the response.
252  *
253  * Use the GoControl_EndAlignment function to wait for the sensor's reply.
254  *
255  * @public @memberof GoControl
256  * @version Introduced in firmware 4.0.10.27
257  * @param control GoControl object.
258  * @return Operation status.
259  * @see GoControl_EndAlignment
260  */
261 GoFx(kStatus) GoControl_BeginAlignment(GoControl control);
262 
263 /**
264  * Waits for a alignment response from a sensor.
265  *
266  * Call this function sometime after calling BeginAlignment.
267  *
268  * @public @memberof GoControl
269  * @version Introduced in firmware 4.0.10.27
270  * @param control GoControl object.
271  * @return Operation status.
272  */
273 GoFx(kStatus) GoControl_EndAlignment(GoControl control);
274 
275 
276 /**
277  * Clears the sensor alignment.
278  *
279  * @public @memberof GoControl
280  * @version Introduced in firmware 4.1.3.106
281  * @param control GoControl object.
282  * @return Operation status.
283  */
284 GoFx(kStatus) GoControl_ClearAlignment(GoControl control);
285 
286 
287 /**
288  * Sets the alignment reference for a sensor.
289  *
290  * @public @memberof GoControl
291  * @version Introduced in firmware 4.0.10.27
292  * @param control GoControl object.
293  * @param reference Alignment reference.
294  * @return Operation status.
295  */
296 GoFx(kStatus) GoControl_SetAlignmentReference(GoControl control, GoAlignmentRef reference);
297 
298 /**
299  * Gets the alignment reference for a sensor.
300  *
301  * @public @memberof GoControl
302  * @version Introduced in firmware 4.0.10.27
303  * @param control GoControl object.
304  * @param reference Alignment reference.
305  * @return Operation status.
306  */
307 GoFx(kStatus) GoControl_GetAlignmentReference(GoControl control, GoAlignmentRef* reference);
308 
309 
310 /**
311  * Sends an exposure auto set command to a sensor, but doesn't wait for the response.
312  *
313  * Use the GoControl_EndExposureAutoSet function to wait for the sensor's reply.
314  *
315  * @public @memberof GoControl
316  * @version Introduced in firmware 4.0.10.27
317  * @param control GoControl object.
318  * @param role The sensor's role.
319  * @return Operation status.
320  * @see GoControl_EndExposureAutoSet
321  */
322 GoFx(kStatus) GoControl_BeginExposureAutoSet(GoControl control, GoRole role);
323 
324 /**
325  * Waits for a exposure auto set response from a sensor.
326  *
327  * Call this function sometime after calling BeginExposureAutoSet.
328  *
329  * @public @memberof GoControl
330  * @version Introduced in firmware 4.0.10.27
331  * @param control GoControl object.
332  * @return Operation status.
333  */
334 GoFx(kStatus) GoControl_EndExposureAutoSet(GoControl control);
335 
336 
337 /**
338  * Reads the list of available sensor files.
339  *
340  * @public @memberof GoControl
341  * @version Introduced in firmware 4.0.10.27
342  * @param control GoControl object.
343  * @param files List to be populated with file names (kArrayList<kText64>).
344  * @param extensionFilter Can be used to filter the file list: "job", "rec" or null for all.
345  * @return Operation status.
346  */
347 GoFx(kStatus) GoControl_ReadFileList(GoControl control, kArrayList files, const kChar* extensionFilter);
348 
349 /**
350  * Reads a file from the connected sensor.
351  *
352  * @public @memberof GoControl
353  * @version Introduced in firmware 4.0.10.27
354  * @param control GoControl object.
355  * @param fileName Name of remote file to be read.
356  * @param data Receives a pointer to a buffer containing the file data.
357  * @param size Receives the size of the allocated buffer.
358  * @param allocator Memory allocator, used to allocate the file buffer (or kNULL for default).
359  * @return Operation status.
360  */
361 GoFx(kStatus) GoControl_ReadFile(GoControl control, const kChar* fileName, kByte** data, kSize* size, kAlloc allocator);
362 
363 /**
364  * Clears the sensor log file.
365  *
366  * @public @memberof GoControl
367  * @version Introduced in firmware 4.0.10.27
368  * @param control GoControl object.
369  * @return Operation status.
370  */
371 GoFx(kStatus) GoControl_ClearLog(GoControl control);
372 
373 /**
374  * Writes a file to the connected sensor.
375  *
376  * @public @memberof GoControl
377  * @version Introduced in firmware 4.0.10.27
378  * @param control GoControl object.
379  * @param fileName Name of remote file to be written.
380  * @param data Pointer to buffer containing the file data.
381  * @param size Size of the file.
382  * @return Operation status.
383  */
384 GoFx(kStatus) GoControl_WriteFile(GoControl control, const kChar* fileName, const kByte* data, kSize size);
385 
386 /**
387  * Copies a file within the connected sensor.
388  *
389  * @public @memberof GoControl
390  * @version Introduced in firmware 4.0.10.27
391  * @param control GoControl object.
392  * @param source Source name for the file to be copied.
393  * @param destination Destination name for the file (maximum 63 characters).
394  * @return Operation status.
395  */
396 GoFx(kStatus) GoControl_CopyFile(GoControl control, const kChar* source, const kChar* destination);
397 
398 /**
399  * Deletes a file within the connected sensor.
400  *
401  * @public @memberof GoControl
402  * @version Introduced in firmware 4.0.10.27
403  * @param control GoControl object.
404  * @param fileName Name of the file to be deleted.
405  * @return Operation status.
406  */
407 GoFx(kStatus) GoControl_DeleteFile(GoControl control, const kChar* fileName);
408 
409 /**
410  * Gets the name of the default job file to be loaded on boot.
411  *
412  * @public @memberof GoControl
413  * @version Introduced in firmware 4.0.10.27
414  * @param control GoControl object.
415  * @param fileName Receives name of the default job.
416  * @param capacity Name buffer capacity.
417  * @return Operation status.
418  */
419 GoFx(kStatus) GoControl_GetDefaultJob(GoControl control, kChar* fileName, kSize capacity);
420 
421 /**
422  * Sets a default job file to be loaded on boot.
423  *
424  * @public @memberof GoControl
425  * @version Introduced in firmware 4.0.10.27
426  * @param control GoControl object.
427  * @param fileName Name of the default file.
428  * @return Operation status.
429  */
430 GoFx(kStatus) GoControl_SetDefaultJob(GoControl control, const kChar* fileName);
431 
432 /**
433  * Gets the name of the loaded job file and whether it has been modified since loading.
434  *
435  * @public @memberof GoControl
436  * @version Introduced in firmware 4.0.10.27
437  * @param control GoControl object.
438  * @param fileName Receives name of the loaded file.
439  * @param capacity Name buffer capacity.
440  * @param isModified Receives the status of whether the loaded job has been modified.
441  * @return Operation status.
442  */
443 GoFx(kStatus) GoControl_GetLoadedJob(GoControl control, kChar* fileName, kSize capacity, kBool* isModified);
444 
445 /**
446  * Restores factory default settings.
447  *
448  * @public @memberof GoControl
449  * @version Introduced in firmware 4.0.10.27
450  * @param control GoControl object.
451  * @param restoreAddress kTRUE to restore the factory default IP address; kFALSE otherwise.
452  * @return Operation status.
453  */
454 GoFx(kStatus) GoControl_RestoreFactory(GoControl control, kBool restoreAddress);
455 
456 /**
457  * Reboots the main sensor and any connected buddy sensors.
458  *
459  * @public @memberof GoControl
460  * @version Introduced in firmware 4.0.10.27
461  * @param control GoControl object.
462  * @return Operation status.
463  */
464 GoFx(kStatus) GoControl_Reset(GoControl control);
465 
466 /**
467  * Begins a sensor firmware upgrade.
468  *
469  * Use the GoControl_GetUpgradeStatus function to poll for upgrade completion.
470  *
471  * @public @memberof GoControl
472  * @version Introduced in firmware 4.0.10.27
473  * @param control GoControl object.
474  * @param data Pointer to buffer containing upgrade file.
475  * @param size Size of upgrade file.
476  * @return Operation status.
477  * @see GoControl_GetUpgradeStatus
478  */
479 GoFx(kStatus) GoControl_BeginUpgrade(GoControl control, void* data, kSize size);
480 
481 /**
482  * Polls for upgrade status.
483  *
484  * @public @memberof GoControl
485  * @version Introduced in firmware 4.0.10.27
486  * @param control GoControl object.
487  * @param complete Receives boolean indicating upgrade completion.
488  * @param succeeded If complete, receives boolean indicating whether upgrade was successful.
489  * @param progress If not complete, receives integer percentage indicating progress.
490  * @return Operation status.
491  */
492 GoFx(kStatus) GoControl_GetUpgradeStatus(GoControl control, kBool* complete, kBool* succeeded, k32s* progress);
493 
494 /**
495  * Gets the current time stamp value(common among all synchronized sensors).
496  *
497  * @public @memberof GoControl
498  * @version Introduced in firmware 4.0.10.27
499  * @param control GoControl object.
500  * @param time Receives the time stamp value.
501  * @return Operation status.
502  */
503 GoFx(kStatus) GoControl_GetTimestamp(GoControl control, k64u* time);
504 
505 /**
506  * Gets the current system encoder value.
507  *
508  * @public @memberof GoControl
509  * @version Introduced in firmware 4.0.10.27
510  * @param control GoControl object.
511  * @param encoder Receives encoder value.
512  * @return Operation status.
513  */
514 GoFx(kStatus) GoControl_GetEncoder(GoControl control, k64s* encoder);
515 
516 /**
517  * Sends a software trigger to the sensor.
518  *
519  * @public @memberof GoControl
520  * @version Introduced in firmware 4.0.10.27
521  * @param control GoControl object.
522  * @return Operation status.
523  */
524 GoFx(kStatus) GoControl_Trigger(GoControl control);
525 
526 /**
527  * Creates and downloads a backup of sensor files.
528  *
529  * @public @memberof GoControl
530  * @version Introduced in firmware 4.0.10.27
531  * @param control GoControl object.
532  * @param fileData Receives a pointer to a buffer containing the backup data.
533  * @param size Receives the size of the allocated buffer.
534  * @param allocator Memory allocator, used to allocate the backup buffer (or kNULL for default).
535  * @return Operation status.
536  */
537 GoFx(kStatus) GoControl_Backup(GoControl control, kByte** fileData, kSize* size, kAlloc allocator);
538 
539 /**
540  * Restores a backup of sensor files.
541  *
542  * @public @memberof GoControl
543  * @version Introduced in firmware 4.0.10.27
544  * @param control GoControl object.
545  * @param fileData Pointer to a buffer containing the backup data to be restored.
546  * @param size Size of the backup buffer.
547  * @return Operation status.
548  */
549 GoFx(kStatus) GoControl_Restore(GoControl control, const kByte* fileData, kSize size);
550 
551 /**
552  * Schedules a digital output.
553  *
554  * @public @memberof GoControl
555  * @version Introduced in firmware 4.0.10.27
556  * @param control GoControl object.
557  * @param index The digital output index.
558  * @param target The time or position target (uS or mm), depending on the configured domain. Ignored if
559  * scheduling disabled or pulsed mode enabled.
560  * @param value The value of scheduled output (0-Low or 1-High). Ignored if pulsed mode enabled.
561  * @return Operation status.
562  */
563 GoFx(kStatus) GoControl_ScheduleDigital(GoControl control, k16u index, k64s target, k8u value);
564 
565 /**
566  * Schedules an analog output.
567  *
568  * @public @memberof GoControl
569  * @version Introduced in firmware 4.0.10.27
570  * @param control GoControl object.
571  * @param index The analog output index.
572  * @param target The time or position target (uS or mm), depending on the configured domain. Ignored if
573  * scheduling disabled.
574  * @param value The value of the scheduled output (mA).
575  * @return Operation status.
576  */
577 GoFx(kStatus) GoControl_ScheduleAnalog(GoControl control, k16u index, k64s target, k32s value);
578 
579 /**
580  * Retrieves a set of various sensor states for the sensor associated with the control connection.
581  *
582  * @public @memberof GoControl
583  * @version Introduced in firmware 4.0.10.27
584  * @param control GoControl object.
585  * @param states A struct of current sensor states.
586  * @return Operation status.
587  */
588 GoFx(kStatus) GoControl_GetStates(GoControl control, GoStates* states);
589 
590 /**
591  * Enables recording on the sensor.
592  *
593  * @public @memberof GoControl
594  * @version Introduced in firmware 4.0.10.27
595  * @param control GoControl object.
596  * @param enable Enable or disable recording.
597  * @return Operation status.
598  */
599 GoFx(kStatus) GoControl_SetRecordingEnabled(GoControl control, kBool enable);
600 
601 /**
602  * Gets the sensor's recording state.
603  *
604  * @public @memberof GoControl
605  * @version Introduced in firmware 4.0.10.27
606  * @param control GoControl object.
607  * @param enabled Receives the recording state.
608  * @return Operation status.
609  */
610 GoFx(kStatus) GoControl_GetRecordingEnabled(GoControl control, kBool* enabled);
611 
612 /**
613  * Sets the sensor's data input source.
614  *
615  * @public @memberof GoControl
616  * @version Introduced in firmware 4.0.10.27
617  * @param control GoControl object.
618  * @param source The input source to set.
619  * @return Operation status.
620  */
621 GoFx(kStatus) GoControl_SetInputSource(GoControl control, GoInputSource source);
622 
623 /**
624  * Gets the sensor's data input source.
625  *
626  * @public @memberof GoControl
627  * @version Introduced in firmware 4.0.10.27
628  * @param control GoControl object.
629  * @param source Receives the data source used by the sensor.
630  * @return Operation status.
631  */
632 GoFx(kStatus) GoControl_GetInputSource(GoControl control, GoInputSource* source);
633 
634 /**
635  * Clear the sensor's replay data.
636  *
637  * @public @memberof GoControl
638  * @version Introduced in firmware 4.0.10.27
639  * @param control GoControl object.
640  * @return Operation status.
641  */
642 GoFx(kStatus) GoControl_ClearReplayData(GoControl control);
643 
644 /**
645  * Simulate the current frame stored on the sensor's live replay buffer.
646  *
647  * @public @memberof GoControl
648  * @version Introduced in firmware 4.0.10.27
649  * @param control GoControl object.
650  * @param isBufferValid Represents whether the specified data input source contained valid data to simulate against.
651  * @return Operation status.
652  */
653 GoFx(kStatus) GoControl_Simulate(GoControl control, kBool* isBufferValid);
654 
655 /**
656  * Clear the sensor's measurement statistics.
657  *
658  * @public @memberof GoControl
659  * @version Introduced in firmware 4.0.10.27
660  * @param control GoControl object.
661  * @return Operation status.
662  */
663 GoFx(kStatus) GoControl_ClearMeasurementStats(GoControl control);
664 
665 /**
666  * Seek to the specified frame position for a replay.
667  *
668  * @public @memberof GoControl
669  * @version Introduced in firmware 4.0.10.27
670  * @param control GoControl object.
671  * @param position Replay frame position.
672  * @return Operation status.
673  */
674 GoFx(kStatus) GoControl_PlaybackSeek(GoControl control, kSize position);
675 
676 /**
677  * Advance one frame in a replay.
678  *
679  * @public @memberof GoControl
680  * @version Introduced in firmware 4.0.10.27
681  * @param control GoControl object.
682  * @param direction The direction to seek.
683  * @return Operation status.
684  */
685 GoFx(kStatus) GoControl_PlaybackStep(GoControl control, GoSeekDirection direction);
686 
687 /**
688  * Get the current frame position in a replay.
689  *
690  * @public @memberof GoControl
691  * @version Introduced in firmware 4.0.10.27
692  * @param control GoControl object.
693  * @param position Replay frame position.
694  * @param count Replay frame count.
695  * @return Operation status.
696  */
697 GoFx(kStatus) GoControl_PlaybackPosition(GoControl control, kSize* position, kSize* count);
698 
699 /**
700  * Export an intensity bitmap file to local storage.
701  *
702  * @public @memberof GoControl
703  * @version Introduced in firmware 4.0.10.27
704  * @param control GoControl object.
705  * @param type The type of data to export.
706  * @param source The data source to obtain data from.
707  * @param dstFileName The destination file name.
708  * @return Operation status.
709  */
710 GoFx(kStatus) GoControl_ExportBitmap(GoControl control,
712  GoDataSource source,
713  const kChar* dstFileName);
714 
715 /**
716  * Export a CSV file to local storage.
717  *
718  * @public @memberof GoControl
719  * @version Introduced in firmware 4.0.10.27
720  * @param control GoControl object.
721  * @param dstFileName The destination file name.
722  * @return Operation status.
723  */
724 GoFx(kStatus) GoControl_ExportCsv(GoControl control, const kChar* dstFileName);
725 
726 /**
727  * Enable or disable sensor AutoStart.
728  *
729  * @public @memberof GoControl
730  * @version Introduced in firmware 4.0.10.27
731  * @param control GoControl object.
732  * @param enable kTRUE to enable AutoStart, kFALSE to disable it.
733  * @return Operation status.
734  */
735 GoFx(kStatus) GoControl_SetAutoStartEnabled(GoControl control, kBool enable);
736 
737 /**
738  * Returns the state of sensor AutoStart.
739  *
740  * @public @memberof GoControl
741  * @version Introduced in firmware 4.0.10.27
742  * @param control GoControl object.
743  * @param enabled A pointer to store the boolean state of sensor AutoStart. kTRUE if enabled and kFALSE if disabled.
744  * @return Operation status.
745  */
746 GoFx(kStatus) GoControl_GetAutoStartEnabled(GoControl control, kBool* enabled);
747 
748 kEndHeader()
749 #include <GoSdk/Internal/GoControl.x.h>
750 
751 #endif
Sensor state, login, alignment information, recording state, playback source, uptime, playback information, and auto-start setting state.
Definition: GoSdkDef.h:550
Represents a data input source.
Represents read-only sensor information.
kStatus GoControl_DeleteFile(GoControl control, const kChar *fileName)
Deletes a file within the connected sensor.
kStatus GoControl_SetDefaultJob(GoControl control, const kChar *fileName)
Sets a default job file to be loaded on boot.
Represents a playback seek direction.
Represents the replay export source type.
Represents a set of sensor command connections (control, upgrade).
kStatus GoControl_ChangeBuddy(GoControl control, kBool add, k32u buddyId)
Assigns or removes a buddy sensor.
kStatus GoControl_PlaybackStep(GoControl control, GoSeekDirection direction)
Advance one frame in a replay.
kStatus GoControl_ExportCsv(GoControl control, const kChar *dstFileName)
Export a CSV file to local storage.
kStatus GoControl_ClearAlignment(GoControl control)
Clears the sensor alignment.
kStatus GoControl_BeginExposureAutoSet(GoControl control, GoRole role)
Sends an exposure auto set command to a sensor, but doesn't wait for the response.
Represents a user role.
kStatus GoControl_GetTimestamp(GoControl control, k64u *time)
Gets the current time stamp value(common among all synchronized sensors).
kStatus GoControl_GetAlignmentReference(GoControl control, GoAlignmentRef *reference)
Gets the alignment reference for a sensor.
kStatus GoControl_CopyFile(GoControl control, const kChar *source, const kChar *destination)
Copies a file within the connected sensor.
kStatus GoControl_Reset(GoControl control)
Reboots the main sensor and any connected buddy sensors.
Represents a data source.
kStatus GoControl_GetUpgradeStatus(GoControl control, kBool *complete, kBool *succeeded, k32s *progress)
Polls for upgrade status.
kStatus GoControl_GetSensorInfo(GoControl control, GoSensorInfo localInfo, kArrayList remoteInfoList)
Gets current sensor state information.
kStatus GoControl_GetAutoStartEnabled(GoControl control, kBool *enabled)
Returns the state of sensor AutoStart.
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.
kStatus GoControl_EndAlignment(GoControl control)
Waits for a alignment response from a sensor.
kStatus GoControl_ClearReplayData(GoControl control)
Clear the sensor's replay data.
Declares the GoSensorInfo class.
kStatus GoControl_ReadFile(GoControl control, const kChar *fileName, kByte **data, kSize *size, kAlloc allocator)
Reads a file from the connected sensor.
kStatus GoControl_Login(GoControl control, GoUser user, const kChar *password)
Logs into the sensor using the specified user name and password.
kStatus GoControl_GetStates(GoControl control, GoStates *states)
Retrieves a set of various sensor states for the sensor associated with the control connection...
kStatus GoControl_Close(GoControl control)
Closes all open command connections.
kStatus GoControl_BeginAlignment(GoControl control)
Sends a alignment command to a sensor, but doesn't wait for the response.
kStatus GoControl_EndExposureAutoSet(GoControl control)
Waits for a exposure auto set response from a sensor.
Essential SDK declarations.
kStatus GoControl_GetInputSource(GoControl control, GoInputSource *source)
Gets the sensor's data input source.
kStatus GoControl_EndScheduledStart(GoControl control)
Waits for a scheduled start response from a sensor.
kStatus GoControl_SetAlignmentReference(GoControl control, GoAlignmentRef reference)
Sets the alignment reference for a sensor.
kStatus GoControl_Trigger(GoControl control)
Sends a software trigger to the sensor.
kStatus GoControl_SetRecordingEnabled(GoControl control, kBool enable)
Enables recording on the sensor.
kStatus GoControl_GetDefaultJob(GoControl control, kChar *fileName, kSize capacity)
Gets the name of the default job file to be loaded on boot.
kStatus GoControl_ScheduleAnalog(GoControl control, k16u index, k64s target, k32s value)
Schedules an analog output.
kStatus GoControl_ChangePassword(GoControl control, GoUser user, const kChar *password)
Changes the password associated with the specified user account.
kStatus GoControl_PlaybackSeek(GoControl control, kSize position)
Seek to the specified frame position for a replay.
kStatus GoControl_SetInputSource(GoControl control, GoInputSource source)
Sets the sensor's data input source.
kStatus GoControl_SetCancelHandler(GoControl control, kCallbackFx function, kPointer receiver)
Sets an I/O cancellation query handler for this control object.
kStatus GoControl_Construct(GoControl *control, kAlloc allocator)
Constructs a GoControl object.
Represents a user id.
kStatus GoControl_ReadFileList(GoControl control, kArrayList files, const kChar *extensionFilter)
Reads the list of available sensor files.
Represents an alignment reference.
kVersion GoControl_ProtocolVersion(GoControl control)
Gets the connected sensor's protocol version.
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.
kStatus GoControl_BeginUpgrade(GoControl control, void *data, kSize size)
Begins a sensor firmware upgrade.
kStatus GoControl_GetScanMode(GoControl control, GoMode *mode)
Gets the sensor's scan mode.
kStatus GoControl_GetRecordingEnabled(GoControl control, kBool *enabled)
Gets the sensor's recording state.
kStatus GoControl_SetAutoStartEnabled(GoControl control, kBool enable)
Enable or disable sensor AutoStart.
kStatus GoControl_Restore(GoControl control, const kByte *fileData, kSize size)
Restores a backup of sensor files.
kStatus GoControl_ClearMeasurementStats(GoControl control)
Clear the sensor's measurement statistics.
kStatus GoControl_ScheduleDigital(GoControl control, k16u index, k64s target, k8u value)
Schedules a digital output.
kBool GoControl_IsCompatible(GoControl control)
Reports whether the GoControl object is compatible with the sensor firmware.
kStatus GoControl_BeginStop(GoControl control)
Sends a stop command to a sensor, but doesn't wait for the response.
kBool GoControl_IsConnected(GoControl control)
Reports whether the control object has been opened.
kStatus GoControl_GetEncoder(GoControl control, k64s *encoder)
Gets the current system encoder value.
Represents a scan mode.
kStatus GoControl_EndStart(GoControl control)
Waits for a start response from a sensor.
kStatus GoControl_EndStop(GoControl control)
Waits for a stop response from a sensor.
kStatus GoControl_Backup(GoControl control, kByte **fileData, kSize *size, kAlloc allocator)
Creates and downloads a backup of sensor files.
kStatus GoControl_RestoreFactory(GoControl control, kBool restoreAddress)
Restores factory default settings.
kStatus GoControl_PlaybackPosition(GoControl control, kSize *position, kSize *count)
Get the current frame position in a replay.
kStatus GoControl_Open(GoControl control, kIpAddress address)
Opens connections to the specified sensor IP address.
kStatus GoControl_WriteFile(GoControl control, const kChar *fileName, const kByte *data, kSize size)
Writes a file to the connected sensor.
kStatus GoControl_Simulate(GoControl control, kBool *isBufferValid)
Simulate the current frame stored on the sensor's live replay buffer.
kStatus GoControl_ExportBitmap(GoControl control, GoReplayExportSourceType type, GoDataSource source, const kChar *dstFileName)
Export an intensity bitmap file to local storage.
kStatus GoControl_BeginStart(GoControl control)
Sends a start command to a sensor with the currently selected input source, but doesn't wait for the ...
kStatus GoControl_ClearLog(GoControl control)
Clears the sensor log file.