X-Git-Url: https://sigrok.org/gitweb/?a=blobdiff_plain;f=hardware%2Fkecheng-kc-330b%2Fprotocol.h;h=09152b9f9b6c0dbd11abc986c7cf4cb41c473a37;hb=b9a53103cf1f66a09cde1b5887d3290c579c5d43;hp=f872676e314ee40f5016846ee18524272103e1d5;hpb=f336618c3d1dc766da1c9f8ba46b322de9c746fa;p=libsigrok.git diff --git a/hardware/kecheng-kc-330b/protocol.h b/hardware/kecheng-kc-330b/protocol.h index f872676e..09152b9f 100644 --- a/hardware/kecheng-kc-330b/protocol.h +++ b/hardware/kecheng-kc-330b/protocol.h @@ -25,14 +25,7 @@ #include "libsigrok.h" #include "libsigrok-internal.h" -/* Message logging helpers with subsystem-specific prefix string. */ -#define LOG_PREFIX "kecheng-kc-330b: " -#define sr_log(l, s, args...) sr_log(l, LOG_PREFIX s, ## args) -#define sr_spew(s, args...) sr_spew(LOG_PREFIX s, ## args) -#define sr_dbg(s, args...) sr_dbg(LOG_PREFIX s, ## args) -#define sr_info(s, args...) sr_info(LOG_PREFIX s, ## args) -#define sr_warn(s, args...) sr_warn(LOG_PREFIX s, ## args) -#define sr_err(s, args...) sr_err(LOG_PREFIX s, ## args) +#define LOG_PREFIX "kecheng-kc-330b" #define EP_IN 0x80 | 1 #define EP_OUT 2 @@ -49,6 +42,8 @@ enum { LIVE_SPL_IDLE, LIVE_SPL_WAIT, + LOG_DATA_IDLE, + LOG_DATA_WAIT, }; enum { @@ -56,6 +51,8 @@ enum { CMD_IDENTIFY = 0x02, CMD_SET_DATE_TIME = 0x03, CMD_GET_STATUS = 0x04, + CMD_GET_LOG_INFO = 0x05, + CMD_GET_LOG_DATA = 0x07, CMD_GET_LIVE_SPL = 0x08, }; @@ -81,11 +78,12 @@ struct dev_context { /* Operational state */ int state; + gboolean config_dirty; uint64_t num_samples; + uint64_t stored_samples; void *cb_data; - int usbfd[10]; struct libusb_transfer *xfer; - unsigned char buf[16]; + unsigned char buf[128]; /* Temporary state across callbacks */ gint64 last_live_request; @@ -100,5 +98,7 @@ SR_PRIV int kecheng_kc_330b_recording_get(const struct sr_dev_inst *sdi, gboolean *tmp); SR_PRIV int kecheng_kc_330b_status_get(const struct sr_dev_inst *sdi, int *status); +SR_PRIV int kecheng_kc_330b_log_info_get(const struct sr_dev_inst *sdi, + unsigned char *buf); #endif