SP1000G API Types and Structures
This document provides detailed information on the enumerations, structures, and macros used in the SP1000G API.
Defines​
The following defines are set based on the device:
For SP1018G​
- SP1000G_GROUPS_COUNT: 1
- SP1000G_CHANNELS_COUNT: 18
- SP1000G_TRIG_ENGINES_COUNT: 2
- SP1000G_THRESHOLDS_COUNT: 2
- SP1000G_MAX_TRIG_STEPS_COUNT: 256
- SP1000G_OCI_CLOCK_COUNT: 2
For SP1036G​
- SP1000G_GROUPS_COUNT: 2
- SP1000G_CHANNELS_COUNT: 36
- SP1000G_TRIG_ENGINES_COUNT: 2
- SP1000G_THRESHOLDS_COUNT: 4
- SP1000G_MAX_TRIG_STEPS_COUNT: 256
- SP1000G_OCI_CLOCK_COUNT: 2
For SP1054G​
- SP1000G_GROUPS_COUNT: 3
- SP1000G_CHANNELS_COUNT: 54
- SP1000G_TRIG_ENGINES_COUNT: 2
- SP1000G_THRESHOLDS_COUNT: 6
- SP1000G_MAX_TRIG_STEPS_COUNT: 256
- SP1000G_OCI_CLOCK_COUNT: 2
Enumerations​
sp1000gapi_model_t​
Specifies the model of the SP1000G device.
- sp1018g: 1018
- sp1036g: 1036
- sp1054g: 1054
sp1000gapi_pull_t​
Defines the pull resistor configuration for I/O channels.
- SP1000GAPI_PULL_DOWN: 0
- SP1000GAPI_PULL_UP: 1
sp1000gapi_io_type_t​
Specifies the I/O type.
- SP1000GAPI_IO_IN: 0 (Input)
- SP1000GAPI_IO_PP: 1 (Push-Pull)
- SP1000GAPI_IO_OD: 2 (Open Drain)
sp1000gapi_state_clk_mode_t​
Describes the state clock mode.
- SCLK_DISABLE: 0
- SCLK_RISING: 1 (Rising edge)
- SCLK_FALLING: 2 (Falling edge)
- SCLK_DUAL: 3 (Dual edge – triggers on both rising and falling edges)
sp1000gapi_state_clk_source_t​
Specifies the source channel for the state clock.
- SCLK_CH9: 0
- SCLK_CH18: 1
sp1000gapi_timebase_clk_t​
Defines the timebase clock source.
- TIMEBASE_INTERNAL: 3
- TIMEBASE_EXTERNAL: 2
sp1000gapi_trigger_type_t​
Lists the different trigger types supported by the API.
- SP1000GAPI_TRG_NOTRIG: 99
- SP1000GAPI_TRG_RISING: 1 (Rising edge trigger; do not change this value)
- SP1000GAPI_TRG_FALLING: 0 (Falling edge trigger; do not change this value)
- SP1000GAPI_TRG_CHANGE: 3 (Logic change trigger)
- SP1000GAPI_TRG_EXT_RISING: 0x1F (External rising edge trigger; do not change this value)
- SP1000GAPI_TRG_EXT_FALLING: 0x0F (External falling edge trigger; do not change this value)
Structures​
sp1000gapi_trigger_description_t​
Describes a trigger configuration.
-
type:
sp1000gapi_trigger_type_t
The type of trigger (e.g., falling edge, rising edge, or logic change). -
channel:
int8_t
The channel number affected by the trigger. Set to-1
if targeting all channels (only valid for logic change triggers). The channel is 0-indexed (first channel is 0).
sp1000gapi_settings_t​
Holds configuration settings for a capture session.
-
sampling_depth:
int64_t
Total number of samples requested by the user. -
post_trig_depth:
int64_t
Total number of samples to be captured after the trigger. -
s_clk:
uint32_t
Sampling clock frequency in Hertz. -
t_clk:
uint32_t[SP1000G_TRIG_ENGINES_COUNT]
Array of trigger clock frequencies in Hertz.
Note: The number of entries is defined bySP1000G_TRIG_ENGINES_COUNT
. -
thresh_capture_mv:
uint16_t[SP1000G_THRESHOLDS_COUNT]
Array of thresholds (in millivolts) used during capture.
Warning: This is not the target VCC, but the threshold level. -
vcc_gen_mv:
uint16_t[SP1000G_THRESHOLDS_COUNT]
Array of target VCC values (in millivolts).
Warning: This is not the threshold, but the target VCC. -
io_type:
sp1000gapi_io_type_t[SP1000G_CHANNELS_COUNT]
Array specifying the I/O type for each channel. -
io_pull:
sp1000gapi_pull_t[SP1000G_CHANNELS_COUNT]
Array specifying the pull resistor configuration for each channel. -
state_clk_mode:
sp1000gapi_state_clk_mode_t
Configures the external (state) clock mode, indicating the edge triggering behavior. -
state_clk_src:
sp1000gapi_state_clk_source_t
Specifies the channel used as the source for the state clock. -
timebase_src:
sp1000gapi_timebase_clk_t
Specifies the source of the timebase clock. -
ext_trig_50r:
bool
Activates the 50-ohm resistor on the external trigger input. -
ext_in_threshold_mv:
uint16_t
External input threshold expressed in millivolts. -
ext_trig_out_polarity:
bool
Polarity of the external trigger output. -
trig_order:
uint8_t
A 2-bit value describing the operation order of the dual trigger engine:00
: Either Trigger 0 or Trigger 1 will cause the capture.01
: Trigger 0 then Trigger 1 (Trigger 1 is enabled only after Trigger 0 occurs).10
: Trigger 1 then Trigger 0 (Trigger 0 is enabled only after Trigger 1 occurs).11
: Both Trigger 0 and Trigger 1 are active, regardless of order.
-
oci_clk_out_enable:
bool[SP1000G_GROUPS_COUNT][SP1000G_OCI_CLOCK_COUNT]
2D array that enables OCI clock output for each group and clock channel. -
oci_clk_out_freq:
uint64_t[SP1000G_GROUPS_COUNT][SP1000G_OCI_CLOCK_COUNT]
2D array specifying the frequency of the OCI clock outputs for each group and clock channel.
sp1000gapi_trs_t​
Describes a transition in the captured data.
-
value:
uint8_t
The logic level of the line during the transition. -
sampple_index:
uint64_t
The sample index associated with the transition.
Note: There is a typographical error in the field name ("sampple_index") which likely should be "sample_index".