PreenFM > preenfm2 and preenfm3

reversed encoders problem

<< < (2/3) > >>

grm:
managed to set the device to the INVERTED ENCODERS setting the SPATULACITY way. thanks to you, as well!

Xavier:
Yes, the problem is that the driver is changed as soon as it shows up in the menu.
So with some "24i" encoder type, it's possible that some settings cannot be reached when coming from 12.
You could try to turn very very slowly the encoder, should change at half step.

Anyway, modifyting directly settings.txt sounds like a very good solution  as you have to do that only once :)

Zedius:
I'm having this problem as well. My two left-most encoders are inverted, but my two right-most encoders are correct.

I've tried switching my Encoders setting in the settings.txt file to 3, but this resulted in my left-most encoder turning correctly but also simultaneously affecting the 3rd field instead of just the 1st. Super weird.

I would like to try the firmware linked above, but I'm not sure how to compile the cpp files into a .bin that can be flashed to the PreenFM2. Am I missing something?

Thanks!

Xavier:
Sorry to reply so late, i missed this one.

If you have different encoders on the same preenfm you have 2 solutions :
. unsolder you encoders and put 4 similar ones.
. compile a custom firmware. It's explained here :
https://github.com/Ixox/preenfm2
And what you need to override inversedEnc variable here:
https://github.com/Ixox/preenfm2/blob/master/src/hardware/Encoders.cpp#L163&ts=4
inversedEnc = (k<2 ? -1 : 1);
 or
inversedEnc = (k<2 ? 1 : -1);
That should work.

Zedius:
Thanks, I'll give that a shot! Looking at encoders.cpp I see that the inversed encoder may already be defined here:

   int inversedEnc = (encoderType & 0x2) == 0 ? 1 : -1;

Is that a different way of writing the inversedEnc = (k<2 ? -1 : 1); code that you mentioned? Or do I need to add that somewhere?

Navigation

[0] Message Index

[#] Next page

[*] Previous page

Go to full version