struct dev_context *devc;
struct clockselect_50 clockselect;
int frac, triggerpin, ret;
- uint8_t triggerselect = 0;
+ uint8_t triggerselect;
struct triggerinout triggerinout_conf;
struct triggerlut lut;
/* Enter trigger programming mode. */
sigma_set_register(WRITE_TRIGGER_SELECT1, 0x20, devc);
- /* 100 and 200 MHz mode. */
+ triggerselect = 0;
if (devc->cur_samplerate >= SR_MHZ(100)) {
+ /* 100 and 200 MHz mode. */
sigma_set_register(WRITE_TRIGGER_SELECT1, 0x81, devc);
/* Find which pin to trigger on from mask. */
if (devc->trigger.fallingmask)
triggerselect |= 1 << 3;
- /* All other modes. */
} else if (devc->cur_samplerate <= SR_MHZ(50)) {
+ /* All other modes. */
sigma_build_basic_trigger(&lut, devc);
sigma_write_trigger_lut(&lut, devc);
{
size_t i;
uint8_t buf[4096];
- int idx = 0;
+ int idx;
/* Send the startchunk. Index start with 1. */
- buf[0] = startchunk >> 8;
- buf[1] = startchunk & 0xff;
- sigma_write_register(WRITE_MEMROW, buf, 2, devc);
+ idx = 0;
+ buf[idx++] = startchunk >> 8;
+ buf[idx++] = startchunk & 0xff;
+ sigma_write_register(WRITE_MEMROW, buf, idx, devc);
/* Read the DRAM. */
+ idx = 0;
buf[idx++] = REG_DRAM_BLOCK;
buf[idx++] = REG_DRAM_WAIT_ACK;
struct sr_dev_inst *sdi)
{
struct sigma_dram_cluster *dram_cluster;
- struct dev_context *devc = sdi->priv;
- unsigned int clusters_in_line =
- (events_in_line + (EVENTS_PER_CLUSTER - 1)) / EVENTS_PER_CLUSTER;
+ struct dev_context *devc;
+ unsigned int clusters_in_line;
unsigned int events_in_cluster;
unsigned int i;
- uint32_t trigger_cluster = ~0, triggered = 0;
+ uint32_t trigger_cluster, triggered;
+
+ devc = sdi->priv;
+ clusters_in_line = events_in_line;
+ clusters_in_line += EVENTS_PER_CLUSTER - 1;
+ clusters_in_line /= EVENTS_PER_CLUSTER;
+ trigger_cluster = ~0;
+ triggered = 0;
/* Check if trigger is in this chunk. */
if (trigger_event < (64 * 7)) {
static int download_capture(struct sr_dev_inst *sdi)
{
- struct dev_context *devc = sdi->priv;
const uint32_t chunks_per_read = 32;
+
+ struct dev_context *devc;
struct sigma_dram_line *dram_line;
int bufsz;
uint32_t stoppos, triggerpos;
uint8_t modestatus;
-
uint32_t i;
uint32_t dl_lines_total, dl_lines_curr, dl_lines_done;
- uint32_t dl_events_in_line = 64 * 7;
- uint32_t trg_line = ~0, trg_event = ~0;
+ uint32_t dl_events_in_line;
+ uint32_t trg_line, trg_event;
+
+ devc = sdi->priv;
+ dl_events_in_line = 64 * 7;
+ trg_line = ~0;
+ trg_event = ~0;
dram_line = g_try_malloc0(chunks_per_read * sizeof(*dram_line));
if (!dram_line)
*/
static int sigma_capture_mode(struct sr_dev_inst *sdi)
{
- struct dev_context *devc = sdi->priv;
-
+ struct dev_context *devc;
uint64_t running_msec;
struct timeval tv;
-
uint32_t stoppos, triggerpos;
+ devc = sdi->priv;
+
/* Check if the selected sampling duration passed. */
gettimeofday(&tv, 0);
running_msec = (tv.tv_sec - devc->start_tv.tv_sec) * 1000 +