![]() |
![]() |
This is the header file for the GTRACK Algorithm. More...
Data Structures | |
struct | GTRACK_boundaryBox |
GTRACK Box Structure. More... | |
struct | GTRACK_gateLimits |
GTRACK Gate Limits. More... | |
struct | GTRACK_varParams |
GTRACK Update Function Parameters. More... | |
struct | GTRACK_sceneryParams |
GTRACK Scene Parameters. More... | |
struct | GTRACK_gatingParams |
GTRACK Gating Function Parameters. More... | |
struct | GTRACK_stateParams |
GTRACK Tracking Management Function Parameters. More... | |
struct | GTRACK_allocationParams |
GTRACK Allocation Function Parameters. More... | |
struct | GTRACK_unrollingParams |
GTRACK Unrolling Parameters. More... | |
struct | GTRACK_advancedParameters |
GTRACK Advanced Parameters. More... | |
struct | GTRACK_moduleConfig |
GTRACK Configuration. More... | |
struct | GTRACK_measurementPoint |
GTRACK Measurement point. More... | |
struct | GTRACK_targetDesc |
GTRACK target descriptor. More... | |
Macros | |
#define | GTRACK_ERRNO_BASE (-8000) |
Base error code for GTRACK algorithm. | |
#define | GTRACK_EOK (0) |
Error code: No errors. | |
#define | GTRACK_EINVAL (GTRACK_ERRNO_BASE-1) |
Error Code: Invalid argument. | |
#define | GTRACK_EINUSE (GTRACK_ERRNO_BASE-2) |
Error Code: Operation cannot be implemented because a previous operation is still not complete. | |
#define | GTRACK_ENOTIMPL (GTRACK_ERRNO_BASE-3) |
Error Code: Operation is not implemented. | |
#define | GTRACK_ENOMEM (GTRACK_ERRNO_BASE-4) |
Error Code: Out of memory. | |
Maximum supported configurations | |
#define | GTRACK_NUM_POINTS_MAX (1000U) |
Defines maximum possible number of measurments point the algorithm will accept at configuration time. | |
#define | GTRACK_NUM_TRACKS_MAX (250U) |
Defines maximum possible number of tracking target the algorithm will accept at configuration time. | |
Target ID definitions | |
Target IDs are uint8_t, with valid IDs ranging from 0 to 249. Values 250 to 252 are reserved for future use, other values as defined below | |
#define | GTRACK_ID_POINT_TOO_WEAK (253U) |
Point is not associated, is too weak. | |
#define | GTRACK_ID_POINT_BEHIND_THE_WALL (254U) |
Point is not associated, is behind the wall. | |
#define | GTRACK_ID_POINT_NOT_ASSOCIATED (255U) |
Point is not associated, noise. | |
Benchmarking results | |
During runtime execution, tracking step function can optionally return cycle counts for the sub-functions defined below Each count is 32bit unsigned integer value representing a timestamp of free runing clock | |
#define | GTRACK_BENCHMARK_SETUP (0U) |
Cycle count at step setup. | |
#define | GTRACK_BENCHMARK_PREDICT (1U) |
Cycle count after predict function. | |
#define | GTRACK_BENCHMARK_ASSOCIATE (2U) |
Cycle count after associate function. | |
#define | GTRACK_BENCHMARK_ALLOCATE (3U) |
Cycle count after allocate function. | |
#define | GTRACK_BENCHMARK_UPDATE (4U) |
Cycle count after update function. | |
#define | GTRACK_BENCHMARK_REPORT (5U) |
Cycle count after report function. | |
#define | GTRACK_BENCHMARK_SIZE (GTRACK_BENCHMARK_REPORT) |
Size of benchmarking array. | |
Boundary boxes | |
Application can configure tracker with scene boundries. Boundaries are defined as a boxes. | |
#define | GTRACK_MAX_BOUNDARY_BOXES (2U) |
Maximum number of boundary boxes. Points outside of boundary boxes are ignored. | |
#define | GTRACK_MAX_STATIC_BOXES (2U) |
Maximum number of static boxes. Targets inside the static box can persist longer. | |
Enumerations |
Functions | |
void * | gtrack_create (GTRACK_moduleConfig *config, int32_t *errCode) |
void | gtrack_step (void *handle, GTRACK_measurementPoint *point, GTRACK_measurement_vector *var, uint16_t mNum, GTRACK_targetDesc *t, uint16_t *tNum, uint8_t *mIndex, uint32_t *bench) |
void | gtrack_delete (void *handle) |
void * | gtrack_alloc (uint32_t numElements, uint32_t sizeInBytes) |
GTRACK calls this function to allocate memory. Expects the void pointer if allocation is sucessful, and NULL otherwise. More... | |
void | gtrack_free (void *pFree, uint32_t sizeInBytes) |
GTRACK calls this function to free memory. More... | |
void | gtrack_log (GTRACK_VERBOSE_TYPE level, const char *format,...) |
GTRACK calls this function to log the events. More... | |
This is the header file for the GTRACK Algorithm.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
Neither the name of Texas Instruments Incorporated nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.