Skip to content

Commit 2dd13a9

Browse files
Prevent Joint Input Autopopulation [AARD-1946] (#1242)
Co-authored-by: Zach Rutman <92497727+rutmanz@users.noreply.github.com>
2 parents d44567b + eff70a6 commit 2dd13a9

File tree

4 files changed

+34
-54
lines changed

4 files changed

+34
-54
lines changed

fission/biome.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"$schema": "https://biomejs.dev/schemas/2.1.3/schema.json",
3-
"vcs": { "enabled": false, "clientKind": "git", "useIgnoreFile": false },
3+
"vcs": { "enabled": true, "clientKind": "git", "useIgnoreFile": true, "defaultBranch": "dev" },
44
"files": { "ignoreUnknown": false },
55
"formatter": {
66
"enabled": true,

fission/src/systems/input/DefaultInputs.ts

Lines changed: 15 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -34,11 +34,6 @@ class DefaultInputs {
3434
AxisInput.onKeyboardSingleKey("joint 3", "Digit3", negativeModifierKeys),
3535
AxisInput.onKeyboardSingleKey("joint 4", "Digit4", negativeModifierKeys),
3636
AxisInput.onKeyboardSingleKey("joint 5", "Digit5", negativeModifierKeys),
37-
AxisInput.unbound("joint 6"),
38-
AxisInput.unbound("joint 7"),
39-
AxisInput.unbound("joint 8"),
40-
AxisInput.unbound("joint 9"),
41-
AxisInput.unbound("joint 10"),
4237
],
4338
}
4439
}
@@ -70,11 +65,6 @@ class DefaultInputs {
7065
AxisInput.onKeyboardSingleKey("joint 3", "Digit3", negativeModifierKeys),
7166
AxisInput.onKeyboardSingleKey("joint 4", "Digit4", negativeModifierKeys),
7267
AxisInput.onKeyboardSingleKey("joint 5", "Digit5", negativeModifierKeys),
73-
AxisInput.unbound("joint 6"),
74-
AxisInput.unbound("joint 7"),
75-
AxisInput.unbound("joint 8"),
76-
AxisInput.unbound("joint 9"),
77-
AxisInput.unbound("joint 10"),
7868
],
7969
}
8070
}
@@ -106,11 +96,6 @@ class DefaultInputs {
10696
AxisInput.onKeyboardSingleKey("joint 3", "Comma", negativeModifierKeys),
10797
AxisInput.onKeyboardSingleKey("joint 4", "KeyM", negativeModifierKeys),
10898
AxisInput.onKeyboardSingleKey("joint 5", "KeyN", negativeModifierKeys),
109-
AxisInput.unbound("joint 6"),
110-
AxisInput.unbound("joint 7"),
111-
AxisInput.unbound("joint 8"),
112-
AxisInput.unbound("joint 9"),
113-
AxisInput.unbound("joint 10"),
11499
],
115100
}
116101
}
@@ -137,12 +122,6 @@ class DefaultInputs {
137122
AxisInput.onGamepadButtons("joint 2", 1, 2),
138123
AxisInput.onGamepadButtons("joint 3", 15, 14),
139124
AxisInput.onGamepadButtons("joint 4", 12, 13),
140-
AxisInput.unbound("joint 5"),
141-
AxisInput.unbound("joint 6"),
142-
AxisInput.unbound("joint 7"),
143-
AxisInput.unbound("joint 8"),
144-
AxisInput.unbound("joint 9"),
145-
AxisInput.unbound("joint 10"),
146125
],
147126
}
148127
}
@@ -166,14 +145,6 @@ class DefaultInputs {
166145

167146
AxisInput.onGamepadButtons("joint 1", 12, 13),
168147
AxisInput.onGamepadButtons("joint 2", 15, 14),
169-
AxisInput.unbound("joint 3"),
170-
AxisInput.unbound("joint 4"),
171-
AxisInput.unbound("joint 5"),
172-
AxisInput.unbound("joint 6"),
173-
AxisInput.unbound("joint 7"),
174-
AxisInput.unbound("joint 8"),
175-
AxisInput.unbound("joint 9"),
176-
AxisInput.unbound("joint 10"),
177148
],
178149
}
179150
}
@@ -196,14 +167,6 @@ class DefaultInputs {
196167

197168
AxisInput.onGamepadButtons("joint 1", 3, 0),
198169
AxisInput.onGamepadButtons("joint 2", 1, 2),
199-
AxisInput.unbound("joint 3"),
200-
AxisInput.unbound("joint 4"),
201-
AxisInput.unbound("joint 5"),
202-
AxisInput.unbound("joint 6"),
203-
AxisInput.unbound("joint 7"),
204-
AxisInput.unbound("joint 8"),
205-
AxisInput.unbound("joint 9"),
206-
AxisInput.unbound("joint 10"),
207170
],
208171
}
209172
}
@@ -215,10 +178,22 @@ class DefaultInputs {
215178
customized: false,
216179
usesGamepad: false,
217180
usesTouchControls: true,
218-
supportedDrivetrains: [DriveType.ARCADE, DriveType.TANK],
181+
supportedDrivetrains: [DriveType.ARCADE],
219182
inputs: [
220183
AxisInput.onTouchControl("arcadeDrive", TouchControlsAxes.LEFT_Y),
221184
AxisInput.onTouchControl("arcadeTurn", TouchControlsAxes.RIGHT_X),
185+
],
186+
}
187+
}
188+
public static julian: InputSupplier = () => {
189+
return {
190+
schemeName: "Julian",
191+
descriptiveName: "Touch Controls",
192+
customized: false,
193+
usesGamepad: false,
194+
usesTouchControls: true,
195+
supportedDrivetrains: [DriveType.TANK],
196+
inputs: [
222197
AxisInput.onTouchControl("tankLeft", TouchControlsAxes.LEFT_Y),
223198
AxisInput.onTouchControl("tankRight", TouchControlsAxes.RIGHT_Y),
224199
],
@@ -235,6 +210,7 @@ class DefaultInputs {
235210
DefaultInputs.hunter(),
236211
DefaultInputs.carmela(),
237212
DefaultInputs.brandon(),
213+
DefaultInputs.julian(),
238214
]
239215
}
240216

@@ -262,17 +238,6 @@ class DefaultInputs {
262238
ButtonInput.unbound("intake"),
263239
ButtonInput.unbound("eject"),
264240
ButtonInput.unbound("unstick"),
265-
266-
AxisInput.unbound("joint 1"),
267-
AxisInput.unbound("joint 2"),
268-
AxisInput.unbound("joint 3"),
269-
AxisInput.unbound("joint 4"),
270-
AxisInput.unbound("joint 5"),
271-
AxisInput.unbound("joint 6"),
272-
AxisInput.unbound("joint 7"),
273-
AxisInput.unbound("joint 8"),
274-
AxisInput.unbound("joint 9"),
275-
AxisInput.unbound("joint 10"),
276241
],
277242
}
278243
}
@@ -378,6 +343,7 @@ class DefaultInputs {
378343
"Hank",
379344
"Alanna",
380345
"Marco",
346+
"Drake",
381347
]
382348
}
383349

fission/src/ui/panels/configuring/assembly-config/interfaces/inputs/ConfigureInputsInterface.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ class SchemeSelectionOption extends SelectMenuOption {
2626

2727
constructor(scheme: InputScheme) {
2828
const robotName = findSchemeRobotName(scheme)
29-
const schemeName = `${scheme.schemeName} | ${scheme.customized ? "Custom" : scheme.descriptiveName} | ${scheme.supportedDrivetrains}`
29+
const schemeName = `${scheme.schemeName} | ${scheme.customized ? "Custom" : scheme.descriptiveName} | ${scheme.supportedDrivetrains.join(", ")}`
3030
super(schemeName, schemeName, robotName ? `Bound to: ${robotName}` : undefined)
3131
this.scheme = scheme
3232
}

fission/src/ui/panels/configuring/assembly-config/interfaces/inputs/ConfigureSchemeInterface.tsx

Lines changed: 17 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,11 @@
1-
import { Divider, Stack } from "@mui/material"
1+
import { Button, Divider, Stack } from "@mui/material"
22
import type React from "react"
3-
import { useCallback, useEffect, useRef, useState } from "react"
3+
import { useCallback, useEffect, useReducer, useRef, useState } from "react"
44
import Checkbox from "@/components/Checkbox.tsx"
55
import { ConfigurationSavedEvent } from "@/events/ConfigurationSavedEvent"
66
import InputSchemeManager from "@/systems/input/InputSchemeManager"
77
import type { InputScheme } from "@/systems/input/InputTypes"
8+
import AxisInput from "@/systems/input/inputs/AxisInput.ts"
89
import type Input from "@/systems/input/inputs/Input"
910
import EditInputInterface from "./EditInputInterface"
1011

@@ -16,7 +17,7 @@ const ConfigureSchemeInterface: React.FC<ConfigSchemeProps> = ({ selectedScheme
1617
const [useGamepad, setUseGamepad] = useState(selectedScheme.usesGamepad)
1718
const [useTouchControls, setUseTouchControls] = useState(selectedScheme.usesTouchControls)
1819
const scrollRef = useRef<HTMLDivElement>(null)
19-
20+
const [_, update] = useReducer(x => !x, false)
2021
const saveEvent = useCallback(() => {
2122
InputSchemeManager.saveSchemes()
2223
}, [])
@@ -95,6 +96,19 @@ const ConfigureSchemeInterface: React.FC<ConfigSchemeProps> = ({ selectedScheme
9596
/>
9697
)
9798
})}
99+
<Button
100+
onClick={() => {
101+
const existingJointIndexes = selectedScheme.inputs
102+
.map(input => parseInt(input.inputName.replace("joint ", "")))
103+
.filter(val => !isNaN(val))
104+
const newJointIndex = Math.max(0, ...existingJointIndexes) + 1
105+
selectedScheme.inputs.push(AxisInput.unbound(`joint ${newJointIndex}`))
106+
selectedScheme.customized = true
107+
update()
108+
}}
109+
>
110+
Add Joint Control
111+
</Button>
98112
</Stack>
99113
</>
100114
)

0 commit comments

Comments
 (0)