- STATE_READ_RESPONSE,
- STATE_READ_END,
-};
-
-/** LWLA run-length encoding states.
- */
-enum rle_state {
- RLE_STATE_DATA,
- RLE_STATE_LEN
-};
-
-/** LWLA sample acquisition and decompression state.
- */
-struct acquisition_state {
- uint64_t sample;
- uint64_t run_len;
-
- /** Maximum number of samples to process. */
- uint64_t samples_max;
- /** Number of samples sent to the session bus. */
- uint64_t samples_done;
-
- /** Maximum duration of capture, in milliseconds. */
- uint64_t duration_max;
- /** Running capture duration since trigger event. */
- uint64_t duration_now;
-
- /** Capture memory fill level. */
- size_t mem_addr_fill;
-
- size_t mem_addr_done;
- size_t mem_addr_next;
- size_t mem_addr_stop;
-
- size_t out_index;
-
- struct libusb_transfer *xfer_in;
- struct libusb_transfer *xfer_out;
-
- unsigned int capture_flags;
-
- enum rle_state rle;
-
- /** Whether to bypass the clock divider. */
- gboolean bypass_clockdiv;
-
- /* Payload data buffers for incoming and outgoing transfers. */
- uint32_t xfer_buf_in[MAX_ACQ_RECV_LEN];
- uint16_t xfer_buf_out[MAX_ACQ_SEND_WORDS];
-
- /* Payload buffer for sigrok logic packets. */
- uint8_t out_packet[PACKET_LENGTH * UNIT_SIZE];