X-Git-Url: http://sigrok.org/gitweb/?a=blobdiff_plain;ds=inline;f=src%2Fhardware%2Fdevantech-eth008%2Fprotocol.c;fp=src%2Fhardware%2Fdevantech-eth008%2Fprotocol.c;h=8c436ea3bfd952ec72e44cb9e671853e18d210af;hb=6af128b64262914c45475376c0590354a003b6ed;hp=87ac7244772a29df295ac97e4b666f2fa97034be;hpb=8712c7833fdc1e33363807b094ad998df1b97463;p=libsigrok.git diff --git a/src/hardware/devantech-eth008/protocol.c b/src/hardware/devantech-eth008/protocol.c index 87ac7244..8c436ea3 100644 --- a/src/hardware/devantech-eth008/protocol.c +++ b/src/hardware/devantech-eth008/protocol.c @@ -256,7 +256,7 @@ SR_PRIV int devantech_eth008_cache_state(const struct sr_dev_inst *sdi) struct dev_context *devc; size_t rx_size; uint8_t req[1], *wrptr; - uint8_t rsp[1]; + uint8_t rsp[3]; const uint8_t *rdptr; uint32_t have; int ret; @@ -283,6 +283,12 @@ SR_PRIV int devantech_eth008_cache_state(const struct sr_dev_inst *sdi) case 1: have = read_u8_inc(&rdptr); break; + case 2: + have = read_u16le_inc(&rdptr); + break; + case 3: + have = read_u24le_inc(&rdptr); + break; default: return SR_ERR_NA; } @@ -343,7 +349,7 @@ SR_PRIV int devantech_eth008_setup_do(const struct sr_dev_inst *sdi, struct channel_group_context *cgc; size_t number; uint32_t reg; - uint8_t req[3], *wrptr, cmd; + uint8_t req[4], *wrptr, cmd; uint8_t rsp[1], v8; const uint8_t *rdptr; int ret; @@ -378,6 +384,12 @@ SR_PRIV int devantech_eth008_setup_do(const struct sr_dev_inst *sdi, case 1: write_u8_inc(&wrptr, reg & 0xff); break; + case 2: + write_u16le_inc(&wrptr, reg & 0xffff); + break; + case 3: + write_u24le_inc(&wrptr, reg & 0xffffff); + break; default: return SR_ERR_NA; }