X-Git-Url: https://sigrok.org/gitweb/?a=blobdiff_plain;f=hardware%2Flink-mso19%2Flink-mso19.c;h=961d3bac42834adeaa1f6e8fe6397283d6ab7d63;hb=1a081ca67d63a0bd933a3d715792d85afd437296;hp=0122d244638f02837b1a95eb51767683e38a1e0c;hpb=a29360733d32e8479147178774d6a72e62f4e56c;p=libsigrok.git diff --git a/hardware/link-mso19/link-mso19.c b/hardware/link-mso19/link-mso19.c index 0122d244..961d3bac 100644 --- a/hardware/link-mso19/link-mso19.c +++ b/hardware/link-mso19/link-mso19.c @@ -30,7 +30,6 @@ #include #include "sigrok.h" #include "sigrok-internal.h" -#include "config.h" #include "link-mso19.h" #define USB_VENDOR "3195" @@ -147,6 +146,7 @@ static int mso_reset_adc(struct sr_device_instance *sdi) ops[1] = mso_trans(REG_CTL1, mso->ctlbase1); mso->ctlbase1 |= BIT_CTL1_ADC_UNKNOWN4; + sr_dbg("Requesting ADC reset"); return mso_send_control_message(sdi, ARRAY_AND_SIZE(ops)); } @@ -158,6 +158,7 @@ static int mso_reset_fsm(struct sr_device_instance *sdi) mso->ctlbase1 |= BIT_CTL1_RESETFSM; ops[0] = mso_trans(REG_CTL1, mso->ctlbase1); + sr_dbg("Requesting ADC reset"); return mso_send_control_message(sdi, ARRAY_AND_SIZE(ops)); } @@ -166,11 +167,12 @@ static int mso_toggle_led(struct sr_device_instance *sdi, int state) struct mso *mso = sdi->priv; uint16_t ops[1]; - mso->ctlbase1 &= BIT_CTL1_LED; + mso->ctlbase1 &= ~BIT_CTL1_LED; if (state) mso->ctlbase1 |= BIT_CTL1_LED; ops[0] = mso_trans(REG_CTL1, mso->ctlbase1); + sr_dbg("Requesting LED toggle"); return mso_send_control_message(sdi, ARRAY_AND_SIZE(ops)); } @@ -181,6 +183,7 @@ static int mso_check_trigger(struct sr_device_instance *sdi, char buf[1]; int ret; + sr_dbg("Requesting trigger state"); ret = mso_send_control_message(sdi, ARRAY_AND_SIZE(ops)); if (info == NULL || ret != SR_OK) return ret; @@ -190,6 +193,7 @@ static int mso_check_trigger(struct sr_device_instance *sdi, ret = SR_ERR; *info = buf[0]; + sr_dbg("Trigger state is: 0x%x", *info); return ret; } @@ -197,6 +201,7 @@ static int mso_read_buffer(struct sr_device_instance *sdi) { uint16_t ops[] = { mso_trans(REG_BUFFER, 0) }; + sr_dbg("Requesting buffer dump"); return mso_send_control_message(sdi, ARRAY_AND_SIZE(ops)); } @@ -209,6 +214,7 @@ static int mso_arm(struct sr_device_instance *sdi) mso_trans(REG_CTL1, mso->ctlbase1), }; + sr_dbg("Requesting trigger arm"); return mso_send_control_message(sdi, ARRAY_AND_SIZE(ops)); } @@ -220,6 +226,7 @@ static int mso_force_capture(struct sr_device_instance *sdi) mso_trans(REG_CTL1, mso->ctlbase1), }; + sr_dbg("Requesting forced capture"); return mso_send_control_message(sdi, ARRAY_AND_SIZE(ops)); } @@ -232,6 +239,7 @@ static int mso_dac_out(struct sr_device_instance *sdi, uint16_t val) mso_trans(REG_CTL1, mso->ctlbase1 | BIT_CTL1_RESETADC), }; + sr_dbg("Setting dac word to 0x%x", val); return mso_send_control_message(sdi, ARRAY_AND_SIZE(ops)); } @@ -242,6 +250,7 @@ static int mso_clkrate_out(struct sr_device_instance *sdi, uint16_t val) mso_trans(REG_CLKRATE2, val & 0xff), }; + sr_dbg("Setting clkrate word to 0x%x", val); return mso_send_control_message(sdi, ARRAY_AND_SIZE(ops)); } @@ -520,7 +529,10 @@ static void hw_cleanup(void) if (sdi->serial->fd != -1) serial_close(sdi->serial->fd); if (sdi->priv != NULL) + { free(sdi->priv); + sdi->priv = NULL; + } sr_device_instance_free(sdi); } g_slist_free(device_instances); @@ -550,19 +562,21 @@ static int hw_opendev(int device_index) /* FIXME: discard serial buffer */ mso_check_trigger(sdi, &mso->trigger_state); -// sr_warn("trigger state: %c", mso->trigger_state); + sr_dbg("trigger state: 0x%x", mso->trigger_state); ret = mso_reset_adc(sdi); if (ret != SR_OK) return ret; mso_check_trigger(sdi, &mso->trigger_state); -// sr_warn("trigger state: %c", mso->trigger_state); + sr_dbg("trigger state: 0x%x", mso->trigger_state); // ret = mso_reset_fsm(sdi); // if (ret != SR_OK) // return ret; + sr_dbg("Finished %s", __func__); + // return SR_ERR; return SR_OK; } @@ -583,6 +597,7 @@ static int hw_closedev(int device_index) sdi->status = SR_ST_INACTIVE; } + sr_dbg("finished %s", __func__); return SR_OK; }