GoWebScan API
GoWebScanSyncTask.h
Go to the documentation of this file.
1 /**
2 * @file GoWebScanSyncTask.h
3 * @brief Declares a GoWebScanSyncTask object.
4 *
5 * @internal
6 * Copyright (C) 2017-2026 by LMI Technologies Inc.
7 * Licensed under the MIT License.
8 * Redistributed files must retain the above copyright notice.
9 */
10 
11 #ifndef GO_WEB_SCAN_SYNC_TASK_H
12 #define GO_WEB_SCAN_SYNC_TASK_H
13 
19 
20 /**
21 * @class GoWebScanSyncTask
22 * @extends kObject
23 * @ingroup GoWebScanSdk-Control
24 * @brief Represents a task to match profile, vision, and tracheid tiles by Y-position and
25 * monitor for time and distance coherency violations.
26 *
27 * A GoWebScanSyncTask object receives tiles corresponding to the profile, presence,
28 * vision, and tracheid data from all individual cameras. Tiles are matched by
29 * Y-position, and then emitted in lists corresponding to the profile, presence,
30 * vision, and tracheid data in the top and/or bottom groups. The task receives
31 * GoWebScanProfileTileMsg, GoWebScanVisionTileMsg, and GoWebScanTracheidTileMsg
32 * objects and outputs GoWebScanTileListMsg objects for each data type. A GoWebScanSyncTask
33 * instance delegates most of its work to the GoWebScanTileCombiner algorithm.
34 * Incoming messages are passed directly to the GoWebScanTileCombiner instance, and
35 * outputs from the GoWebScanTileCombiner are immediately emitted as outputs from the
36 * GoWebScanSyncTask.
37 */
39 
40 // Forward declaration
42 
43 /**
44  * Constructs a GoWebScanSyncTask object.
45  *
46  * @public @memberof GoWebScanSyncTask
47  * @param task Receives the constructed GoWebScanSyncTask object.
48  * @param process Associated GoWebScanProcess object.
49  * @param config System configuration.
50  * @param allocator Memory allocator (or kNULL for default).
51  * @return Operation status.
52  */
53 GoWebScanFx(kStatus) GoWebScanSyncTask_Construct(GoWebScanSyncTask* task, GoWebScanProcess process, GoWebScanConfig config, kAlloc allocator);
54 
55 /**
56  * Sets the handler for receiving synced tile sets for each data type and plane.
57  *
58  * @public @memberof GoWebScanSyncTask
59  * @param task GoWebScanSyncTask object.
60  * @param id Message type ID.
61  * @param plane System plane.
62  * @param send Callback function.
63  * @param context Receiver argument for callback.
64  * @return Operation status.
65  */
67 
68 /**
69 * Adds a message to the processing queue. Dequeues a message at the end of the queue to submit
70 * to the pipe for scheduling if no other job is currently pending.
71 *
72 * @public @memberof GoWebScanSyncTask
73 * @param task GoWebScanSyncTask object.
74 * @param msg Profile input message to enqueue.
75 * @return Operation status.
76 */
78 
79 /**
80 * Clears the tile combiner algorithm and resets internal variables.
81 *
82 * @public @memberof GoWebScanSyncTask
83 * @param task GoWebScanSyncTask object.
84 * @return Operation status.
85 */
87 
88 /**
89 * Set handler for when tile lane is disabled. Function calls for disabling or enabling a lane enter an asynchronous queue.
90 *
91 * @public @memberof GoWebScanSyncTask
92 * @param task GoWebScanSyncTask object.
93 * @param function Callback function.
94 * @param receiver Receiver argument for callback.
95 * @return Operation status.
96 */
98 
99 /**
100 * Set handler for when tile lane is re-enabled. Function calls for disabling or enabling a lane enter an asynchronous queue.
101 *
102 * @public @memberof GoWebScanSyncTask
103 * @param task GoWebScanSyncTask object.
104 * @param function Callback function.
105 * @param receiver Receiver argument for callback.
106 * @return Operation status.
107 */
109 
110 /**
111 * Update the system configuration.
112 *
113 * @public @memberof GoWebScanSyncTask
114 * @param task GoWebScanSyncTask object.
115 * @param config System configuration.
116 * @return Operation status.
117 */
119 
120 #include <GoWebScanSdk/GoWebScanSyncTask.x.h>
121 
122 #endif
Declares the GoWebScanPipeTask class.
Represents a task for processing raw sensor data to produce system web tiles (Web mode) or detected o...
Declares a GoWebScanPipe object.
kStatus(kCall * GoWebScanPipeSendFx)(kPointer context, GoWebScanPipeMsg msg)
Defines the signature of the handler used by tasks to receive a message from the pipe.
Definition: GoWebScanPipe.h:33
kStatus GoWebScanSyncTask_UpdateConfig(GoWebScanSyncTask task, GoWebScanConfig config)
Update the system configuration.
Represents an ID for types of sync list messages.
kStatus GoWebScanSyncTask_Construct(GoWebScanSyncTask *task, GoWebScanProcess process, GoWebScanConfig config, kAlloc allocator)
Constructs a GoWebScanSyncTask object.
Essential GoWebScan declarations.
kStatus(kCall * GoWebScanTileCombinerLaneChangeFx)(kPointer context, const k32s *id, kSize length)
Defines the signature for the handler for a lane being enabled or disabled.
Definition: GoWebScanTileCombiner.h:54
Represents a task to match profile, vision, and tracheid tiles by Y-position and monitor for time and...
kStatus GoWebScanSyncTask_SetReceiver(GoWebScanSyncTask task, GoWebScanSyncId id, GoWebScanSystemPlane plane, GoWebScanPipeSendFx send, kPointer context)
Sets the handler for receiving synced tile sets for each data type and plane.
kStatus GoWebScanSyncTask_SetLaneEnabledHandler(GoWebScanSyncTask task, GoWebScanTileCombinerLaneChangeFx function, kPointer receiver)
Set handler for when tile lane is re-enabled.
kStatus GoWebScanSyncTask_Clear(GoWebScanSyncTask task)
Clears the tile combiner algorithm and resets internal variables.
Represents the top or bottom plane of the system.
kStatus GoWebScanSyncTask_Send(GoWebScanSyncTask task, GoWebScanPipeMsg msg)
Adds a message to the processing queue.
Declares a GoWebScanTileCombiner object.
kStatus GoWebScanSyncTask_SetLaneDisabledHandler(GoWebScanSyncTask task, GoWebScanTileCombinerLaneChangeFx function, kPointer receiver)
Set handler for when tile lane is disabled.
Base class for a msg that can be processed with a GoWebScanPipeTask and submitted to the GoWebScanPip...
Represents a container for system-level parameters which are translated from user parameters set in G...
Declares a GoWebScanConfig object.