]> sigrok.org Git - libsigrok.git/blobdiff - src/hardware/sysclk-sla5032/protocol.h
sysclk-sla5032: Merge sla5032.[ch] into protocol.[ch].
[libsigrok.git] / src / hardware / sysclk-sla5032 / protocol.h
index 205c907b971949e996f3572687ced505c6059fa3..1c1fa7db105bfd4ba7abd81ff311a3233f801aae 100644 (file)
@@ -78,6 +78,18 @@ enum protocol_state {
        STATE_READ_REQUEST,
 };
 
+/** SLA5032 protocol command ID codes. */
+enum command_id {
+       CMD_INIT_FW_UPLOAD = 1,
+       CMD_UPLOAD_FW_CHUNK = 2,
+       CMD_READ_REG = 3,
+       CMD_WRITE_REG = 4,
+       CMD_READ_MEM = 5,
+       CMD_READ_DATA = 7,
+};
+
+struct sr_usb_dev_inst;
+
 struct dev_context {
        uint64_t samplerate;            /* requested samplerate */
        uint64_t limit_samples;         /* requested capture length (samples) */
@@ -98,4 +110,16 @@ struct dev_context {
 
 SR_PRIV int la_start_acquisition(const struct sr_dev_inst *sdi);
 
+SR_PRIV int sla5032_apply_fpga_config(const struct sr_dev_inst* sdi);
+SR_PRIV int sla5032_start_sample(const struct sr_usb_dev_inst *usb);
+SR_PRIV int sla5032_get_status(const struct sr_usb_dev_inst *usb, uint32_t status[3]);
+SR_PRIV int sla5032_set_read_back(const struct sr_usb_dev_inst *usb);
+SR_PRIV int sla5032_read_data_chunk(const struct sr_usb_dev_inst *usb, void *buf, unsigned int len, int *xfer_len);
+SR_PRIV int sla5032_set_depth(const struct sr_usb_dev_inst *usb, uint32_t pre, uint32_t post);
+SR_PRIV int sla5032_set_triggers(const struct sr_usb_dev_inst *usb,  uint32_t trg_value, uint32_t trg_edge_mask, uint32_t trg_mask);
+SR_PRIV int sla5032_set_samplerate(const struct sr_usb_dev_inst *usb, unsigned int sr);
+SR_PRIV int sla5032_set_pwm1(const struct sr_usb_dev_inst *usb, uint32_t hi, uint32_t lo);
+SR_PRIV int sla5032_set_pwm2(const struct sr_usb_dev_inst* usb, uint32_t hi, uint32_t lo);
+SR_PRIV int sla5032_write_reg14_zero(const struct sr_usb_dev_inst* usb);
+
 #endif