Struct jsRawProfile¶
A Raw Profile is the most basic type of profile returned back from a scan head. The data is left unprocessed with the contents being dependent on the jsDataFormat that the scan head is configured for.
Note:
It is highly recommended to use jsProfile rather than jsRawProfile as the former is far more simplified and user friendly than the later which presents low level API implementation details.
#include <joescan_pinchot.h>
Public Attributes¶
| Type | Name |
|---|---|
| jsCamera | camera The camera used for the profile. |
| jsProfileData | data An array of scan line data associated with this profile. |
| uint32_t | data_len The total length of profile data held in the data array. This value will be less than or equal toJS_RAW_PROFILE_DATA_LEN and should be used for iterating over the array. |
| uint32_t | data_valid_brightness Number of brightness values in thedata array that are valid. Invalidbrightness will be set toJS_PROFILE_DATA_INVALID_BRIGHTNESS . |
| uint32_t | data_valid_xy Number of x andy values in thedata array that are valid. Invalidx andy will have both set toJS_PROFILE_DATA_INVALID_XY . |
| int64_t | encoder_values Array holding current encoder values. |
| uint32_t | flags Bitmask of flags listed in enum jsProfileFlags . |
| jsDataFormat | format The arrangement profile data contained in the data array. For raw profile data, the data will be filled in at most according to the resolution specified in thejsDataFormat type. For full resolution, the entire scan line will be sampled. For half resolution, half of the scan line will be sampled anddata array will be populated at every other entry. Similarly for quarter resolution, every fourth entry will be used for scan data. Comparison withJS_PROFILE_DATA_INVALID_XY for X/Y values andJS_PROFILE_DATA_INVALID_BRIGHTNESS can be used to determine if data is set or not. |
| jsLaser | laser The laser used for the profile. |
| uint32_t | laser_on_time_us Time in microseconds for the laser emitting. |
| uint32_t | num_encoder_values Number of encoder values in this profile. |
| uint32_t | packets_expected |
| uint32_t | packets_received |
| uint64_t | reserved_0 Reserved for future use. |
| uint64_t | reserved_1 Reserved for future use. |
| uint64_t | reserved_2 Reserved for future use. |
| uint64_t | reserved_3 Reserved for future use. |
| uint64_t | reserved_4 Reserved for future use. |
| uint64_t | reserved_5 Reserved for future use. |
| uint32_t | scan_head_id The Id of the scan head that the profile originates from. |
| uint32_t | sequence_number Monotonically increasing count of profiles generated by camera. |
| uint64_t | timestamp_ns Time of the scan head in nanoseconds when profile was taken. |
Public Attributes Documentation¶
camera¶
The camera used for the profile.
jsCamera camera;
data¶
An array of scan line data associated with this profile.
jsProfileData data[JS_RAW_PROFILE_DATA_LEN];
data_len¶
The total length of profile data held in the data array. This value will be less than or equal toJS_RAW_PROFILE_DATA_LEN and should be used for iterating over the array.
uint32_t data_len;
data_valid_brightness¶
Number of brightness values in thedata array that are valid. Invalidbrightness will be set toJS_PROFILE_DATA_INVALID_BRIGHTNESS .
uint32_t data_valid_brightness;
data_valid_xy¶
Number of x andy values in thedata array that are valid. Invalidx andy will have both set toJS_PROFILE_DATA_INVALID_XY .
uint32_t data_valid_xy;
encoder_values¶
Array holding current encoder values.
int64_t encoder_values[JS_ENCODER_MAX];
flags¶
Bitmask of flags listed in enum jsProfileFlags .
uint32_t flags;
format¶
The arrangement profile data contained in the data array. For raw profile data, the data will be filled in at most according to the resolution specified in thejsDataFormat type. For full resolution, the entire scan line will be sampled. For half resolution, half of the scan line will be sampled anddata array will be populated at every other entry. Similarly for quarter resolution, every fourth entry will be used for scan data. Comparison withJS_PROFILE_DATA_INVALID_XY for X/Y values andJS_PROFILE_DATA_INVALID_BRIGHTNESS can be used to determine if data is set or not.
jsDataFormat format;
laser¶
The laser used for the profile.
jsLaser laser;
laser_on_time_us¶
Time in microseconds for the laser emitting.
uint32_t laser_on_time_us;
num_encoder_values¶
Number of encoder values in this profile.
uint32_t num_encoder_values;
packets_expected¶
uint32_t packets_expected;
Deprecated
Will be removed in a future release.
packets_received¶
uint32_t packets_received;
Deprecated
Will be removed in a future release.
reserved_0¶
Reserved for future use.
uint64_t reserved_0;
reserved_1¶
Reserved for future use.
uint64_t reserved_1;
reserved_2¶
Reserved for future use.
uint64_t reserved_2;
reserved_3¶
Reserved for future use.
uint64_t reserved_3;
reserved_4¶
Reserved for future use.
uint64_t reserved_4;
reserved_5¶
Reserved for future use.
uint64_t reserved_5;
scan_head_id¶
The Id of the scan head that the profile originates from.
uint32_t scan_head_id;
sequence_number¶
Monotonically increasing count of profiles generated by camera.
uint32_t sequence_number;
timestamp_ns¶
Time of the scan head in nanoseconds when profile was taken.
uint64_t timestamp_ns;