Skip to content

Struct jsRawProfile

ClassList > 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;