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