How do I set it so that it stays in the gear I set instead of shifting to neutral when I let go?
I realized the issue after I finished. The logic makes sense. It normally would stay in gear. Perhaps a button press to go to neutral? Is there a better way to do it?
It was not clear from the documentation if the edited file would need to have all the lines renumbered if any are added.
I did not define any constants or add any new lines, but modified existing ones to create 6 gears with 2 toggles to create the 18 speed shifter:
Code: Select all
config_lines[396]: "mix gearsel1on `semantical.gearsel1on?0`"
config_lines[397]: "mix gearsel1off `semantical.gearsel1off?0`"
config_lines[398]: "mix gearsel1tgl `di8.'{8B9CE190-B60B-11E8-8001-444553540000}|{046106A3-0000-0000-0000-504944564944}'.b1 | semantical.gearsel1tgl?0`"
config_lines[399]: "mix gearsel2on `semantical.gearsel2on?0`"
config_lines[400]: "mix gearsel2off `semantical.gearsel2off?0`"
config_lines[401]: "mix gearsel2tgl `di8.'{8B9CE190-B60B-11E8-8001-444553540000}|{046106A3-0000-0000-0000-504944564944}'.b3 | semantical.gearsel2tgl?0`"
config_lines[402]: "mix gear1 `'{8B9CE190-B60B-11E8-8001-444553540000}|{046106A3-0000-0000-0000-504944564944}'.b2?0 | semantical.gear1?0`"
config_lines[403]: "mix gear2 `di8.'{8B9CE190-B60B-11E8-8001-444553540000}|{046106A3-0000-0000-0000-504944564944}'.y * -1 & (di8.'{8B9CE190-B60B-11E8-8001-444553540000}|{046106A3-0000-0000-0000-504944564944}'.x * -1) | semantical.gear2?0`"
config_lines[404]: "mix gear3 `di8.'{8B9CE190-B60B-11E8-8001-444553540000}|{046106A3-0000-0000-0000-504944564944}'.y & (di8.'{8B9CE190-B60B-11E8-8001-444553540000}|{046106A3-0000-0000-0000-504944564944}'.x * -1) | semantical.gear3?0`"
config_lines[405]: "mix gear4 `di8.'{8B9CE190-B60B-11E8-8001-444553540000}|{046106A3-0000-0000-0000-504944564944}'.y * -1 & !((di8.'{8B9CE190-B60B-11E8-8001-444553540000}|{046106A3-0000-0000-0000-504944564944}'.x * -1)|(di8.'{8B9CE190-B60B-11E8-8001-444553540000}|{046106A3-0000-0000-0000-504944564944}'.x)) | semantical.gear4?0`"
config_lines[406]: "mix gear5 `di8.'{8B9CE190-B60B-11E8-8001-444553540000}|{046106A3-0000-0000-0000-504944564944}'.y & !((di8.'{8B9CE190-B60B-11E8-8001-444553540000}|{046106A3-0000-0000-0000-504944564944}'.x * -1)|(di8.'{8B9CE190-B60B-11E8-8001-444553540000}|{046106A3-0000-0000-0000-504944564944}'.x)) | semantical.gear5?0`"
config_lines[407]: "mix gear6 `di8.'{8B9CE190-B60B-11E8-8001-444553540000}|{046106A3-0000-0000-0000-504944564944}'.y * -1 & (di8.'{8B9CE190-B60B-11E8-8001-444553540000}|{046106A3-0000-0000-0000-504944564944}'.x) | semantical.gear6?0`"
config_lines[408]: "mix gear7 `di8.'{8B9CE190-B60B-11E8-8001-444553540000}|{046106A3-0000-0000-0000-504944564944}'.y & (di8.'{8B9CE190-B60B-11E8-8001-444553540000}|{046106A3-0000-0000-0000-504944564944}'.x) | semantical.gear7?0`"
Figured it out.
A) Adding new lines at the bottom is fine so I can alias the device and shorten my code
B)
Code: Select all
config_lines[403]: "mix gear2 `(gear2 & !gear1 & !gear3 & !gear4 & !gear5 & !gear6 & !gear7 & !gearsel1tgl & !joy2.b1?0) | (gte(normalize(abs(joy2.x),0),0.6) & gte(normalize(abs(joy2.y),0),0.5) & !sign(joy2.x) & !sign(joy2.y)) | semantical.gear2?0`"
config_lines[404]: "mix gear3 `(gear3 & !gear1 & !gear2 & !gear4 & !gear5 & !gear6 & !gear7 & !gearsel1tgl & !joy2.b1?0) | (gte(normalize(abs(joy2.x),0),0.6) & gte(normalize(joy2.y,0),0.5) & !sign(joy2.x)) | semantical.gear3?0`"
config_lines[405]: "mix gear4 `(gear4 & !gear1 & !gear2 & !gear3 & !gear5 & !gear6 & !gear7 & !gearsel1tgl & !joy2.b1?0) | (gte(0.1,normalize(abs(joy2.x),0)) & gte(normalize(abs(joy2.y),0),0.9) & !sign(joy2.y)) | semantical.gear4?0`"
config_lines[406]: "mix gear5 `(gear5 & !gear1 & !gear2 & !gear3 & !gear4 & !gear6 & !gear7 & !gearsel1tgl & !joy2.b1?0) | (gte(0.1,normalize(abs(joy2.x),0)) & gte(normalize(joy2.y,0),0.9)) | semantical.gear5?0`"
config_lines[407]: "mix gear6 `(gear6 & !gear1 & !gear2 & !gear3 & !gear4 & !gear5 & !gear7 & !gearsel1tgl & !joy2.b1?0) | (gte(normalize(joy2.x,0),0.6) & gte(normalize(abs(joy2.y),0),0.5) & !sign(joy2.y)) | semantical.gear6?0`"
config_lines[408]: "mix gear7 `(gear7 & !gear1 & !gear2 & !gear3 & !gear4 & !gear5 & !gear6 & !gearsel1tgl & !joy2.b1?0) | (!gear1 & gte(normalize(joy2.x,0),0.6) & gte(normalize(joy2.y,0),0.5)) | semantical.gear7?0`"