Gocator API
GoSensor.h
Go to the documentation of this file.
1 /**
2  * @file GoSensor.h
3  * @brief Declares the GoSensor class.
4  *
5  * @internal
6  * Copyright (C) 2016-2025 by LMI Technologies Inc.
7  * Licensed under the MIT License.
8  * Redistributed files must retain the above copyright notice.
9  */
10 #ifndef GO_SENSOR_H
11 #define GO_SENSOR_H
12 
13 #include <GoSdk/GoSdkDef.h>
14 #include <GoSdk/GoSetup.h>
15 #include <GoSdk/GoPartModel.h>
16 #include <GoSdk/GoReplay.h>
17 #include <GoSdk/GoTransform.h>
18 #include <GoSdk/GoSensorInfo.h>
19 #include <GoSdk/GoGeoCal.h>
22 #include <GoSdk/Outputs/GoOutput.h>
23 #include <GoSdk/Tools/GoTools.h>
24 
25 #define GO_SENSOR_LIVE_JOB_NAME "_live.job" //<<< Represents the active live job on the sensor
26 #define GO_SENSOR_LIVE_LOG_NAME "_live.log" //<<< Represents the log file on the sensor
27 #define GO_SENSOR_LIVE_REPLAY "_live.rec" //<<< Represents the current recording on the sensor
28 #define GO_SENSOR_LIVE_REPLAY_STREAM "_livestream.rec" //<<< Represents the current recording stream on the sensor
29 
30 /**
31  * @class GoSensor
32  * @extends kObject
33  * @ingroup GoSdk
34  * @brief Represents a Gocator sensor.
35  */
36 typedef kObject GoSensor;
37 
38 /**
39  * Initiates a sensor configuration, model file, and transformation synchronization
40  * if modifications are present.
41  *
42  * @public @memberof GoSensor
43  * @version Introduced in firmware 4.0.10.27
44  * @param sensor GoSensor object.
45  * @return Operation status.
46  */
47 GoFx(kStatus) GoSensor_Flush(GoSensor sensor);
48 
49 /**
50  * Configures a sensor's network address settings.
51  *
52  * WARNING! This operation writes to flash storage.
53  * Review the user manual for implications.
54  *
55  * This function uses UDP broadcasts for sensor configuration; the sensor does not need to
56  * be connected, and can be on a different subnet than the client.
57  *
58  * The sensor will automatically reboot if the address is successfully changed.
59  *
60  * @public @memberof GoSensor
61  * @version Introduced in firmware 4.0.10.27
62  * @param sensor GoSensor object.
63  * @param info New address settings.
64  * @param wait Should this function block until the sensor finishes rebooting?
65  * @return Operation status.
66  * @remark Calling this function will result in writing operations to flash storage. Should the process be disrupted due to power loss or other factors, the sensor may enter Rescue mode.
67  */
68 GoFx(kStatus) GoSensor_SetAddress(GoSensor sensor, const GoAddressInfo* info, kBool wait);
69 
70 /**
71  * Retrieves the sensor's network address settings.
72  *
73  * @public @memberof GoSensor
74  * @version Introduced in firmware 4.0.10.27
75  * @param sensor GoSensor object.
76  * @param info Receives current address configuration.
77  * @return Operation status.
78  */
79 GoFx(kStatus) GoSensor_Address(GoSensor sensor, GoAddressInfo* info);
80 
81 /**
82  * Creates a connection to the sensor.
83  *
84  * @public @memberof GoSensor
85  * @version Introduced in firmware 4.0.10.27
86  * @param sensor GoSensor object.
87  * @return Operation status.
88  */
89 GoFx(kStatus) GoSensor_Connect(GoSensor sensor);
90 
91 /**
92  * Disconnects from the sensor. Do not call this function when state is locked
93  * with GoSensor_LockState().
94  *
95  * @public @memberof GoSensor
96  * @version Introduced in firmware 4.0.10.27
97  * @param sensor GoSensor object.
98  * @return Operation status.
99  */
100 GoFx(kStatus) GoSensor_Disconnect(GoSensor sensor);
101 
102 /**
103  * Reports whether the sensor is currently connected. If sensors are temporarily unreachable, they do not leave
104  * isConnected state. You can use GoSensor_IsResponsive for this case. You can optionally call GoSensor_Disconnect if
105  * unresponsive for too long, or GoSensor_Refresh to trigger discovery cycles that can update the connection status.
106  *
107  * See \ref detDisconnect for more details.
108  *
109  * @public @memberof GoSensor
110  * @version Introduced in firmware 4.0.10.27
111  * @param sensor GoSensor object.
112  * @return kTRUE if the sensor is connected, kFALSE otherwise.
113  */
114 GoFx(kBool) GoSensor_IsConnected(GoSensor sensor);
115 
116 /**
117  * Reports whether the sensor is currently responsive.
118  *
119  * See \ref detDisconnect for more details.
120  *
121  * @public @memberof GoSensor
122  * @version Introduced in firmware 5.0.2.0
123  * @param sensor GoSensor object.
124  * @return kTRUE if the sensor is responsive kFALSE otherwise.
125  */
126 GoFx(kBool) GoSensor_IsResponsive(GoSensor sensor);
127 
128 /**
129  * Reports whether the connected sensor's protocol version is compatible with the SDK's protocol version.
130  *
131  * @public @memberof GoSensor
132  * @version Introduced in firmware 4.4.4.14
133  * @param sensor GoSensor object.
134  * @return kTRUE if the sensor is compatible, kFALSE otherwise.
135  */
136 GoFx(kBool) GoSensor_IsCompatible(GoSensor sensor);
137 
138 /**
139  * Refreshes sensor state.
140  *
141  * Unresponsive sensors will be disconnected, and canceled sensors will be reconnected.
142  * Sensors in any other state will discard all locally-cached information.
143  *
144  * This function should be used to update sensors in the GO_SENSOR_INCONSISTENT state. This
145  * state can arise due to buddy changes performed by remote sensors (e.g. a main sensor boots
146  * and claims ownership of a buddy sensor, but the buddy sensor has already been detected and
147  * loaded as a main sensor by the client).
148  *
149  * See \ref detDisconnect for more details.
150  *
151  * @public @memberof GoSensor
152  * @version Introduced in firmware 4.0.10.27
153  * @param sensor GoSensor object.
154  * @return kTRUE if the sensor is connected; kFALSE otherwise.
155  */
156 GoFx(kStatus) GoSensor_Refresh(GoSensor sensor);
157 
158 /**
159  * Assigns a buddy sensor.
160  *
161  * This function is asynchronous, use GoSensor_AddBuddyBlocking() for synchronous version.
162  *
163  * NOTE: The provided buddy sensor handle must already be connected.
164  *
165  * @public @memberof GoSensor
166  * @version Introduced in firmware 4.0.10.27
167  * @param sensor GoSensor object.
168  * @param buddy Sensor to be assigned as buddy.
169  * @return Operation status.
170  * @see GoSensor_Connect, GoSensor_HasBuddy, GoSensor_BuddyId, GoSensor_RemoveBuddy
171  */
172 GoFx(kStatus) GoSensor_AddBuddy(GoSensor sensor, GoSensor buddy);
173 
174 /**
175 * Synchronously assigns a buddy sensor.
176 *
177 * NOTE: The provided buddy sensor handle must already be connected.
178 *
179 * @public @memberof GoSensor
180 * @version Introduced in firmware 4.8.1.65
181 * @param sensor GoSensor object.
182 * @param buddy Sensor to be assigned as buddy.
183 * @return Operation status.
184 * @see GoSensor_Connect, GoSensor_HasBuddy, GoSensor_BuddyId, GoSensor_RemoveBuddy
185 */
187 
188 /**
189  * Removes the current buddy sensor.
190  *
191  * @public @memberof GoSensor
192  * @version Introduced in firmware 4.0.10.27
193  * @param sensor GoSensor object.
194  * @return Operation status.
195  */
197 
198 /**
199  * Reports whether a buddy had been assigned.
200  *
201  * @public @memberof GoSensor
202  * @version Introduced in firmware 4.0.10.27
203  * @param sensor GoSensor object.
204  * @return kTRUE if sensor has a buddy; kFALSE otherwise.
205  */
206 GoFx(kBool) GoSensor_HasBuddy(GoSensor sensor);
207 
208 /**
209  * Gets the buddy sensor's device ID.
210  *
211  * @public @memberof GoSensor
212  * @version Introduced in firmware 4.0.10.27
213  * @param sensor GoSensor object.
214  * @return Buddy device ID (or k32U_NULL if not assigned).
215  */
216 GoFx(k32u) GoSensor_BuddyId(GoSensor sensor);
217 
218 /**
219  * Gets the sensor's scan mode.
220  *
221  * @public @memberof GoSensor
222  * @version Introduced in firmware 4.0.10.27
223  * @param sensor GoSensor object.
224  * @return Scan mode.
225  */
226 GoFx(GoMode) GoSensor_ScanMode(GoSensor sensor);
227 
228 /**
229  * Enables or disables the sensor's data channel. After using GoSensor_EnableData function, SDK application is responsible
230  * for disposing of the GoDataSet objects that hold the data received from the sensor on the data connection.
231  *
232  * @public @memberof GoSensor
233  * @version Introduced in firmware 4.0.10.27
234  * @param sensor GoSensor object.
235  * @param enable kTRUE to enable, or kFALSE to disable.
236  * @return Operation status.
237  */
238 GoFx(kStatus) GoSensor_EnableData(GoSensor sensor, kBool enable);
239 
240 /**
241  * Starts the sensor.
242  *
243  * @public @memberof GoSensor
244  * @version Introduced in firmware 4.0.10.27
245  * @param sensor GoSensor object.
246  * @return Operation status.
247  */
248 GoFx(kStatus) GoSensor_Start(GoSensor sensor);
249 
250 /**
251  * Checks if the sensor is ready to start, if all assigned buddies are connected.
252  *
253  * See \ref detDisconnect for more details.
254  *
255  * @public @memberof GoSensor
256  * @version Introduced in firmware 5.2.18.3
257  * @param sensor GoSensor object.
258  * @return Operation status.
259  */
260 GoFx(kBool) GoSensor_CanStart(GoSensor sensor);
261 
262 /**
263  * Starts the sensor at a scheduled value.
264  *
265  * @public @memberof GoSensor
266  * @version Introduced in firmware 4.1.3.106
267  * @param sensor GoSensor object.
268  * @param value Scheduled start value. uS when time triggered and ticks when encoder triggered.
269  * @return Operation status.
270  * @see GoSetup_SetTriggerSource, GoSetup_TriggerSource, GoSystem_Timestamp, GoSystem_Encoder
271  */
272 GoFx(kStatus) GoSensor_ScheduledStart(GoSensor sensor, k64s value);
273 
274 /**
275  * Stops the sensor.
276  *
277  * @public @memberof GoSensor
278  * @version Introduced in firmware 4.0.10.27
279  * @param sensor GoSensor object.
280  * @return Operation status.
281  */
282 GoFx(kStatus) GoSensor_Stop(GoSensor sensor);
283 
284 /**
285  * Performs a sensor snapshot.
286  *
287  * A snapshot starts the sensor, takes a scan, and immediately stops the sensor.
288  * Because the sensor is stopped after every snapshot, some asynchronous activities such
289  * as digital output may not have enough time to occur. Algorithms that maintain memory
290  * between scans would also be reset for every snapshot. The only guarantee that
291  * can be made is that the data is delivered over the SDK.
292  *
293  * Because of these limitations, GoSensor_Trigger should usually be used instead.
294  *
295  * @public @memberof GoSensor
296  * @version Introduced in firmware 5.2.1.x
297  * @param sensor GoSensor object.
298  * @return Operation status.
299  */
300 GoFx(kStatus) GoSensor_Snapshot(GoSensor sensor);
301 
302 /**
303  * Perform alignment using the configured alignment type and target.
304  *
305  * NOTE: This operation will result in a sensor start for the duration of the
306  * alignment. It can be canceled via GoSensor_Stop. This function's operation
307  * status does not correspond to the actual alignment result. In order to
308  * retrieve the alignment result, you must enable the data channel before calling
309  * this function, receive an alignment data message and then check its status.
310  *
311  * WARNING! This operation may (depending on alignment reference) write to flash storage.
312  * Review the user manual for implications.
313  *
314  * @public @memberof GoSensor
315  * @version Introduced in firmware 4.0.10.27
316  * @param sensor GoSensor object.
317  * @return Operation status.
318  * @see GoSensor_EnableData, GoSystem_ReceiveData, GoSetup_AlignmentType, GoSetup_AlignmentMovingTarget, GoSetup_AlignmentStationaryTarget, GoAlignMsg_Status, GoSensor_Stop
319  * @remark Calling this function will result in writing operations to flash storage. Should the process be disrupted due to power loss or other factors, the sensor may enter Rescue mode.
320  */
321 GoFx(kStatus) GoSensor_Align(GoSensor sensor);
322 
323 
324 /**
325  * Clears the current sensor alignment.
326  *
327  * WARNING! This operation writes to flash storage.
328  * Review the user manual for implications.
329  *
330  * @public @memberof GoSensor
331  * @version Introduced in firmware 4.1.3.106
332  * @param sensor GoSensor object.
333  * @return Operation status.
334  * @see GoSensor_Align
335  * @remark Calling this function will result in writing operations to flash storage. Should the process be disrupted due to power loss or other factors, the sensor may enter Rescue mode.
336  */
338 
339 
340 /**
341  * Perform an exposure auto set.
342  *
343  * NOTE: This operation will result in a sensor start for the duration of the
344  * exposure AutoSet. A successful operation status does NOT modify the configuration.
345  * You must retrieve the resulting exposure value and set it for the appropriate
346  * exposure setting. This involves enabling the data connection prior to running
347  * exposure auto set and then receiving an exposure auto set message, which
348  * you can then use to query the status and access the resulting value.
349  *
350  * @public @memberof GoSensor
351  * @version Introduced in firmware 4.0.10.27
352  * @param sensor GoSensor object.
353  * @param role Determines which device to apply changes to. Use GO_ROLE_MAIN or GOROLE_BUDDYIDX(buddyidx). See GoRole for more details.
354  * @return Operation status.
355  * @see GoRole, GoSensor_EnableData, GoSystem_ReceiveData, GoExposureCalMsg_Status, GoExposureCalMsg_Exposure
356  */
357 GoFx(kStatus) GoSensor_ExposureAutoSet(GoSensor sensor, GoRole role);
358 
359 /**
360  * Gets the alignment state of the sensor.
361  *
362  * @public @memberof GoSensor
363  * @version Introduced in firmware 4.0.10.27
364  * @param sensor GoSensor object.
365  * @return A GoAlignmentState.
366  */
368 
369 
370 /**
371  * Sets the alignment reference of the sensor.
372  *
373  * @public @memberof GoSensor
374  * @version Introduced in firmware 4.0.10.27
375  * @param sensor GoSensor object.
376  * @param reference The alignment reference value to set.
377  * @return Operation status.
378  */
380 
381 /**
382  * Gets the alignment reference of the sensor.
383  *
384  * @public @memberof GoSensor
385  * @version Introduced in firmware 4.0.10.27
386  * @param sensor GoSensor object.
387  * @param reference A pointer that will hold the current alignment reference value.
388  * @return Operation status.
389  */
391 
392 /**
393  * Reboots the main sensor and any connected buddy sensors.
394  *
395  * @public @memberof GoSensor
396  * @version Introduced in firmware 4.0.10.27
397  * @param sensor GoSensor object.
398  * @param wait kTRUE to wait for reboot and then reconnect.
399  * @return Operation status.
400  */
401 GoFx(kStatus) GoSensor_Reset(GoSensor sensor, kBool wait);
402 
403 /**
404  * Resets the encoder value. NOTE: This is only possible with a direct encoder
405  * connection to a sensor. Resetting the encoder value when connected to a Master
406  * device will not work.
407  *
408  * @public @memberof GoSensor
409  * @version Introduced in firmware 4.5.3.57
410  * @param sensor GoSensor object.
411  * @return Operation status.
412  */
414 
415 /**
416  * Aborts ongoing sensor communication.
417  *
418  * This method asynchronously aborts ongoing communication; the next time that any
419  * I/O operation blocks for an extended period of time, it will be terminated. This method
420  * is thread-safe.
421  *
422  * In order to resume communication, call GoSensor_Refresh or GoSensor_Connect.
423  *
424  * @public @memberof GoSensor
425  * @version Introduced in firmware 4.0.10.27
426  * @param sensor GoSensor object.
427  * @return Operation status.
428  */
429 GoFx(kStatus) GoSensor_Cancel(GoSensor sensor);
430 
431 /**
432  * Gets the current time stamp (common among all synchronized sensors).
433  *
434  * @public @memberof GoSensor
435  * @version Introduced in firmware 4.0.10.27
436  * @param sensor GoSensor object.
437  * @param time Receives the current time stamp(us).
438  * @return Operation status.
439  */
440 GoFx(kStatus) GoSensor_Timestamp(GoSensor sensor, k64u* time);
441 
442 /**
443  * Gets the current encoder count from the sensor. This is useful when an encoder value is needed
444  * while the sensor is not started and thus not producing data with encoder values in the stamp.
445  *
446  * Note that this function sends a command to the sensor, where the current encoder value is read
447  * and then sent back in a reply message. So this is not the most accurate method of reading the
448  * encoder value. To read the encoder value of a specific frame of data, use the encoder value
449  * from the GoStamp received as GO_DATA_MESSAGE_TYPE_STAMP.
450  *
451  * @public @memberof GoSensor
452  * @version Introduced in firmware 4.0.10.27
453  * @param sensor GoSensor object.
454  * @param encoder Receives the encoder count (ticks).
455  * @return Operation status.
456  */
457 GoFx(kStatus) GoSensor_Encoder(GoSensor sensor, k64s* encoder);
458 
459 /**
460  * Sends a software trigger to the sensor.
461  *
462  * This method is used in conjunction with sensors that are configured to accept
463  * software triggers. The sensor must be running (e.g. by calling GoSensor_Start)
464  * for triggers to be accepted.
465  *
466  * When the trigger mode is set to Software, this command will trigger individual
467  * frames in Profile or Surface mode. For G2 sensors with other trigger modes,
468  * this command can also be used to trigger Fixed Length surface generation when
469  * the Fixed Length Start Trigger option is set to "Software".
470  *
471  * @public @memberof GoSensor
472  * @version Introduced in firmware 4.0.10.27
473  * @param sensor GoSensor object.
474  * @return Operation status.
475  * @see GoSetup_TriggerSource, GoSetup_SetTriggerSource
476  */
477 GoFx(kStatus) GoSensor_Trigger(GoSensor sensor);
478 
479 /**
480  * Schedules a digital output.
481  *
482  * This method requires that the output is configured to trigger on software control.
483  *
484  * @public @memberof GoSensor
485  * @version Introduced in firmware 4.0.10.27
486  * @param sensor GoSensor object.
487  * @param index The digital output index.
488  * @param target The time or position target (us or mm), depending on GoDomain. Ignored if
489  * GoDigital_ScheduleEnabled is false or GoDigital_SignalType is pulsed.
490  * @param value The value of scheduled output (0-Low or 1-High). Ignored if output
491  * GoDigital_SignalType is pulsed.
492  * @return Operation status.
493  */
494 GoFx(kStatus) GoSensor_EmitDigital(GoSensor sensor, k16u index, k64s target, k8u value);
495 
496 /**
497  * Schedules an analog output.
498  *
499  * This method requires that the output be configured to trigger on software control.
500  * NOTE: It is not possible to schedule a continuous output. The operation will
501  * fail accordingly if attempted.
502  *
503  * @public @memberof GoSensor
504  * @version Introduced in firmware 4.0.10.27
505  * @param sensor GoSensor object.
506  * @param index The analog output index.
507  * @param target The time or position target (us or mm), depending on GoDomain. Ignored if
508  * GoAnalog_ScheduleEnabled is false.
509  * @param value The value of the scheduled output (uA).
510  * @return Operation status.
511  */
512 GoFx(kStatus) GoSensor_EmitAnalog(GoSensor sensor, k16u index, k64s target, k32s value);
513 
514 /**
515  * Gets the number of files available from the connected sensor. This includes files that may not be visible through the web interface.
516  *
517  * @public @memberof GoSensor
518  * @version Introduced in firmware 4.0.10.27
519  * @param sensor GoSensor object.
520  * @return File count.
521  */
522 GoFx(kSize) GoSensor_FileCount(GoSensor sensor);
523 
524 /**
525  * Gets the file name at the specified index.
526  *
527  * @public @memberof GoSensor
528  * @version Introduced in firmware 4.0.10.27
529  * @param sensor GoSensor object.
530  * @param index Index of the desired file name.
531  * @param name Receives the name of the file.
532  * @param capacity Capacity of the file name buffer.
533  * @return Operation status.
534  */
535 GoFx(kStatus) GoSensor_FileNameAt(GoSensor sensor, kSize index, kChar* name, kSize capacity);
536 
537 /**
538  * Uploads a file to the connected sensor. The following is a list of
539  * macros representing common files used in this operation:
540  *
541  * @li GO_SENSOR_LIVE_JOB - Represents "_live.job".
542  * @li GO_SENSOR_LIVE_REPLAY - Represents the recording file, "_live.rec".
543  *
544  * WARNING! This operation writes to flash storage.
545  * Review the user manual for implications.
546  *
547  * @public @memberof GoSensor
548  * @version Introduced in firmware 4.0.10.27
549  * @param sensor GoSensor object.
550  * @param sourcePath Source file system path for the file to be uploaded.
551  * @param destName Destination name for the uploaded file (maximum 63 characters).
552  * @return Operation status.
553  * @remark Calling this function will result in writing operations to flash storage if the destination is not a live file. Should the process be disrupted due to power loss or other factors, the sensor may enter Rescue mode.
554  */
555 GoFx(kStatus) GoSensor_UploadFile(GoSensor sensor, const kChar* sourcePath, const kChar* destName);
556 
557 /**
558  * Downloads a file from the connected sensor. The following is a list of
559  * macros representing common files used in this operation:
560  *
561  * @li GO_SENSOR_LIVE_JOB - Represents "_live.job".
562  * @li GO_SENSOR_LIVE_REPLAY - Represents the recording file, "_live.rec".
563  *
564  * File names of saved jobs may also be specified.
565  *
566  * @public @memberof GoSensor
567  * @version Introduced in firmware 4.0.10.27
568  * @param sensor GoSensor object.
569  * @param sourceName Source name of the file to be downloaded.
570  * @param destPath Destination file system path for the file to be downloaded.
571  * @return Operation status.
572  */
573 GoFx(kStatus) GoSensor_DownloadFile(GoSensor sensor, const kChar* sourceName, const kChar* destPath);
574 
575 /**
576  * Copies a file within the connected sensor.
577  *
578  * If the destination file name is GO_SENSOR_LIVE_JOB_NAME, then the configuration job
579  * file used by the sensor is changed (ie. a job/load switch operation takes place).
580  * To do a job load/switch, the sensor is first stopped before the job load/switch.
581  * After the job load/switch, the sensor remains stopped, to match the behaviour
582  * of loading/switching a job file from the GUI.
583  *
584  * WARNING! This operation writes to flash storage.
585  * Review the user manual for implications.
586  *
587  * NOTE: if doing a job load/switch, this API leaves the sensor stopped. User must
588  * explicitly start the sensor again.
589  *
590  * @public @memberof GoSensor
591  * @version Introduced in firmware 4.0.10.27
592  * @param sensor GoSensor object.
593  * @param sourceName Source name for the file to be copied.
594  * @param destName Destination name for the file (maximum 63 characters).
595  * @return Operation status.
596  * @remark Calling this function can result in writing operations to flash storage if the destination is not a live file(e.g. "_live.job"). Should the process be disrupted due to power loss or other factors, the sensor may enter Rescue mode.
597  * @see GoSensor_UploadFile()
598  */
599 GoFx(kStatus) GoSensor_CopyFile(GoSensor sensor, const kChar* sourceName, const kChar* destName);
600 
601 /**
602  * Deletes a file within the connected sensor.
603  *
604  * @public @memberof GoSensor
605  * @version Introduced in firmware 4.0.10.27
606  * @param sensor GoSensor object.
607  * @param name Name of the file to be deleted.
608  * @return Operation status.
609  * @remark Calling this function will result in writing operations to flash storage. Should the process be disrupted due to power loss or other factors, the sensor may enter Rescue mode.
610  */
611 GoFx(kStatus) GoSensor_DeleteFile(GoSensor sensor, const kChar* name);
612 
613 /**
614  * Checks whether the specified file is present on the sensor.
615  *
616  * WARNING! This operation writes to flash storage.
617  * Review the user manual for implications.
618  *
619  * @public @memberof GoSensor
620  * @version Introduced in firmware 4.0.10.27
621  * @param sensor GoSensor object.
622  * @param name Name of the file to be checked.
623  * @return Operation status.
624  */
625 GoFx(kBool) GoSensor_FileExists(GoSensor sensor, const kChar* name);
626 
627 /**
628  * Gets the available storage space remaining for user files.
629  *
630  * @public @memberof GoSensor
631  * @version
632  * @param sensor GoSensor object.
633  * @return Storage space available.
634  */
636 
637 /**
638  * Gets the storage space used for user files.
639  *
640  * @public @memberof GoSensor
641  * @version
642  * @param sensor GoSensor object.
643  * @return Storage space used.
644  */
646 
647 /**
648  * Sets a default job file to be loaded on boot.
649  *
650  * WARNING! This operation writes to flash storage.
651  * Review the user manual for implications.
652  *
653  * @public @memberof GoSensor
654  * @version Introduced in firmware 4.0.10.27
655  * @param sensor GoSensor object.
656  * @param fileName Name of the default file.
657  * @return Operation status.
658  * @remark Calling this function will result in writing operations to flash storage. Should the process be disrupted due to power loss or other factors, the sensor may enter Rescue mode.
659  */
660 GoFx(kStatus) GoSensor_SetDefaultJob(GoSensor sensor, const kChar* fileName);
661 
662 /**
663  * Gets the name of the default job file to be loaded on boot.
664  *
665  * @public @memberof GoSensor
666  * @version Introduced in firmware 4.0.10.27
667  * @param sensor GoSensor object.
668  * @param fileName Receives name of the default file.
669  * @param capacity Name buffer capacity.
670  * @return Operation status.
671  */
672 GoFx(kStatus) GoSensor_DefaultJob(GoSensor sensor, kChar* fileName, kSize capacity);
673 
674 /**
675  * Gets the name of the loaded job file and whether it has been modified since loading.
676  *
677  * @public @memberof GoSensor
678  * @version Introduced in firmware 4.0.10.27
679  * @param sensor GoSensor object.
680  * @param fileName Receives name of the loaded file.
681  * @param capacity Name buffer capacity.
682  * @param changed Receives the status of whether the file has changed.
683  * @return Operation status.
684  */
685 GoFx(kStatus) GoSensor_LoadedJob(GoSensor sensor, kChar* fileName, kSize capacity, kBool* changed);
686 
687 /**
688  * Logs into the sensor using the specified user name and password.
689  *
690  * Logging in is not required in order to programmatically control a sensor. The Gocator log-in feature is
691  * intended only to support administrative user interfaces, by allowing the username and password to be
692  * stored in the sensor.
693  *
694  * @public @memberof GoSensor
695  * @version Introduced in firmware 4.0.10.27
696  * @param sensor GoSensor object.
697  * @param user User account.
698  * @param password User password.
699  * @return Operation status.
700  */
701 GoFx(kStatus) GoSensor_LogIn(GoSensor sensor, GoUser user, const kChar* password);
702 
703 /**
704  * Changes the password associated with the specified user account.
705  *
706  * WARNING! This operation writes to flash storage.
707  * Review the user manual for implications.
708  *
709  * @public @memberof GoSensor
710  * @version Introduced in firmware 4.0.10.27
711  * @param sensor GoSensor object.
712  * @param user User account.
713  * @param password New password.
714  * @return Operation status.
715  * @remark Calling this function will result in writing operations to flash storage. Should the process be disrupted due to power loss or other factors, the sensor may enter Rescue mode.
716  */
717 GoFx(kStatus) GoSensor_ChangePassword(GoSensor sensor, GoUser user, const kChar* password);
718 
719 /**
720  * Upgrades sensor firmware.
721  *
722  * This function will block until the upgrade is completed.
723  *
724  * WARNING! This operation writes to flash storage.
725  * Review the user manual for implications.
726  *
727  * This function results in flash storage modifications. If modifications are interrupted due to
728  * power loss, the sensor may reboot into Rescue mode.
729  *
730  * The sensor does not need to be connected to perform an upgrade.
731  *
732  * @public @memberof GoSensor
733  * @version Introduced in firmware 4.0.10.27 and updated in 4.3.3.124
734  * @param sensor GoSensor object.
735  * @param sourcePath Local file system path to the upgrade file.
736  * @param onUpdate Callback function to receive progress updates, or kNULL.
737  * @param context Context handle to be passed to the upgrade callback.
738  * @return Operation status.
739  */
740 GoFx(kStatus) GoSensor_Upgrade(GoSensor sensor, const kChar* sourcePath, GoUpgradeFx onUpdate, kPointer context);
741 
742 /**
743  * Creates a backup of sensor files and downloads the backup to the specified location.
744  *
745  * @public @memberof GoSensor
746  * @version Introduced in firmware 4.0.10.27
747  * @param sensor GoSensor object.
748  * @param destPath Local file system path for the saved backup file.
749  * @return Operation status.
750  */
751 GoFx(kStatus) GoSensor_Backup(GoSensor sensor, const kChar* destPath);
752 
753 /**
754  * Restores a backup of sensor files.
755  *
756  * WARNING! This operation writes to flash storage.
757  * Review the user manual for implications.
758  *
759  * @public @memberof GoSensor
760  * @version Introduced in firmware 4.0.10.27
761  * @param sensor GoSensor object.
762  * @param sourcePath Local file system path of the saved backup file.
763  * @return Operation status.
764  * @remark Calling this function will result in writing operations to flash storage. Should the process be disrupted due to power loss or other factors, the sensor may enter Rescue mode.
765  */
766 GoFx(kStatus) GoSensor_Restore(GoSensor sensor, const kChar* sourcePath);
767 
768 /**
769  * Restores factory default settings.
770  *
771  * WARNING! This operation writes to flash storage.
772  * Review the user manual for implications.
773  *
774  * @public @memberof GoSensor
775  * @version Introduced in firmware 4.0.10.27
776  * @param sensor GoSensor object.
777  * @param restoreAddress kTRUE to restore the factory default IP address; False otherwise.
778  * @return Operation status.
779  * @remark Calling this function will result in writing operations to flash storage. Should the process be disrupted due to power loss or other factors, the sensor may enter Rescue mode.
780  */
781 GoFx(kStatus) GoSensor_RestoreDefaults(GoSensor sensor, kBool restoreAddress);
782 
783 /**
784  * Gets the GoSetup instance associated with the sensor.
785  *
786  * @public @memberof GoSensor
787  * @version Introduced in firmware 4.0.10.27
788  * @param sensor GoSensor object.
789  * @return A GoSetup object module
790  */
791 GoFx(GoSetup) GoSensor_Setup(GoSensor sensor);
792 
793 /**
794  * Gets the sensor's tools module, used for measurement configuration.
795  *
796  * @public @memberof GoSensor
797  * @version Introduced in firmware 4.0.10.27
798  * @param sensor GoSensor object.
799  * @return Measurement configuration module.
800  */
801 GoFx(GoTools) GoSensor_Tools(GoSensor sensor);
802 
803 /**
804  * Gets the output module, used for output configuration.
805  *
806  * @public @memberof GoSensor
807  * @version Introduced in firmware 4.0.10.27
808  * @param sensor GoSensor object.
809  * @return Output configuration module.
810  */
811 GoFx(GoOutput) GoSensor_Output(GoSensor sensor);
812 
813 /**
814  * Gets the transform module, used for transformation configuration.
815  *
816  * @public @memberof GoSensor
817  * @version Introduced in firmware 4.0.10.27
818  * @param sensor GoSensor object.
819  * @return Transformation configuration module.
820  */
822 
823 /**
824  * Gets the replay module, used for replay configuration.
825  *
826  * @public @memberof GoSensor
827  * @version Introduced in firmware 4.5.3.57
828  * @param sensor GoSensor object.
829  * @return Replay configuration module.
830  */
831 GoFx(GoReplay) GoSensor_Replay(GoSensor sensor);
832 
833 /**
834  * Gets the device identifier associated with this sensor.
835  *
836  * @public @memberof GoSensor
837  * @version Introduced in firmware 4.0.10.27
838  * @param sensor GoSensor object.
839  * @return The sensor's device ID.
840  */
841 GoFx(k32u) GoSensor_Id(GoSensor sensor);
842 
843 /**
844  * Gets the part number associated with this sensor.
845  *
846  * @public @memberof GoSensor
847  * @version Introduced in firmware 5.3.17.23
848  * @param sensor GoSensor object.
849  * @param partNumber A character array pointer.
850  * @param capacity The character array capacity.
851  * @return Operation status.
852  */
853 GoFx(kStatus) GoSensor_PartNumber(GoSensor sensor, kChar* partNumber, kSize capacity);
854 
855 /**
856  * Gets the model display name associated with this sensor.
857  *
858  * @public @memberof GoSensor
859  * @version Introduced in firmware 5.3.17.23
860  * @param sensor GoSensor object.
861  * @param modelDisplayName A character array pointer.
862  * @param capacity The character array capacity.
863  * @return Operation status.
864  */
865 GoFx(kStatus) GoSensor_ModelDisplayName(GoSensor sensor, kChar* modelDisplayName, kSize capacity);
866 
867 /**
868  * Reports the current system state of the sensor from cache.
869  * Sends a command to the sensor if cache info is invalid.
870  * Cache info is invalidated during initialization, restore, buddying changes, etc.
871  * Thread safety is not guaranteed.
872  * Calling this from separate threads can cause concurrency issues.
873  *
874  * See \ref detDisconnect for more details.
875  *
876  * @public @memberof GoSensor
877  * @version Introduced in firmware 4.0.10.27
878  * @param sensor GoSensor object.
879  * @return Sensor state.
880  */
881 GoFx(GoState) GoSensor_State(GoSensor sensor);
882 
883 /**
884  * Reports various current states of the sensor associated with the control connection.
885  * Sends a command to the sensor.
886  * Thread safety is not guaranteed.
887  * Calling this from separate threads can cause concurrency issues.
888  *
889  * See \ref detDisconnect for more details.
890  *
891  * @public @memberof GoSensor
892  * @version Introduced in firmware 4.0.10.27
893  * @param sensor GoSensor object.
894  * @param states Reference to updated states.
895  * @return Operation status.
896  */
897 GoFx(kStatus) GoSensor_States(GoSensor sensor, GoStates* states);
898 
899 /**
900  * Gets the sensor's current role within the system.
901  *
902  * @public @memberof GoSensor
903  * @version Introduced in firmware 4.0.10.27
904  * @param sensor GoSensor object.
905  * @return Sensor role.
906  */
907 GoFx(GoRole) GoSensor_Role(GoSensor sensor);
908 
909 /**
910  * Reports the user account associated with the current user.
911  *
912  * @public @memberof GoSensor
913  * @version Introduced in firmware 4.0.10.27
914  * @param sensor GoSensor object.
915  * @return User account id.
916  */
917 GoFx(GoUser) GoSensor_User(GoSensor sensor);
918 
919 /**
920  * Gets the sensor's protocol version.
921  *
922  * @public @memberof GoSensor
923  * @version Introduced in firmware 4.0.10.27
924  * @param sensor GoSensor object.
925  * @return Protocol version.
926  */
928 
929 /**
930  * Gets the sensor's firmware version.
931  *
932  * @public @memberof GoSensor
933  * @version Introduced in firmware 4.0.10.27
934  * @param sensor GoSensor object.
935  * @return Firmware version.
936  */
938 
939 /**
940  * Sets the recording state of the sensor.
941  *
942  * @public @memberof GoSensor
943  * @version Introduced in firmware 4.0.10.27
944  * @param sensor GoSensor object.
945  * @param enable Enables or disables recording.
946  * @return Operation status.
947  */
948 GoFx(kStatus) GoSensor_EnableRecording(GoSensor sensor, kBool enable);
949 
950 /**
951  * Gets the recording state of the sensor.
952  *
953  * @public @memberof GoSensor
954  * @version Introduced in firmware 4.0.10.27
955  * @param sensor GoSensor object.
956  * @return kTRUE if recording is enabled. kFALSE otherwise.
957  */
959 
960 /**
961  * Sets the input source of the sensor.
962  *
963  * @public @memberof GoSensor
964  * @version Introduced in firmware 4.0.10.27
965  * @param sensor GoSensor object.
966  * @param source The input source to use.
967  * @return Operation status.
968  */
970 
971 /**
972  * Gets the input source currently used by the sensor.
973  *
974  * @public @memberof GoSensor
975  * @version Introduced in firmware 4.0.10.27
976  * @param sensor GoSensor object.
977  * @return A GoInputSource.
978  */
980 
981 /**
982  * Simulates the current frame in the live recording buffer.
983  *
984  * @public @memberof GoSensor
985  * @version Introduced in firmware 4.0.10.27
986  * @param sensor GoSensor object.
987  * @param isBufferValid kTRUE if the source simulation buffer was valid. kFALSE otherwise.
988  * @return Operation status.
989  */
990 GoFx(kStatus) GoSensor_Simulate(GoSensor sensor, kBool* isBufferValid);
991 
992 
993 /**
994  * Advances one frame from the current replay position.
995  *
996  * @public @memberof GoSensor
997  * @version Introduced in firmware 4.0.10.27
998  * @param sensor GoSensor object.
999  * @param direction Direction with which to step.
1000  * @return Operation status.
1001  */
1002 GoFx(kStatus) GoSensor_PlaybackStep(GoSensor sensor, GoSeekDirection direction);
1003 
1004 /**
1005  * Sets the current frame position for a replay.
1006  *
1007  * @public @memberof GoSensor
1008  * @version Introduced in firmware 4.0.10.27
1009  * @param sensor GoSensor object.
1010  * @param position The frame position to seek.
1011  * @return Operation status.
1012  */
1013 GoFx(kStatus) GoSensor_PlaybackSeek(GoSensor sensor, kSize position);
1014 
1015 /**
1016  * Gets the current replay frame position.
1017  *
1018  * @public @memberof GoSensor
1019  * @version Introduced in firmware 4.0.10.27
1020  * @param sensor GoSensor object.
1021  * @param position The current frame position index.
1022  * @param count The frame count.
1023  * @return Operation status.
1024  */
1025 GoFx(kStatus) GoSensor_PlaybackPosition(GoSensor sensor, kSize* position, kSize* count);
1026 
1027 /**
1028  * Clears the replay buffer.
1029  *
1030  * @public @memberof GoSensor
1031  * @version Introduced in firmware 4.0.10.27
1032  * @param sensor GoSensor object.
1033  * @return Operation status.
1034  */
1036 
1037 /**
1038  * Resets the measurement statistics reported by the health channel
1039  *
1040  * @public @memberof GoSensor
1041  * @version Introduced in firmware 4.0.10.27
1042  * @param sensor GoSensor object.
1043  * @return Operation status.
1044  */
1046 
1047 /**
1048  * Exports the current frame of a replay in the form of a bitmap.
1049  *
1050  * @public @memberof GoSensor
1051  * @version Introduced in firmware 4.0.10.27
1052  * @param sensor GoSensor object.
1053  * @param type The type of data to export.
1054  * @param source The device data source to export from.
1055  * @param dstFileName The destination file name of the exported bitmap file.
1056  * @return Operation status.
1057  */
1060  GoDataSource source,
1061  const kChar* dstFileName);
1062 
1063 /**
1064  * Exports replay data in CSV format.
1065  *
1066  * @public @memberof GoSensor
1067  * @version Introduced in firmware 4.0.10.27
1068  * @param sensor GoSensor object.
1069  * @param dstFileName The destination file name of the exported CSV file.
1070  * @return Operation status.
1071  */
1072 GoFx(kStatus) GoSensor_ExportCsv(GoSensor sensor, const kChar* dstFileName);
1073 
1074 /**
1075  * Returns an enumerator value representing the current sensor's family.
1076  *
1077  * @public @memberof GoSensor
1078  * @version Introduced in firmware 4.0.10.27
1079  * @param sensor GoSensor object.
1080  * @return A GoFamily value.
1081  */
1082 GoFx(GoFamily) GoSensor_Family(GoSensor sensor);
1083 
1084 /**
1085  * Clears the log file (_live.log).
1086  *
1087  * @public @memberof GoSensor
1088  * @version Introduced in firmware 4.0.10.27
1089  * @param sensor GoSensor object.
1090  * @return Operation status.
1091  */
1092 GoFx(kStatus) GoSensor_ClearLog(GoSensor sensor);
1093 
1094 /**
1095  * Sets the AutoStart enabled state of the sensor.
1096  *
1097  * @public @memberof GoSensor
1098  * @version Introduced in firmware 4.0.10.27
1099  * @param sensor GoSensor object.
1100  * @param enable The AutoStart enabled state to use.
1101  * @return Operation status.
1102  */
1103 GoFx(kStatus) GoSensor_EnableAutoStart(GoSensor sensor, kBool enable);
1104 
1105 /**
1106  * Gets the AutoStart enabled state currently used by the sensor.
1107  *
1108  * @public @memberof GoSensor
1109  * @version Introduced in firmware 4.0.10.27
1110  * @param sensor GoSensor object.
1111  * @return kTRUE if auto start is enabled and kFALSE otherwise.
1112  */
1114 
1115 /**
1116 * Set sensor voltage settings (only on G3210)
1117 *
1118 * @public @memberof GoSensor
1119 * @version Introduced in firmware 4.7.5.25
1120 * @param sensor GoSensor object.
1121 * @param voltage Either 48V or 24V operation
1122 * @param cableLength When in 24V operation mode the cable length (meter) must also be supplied
1123 * @return Operation status.
1124 */
1125 GoFx(kStatus) GoSensor_SetVoltage(GoSensor sensor, GoVoltageSetting voltage, k64f cableLength);
1126 
1127 /**
1128 * Get the sensor voltage settings (only on G3210)
1129 *
1130 * @public @memberof GoSensor
1131 * @version Introduced in firmware 4.7.5.25
1132 * @param sensor GoSensor object.
1133 * @param voltage Destination to store voltage (can be kNULL)
1134 * @param cableLength Destination to store cable length (meter) (can be kNULL)
1135 * @return Operation status.
1136 */
1137 GoFx(kStatus) GoSensor_GetVoltage(GoSensor sensor, GoVoltageSetting *voltage, k64f *cableLength);
1138 
1139 /**
1140 * Sets the quick edit state of the sensor.
1141 *
1142 * @public @memberof GoSensor
1143 * @version Introduced in firmware 4.7.11.5
1144 * @param sensor GoSensor object.
1145 * @param enable The Quick Edit enabled state to use.
1146 * @return Operation status.
1147 */
1148 GoFx(kStatus) GoSensor_EnableQuickEdit(GoSensor sensor, kBool enable);
1149 
1150 /**
1151 * Gets the quick edit state of the sensor
1152 *
1153 * @public @memberof GoSensor
1154 * @version Introduced in firmware 4.7.11.5
1155 * @param sensor GoSensor object.
1156 * @return kTRUE if Quick Edit is enabled, kFALSE otherwise.
1157 */
1159 
1160 /**
1161  * Gets the count of remote sensor information held by the sensor.
1162  *
1163  * @public @memberof GoSensor
1164  * @version Introduced in firmware 4.0.10.27
1165  * @param sensor GoSensor object.
1166  * @return The remote sensor information count.
1167  */
1169 
1170 /**
1171  * Gets the remote sensor information at the given index.
1172  *
1173  * @public @memberof GoSensor
1174  * @version Introduced in firmware 4.0.10.27
1175  * @param sensor GoSensor object.
1176  * @param index The index of the remote sensor information to retrieve.
1177  * @return A handle to the selected remote sensor information or kNULL if an invalid index is provided.
1178  */
1179 GoFx(GoSensorInfo) GoSensor_RemoteInfoAt(GoSensor sensor, kSize index);
1180 
1181 /**
1182  * Return the number of files contained in the specified path with an optional extension filter applied.
1183  *
1184  * @public @memberof GoSensor
1185  * @version Introduced in firmware 4.1.3.106
1186  * @param sensor GoSensor object.
1187  * @param extensionFilter An optional extension filter to apply. Send "" to not apply a filter.
1188  * @param path The file system path to retrieve the file count for.
1189  * @param isRecursive kTRUE to include files in sub-folders of the path and kFALSE to only count files in the immediate path.
1190  * @return The number of files contained in the specified path with an optional extension filter applied.
1191  */
1192 GoFx(kSize) GoSensor_DirectoryFileCount(GoSensor sensor, const kChar* extensionFilter, const kChar* path, kBool isRecursive);
1193 
1194 /**
1195  * Retrieves the file name at the specified index for a given path and optional extension filter.
1196  *
1197  * @public @memberof GoSensor
1198  * @version Introduced in firmware 4.1.3.106
1199  * @param sensor GoSensor object.
1200  * @param extensionFilter An optional extension filter to apply. Send "" to not apply a filter.
1201  * @param path The file system path to retrieve the file count for.
1202  * @param isRecursive kTRUE to include files in sub-folders of the path and kFALSE to only count files in the immediate path.
1203  * @param index The index of the file name to retrieve.
1204  * @param fileName The pointer to a character array of which to store the retrieve file name.
1205  * @param capacity The maximum capacity of the character array.
1206  * @return Operation status.
1207  */
1208 GoFx(kStatus) GoSensor_DirectoryFileNameAt(GoSensor sensor, const kChar* extensionFilter, const kChar* path, kBool isRecursive, kSize index, kChar* fileName, kSize capacity);
1209 
1210 /**
1211  * Defines the signature for a custom data message handler.
1212  *
1213  * @public @memberof GoSensor
1214  * @version Introduced in firmware 4.1.3.106
1215  * @param context A pointer to an application context to use with the provided data set.
1216  * @param sensor GoSensor object.
1217  * @param dataSet The data set.
1218  * @return Operation status.
1219  * @see GoSensor_SetDataHandler
1220  */
1221 typedef kStatus (kCall* GoSensorDataSetFx)(kPointer context, GoSensor sensor, GoDataSet dataSet);
1222 
1223 /**
1224  * Sets the data callback function to be used upon receipt of data.
1225  *
1226  * @public @memberof GoSensor
1227  * @version Introduced in firmware 4.1.3.106
1228  * @param sensor GoSensor object.
1229  * @param function The function pointer to use when data has been received from the sensor. Send kNULL to revert back to the GoSystem data set storage behavior.
1230  * @param context The context to use with the function pointer.
1231  * @return Operation status.
1232  * @see GoSensorDataSetFx
1233  */
1234 GoFx(kStatus) GoSensor_SetDataHandler(GoSensor sensor, GoSensorDataSetFx function, kPointer context);
1235 
1236 
1237 /**
1238  * Creates a part matching model based on the current part data.
1239  *
1240  * @public @memberof GoSensor
1241  * @version Introduced in firmware 4.2.4.7
1242  * @param sensor GoSensor object.
1243  * @param name The intended name of the part match model.
1244  * @return Operation status.
1245  */
1246 GoFx(kStatus) GoSensor_PartMatchCreateModel(GoSensor sensor, const kChar* name);
1247 
1248 /**
1249  * Detect the edges of the specified part model.
1250  *
1251  * @public @memberof GoSensor
1252  * @version Introduced in firmware 4.2.4.7
1253  * @param sensor GoSensor object.
1254  * @param name The name of the part match model to detect edges on.
1255  * @param sensitivity The sensitivity to use for model edge detection.
1256  * @return Operation status.
1257  */
1258 GoFx(kStatus) GoSensor_PartMatchDetectModelEdges(GoSensor sensor, const kChar* name, k16u sensitivity);
1259 
1260 /**
1261  * Returns a handle to a part model based on a given name.
1262  *
1263  * @public @memberof GoSensor
1264  * @version Introduced in firmware 4.2.4.7
1265  * @param sensor GoSensor object.
1266  * @param name The name of the part match model to retrieve.
1267  * @return A GoPartModel handle.
1268  */
1269 GoFx(GoPartModel) GoSensor_PartMatchModel(GoSensor sensor, const kChar* name);
1270 
1271 /**
1272  * Returns the number of part match models present in the currently loaded job.
1273  *
1274  * @public @memberof GoSensor
1275  * @version Introduced in firmware 4.2.4.7
1276  * @param sensor GoSensor object.
1277  * @return The count of part match models in the currently loaded job.
1278  */
1280 
1281 /**
1282  * Returns a handle to a part model based on a given index.
1283  *
1284  * @public @memberof GoSensor
1285  * @version Introduced in firmware 4.2.4.7
1286  * @param sensor GoSensor object.
1287  * @param index The index of the part model to retrieve.
1288  * @return A GoPartModel handle.
1289  */
1291 
1292 /**
1293  * Sets the runtime variables from the provided starting index to the specified length
1294  * with the values contained in the provided array.
1295  *
1296  * @public @memberof GoSensor
1297  * @version Introduced in firmware 4.5.3.57
1298  * @param sensor GoSensor object.
1299  * @param startIndex The starting index of the runtime variable values to set.
1300  * @param length The number of runtime variables to set/the length of the array parameter.
1301  * @param values A reference to an array which contains the intended runtime variable values.
1302  * @return Operation status.
1303  */
1304 GoFx(kStatus) GoSensor_SetRuntimeVariables(GoSensor sensor, kSize startIndex, kSize length, k32s* values);
1305 
1306 /**
1307  * Returns the number of runtime variables available on the device.
1308  *
1309  * @public @memberof GoSensor
1310  * @version Introduced in firmware 4.5.3.57
1311  * @param sensor GoSensor object.
1312  * @return The runtime variable count of the device.
1313  */
1315 
1316 /**
1317  * Gets the values associated with a given runtime variable starting index and length.
1318  *
1319  * @public @memberof GoSensor
1320  * @version Introduced in firmware 4.5.3.57
1321  * @param sensor GoSensor object.
1322  * @param startIndex The starting index of the runtime variable values to retrieve.
1323  * @param length The number of runtime variables to retrieve.
1324  * @param values A reference to an array which will hold the retrieved runtime variable values.
1325  * @return Operation status.
1326  */
1327 GoFx(kStatus) GoSensor_GetRuntimeVariables(GoSensor sensor, kSize startIndex, kSize length, k32s* values);
1328 
1329 /**
1330  * Gets the value associated with a given runtime variable index.
1331  *
1332  * @public @memberof GoSensor
1333  * @version Introduced in firmware 4.5.3.57
1334  * @param sensor GoSensor object.
1335  * @param index The index of the runtime variable value to retrieve.
1336  * @param value A reference to be updated with the runtime variable value.
1337  * @return Operation status.
1338  */
1339 GoFx(kStatus) GoSensor_GetRuntimeVariableAt(GoSensor sensor, kSize index, k32s* value);
1340 
1341 /**
1342  * Starts recording to a stream.
1343  *
1344  * NOTE: Before calling this function, the sensor should already be running and
1345  * recording. GoSensor_StopRecordingStream() should be called before executing
1346  * any other sensor commands, with the exception of GoSensor_IsRecordingStreaming().
1347  *
1348  * @public @memberof GoSensor
1349  * @version Introduced in firmware 4.6.4.66
1350  * @param sensor GoSensor object.
1351  * @param destFile A local file path to store the .rec data.
1352  * @return Operation status.
1353  */
1354 GoFx(kStatus) GoSensor_StartRecordingStream(GoSensor sensor, kChar* destFile);
1355 
1356 /**
1357  * Stops recording to a stream.
1358  *
1359  * @public @memberof GoSensor
1360  * @version Introduced in firmware 4.6.4.66
1361  * @param sensor GoSensor object.
1362  * @return Operation status.
1363  */
1365 
1366 /**
1367  * Reports whether or not recording is streaming.
1368  *
1369  * @public @memberof GoSensor
1370  * @version Introduced in firmware 4.6.4.66
1371  * @param sensor GoSensor object.
1372  * @return kTRUE if recording is streaming, kFALSE otherwise.
1373  */
1375 
1376 /**
1377 * Gets the buddy at a given index.
1378 *
1379 * @public @memberof GoSensor
1380 * @version Introduced in firmware 4.6.4.66
1381 * @param sensor GoSensor object.
1382 * @param index index of buddy to retrieve.
1383 * @return Device state.
1384 */
1385 GoFx(GoSensorInfo) GoSensor_BuddiesAt(GoSensor sensor, k32u index);
1386 
1387 /**
1388 * Gets the number of buddies in the sytem.
1389 *
1390 * @public @memberof GoSensor
1391 * @version Introduced in firmware 4.6.4.66
1392 * @param sensor GoSensor object.
1393 * @return Device state.
1394 */
1395 GoFx(kSize) GoSensor_BuddiesCount(GoSensor sensor);
1396 
1397 /**
1398 * returns true if the system has any buddies.
1399 *
1400 * @public @memberof GoSensor
1401 * @version Introduced in firmware 4.6.4.66
1402 * @param sensor GoSensor object.
1403 * @return Device state.
1404 */
1405 GoFx(kBool) GoSensor_HasBuddies(GoSensor sensor);
1406 
1407 /**
1408 * returns the GeoCal object for querying or Null if it does not exist.
1409 *
1410 * @public @memberof GoSensor
1411 * @version Introduced in firmware 4.7.0.130
1412 * @param sensor GoSensor object.
1413 * @param geoCal Output: A reference to be updated with the GoGeoCal object
1414 * @return Status of operation
1415 */
1416 GoFx(kStatus) GoSensor_GeoCal(GoSensor sensor, GoGeoCal *geoCal);
1417 
1418 /**
1419  ** Sets the Data Port.
1420  *
1421  * @public @memberof GoSensor
1422  * @version Introduced in firmware 4.8.2.76
1423  * @param sensor GoSensor object.
1424  * @param port Port number to be used
1425  * @return Status of operation
1426  */
1427 GoFx(kStatus) GoSensor_SetDataPort(GoSensor sensor, k32u port);
1428 
1429 /**
1430  * returns the Data Port.
1431  *
1432  * @public @memberof GoSensor
1433  * @version Introduced in firmware 4.8.2.76
1434  * @param sensor GoSensor object.
1435  * @return Port Number
1436  */
1437 GoFx(k32u) GoSensor_DataPort(GoSensor sensor);
1438 
1439 /**
1440  * Sets the Health Port.
1441  *
1442  * @public @memberof GoSensor
1443  * @version Introduced in firmware 4.8.2.76
1444  * @param sensor GoSensor object.
1445  * @param port Port number to be used
1446  * @return Status of operation
1447  */
1448 GoFx(kStatus) GoSensor_SetHealthPort(GoSensor sensor, k32u port);
1449 
1450 /**
1451  * returns the Health Port.
1452  *
1453  * @public @memberof GoSensor
1454  * @version Introduced in firmware 4.8.2.76
1455  * @param sensor GoSensor object.
1456  * @return Port Number
1457  */
1458 GoFx(k32u) GoSensor_HealthPort(GoSensor sensor);
1459 
1460 /**
1461  ** Sets the Control Port.
1462  *
1463  * @public @memberof GoSensor
1464  * @version Introduced in firmware 4.8.2.76
1465  * @param sensor GoSensor object.
1466  * @param port Port number to be used
1467  * @return Status of operation
1468  */
1469 GoFx(kStatus) GoSensor_SetControlPort(GoSensor sensor, k32u port);
1470 
1471 /**
1472  * returns the Control Port.
1473  *
1474  * @public @memberof GoSensor
1475  * @version Introduced in firmware 4.8.2.76
1476  * @param sensor GoSensor object.
1477  * @return Port Number
1478  */
1479 GoFx(k32u) GoSensor_ControlPort(GoSensor sensor);
1480 
1481 /**
1482  * Sets the Upgrade Port.
1483  *
1484  * @public @memberof GoSensor
1485  * @version Introduced in firmware 4.8.2.76
1486  * @param sensor GoSensor object.
1487  * @param port Port number to be used
1488  * @return Status of operation
1489  */
1490 GoFx(kStatus) GoSensor_SetUpgradePort(GoSensor sensor, k32u port);
1491 
1492 /**
1493  * returns the Upgrade Port.
1494  *
1495  * @public @memberof GoSensor
1496  * @version Introduced in firmware 4.8.2.76
1497  * @param sensor GoSensor object.
1498  * @return Port Number
1499  */
1500 GoFx(k32u) GoSensor_UpgradePort(GoSensor sensor);
1501 
1502 /**
1503 * Waits for all buddies to be connected within a specific timeout.
1504 *
1505 * See \ref detDisconnect for more details.
1506 *
1507 * @public @memberof GoSensor
1508 * @version Introduced in firmware 5.2.18.3
1509 * @param sensor GoSensor object.
1510 * @param timeout a timeout in milliseconds to wait for all required buddies to get connected
1511 * @return Operational status: kOK if all required buddies are connected within specified timeout; otherwise kERROR_TIMEOUT
1512 */
1513 GoFx(kStatus) GoSensor_WaitForBuddies(GoSensor sensor, k64u timeout);
1514 
1515 /**
1516 * Connects and logs into the sensor using the specified user name and password.
1517 * Once security protection is enabled logging in is required in order to programmatically control a sensor.
1518 * This must be used to connect to the sensor instead of anonymous connect method that fails in case security is enabled.
1519 *
1520 * @public @memberof GoSensor
1521 * @version Introduced in firmware 5.2.18.3
1522 * @param sensor GoSensor object.
1523 * @param user User account
1524 * @param password User password
1525 * @return Operational status: kOK if funcions could complete with given login information;
1526 * otherwise GS_ERROR_AUTHENTICATION indicating unauthorized access
1527 */
1528 GoFx(kStatus) GoSensor_ConnectAndLogin(GoSensor sensor, GoUser user, const kChar* password);
1529 
1530 /**
1531 * Sets sensor's security level. This will enabled/disable security protection.
1532 * Only authorized users can change security level that can deny access to specific objects/files to anonymous users
1533 *
1534 * @public @memberof GoSensor
1535 * @version Introduced in firmware 5.2.18.3
1536 * @param sensor GoSensor object.
1537 * @param security new security level
1538 * @return Operational status: kOK if funcions could complete with given login information;
1539 * otherwise GS_ERROR_AUTHENTICATION indicating unauthorized access
1540 */
1542 
1543 /**
1544  * Sets a sensor flag value.
1545  *
1546  * Sensor flags are an advanced feature that gives the user control over some internal
1547  * system parameters and experimental features. These flags are provided only for the
1548  * purposes of experimentation and demonstration, and may be changed or removed from
1549  * one firwmare version to another.
1550  *
1551  * @public @memberof GoSensor
1552  * @version Introduced in firmware 5.2.18.3
1553  * @param sensor GoControl object.
1554  * @param name Name of the flag.
1555  * @param value Value of the flag (in text).
1556  * @return Operation status.
1557  */
1558 GoFx(kStatus) GoSensor_SetFlag(GoSensor sensor, const kChar* name, const kChar* value);
1559 
1560 /**
1561  * Gets a sensor flag value. See GoSensor_SetFlag for more details.
1562  *
1563  * @public @memberof GoSensor
1564  * @version Introduced in firmware 5.2.18.3
1565  * @param sensor GoControl object.
1566  * @param name Name of the flag.
1567  * @param value String object to receive the value (in text).
1568  * @return Operation status.
1569  */
1570 GoFx(kStatus) GoSensor_GetFlag(GoSensor sensor, const kChar* name, kString value);
1571 
1572 /**
1573 * Returns the acceleration state of a sensor. The state can be used by
1574 * acceleration applications to determine if the
1575 * sensor is available for acceleration or is already accelerated by a host.
1576 *
1577 * @public @memberof GoSensor
1578 * @version Introduced in firmware 5.2.18.3
1579 * @param sensor GoSensor object.
1580 * @return Acceleration state.
1581 */
1583 
1584 /**
1585 * Returns the port numbers used by an accelerated sensor, including web port.
1586 * Can be used by acceleration applications to get the ports used by an
1587 * accelerated sensor.
1588 *
1589 * @public @memberof GoSensor
1590 * @version Introduced in firmware 5.2.18.3
1591 * @param sensor GoSensor object.
1592 * @return Port numbers used by sensor.
1593 */
1595 
1596 /**
1597 * Returns the operational mode of the sensor. This can be used by an
1598 * acceleration application to determine if the sensor is a virtual sensor,
1599 * standalone sensor or an accelerated sensor mode.
1600 *
1601 * @public @memberof GoSensor
1602 * @version Introduced in firmware 5.2.18.3
1603 * @param sensor GoSensor object.
1604 * @return Sensor operational mode.
1605 */
1607 
1608 /**
1609 * Returns the physical sensor IP address when sensor is accelerated.
1610 *
1611 * @public @memberof GoSensor
1612 * @version Introduced in firmware 5.2.18.3
1613 * @param sensor GoSensor object.
1614 * @param ipAddress Destination to store the IP Address.
1615 * @return Operational status.
1616 */
1617 GoFx(kStatus) GoSensor_AccelSensorIpAddress(GoSensor sensor, kIpAddress* ipAddress);
1618 
1619 
1620 /**
1621  * Set the current laser state.
1622  * Calling this function will turn the laser on or off.
1623  *
1624  * @public @memberof GoSensor
1625  * @version Introduced in firmware 6.2.26.2
1626  * @param sensor GoSensor object.
1627  * @param enable State of laser to set if enable > 0, reset if enable = 0
1628  * @return Operation status.
1629  */
1630 GoFx(kStatus) GoSensor_SetLaserState(GoSensor sensor, k8u enable);
1631 
1632 /**
1633  * Turns off the sensor. Sensor will not restart until it is powercycled.
1634  *
1635  * @public @memberof GoSensor
1636  * @version Introduced in firmware 6.4.39.2
1637  * @param sensor GoSensor object.
1638  * @return Operation status.
1639  */
1640 GoFx(kStatus) GoSensor_Shutdown(GoSensor sensor);
1641 
1642 /**
1643  * When enabled, the laser line is locked out, preventing scanning.
1644  * This is currently only supported on battery-powered sensors.
1645  *
1646  * @public @memberof GoSensor
1647  * @version Introduced in firmware 6.4.39.2
1648  * @param sensor GoSensor object.
1649  * @param shouldLock Locks out the laser if not 0. Unlocks it if 0.
1650  * @return Operation status.
1651  */
1652 GoFx(kStatus) GoSensor_LockOutLaser(GoSensor sensor, kBool shouldLock);
1653 
1654 #include <GoSdk/GoSensor.x.h>
1655 
1656 #endif
GoDiscoveryOpMode GoSensor_AccelOpMode(GoSensor sensor)
Returns the operational mode of the sensor.
kVersion GoSensor_FirmwareVersion(GoSensor sensor)
Gets the sensor's firmware version.
kBool GoSensor_FileExists(GoSensor sensor, const kChar *name)
Checks whether the specified file is present on the sensor.
kStatus GoSensor_RestoreDefaults(GoSensor sensor, kBool restoreAddress)
Restores factory default settings.
GoReplay GoSensor_Replay(GoSensor sensor)
Gets the replay module, used for replay configuration.
kStatus GoSensor_PlaybackPosition(GoSensor sensor, kSize *position, kSize *count)
Gets the current replay frame position.
Sensor state, login, alignment information, recording state, playback source, uptime, playback information, and auto-start setting state.
Definition: GoSdkDef.h:818
kStatus GoSensor_StopRecordingStream(GoSensor sensor)
Stops recording to a stream.
Ports used from a source device.
Definition: GoSdkDef.h:859
Represents a data input source.
Represents read-only sensor information.
Represents a part model configuration.
kStatus GoSensor_ExportBitmap(GoSensor sensor, GoReplayExportSourceType type, GoDataSource source, const kChar *dstFileName)
Exports the current frame of a replay in the form of a bitmap.
kStatus GoSensor_SetAlignmentReference(GoSensor sensor, GoAlignmentRef reference)
Sets the alignment reference of the sensor.
kStatus GoSensor_ResetEncoder(GoSensor sensor)
Resets the encoder value.
kStatus GoSensor_SetUpgradePort(GoSensor sensor, k32u port)
Sets the Upgrade Port.
Represents a playback seek direction.
Represents the replay export source type.
k64u GoSensor_UserStorageUsed(GoSensor sensor)
Gets the storage space used for user files.
kStatus(kCall * GoSensorDataSetFx)(kPointer context, GoSensor sensor, GoDataSet dataSet)
Defines the signature for a custom data message handler.
Definition: GoSensor.h:1221
kStatus GoSensor_EnableAutoStart(GoSensor sensor, kBool enable)
Sets the AutoStart enabled state of the sensor.
kStatus GoSensor_ClearReplayData(GoSensor sensor)
Clears the replay buffer.
kStatus GoSensor_WaitForBuddies(GoSensor sensor, k64u timeout)
Waits for all buddies to be connected within a specific timeout.
kStatus GoSensor_SetControlPort(GoSensor sensor, k32u port)
Sets the Control Port.
kStatus GoSensor_SetRuntimeVariables(GoSensor sensor, kSize startIndex, kSize length, k32s *values)
Sets the runtime variables from the provided starting index to the specified length with the values c...
kStatus GoSensor_Simulate(GoSensor sensor, kBool *isBufferValid)
Simulates the current frame in the live recording buffer.
kStatus GoSensor_ClearLog(GoSensor sensor)
Clears the log file (_live.log).
Declares the GoGeoCal class.
kStatus GoSensor_Backup(GoSensor sensor, const kChar *destPath)
Creates a backup of sensor files and downloads the backup to the specified location.
kSize GoSensor_FileCount(GoSensor sensor)
Gets the number of files available from the connected sensor.
kStatus GoSensor_Trigger(GoSensor sensor)
Sends a software trigger to the sensor.
kSize GoSensor_BuddiesCount(GoSensor sensor)
Gets the number of buddies in the sytem.
kStatus GoSensor_SetLaserState(GoSensor sensor, k8u enable)
Set the current laser state.
Represents the supported Gocator hardware families.
kStatus GoSensor_SetVoltage(GoSensor sensor, GoVoltageSetting voltage, k64f cableLength)
Set sensor voltage settings (only on G3210)
Represents a user role. Use GO_ROLE_MAIN or GOROLE_BUDDYIDX(buddyidx)
kStatus GoSensor_ConnectAndLogin(GoSensor sensor, GoUser user, const kChar *password)
Connects and logs into the sensor using the specified user name and password.
kStatus GoSensor_GetFlag(GoSensor sensor, const kChar *name, kString value)
Gets a sensor flag value.
GoAlignmentState GoSensor_AlignmentState(GoSensor sensor)
Gets the alignment state of the sensor.
Declares the GoOutput class.
kStatus GoSensor_Refresh(GoSensor sensor)
Refreshes sensor state.
kStatus GoSensor_PartMatchCreateModel(GoSensor sensor, const kChar *name)
Creates a part matching model based on the current part data.
kStatus GoSensor_ClearAlignment(GoSensor sensor)
Clears the current sensor alignment.
kStatus GoSensor_Restore(GoSensor sensor, const kChar *sourcePath)
Restores a backup of sensor files.
Represents a data source.
kStatus GoSensor_PlaybackSeek(GoSensor sensor, kSize position)
Sets the current frame position for a replay.
Represents a replay configuration.
GoPartModel GoSensor_PartMatchModelAt(GoSensor sensor, kSize index)
Returns a handle to a part model based on a given index.
kStatus GoSensor_SetFlag(GoSensor sensor, const kChar *name, const kChar *value)
Sets a sensor flag value.
kStatus GoSensor_Snapshot(GoSensor sensor)
Performs a sensor snapshot.
Represents either 48V or 24V (with cable length) operation. Only relevant on G3210.
Declares the GoDataSet class.
kStatus GoSensor_PlaybackStep(GoSensor sensor, GoSeekDirection direction)
Advances one frame from the current replay position.
GoSensorAccelState GoSensor_AccelState(GoSensor sensor)
Returns the acceleration state of a sensor.
Declares the GoDiscoveryExtInfo class and related types.
k32u GoSensor_ControlPort(GoSensor sensor)
returns the Control Port.
Declares the GoSensorInfo class.
kStatus GoSensor_UploadFile(GoSensor sensor, const kChar *sourcePath, const kChar *destName)
Uploads a file to the connected sensor.
Represents an alignment state.
kStatus GoSensor_Address(GoSensor sensor, GoAddressInfo *info)
Retrieves the sensor's network address settings.
kStatus GoSensor_LoadedJob(GoSensor sensor, kChar *fileName, kSize capacity, kBool *changed)
Gets the name of the loaded job file and whether it has been modified since loading.
kStatus GoSensor_FileNameAt(GoSensor sensor, kSize index, kChar *name, kSize capacity)
Gets the file name at the specified index.
kStatus GoSensor_DownloadFile(GoSensor sensor, const kChar *sourceName, const kChar *destPath)
Downloads a file from the connected sensor.
Represents operational mode of the main controller responding to the discovery protocol.
Represents output configuration.
kStatus GoSensor_DefaultJob(GoSensor sensor, kChar *fileName, kSize capacity)
Gets the name of the default job file to be loaded on boot.
kStatus GoSensor_SetDataHandler(GoSensor sensor, GoSensorDataSetFx function, kPointer context)
Sets the data callback function to be used upon receipt of data.
kStatus GoSensor_AddBuddyBlocking(GoSensor sensor, GoSensor buddy)
Synchronously assigns a buddy sensor.
Essential SDK declarations.
kStatus GoSensor_DirectoryFileNameAt(GoSensor sensor, const kChar *extensionFilter, const kChar *path, kBool isRecursive, kSize index, kChar *fileName, kSize capacity)
Retrieves the file name at the specified index for a given path and optional extension filter...
kBool GoSensor_IsCompatible(GoSensor sensor)
Reports whether the connected sensor's protocol version is compatible with the SDK's protocol version...
GoFamily GoSensor_Family(GoSensor sensor)
Returns an enumerator value representing the current sensor's family.
kStatus GoSensor_GetVoltage(GoSensor sensor, GoVoltageSetting *voltage, k64f *cableLength)
Get the sensor voltage settings (only on G3210)
k32u GoSensor_BuddyId(GoSensor sensor)
Gets the buddy sensor's device ID.
kStatus GoSensor_EnableRecording(GoSensor sensor, kBool enable)
Sets the recording state of the sensor.
GoInputSource GoSensor_InputSource(GoSensor sensor)
Gets the input source currently used by the sensor.
GoPartModel GoSensor_PartMatchModel(GoSensor sensor, const kChar *name)
Returns a handle to a part model based on a given name.
kStatus GoSensor_LogIn(GoSensor sensor, GoUser user, const kChar *password)
Logs into the sensor using the specified user name and password.
GoState GoSensor_State(GoSensor sensor)
Reports the current system state of the sensor from cache.
Declares the GoTransform class.
kStatus GoSensor_PartMatchDetectModelEdges(GoSensor sensor, const kChar *name, k16u sensitivity)
Detect the edges of the specified part model.
kBool GoSensor_IsRecordingStreaming(GoSensor sensor)
Reports whether or not recording is streaming.
kStatus GoSensor_ExportCsv(GoSensor sensor, const kChar *dstFileName)
Exports replay data in CSV format.
kStatus GoSensor_GetRuntimeVariableAt(GoSensor sensor, kSize index, k32s *value)
Gets the value associated with a given runtime variable index.
k32u GoSensor_UpgradePort(GoSensor sensor)
returns the Upgrade Port.
kStatus GoSensor_DeleteFile(GoSensor sensor, const kChar *name)
Deletes a file within the connected sensor.
Represents a collection of data channel or health channel messages.
k32u GoSensor_DataPort(GoSensor sensor)
returns the Data Port.
kStatus GoSensor_Disconnect(GoSensor sensor)
Disconnects from the sensor.
GoTransform GoSensor_Transform(GoSensor sensor)
Gets the transform module, used for transformation configuration.
Represents a collection of tools.
kStatus GoSensor_ExposureAutoSet(GoSensor sensor, GoRole role)
Perform an exposure auto set.
GoSetup GoSensor_Setup(GoSensor sensor)
Gets the GoSetup instance associated with the sensor.
Declares the GoPartModel and GoPartModelEdge class.
GoTools GoSensor_Tools(GoSensor sensor)
Gets the sensor's tools module, used for measurement configuration.
k32u GoSensor_HealthPort(GoSensor sensor)
returns the Health Port.
kStatus GoSensor_Cancel(GoSensor sensor)
Aborts ongoing sensor communication.
kStatus GoSensor_RemoveBuddy(GoSensor sensor)
Removes the current buddy sensor.
GoMode GoSensor_ScanMode(GoSensor sensor)
Gets the sensor's scan mode.
Represents a user id.
kStatus GoSensor_EmitAnalog(GoSensor sensor, k16u index, k64s target, k32s value)
Schedules an analog output.
kStatus GoSensor_AlignmentReference(GoSensor sensor, GoAlignmentRef *reference)
Gets the alignment reference of the sensor.
kStatus GoSensor_ClearMeasurementStats(GoSensor sensor)
Resets the measurement statistics reported by the health channel.
kStatus GoSensor_EnableQuickEdit(GoSensor sensor, kBool enable)
Sets the quick edit state of the sensor.
Represents an alignment reference.
kStatus GoSensor_Start(GoSensor sensor)
Starts the sensor.
kStatus GoSensor_Shutdown(GoSensor sensor)
Turns off the sensor.
kStatus GoSensor_Align(GoSensor sensor)
Perform alignment using the configured alignment type and target.
GoUser GoSensor_User(GoSensor sensor)
Reports the user account associated with the current user.
kStatus GoSensor_Encoder(GoSensor sensor, k64s *encoder)
Gets the current encoder count from the sensor.
k32u GoSensor_Id(GoSensor sensor)
Gets the device identifier associated with this sensor.
kStatus GoSensor_PartNumber(GoSensor sensor, kChar *partNumber, kSize capacity)
Gets the part number associated with this sensor.
kStatus GoSensor_SetHealthPort(GoSensor sensor, k32u port)
Sets the Health Port.
kBool GoSensor_QuickEditEnabled(GoSensor sensor)
Gets the quick edit state of the sensor.
k64u GoSensor_UserStorageFree(GoSensor sensor)
Gets the available storage space remaining for user files.
kStatus GoSensor_Connect(GoSensor sensor)
Creates a connection to the sensor.
kStatus GoSensor_Flush(GoSensor sensor)
Initiates a sensor configuration, model file, and transformation synchronization if modifications are...
GoOutput GoSensor_Output(GoSensor sensor)
Gets the output module, used for output configuration.
Declares the GoTool classes.
kStatus GoSensor_ModelDisplayName(GoSensor sensor, kChar *modelDisplayName, kSize capacity)
Gets the model display name associated with this sensor.
kStatus GoSensor_CopyFile(GoSensor sensor, const kChar *sourceName, const kChar *destName)
Copies a file within the connected sensor.
kStatus GoSensor_SetSecurityLevel(GoSensor sensor, GoSecurityLevel security)
Sets sensor's security level.
kBool GoSensor_HasBuddy(GoSensor sensor)
Reports whether a buddy had been assigned.
kStatus GoSensor_AccelSensorIpAddress(GoSensor sensor, kIpAddress *ipAddress)
Returns the physical sensor IP address when sensor is accelerated.
Declares the GoSetup class.
kBool GoSensor_AutoStartEnabled(GoSensor sensor)
Gets the AutoStart enabled state currently used by the sensor.
Represents a scan mode.
kStatus GoSensor_Stop(GoSensor sensor)
Stops the sensor.
kStatus GoSensor_SetDefaultJob(GoSensor sensor, const kChar *fileName)
Sets a default job file to be loaded on boot.
kBool GoSensor_HasBuddies(GoSensor sensor)
returns true if the system has any buddies.
kStatus GoSensor_GeoCal(GoSensor sensor, GoGeoCal *geoCal)
returns the GeoCal object for querying or Null if it does not exist.
kSize GoSensor_RemoteInfoCount(GoSensor sensor)
Gets the count of remote sensor information held by the sensor.
Represents a sensor transformation.
kStatus GoSensor_EnableData(GoSensor sensor, kBool enable)
Enables or disables the sensor's data channel.
kStatus GoSensor_Upgrade(GoSensor sensor, const kChar *sourcePath, GoUpgradeFx onUpdate, kPointer context)
Upgrades sensor firmware.
kBool GoSensor_IsResponsive(GoSensor sensor)
Reports whether the sensor is currently responsive.
kSize GoSensor_DirectoryFileCount(GoSensor sensor, const kChar *extensionFilter, const kChar *path, kBool isRecursive)
Return the number of files contained in the specified path with an optional extension filter applied...
kStatus GoSensor_SetAddress(GoSensor sensor, const GoAddressInfo *info, kBool wait)
Configures a sensor's network address settings.
kStatus GoSensor_StartRecordingStream(GoSensor sensor, kChar *destFile)
Starts recording to a stream.
kStatus GoSensor_GetRuntimeVariables(GoSensor sensor, kSize startIndex, kSize length, k32s *values)
Gets the values associated with a given runtime variable starting index and length.
GoSensorInfo GoSensor_BuddiesAt(GoSensor sensor, k32u index)
Gets the buddy at a given index.
kVersion GoSensor_ProtocolVersion(GoSensor sensor)
Gets the sensor's protocol version.
kStatus GoSensor_Timestamp(GoSensor sensor, k64u *time)
Gets the current time stamp (common among all synchronized sensors).
kStatus GoSensor_States(GoSensor sensor, GoStates *states)
Reports various current states of the sensor associated with the control connection.
kBool GoSensor_RecordingEnabled(GoSensor sensor)
Gets the recording state of the sensor.
kSize GoSensor_GetRuntimeVariableCount(GoSensor sensor)
Returns the number of runtime variables available on the device.
GoSensorInfo GoSensor_RemoteInfoAt(GoSensor sensor, kSize index)
Gets the remote sensor information at the given index.
kStatus GoSensor_AddBuddy(GoSensor sensor, GoSensor buddy)
Assigns a buddy sensor.
Contains the GeoCal data for a sensor. Do not read the GeoCal file directly, use this class to parse ...
kStatus GoSensor_EmitDigital(GoSensor sensor, k16u index, k64s target, k8u value)
Schedules a digital output.
GoPortInfo GoSensor_AccelPortInfo(GoSensor sensor)
Returns the port numbers used by an accelerated sensor, including web port.
Declares the GoReplay class.
kStatus GoSensor_SetInputSource(GoSensor sensor, GoInputSource source)
Sets the input source of the sensor.
Represents a device configuration.
kStatus GoSensor_LockOutLaser(GoSensor sensor, kBool shouldLock)
When enabled, the laser line is locked out, preventing scanning.
Represents a Gocator sensor.
kBool GoSensor_CanStart(GoSensor sensor)
Checks if the sensor is ready to start, if all assigned buddies are connected.
kStatus GoSensor_Reset(GoSensor sensor, kBool wait)
Reboots the main sensor and any connected buddy sensors.
kStatus GoSensor_ScheduledStart(GoSensor sensor, k64s value)
Starts the sensor at a scheduled value.
kStatus GoSensor_ChangePassword(GoSensor sensor, GoUser user, const kChar *password)
Changes the password associated with the specified user account.
kStatus GoSensor_SetDataPort(GoSensor sensor, k32u port)
Sets the Data Port.
GoRole GoSensor_Role(GoSensor sensor)
Gets the sensor's current role within the system.
Lists all sensor acceleration states that a sensor can be in. When a sensor is being accelerated...
Sensor network address settings.
Definition: GoSdkDef.h:845
Represents the current state of a sensor object.
kSize GoSensor_PartMatchModelCount(GoSensor sensor)
Returns the number of part match models present in the currently loaded job.
kBool GoSensor_IsConnected(GoSensor sensor)
Reports whether the sensor is currently connected.