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