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".