Gocator API
 All Classes Files Functions Variables Typedefs Macros Modules Pages
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 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/GoTransform.h>
17 #include <GoSdk/GoSensorInfo.h>
19 #include <GoSdk/Outputs/GoOutput.h>
20 #include <GoSdk/Tools/GoTools.h>
21 
22 kBeginHeader()
23 
24 #define GO_SENSOR_LIVE_JOB_NAME "_live.job" //<<< Represents the active live job on the sensor
25 #define GO_SENSOR_LIVE_LOG_NAME "_live.log" //<<< Represents the log file on the sensor
26 #define GO_SENSOR_LIVE_REPLAY "_live.rec" //<<< Represents the current recording on the sensor
27 
28 /**
29  * @class GoSensor
30  * @extends kObject
31  * @ingroup GoSdk
32  * @brief Represents a Gocator sensor.
33  */
34 typedef kObject GoSensor;
35 
36 /**
37  * Initiates a sensor configuration, model file, and transformation synchronization
38  * if modifications are present.
39  *
40  * @public @memberof GoSetup
41  * @version Introduced in firmware 4.0.10.27
42  * @param sensor GoSensor object.
43  * @return Operation status.
44  */
45 GoFx(kStatus) GoSensor_Flush(GoSensor sensor);
46 
47 /**
48  * Configures a sensor's network address settings.
49  *
50  * This function uses UDP broadcasts for sensor configuration; the sensor does not need to
51  * be connected, and can be on a different subnet than the client.
52  *
53  * The sensor will automatically reboot if the address is successfully changed.
54  *
55  * @public @memberof GoSensor
56  * @version Introduced in firmware 4.0.10.27
57  * @param sensor GoSensor object.
58  * @param info New address settings.
59  * @param wait Should this function block until the sensor finishes rebooting?
60  * @return Operation status.
61  * @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.
62  */
63 GoFx(kStatus) GoSensor_SetAddress(GoSensor sensor, const GoAddressInfo* info, kBool wait);
64 
65 /**
66  * Retrieves the sensor's network address settings.
67  *
68  * @public @memberof GoSensor
69  * @version Introduced in firmware 4.0.10.27
70  * @param sensor GoSensor object.
71  * @param info Receives current address configuration.
72  * @return Operation status.
73  */
74 GoFx(kStatus) GoSensor_Address(GoSensor sensor, GoAddressInfo* info);
75 
76 /**
77  * Creates a connection to the sensor.
78  *
79  * @public @memberof GoSensor
80  * @version Introduced in firmware 4.0.10.27
81  * @param sensor GoSensor object.
82  * @return Operation status.
83  */
84 GoFx(kStatus) GoSensor_Connect(GoSensor sensor);
85 
86 /**
87  * Disconnects from the sensor.
88  *
89  * @public @memberof GoSensor
90  * @version Introduced in firmware 4.0.10.27
91  * @param sensor GoSensor object.
92  * @return Operation status.
93  */
94 GoFx(kStatus) GoSensor_Disconnect(GoSensor sensor);
95 
96 /**
97  * Reports whether the sensor is currently connected.
98  *
99  * @public @memberof GoSensor
100  * @version Introduced in firmware 4.0.10.27
101  * @param sensor GoSensor object.
102  * @return kTRUE if the sensor is connected; kFALSE otherwise.
103  */
104 GoFx(kBool) GoSensor_IsConnected(GoSensor sensor);
105 
106 /**
107  * Reports whether the connected sensor's protocol version is compatible with the SDK's protocol version.
108  *
109  * @public @memberof GoSensor
110  * @version Introduced in firmware 4.4.4.14
111  * @param sensor GoSensor object.
112  * @return kTRUE if the sensor is compatible; kFALSE otherwise.
113  */
114 GoFx(kBool) GoSensor_IsCompatible(GoSensor sensor);
115 
116 /**
117  * Refreshes sensor state.
118  *
119  * Unresponsive sensors will be disconnected, and canceled sensors will be reconnected.
120  * Sensors in any other state will discard all locally-cached information.
121  *
122  * This function should be used to update sensors in the GO_SENSOR_INCONSISTENT state. This
123  * state can arise due to buddy changes performed by remote sensors (e.g. a main sensor boots
124  * and claims ownership of a buddy sensor, but the buddy sensor has already been detected and
125  * loaded as a main sensor by the client).
126  *
127  * @public @memberof GoSensor
128  * @version Introduced in firmware 4.0.10.27
129  * @param sensor GoSensor object.
130  * @return kTRUE if the sensor is connected; kFALSE otherwise.
131  */
132 GoFx(kStatus) GoSensor_Refresh(GoSensor sensor);
133 
134 /**
135  * Assigns a buddy sensor.
136  *
137  * NOTE: The provided buddy sensor handle must already be connected.
138  *
139  * @public @memberof GoSensor
140  * @version Introduced in firmware 4.0.10.27
141  * @param sensor GoSensor object.
142  * @param buddy Sensor to be assigned as buddy.
143  * @return Operation status.
144  * @see GoSensor_Connect, GoSensor_HasBuddy, GoSensor_BuddyId, GoSensor_RemoveBuddy
145  */
146 GoFx(kStatus) GoSensor_AddBuddy(GoSensor sensor, GoSensor buddy);
147 
148 /**
149  * Removes the current buddy sensor.
150  *
151  * @public @memberof GoSensor
152  * @version Introduced in firmware 4.0.10.27
153  * @param sensor GoSensor object.
154  * @return Operation status.
155  */
156 GoFx(kStatus) GoSensor_RemoveBuddy(GoSensor sensor);
157 
158 /**
159  * Reports whether a buddy had been assigned.
160  *
161  * @public @memberof GoSensor
162  * @version Introduced in firmware 4.0.10.27
163  * @param sensor GoSensor object.
164  * @return kTRUE if sensor has a buddy; kFALSE otherwise.
165  */
166 GoFx(kBool) GoSensor_HasBuddy(GoSensor sensor);
167 
168 /**
169  * Gets the buddy sensor's device ID.
170  *
171  * @public @memberof GoSensor
172  * @version Introduced in firmware 4.0.10.27
173  * @param sensor GoSensor object.
174  * @return Buddy device ID (or k32U_NULL if not assigned).
175  */
176 GoFx(k32u) GoSensor_BuddyId(GoSensor sensor);
177 
178 /**
179  * Gets the sensor's scan mode.
180  *
181  * @public @memberof GoSensor
182  * @version Introduced in firmware 4.0.10.27
183  * @param sensor GoSensor object.
184  * @return Scan mode.
185  */
186 GoFx(GoMode) GoSensor_ScanMode(GoSensor sensor);
187 
188 /**
189  * Enables or disables the sensor's data channel.
190  *
191  * @public @memberof GoSensor
192  * @version Introduced in firmware 4.0.10.27
193  * @param sensor GoSensor object.
194  * @param enable kTRUE to enable, or kFALSE to disable.
195  * @return Operation status.
196  */
197 GoFx(kStatus) GoSensor_EnableData(GoSensor sensor, kBool enable);
198 
199 /**
200  * Starts the sensor.
201  *
202  * @public @memberof GoSensor
203  * @version Introduced in firmware 4.0.10.27
204  * @param sensor GoSensor object.
205  * @return Operation status.
206  */
207 GoFx(kStatus) GoSensor_Start(GoSensor sensor);
208 
209 /**
210  * Starts the sensor at a scheduled value relating to the current time or encoder value as reported by the sensor.
211  *
212  * @public @memberof GoSensor
213  * @version Introduced in firmware 4.1.3.106
214  * @param sensor GoSensor object.
215  * @param value Scheduled start value. uS when time triggered and ticks when encoder triggered.
216  * @return Operation status.
217  * @see GoSetup_SetTriggerSource, GoSetup_TriggerSource, GoSystem_Timestamp, GoSystem_Encoder
218  */
219 GoFx(kStatus) GoSensor_ScheduledStart(GoSensor sensor, k64s value);
220 
221 /**
222  * Stops the sensor.
223  *
224  * @public @memberof GoSensor
225  * @version Introduced in firmware 4.0.10.27
226  * @param sensor GoSensor object.
227  * @return Operation status.
228  */
229 GoFx(kStatus) GoSensor_Stop(GoSensor sensor);
230 
231 /**
232  * Perform alignment using the configured alignment type and target.
233  *
234  * NOTE: This operation will result in a sensor start for the duration of the
235  * alignment. It can be canceled via GoSensor_Stop. This function's operation
236  * status does not correspond to the actual alignment result. In order to
237  * retrieve the alignment result, you must enable the data channel before calling
238  * this function, receive an alignment data message and then check its status.
239  *
240  * @public @memberof GoSensor
241  * @version Introduced in firmware 4.0.10.27
242  * @param sensor GoSensor object.
243  * @return Operation status.
244  * @see GoSensor_EnableData, GoSystem_ReceiveData, GoSetup_AlignmentType, GoSetup_AlignmentMovingTarget, GoSetup_AlignmentStationaryTarget, GoAlignMsg_Status, GoSensor_Stop
245  * @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.
246  */
247 GoFx(kStatus) GoSensor_Align(GoSensor sensor);
248 
249 
250 /**
251  * Clears the current sensor alignment.
252  *
253  * @public @memberof GoSensor
254  * @version Introduced in firmware 4.1.3.106
255  * @param sensor GoSensor object.
256  * @return Operation status.
257  * @see GoSensor_Align
258  * @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.
259  */
260 GoFx(kStatus) GoSensor_ClearAlignment(GoSensor sensor);
261 
262 
263 /**
264  * Perform an exposure auto set.
265  *
266  * NOTE: This operation will result in a sensor start for the duration of the
267  * exposure AutoSet. A successful operation status does NOT modify the configuration.
268  * You must retrieve the resulting exposure value and set it for the appropriate
269  * exposure setting. This involves enabling the data connection prior to running
270  * exposure auto set and then receiving an exposure auto set message, which
271  * you can then use to query the status and access the resulting value.
272  *
273  * @public @memberof GoSensor
274  * @version Introduced in firmware 4.0.10.27
275  * @param sensor GoSensor object.
276  * @param role The role of the device to auto set.
277  * @return Operation status.
278  * @see GoRole, GoSensor_EnableData, GoSystem_ReceiveData, GoExposureCalMsg_Status, GoExposureCalMsg_Exposure
279  */
280 GoFx(kStatus) GoSensor_ExposureAutoSet(GoSensor sensor, GoRole role);
281 
282 /**
283  * Gets the alignment state of the sensor.
284  *
285  * @public @memberof GoSensor
286  * @version Introduced in firmware 4.0.10.27
287  * @param sensor GoSensor object.
288  * @return A GoAlignmentState.
289  */
290 GoFx(GoAlignmentState) GoSensor_AlignmentState(GoSensor sensor);
291 
292 
293 /**
294  * Sets the alignment reference of the sensor.
295  *
296  * @public @memberof GoSensor
297  * @version Introduced in firmware 4.0.10.27
298  * @param sensor GoSensor object.
299  * @param reference The alignment reference value to set.
300  * @return Operation status.
301  */
302 GoFx(kStatus) GoSensor_SetAlignmentReference(GoSensor sensor, GoAlignmentRef reference);
303 
304 /**
305  * Gets the alignment reference of the sensor.
306  *
307  * @public @memberof GoSensor
308  * @version Introduced in firmware 4.0.10.27
309  * @param sensor GoSensor object.
310  * @param reference A pointer that will hold the current alignment reference value.
311  * @return Operation status.
312  */
313 GoFx(kStatus) GoSensor_AlignmentReference(GoSensor sensor, GoAlignmentRef* reference);
314 
315 /**
316  * Reboots the main sensor and any connected buddy sensors.
317  *
318  * @public @memberof GoSensor
319  * @version Introduced in firmware 4.0.10.27
320  * @param sensor GoSensor object.
321  * @param wait kTRUE to wait for reboot and then reconnect.
322  * @return Operation status.
323  */
324 GoFx(kStatus) GoSensor_Reset(GoSensor sensor, kBool wait);
325 
326 /**
327  * Aborts ongoing sensor communication.
328  *
329  * This method asynchronously aborts ongoing communication; the next time that any
330  * I/O operation blocks for an extended period of time, it will be terminated. This method
331  * is thread-safe.
332  *
333  * In order to resume communication, call GoSensor_Refresh or GoSensor_Connect.
334  *
335  * @public @memberof GoSensor
336  * @version Introduced in firmware 4.0.10.27
337  * @param sensor GoSensor object.
338  * @return Operation status.
339  */
340 GoFx(kStatus) GoSensor_Cancel(GoSensor sensor);
341 
342 /**
343  * Gets the current time stamp (common among all synchronized sensors).
344  *
345  * @public @memberof GoSensor
346  * @version Introduced in firmware 4.0.10.27
347  * @param sensor GoSensor object.
348  * @param time Receives the current time stamp(us).
349  * @return Operation status.
350  */
351 GoFx(kStatus) GoSensor_Timestamp(GoSensor sensor, k64u* time);
352 
353 /**
354  * Gets the current encoder count.
355  *
356  * @public @memberof GoSensor
357  * @version Introduced in firmware 4.0.10.27
358  * @param sensor GoSensor object.
359  * @param encoder Receives the encoder count (ticks).
360  * @return Operation status.
361  */
362 GoFx(kStatus) GoSensor_Encoder(GoSensor sensor, k64s* encoder);
363 
364 /**
365  * Sends a software trigger to the sensor.
366  *
367  * This method is used in conjunction with sensors that are configured to accept
368  * software triggers.
369  *
370  * @public @memberof GoSensor
371  * @version Introduced in firmware 4.0.10.27
372  * @param sensor GoSensor object.
373  * @return Operation status.
374  * @see GoSetup_TriggerSource, GoSetup_SetTriggerSource
375  */
376 GoFx(kStatus) GoSensor_Trigger(GoSensor sensor);
377 
378 /**
379  * Schedules a digital output.
380  *
381  * This method requires that the output is configured to trigger on software control.
382  *
383  * @public @memberof GoSensor
384  * @version Introduced in firmware 4.0.10.27
385  * @param sensor GoSensor object.
386  * @param index The digital output index.
387  * @param target The time or position target (us or mm), depending on GoDomain. Ignored if
388  * GoDigital_ScheduleEnabled is false or GoDigital_SignalType is pulsed.
389  * @param value The value of scheduled output (0-Low or 1-High). Ignored if output
390  * GoDigital_SignalType is pulsed.
391  * @return Operation status.
392  */
393 GoFx(kStatus) GoSensor_EmitDigital(GoSensor sensor, k16u index, k64s target, k8u value);
394 
395 /**
396  * Schedules an analog output.
397  *
398  * This method requires that the output be configured to trigger on software control.
399  * NOTE: It is not possible to schedule a continuous output. The operation will
400  * fail accordingly if attempted.
401  *
402  * @public @memberof GoSensor
403  * @version Introduced in firmware 4.0.10.27
404  * @param sensor GoSensor object.
405  * @param index The analog output index.
406  * @param target The time or position target (us or mm), depending on GoDomain. Ignored if
407  * GoAnalog_ScheduleEnabled is false.
408  * @param value The value of the scheduled output (mA).
409  * @return Operation status.
410  */
411 GoFx(kStatus) GoSensor_EmitAnalog(GoSensor sensor, k16u index, k64s target, k32s value);
412 
413 /**
414  * Gets the number of files available from the connected sensor.
415  *
416  * @public @memberof GoSensor
417  * @version Introduced in firmware 4.0.10.27
418  * @param sensor GoSensor object.
419  * @return File count.
420  */
421 GoFx(kSize) GoSensor_FileCount(GoSensor sensor);
422 
423 /**
424  * Gets the file name at the specified index.
425  *
426  * @public @memberof GoSensor
427  * @version Introduced in firmware 4.0.10.27
428  * @param sensor GoSensor object.
429  * @param index Index of the desired file name.
430  * @param name Receives the name of the file.
431  * @param capacity Capacity of the file name buffer.
432  * @return Operation status.
433  */
434 GoFx(kStatus) GoSensor_FileNameAt(GoSensor sensor, kSize index, kChar* name, kSize capacity);
435 
436 /**
437  * Uploads a file to the connected sensor. The following is a list of
438  * macros representing common files used in this operation:
439  *
440  * @li GO_SENSOR_LIVE_JOB - Represents "_live.job".
441  * @li GO_SENSOR_LIVE_REPLAY - Represents the recording file, "_live.rec".
442  *
443  * @public @memberof GoSensor
444  * @version Introduced in firmware 4.0.10.27
445  * @param sensor GoSensor object.
446  * @param sourcePath Source file system path for the file to be uploaded.
447  * @param destName Destination name for the uploaded file (maximum 63 characters).
448  * @return Operation status.
449  * @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.
450  */
451 GoFx(kStatus) GoSensor_UploadFile(GoSensor sensor, const kChar* sourcePath, const kChar* destName);
452 
453 /**
454  * Downloads a file from the connected sensor. The following is a list of
455  * macros representing common files used in this operation:
456  *
457  * @li GO_SENSOR_LIVE_JOB - Represents "_live.job".
458  * @li GO_SENSOR_LIVE_REPLAY - Represents the recording file, "_live.rec".
459  *
460  * File names of saved jobs may also be specified.
461  *
462  * @public @memberof GoSensor
463  * @version Introduced in firmware 4.0.10.27
464  * @param sensor GoSensor object.
465  * @param sourceName Source name of the file to be downloaded.
466  * @param destPath Destination file system path for the file to be downloaded.
467  * @return Operation status.
468  */
469 GoFx(kStatus) GoSensor_DownloadFile(GoSensor sensor, const kChar* sourceName, const kChar* destPath);
470 
471 /**
472  * Copies a file within the connected sensor.
473  *
474  * @public @memberof GoSensor
475  * @version Introduced in firmware 4.0.10.27
476  * @param sensor GoSensor object.
477  * @param sourceName Source name for the file to be copied.
478  * @param destName Destination name for the file (maximum 63 characters).
479  * @return Operation status.
480  * @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.
481  */
482 GoFx(kStatus) GoSensor_CopyFile(GoSensor sensor, const kChar* sourceName, const kChar* destName);
483 
484 /**
485  * Deletes a file within the connected sensor.
486  *
487  * @public @memberof GoSensor
488  * @version Introduced in firmware 4.0.10.27
489  * @param sensor GoSensor object.
490  * @param name Name of the file to be deleted.
491  * @return Operation status.
492  * @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.
493  */
494 GoFx(kStatus) GoSensor_DeleteFile(GoSensor sensor, const kChar* name);
495 
496 /**
497  * Checks whether the specified file is present on the sensor.
498  *
499  * @public @memberof GoSensor
500  * @version Introduced in firmware 4.0.10.27
501  * @param sensor GoSensor object.
502  * @param name Name of the file to be checked.
503  * @return Operation status.
504  */
505 GoFx(kBool) GoSensor_FileExists(GoSensor sensor, const kChar* name);
506 
507 /**
508  * Sets a default job file to be loaded on boot.
509  *
510  * @public @memberof GoSensor
511  * @version Introduced in firmware 4.0.10.27
512  * @param sensor GoSensor object.
513  * @param fileName Name of the default file.
514  * @return Operation status.
515  * @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.
516  */
517 GoFx(kStatus) GoSensor_SetDefaultJob(GoSensor sensor, const kChar* fileName);
518 
519 /**
520  * Gets the name of the default job file to be loaded on boot.
521  *
522  * @public @memberof GoSensor
523  * @version Introduced in firmware 4.0.10.27
524  * @param sensor GoSensor object.
525  * @param fileName Receives name of the default file.
526  * @param capacity Name buffer capacity.
527  * @return Operation status.
528  */
529 GoFx(kStatus) GoSensor_DefaultJob(GoSensor sensor, kChar* fileName, kSize capacity);
530 
531 /**
532  * Gets the name of the loaded job file and whether it has been modified since loading.
533  *
534  * @public @memberof GoSensor
535  * @version Introduced in firmware 4.0.10.27
536  * @param sensor GoSensor object.
537  * @param fileName Receives name of the loaded file.
538  * @param capacity Name buffer capacity.
539  * @param changed Receives the status of whether the file has changed.
540  * @return Operation status.
541  */
542 GoFx(kStatus) GoSensor_LoadedJob(GoSensor sensor, kChar* fileName, kSize capacity, kBool* changed);
543 
544 /**
545  * Logs into the sensor using the specified user name and password.
546  *
547  * Logging in is not required in order to programmatically control a sensor. The Gocator log-in feature is
548  * intended only to support administrative user interfaces, by allowing the username and password to be
549  * stored in the sensor.
550  *
551  * @public @memberof GoSensor
552  * @version Introduced in firmware 4.0.10.27
553  * @param sensor GoSensor object.
554  * @param user User account.
555  * @param password User password.
556  * @return Operation status.
557  */
558 GoFx(kStatus) GoSensor_LogIn(GoSensor sensor, GoUser user, const kChar* password);
559 
560 /**
561  * Changes the password associated with the specified user account.
562  *
563  * @public @memberof GoSensor
564  * @version Introduced in firmware 4.0.10.27
565  * @param sensor GoSensor object.
566  * @param user User account.
567  * @param password New password.
568  * @return Operation status.
569  * @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.
570  */
571 GoFx(kStatus) GoSensor_ChangePassword(GoSensor sensor, GoUser user, const kChar* password);
572 
573 /**
574  * Upgrades sensor firmware.
575  *
576  * This function will block until the upgrade is completed.
577  *
578  * This function results in flash storage modifications. If modifications are interrupted due to
579  * power loss, the sensor may reboot into Rescue mode.
580  *
581  * The sensor does not need to be connected to perform an upgrade.
582  *
583  * @public @memberof GoSensor
584  * @version Introduced in firmware 4.0.10.27 and updated in 4.3.3.124
585  * @param sensor GoSensor object.
586  * @param sourcePath Local file system path to the upgrade file.
587  * @param onUpdate Callback function to receive progress updates, or kNULL.
588  * @param context Context handle to be passed to the upgrade callback.
589  * @return Operation status.
590  */
591 GoFx(kStatus) GoSensor_Upgrade(GoSensor sensor, const kChar* sourcePath, GoUpgradeFx onUpdate, kPointer context);
592 
593 /**
594  * Creates a backup of sensor files and downloads the backup to the specified location.
595  *
596  * @public @memberof GoSensor
597  * @version Introduced in firmware 4.0.10.27
598  * @param sensor GoSensor object.
599  * @param destPath Local file system path for the saved backup file.
600  * @return Operation status.
601  */
602 GoFx(kStatus) GoSensor_Backup(GoSensor sensor, const kChar* destPath);
603 
604 /**
605  * Restores a backup of sensor files.
606  *
607  * @public @memberof GoSensor
608  * @version Introduced in firmware 4.0.10.27
609  * @param sensor GoSensor object.
610  * @param sourcePath Local file system path of the saved backup file.
611  * @return Operation status.
612  * @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.
613  */
614 GoFx(kStatus) GoSensor_Restore(GoSensor sensor, const kChar* sourcePath);
615 
616 /**
617  * Restores factory default settings.
618  *
619  * @public @memberof GoSensor
620  * @version Introduced in firmware 4.0.10.27
621  * @param sensor GoSensor object.
622  * @param restoreAddress kTRUE to restore the factory default IP address; False otherwise.
623  * @return Operation status.
624  * @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.
625  */
626 GoFx(kStatus) GoSensor_RestoreDefaults(GoSensor sensor, kBool restoreAddress);
627 
628 /**
629  * Gets the GoSetup instance associated with the sensor.
630  *
631  * @public @memberof GoSensor
632  * @version Introduced in firmware 4.0.10.27
633  * @param sensor GoSensor object.
634  * @return A GoSetup object module
635  */
636 GoFx(GoSetup) GoSensor_Setup(GoSensor sensor);
637 
638 /**
639  * Gets the sensor's tools module, used for measurement configuration.
640  *
641  * @public @memberof GoSensor
642  * @version Introduced in firmware 4.0.10.27
643  * @param sensor GoSensor object.
644  * @return Measurement configuration module.
645  */
646 GoFx(GoTools) GoSensor_Tools(GoSensor sensor);
647 
648 /**
649  * Gets the output module, used for output configuration.
650  *
651  * @public @memberof GoSensor
652  * @version Introduced in firmware 4.0.10.27
653  * @param sensor GoSensor object.
654  * @return Output configuration module.
655  */
656 GoFx(GoOutput) GoSensor_Output(GoSensor sensor);
657 
658 /**
659  * Gets the transform module, used for transformation configuration.
660  *
661  * @public @memberof GoSensor
662  * @version Introduced in firmware 4.0.10.27
663  * @param sensor GoSensor object.
664  * @return Transformation configuration module.
665  */
666 GoFx(GoTransform) GoSensor_Transform(GoSensor sensor);
667 
668 /**
669  * Gets the device identifier associated with this sensor.
670  *
671  * @public @memberof GoSensor
672  * @version Introduced in firmware 4.0.10.27
673  * @param sensor GoSensor object.
674  * @return The sensor's device ID.
675  */
676 GoFx(k32u) GoSensor_Id(GoSensor sensor);
677 
678 /**
679  * Gets the model number associated with this sensor.
680  *
681  * @public @memberof GoSensor
682  * @version Introduced in firmware 4.0.10.27
683  * @param sensor GoSensor object.
684  * @param model Receives sensor model.
685  * @param capacity Capacity of model buffer.
686  * @return Operation status.
687  */
688 GoFx(kStatus) GoSensor_Model(GoSensor sensor, kChar* model, kSize capacity);
689 
690 /**
691  * Reports the current state of the sensor.
692  *
693  * @public @memberof GoSensor
694  * @version Introduced in firmware 4.0.10.27
695  * @param sensor GoSensor object.
696  * @return Sensor state.
697  */
698 GoFx(GoState) GoSensor_State(GoSensor sensor);
699 
700 /**
701  * Reports the current states of the sensor.
702  *
703  * @public @memberof GoSensor
704  * @version Introduced in firmware 4.0.10.27
705  * @param sensor GoSensor object.
706  * @param states Reference to updated states.
707  * @return Operation status.
708  */
709 GoFx(kStatus) GoSensor_States(GoSensor sensor, GoStates* states);
710 
711 /**
712  * Gets the sensor's current role within the system.
713  *
714  * @public @memberof GoSensor
715  * @version Introduced in firmware 4.0.10.27
716  * @param sensor GoSensor object.
717  * @return Sensor role.
718  */
719 GoFx(GoRole) GoSensor_Role(GoSensor sensor);
720 
721 /**
722  * Reports the user account associated with the current user.
723  *
724  * @public @memberof GoSensor
725  * @version Introduced in firmware 4.0.10.27
726  * @param sensor GoSensor object.
727  * @return User account id.
728  */
729 GoFx(GoUser) GoSensor_User(GoSensor sensor);
730 
731 /**
732  * Gets the sensor's protocol version.
733  *
734  * @public @memberof GoSensor
735  * @version Introduced in firmware 4.0.10.27
736  * @param sensor GoSensor object.
737  * @return Protocol version.
738  */
739 GoFx(kVersion) GoSensor_ProtocolVersion(GoSensor sensor);
740 
741 /**
742  * Gets the sensor's firmware version.
743  *
744  * @public @memberof GoSensor
745  * @version Introduced in firmware 4.0.10.27
746  * @param sensor GoSensor object.
747  * @return Firmware version.
748  */
749 GoFx(kVersion) GoSensor_FirmwareVersion(GoSensor sensor);
750 
751 /**
752  * Sets the recording state of the sensor.
753  *
754  * @public @memberof GoSensor
755  * @version Introduced in firmware 4.0.10.27
756  * @param sensor GoSensor object.
757  * @param enable Enables or disables recording.
758  * @return Operation status.
759  */
760 GoFx(kStatus) GoSensor_EnableRecording(GoSensor sensor, kBool enable);
761 
762 /**
763  * Gets the recording state of the sensor.
764  *
765  * @public @memberof GoSensor
766  * @version Introduced in firmware 4.0.10.27
767  * @param sensor GoSensor object.
768  * @return kTRUE if recording is enabled. kFALSE otherwise.
769  */
770 GoFx(kBool) GoSensor_RecordingEnabled(GoSensor sensor);
771 
772 /**
773  * Sets the input source of the sensor.
774  *
775  * @public @memberof GoSensor
776  * @version Introduced in firmware 4.0.10.27
777  * @param sensor GoSensor object.
778  * @param source The input source to use.
779  * @return Operation status.
780  */
781 GoFx(kStatus) GoSensor_SetInputSource(GoSensor sensor, GoInputSource source);
782 
783 /**
784  * Gets the input source currently used by the sensor.
785  *
786  * @public @memberof GoSensor
787  * @version Introduced in firmware 4.0.10.27
788  * @param sensor GoSensor object.
789  * @return A GoInputSource.
790  */
791 GoFx(GoInputSource) GoSensor_InputSource(GoSensor sensor);
792 
793 /**
794  * Simulates the current frame in the live recording buffer.
795  *
796  * @public @memberof GoSensor
797  * @version Introduced in firmware 4.0.10.27
798  * @param sensor GoSensor object.
799  * @param isBufferValid kTRUE if the source simulation buffer was valid. kFALSE otherwise.
800  * @return Operation status.
801  */
802 GoFx(kStatus) GoSensor_Simulate(GoSensor sensor, kBool* isBufferValid);
803 
804 
805 /**
806  * Advances one frame from the current replay position.
807  *
808  * @public @memberof GoSensor
809  * @version Introduced in firmware 4.0.10.27
810  * @param sensor GoSensor object.
811  * @param direction Direction with which to step.
812  * @return Operation status.
813  */
814 GoFx(kStatus) GoSensor_PlaybackStep(GoSensor sensor, GoSeekDirection direction);
815 
816 /**
817  * Sets the current frame position for a replay.
818  *
819  * @public @memberof GoSensor
820  * @version Introduced in firmware 4.0.10.27
821  * @param sensor GoSensor object.
822  * @param position The frame position to seek.
823  * @return Operation status.
824  */
825 GoFx(kStatus) GoSensor_PlaybackSeek(GoSensor sensor, kSize position);
826 
827 /**
828  * Gets the current replay frame position.
829  *
830  * @public @memberof GoSensor
831  * @version Introduced in firmware 4.0.10.27
832  * @param sensor GoSensor object.
833  * @param position The current frame position index.
834  * @param count The frame count.
835  * @return Operation status.
836  */
837 GoFx(kStatus) GoSensor_PlaybackPosition(GoSensor sensor, kSize* position, kSize* count);
838 
839 /**
840  * Clears the replay buffer.
841  *
842  * @public @memberof GoSensor
843  * @version Introduced in firmware 4.0.10.27
844  * @param sensor GoSensor object.
845  * @return Operation status.
846  */
847 GoFx(kStatus) GoSensor_ClearReplayData(GoSensor sensor);
848 
849 /**
850  * Resets the measurement statistics reported by the health channel
851  *
852  * @public @memberof GoSensor
853  * @version Introduced in firmware 4.0.10.27
854  * @param sensor GoSensor object.
855  * @return A GoAlignmentState.
856  */
857 GoFx(kStatus) GoSensor_ClearMeasurementStats(GoSensor sensor);
858 
859 /**
860  * Exports the current frame of a replay in the form of a bitmap.
861  *
862  * @public @memberof GoSensor
863  * @version Introduced in firmware 4.0.10.27
864  * @param sensor GoSensor object.
865  * @param type The type of data to export.
866  * @param source The device data source to export from.
867  * @param dstFileName The destination file name of the exported bitmap file.
868  * @return Operation status.
869  */
870 GoFx(kStatus) GoSensor_ExportBitmap(GoSensor sensor,
872  GoDataSource source,
873  const kChar* dstFileName);
874 
875 /**
876  * Exports replay data in CSV format.
877  *
878  * @public @memberof GoSensor
879  * @version Introduced in firmware 4.0.10.27
880  * @param sensor GoSensor object.
881  * @param dstFileName The destination file name of the exported CSV file.
882  * @return Operation status.
883  */
884 GoFx(kStatus) GoSensor_ExportCsv(GoSensor sensor, const kChar* dstFileName);
885 
886 /**
887  * Returns an enumerator value representing the current sensor's family.
888  *
889  * @public @memberof GoSensor
890  * @version Introduced in firmware 4.0.10.27
891  * @param sensor GoSensor object.
892  * @return A GoFamily value.
893  */
894 GoFx(GoFamily) GoSensor_Family(GoSensor sensor);
895 
896 /**
897  * Clears the log file (_live.log).
898  *
899  * @public @memberof GoSensor
900  * @version Introduced in firmware 4.0.10.27
901  * @param sensor GoSensor object.
902  * @return Operation status.
903  */
904 GoFx(kStatus) GoSensor_ClearLog(GoSensor sensor);
905 
906 /**
907  * Sets the AutoStart enabled state of the sensor.
908  *
909  * @public @memberof GoSensor
910  * @version Introduced in firmware 4.0.10.27
911  * @param sensor GoSensor object.
912  * @param enable The AutoStart enabled state to use.
913  * @return Operation status.
914  */
915 GoFx(kStatus) GoSensor_EnableAutoStart(GoSensor sensor, kBool enable);
916 
917 /**
918  * Gets the AutoStart enabled state currently used by the sensor.
919  *
920  * @public @memberof GoSensor
921  * @version Introduced in firmware 4.0.10.27
922  * @param sensor GoSensor object.
923  * @return kTRUE if auto start is enabled and kFALSE otherwise.
924  */
925 GoFx(kBool) GoSensor_AutoStartEnabled(GoSensor sensor);
926 
927 /**
928  * Gets the count of remote sensor information held by the sensor.
929  *
930  * @public @memberof GoSensor
931  * @version Introduced in firmware 4.0.10.27
932  * @param sensor GoSensor object.
933  * @return The remote sensor information count.
934  */
935 GoFx(kSize) GoSensor_RemoteInfoCount(GoSensor sensor);
936 
937 /**
938  * Gets the remote sensor information at the given index.
939  *
940  * @public @memberof GoSensor
941  * @version Introduced in firmware 4.0.10.27
942  * @param sensor GoSensor object.
943  * @param index The index of the remote sensor information to retrieve.
944  * @return A handle to the selected remote sensor information or kNULL if an invalid index is provided.
945  */
946 GoFx(GoSensorInfo) GoSensor_RemoteInfoAt(GoSensor sensor, kSize index);
947 
948 /**
949  * Return the number of files contained in the specified path with an optional extension filter applied.
950  *
951  * @public @memberof GoSensor
952  * @version Introduced in firmware 4.1.3.106
953  * @param sensor GoSensor object.
954  * @param extensionFilter An optional extension filter to apply. Send "" to not apply a filter.
955  * @param path The file system path to retrieve the file count for.
956  * @param isRecursive kTRUE to include files in sub-folders of the path and kFALSE to only count files in the immediate path.
957  * @return The number of files contained in the specified path with an optional extension filter applied.
958  */
959 GoFx(kSize) GoSensor_DirectoryFileCount(GoSensor sensor, const kChar* extensionFilter, const kChar* path, kBool isRecursive);
960 
961 /**
962  * Retrievesthe file name at the specified index for a given path and optional extension filter.
963  *
964  * @public @memberof GoSensor
965  * @version Introduced in firmware 4.1.3.106
966  * @param sensor GoSensor object.
967  * @param extensionFilter An optional extension filter to apply. Send "" to not apply a filter.
968  * @param path The file system path to retrieve the file count for.
969  * @param isRecursive kTRUE to include files in sub-folders of the path and kFALSE to only count files in the immediate path.
970  * @param index The index of the file name to retrieve.
971  * @param fileName The pointer to a character array of which to store the retrieve file name.
972  * @param capacity The maximum capacity of the character array.
973  * @return Operation status.
974  */
975 GoFx(kStatus) GoSensor_DirectoryFileNameAt(GoSensor sensor, const kChar* extensionFilter, const kChar* path, kBool isRecursive, kSize index, kChar* fileName, kSize capacity);
976 
977 /**
978  * Defines the signature for a custom data message handler.
979  *
980  * @public @memberof GoSensor
981  * @version Introduced in firmware 4.1.3.106
982  * @param context A pointer to an application context to use with the provided data set.
983  * @param sensor GoSensor object.
984  * @param dataSet The data set.
985  * @return Operation status.
986  * @see GoSensor_SetDataHandler
987  */
988 typedef kStatus (kCall* GoSensorDataSetFx)(kPointer context, GoSensor sensor, GoDataSet dataSet);
989 
990 /**
991  * Sets the data callback function to be used upon receipt of data.
992  *
993  * @public @memberof GoSensor
994  * @version Introduced in firmware 4.1.3.106
995  * @param sensor GoSensor object.
996  * @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.
997  * @param context The context to use with the function pointer.
998  * @return Operation status.
999  * @see GoSensorDataSetFx
1000  */
1001 GoFx(kStatus) GoSensor_SetDataHandler(GoSensor sensor, GoSensorDataSetFx function, kPointer context);
1002 
1003 
1004 /**
1005  * Creates a part matching model based on the current part data.
1006  *
1007  * @public @memberof GoSensor
1008  * @version Introduced in firmware 4.2.4.7
1009  * @param sensor GoSensor object.
1010  * @param name The intended name of the part match model.
1011  * @return Operation status.
1012  */
1013 GoFx(kStatus) GoSensor_PartMatchCreateModel(GoSensor sensor, const kChar* name);
1014 
1015 /**
1016  * Detect the edges of the specified part model.
1017  *
1018  * @public @memberof GoSensor
1019  * @version Introduced in firmware 4.2.4.7
1020  * @param sensor GoSensor object.
1021  * @param name The name of the part match model to detect edges on.
1022  * @param sensitivity The sensitivity to use for model edge detection.
1023  * @return Operation status.
1024  */
1025 GoFx(kStatus) GoSensor_PartMatchDetectModelEdges(GoSensor sensor, const kChar* name, k16u sensitivity);
1026 
1027 /**
1028  * Returns a handle to a part model based on a given name.
1029  *
1030  * @public @memberof GoSensor
1031  * @version Introduced in firmware 4.2.4.7
1032  * @param sensor GoSensor object.
1033  * @param name The name of the part match model to retrieve.
1034  * @return A GoPartModel handle.
1035  */
1036 GoFx(GoPartModel) GoSensor_PartMatchModel(GoSensor sensor, const kChar* name);
1037 
1038 /**
1039  * Returns the number of part match models present in the currently loaded job.
1040  *
1041  * @public @memberof GoSensor
1042  * @version Introduced in firmware 4.2.4.7
1043  * @param sensor GoSensor object.
1044  * @return The count of part match models in the currently loaded job.
1045  */
1046 GoFx(kSize) GoSensor_PartMatchModelCount(GoSensor sensor);
1047 
1048 /**
1049  * Returns a handle to a part model based on a given index.
1050  *
1051  * @public @memberof GoSensor
1052  * @version Introduced in firmware 4.2.4.7
1053  * @param sensor GoSensor object.
1054  * @param index The index of the part model to retrieve.
1055  * @return A GoPartModel handle.
1056  */
1057 GoFx(GoPartModel) GoSensor_PartMatchModelAt(GoSensor sensor, kSize index);
1058 
1059 kEndHeader()
1060 #include <GoSdk/GoSensor.x.h>
1061 
1062 #endif
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.
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:552
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.
Represents a playback seek direction.
Represents the replay export source type.
kStatus(kCall * GoSensorDataSetFx)(kPointer context, GoSensor sensor, GoDataSet dataSet)
Defines the signature for a custom data message handler.
Definition: GoSensor.h:988
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_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).
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.
Represents the supported Gocator hardware families.
Represents a user role.
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.
GoPartModel GoSensor_PartMatchModelAt(GoSensor sensor, kSize index)
Returns a handle to a part model based on a given index.
Declares the GoDataSet class.
kStatus GoSensor_PlaybackStep(GoSensor sensor, GoSeekDirection direction)
Advances one frame from the current replay position.
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 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.
Essential SDK declarations.
kStatus GoSensor_DirectoryFileNameAt(GoSensor sensor, const kChar *extensionFilter, const kChar *path, kBool isRecursive, kSize index, kChar *fileName, kSize capacity)
Retrievesthe 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.
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 state of the sensor.
Declares the GoTransform class.
kStatus GoSensor_PartMatchDetectModelEdges(GoSensor sensor, const kChar *name, k16u sensitivity)
Detect the edges of the specified part model.
kStatus GoSensor_ExportCsv(GoSensor sensor, const kChar *dstFileName)
Exports replay data in CSV format.
kStatus GoSensor_Flush(GoSensor sensor)
Initiates a sensor configuration, model file, and transformation synchronization if modifications are...
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.
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.
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_Model(GoSensor sensor, kChar *model, kSize capacity)
Gets the model number associated with this sensor.
kStatus GoSensor_ClearMeasurementStats(GoSensor sensor)
Resets the measurement statistics reported by the health channel.
Represents an alignment reference.
kStatus GoSensor_Start(GoSensor sensor)
Starts 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.
k32u GoSensor_Id(GoSensor sensor)
Gets the device identifier associated with this sensor.
kStatus GoSensor_Connect(GoSensor sensor)
Creates a connection to the sensor.
GoOutput GoSensor_Output(GoSensor sensor)
Gets the output module, used for output configuration.
Declares the GoTool classes.
kStatus GoSensor_CopyFile(GoSensor sensor, const kChar *sourceName, const kChar *destName)
Copies a file within the connected sensor.
kBool GoSensor_HasBuddy(GoSensor sensor)
Reports whether a buddy had been assigned.
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.
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.
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.
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 the current states of the sensor.
kBool GoSensor_RecordingEnabled(GoSensor sensor)
Gets the recording state of the sensor.
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.
kStatus GoSensor_EmitDigital(GoSensor sensor, k16u index, k64s target, k8u value)
Schedules a digital output.
kStatus GoSensor_SetInputSource(GoSensor sensor, GoInputSource source)
Sets the input source of the sensor.
Represents a device configuration.
Represents a Gocator sensor.
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 relating to the current time or encoder value as reported by t...
kStatus GoSensor_ChangePassword(GoSensor sensor, GoUser user, const kChar *password)
Changes the password associated with the specified user account.
GoRole GoSensor_Role(GoSensor sensor)
Gets the sensor's current role within the system.
Sensor network address settings.
Definition: GoSdkDef.h:573
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.