Fine-tuning Gamepad Jog Speed

Or maybe even “feeds” instead of “speeds” to keep consistent with CNC terminology?

I also have to just say this project you’re working on @Brotron might just be the coolest thing I’ve seen a 1F used for. Hope you’re able to share the finished project someday. Would even be amazing to see continued updates as it progresses to show others what’s possible with big ideas.

Hey Greg @Brotron, hey Jace,

I would rather say anything that you make Greg is absolutely stunning. I feel honored to have helped you, even it was only with such a small contribution.

Thank you, that’s very kind. And your info helped amazingly. I rarely find a direct and exact fix when I need something to work outside of a supplied software interface. I wanted a speed of 650 mm/min, so I divided 10,000 by 650 and got 15.38. My guestimation “without knowing the full speed value” was 15, which was mostly luck btw:)

Quick math and conversions for anyone that is confused about getting an exact feed rate from the controller.

def changed(self):
    scale = 1.0
    if self.speed == 1: scale = 1.0 / 128.0
    if self.speed == 2: scale = 1.0 / 32.0
    if self.speed == 3: scale = 1.0 / 4.0

The 1.0 in the code is the full speed value = 10 meters per minute
the code line for low speed (bottom green button) is: (if self.speed == 2: scale = 1.0 / (n))
(n) being the variable to change in the code

Formula to change feed rate, meters per minute:
10 divided by the desired feed rate = (n)

Formula to change feed rate, millimeters per minute:
10,000 divided by the desired feed rate = (n)

Formula to change feed rate, feet per minute:
32.8 divided by the desired feed rate = (n)

Formula to change feed rate, inches per minute:
393.7 divided by the desired feed rate = (n)