Is it just me or the patch.Init() faceplate is labelled wrong for gate_out_1 and gate_out_2?

(Cursory search on the topic didn’t bring much so I’m asking.)

I’m toying with a v-trig to s-trig converter in software and I just couldn’t get my s_trigger_ pin instance that I’m initialising with:

s_trigger_.pin = DaisyPatchSM::B5;

to write any signal out (I want the s-trigger to fire on gate_out_1 which is labelled pin B5 on the faceplate.)

I went back to the patch_sm/GettingStarted/Gate_Output/ example to make sure I had a functioning module and realized that gate_out_1 is initialised in daisy_patch_sm.cpp like so:

        gate_out_1.mode = DSY_GPIO_MODE_OUTPUT_PP;
        gate_out_1.pull = DSY_GPIO_NOPULL;
        gate_out_1.pin  = B6;                  // <-- L00K: B6, not B5.
        dsy_gpio_init(&gate_out_1);

does indeed fire on what is labelled on the face plate as gate_out_1 / B5

And that code works.

I didn’t dig further into the pin mapping - does anyone know what’s wrong? The faceplate or the definition of what the pins are?

Thanks!

I just checked with a meter, the jack marked gate_out_1 (B5) on the panel is connected to pin 5 on connector B.

Good find - this is easily fixed in daisy_patch_sm.cpp.

Thank you. Interestingly enough, change #417 mentions swapping the pins of the out gates to match the hardware… @Corvus_Prudens FYI…

1 Like

Looks to me like the correct fix is to undo that change, and
change this:

        {DSY_GPIOC, 13}, /**< B5  - GATE OUT 1 */
        {DSY_GPIOC, 14}, /**< B6  - GATE OUT 2 */

to

        {DSY_GPIOC, 14}, /**< B5  - GATE OUT 1 */
        {DSY_GPIOC, 13}, /**< B6  - GATE OUT 2 */
1 Like

Sorry for the confusion! I’ve added the correct fix to this issue in a pull request on libDaisy, which should be included in the next release.

3 Likes