]> sigrok.org Git - sigrok-firmware-fx2lafw.git/commitdiff
allow captures of up to 48MHz, if bus conditions permit
authorKate J. Temkin <redacted>
Thu, 22 Aug 2019 00:59:55 +0000 (18:59 -0600)
committerUwe Hermann <redacted>
Tue, 1 Oct 2019 21:41:03 +0000 (23:41 +0200)
We allow the FX2 Waveform to operate using only a single state
(and thus at a rate equal to the max IFCLK of 48MHz) by allowing
the decision point state to re-execute its operation.

We accordingly remove the guards preventing operation with
zero-duration wait states; allowing waveforms with no wait states
to be generated.

gpif-acquisition.c

index b526d59db6546f4d6bcd243f2d22ecaf13d1e6db..96476ccc4185a01319efd34c16a12568125da8c4 100644 (file)
@@ -161,7 +161,7 @@ static void gpif_make_data_dp_state(volatile BYTE *pSTATE)
         * BRANCH
         * Branch to IDLE if condition is true, back to S0 otherwise.
         */
-       pSTATE[0] = (7 << 3) | (0 << 0);
+       pSTATE[0] = (1 << 7) | (7 << 3) | (0 << 0);
 
        /*
         * OPCODE
@@ -208,8 +208,7 @@ bool gpif_acquisition_prepare(const struct cmd_start_acquisition *cmd)
        }
 
        /* Populate delay states. */
-       if ((cmd->sample_delay_h == 0 && cmd->sample_delay_l == 0) ||
-           cmd->sample_delay_h >= 6)
+       if (cmd->sample_delay_h >= 6)
                return false;
 
        if (cmd->flags & CMD_START_FLAGS_CLK_CTL2) {