Redoing input data and modes,
This commit is contained in:
@@ -11,7 +11,6 @@
|
||||
import {
|
||||
telemetry,
|
||||
analytics,
|
||||
ModesEnum,
|
||||
kinematicData,
|
||||
mode,
|
||||
input,
|
||||
@@ -22,7 +21,7 @@
|
||||
useFeatureFlags,
|
||||
walkGait
|
||||
} from '$lib/stores'
|
||||
import { AnalyticsData, AnglesData, DownloadOTAData, ModeData, RSSIData, SonarData } from '$lib/platform_shared/websocket_message'
|
||||
import { AnalyticsData, AnglesData, DownloadOTAData, ModesEnum, RSSIData, SonarData } from '$lib/platform_shared/websocket_message'
|
||||
import { Throttler } from '$lib/utilities'
|
||||
|
||||
interface Props {
|
||||
@@ -41,7 +40,7 @@
|
||||
addEventListeners()
|
||||
|
||||
input.subscribe(data => socket.sendEvent(InputData, InputData.create()))
|
||||
mode.subscribe(data => socket.sendEvent(ModeData, data))
|
||||
mode.subscribe(data => socket.sendEvent(ModesD, data))
|
||||
walkGait.subscribe(data => socket.sendEvent(GaitData, data))
|
||||
servoAnglesOut.subscribe(data => socket.sendEvent(AnglesData, data))
|
||||
kinematicData.subscribe(data => socket.sendEvent(PositionData, data))
|
||||
@@ -58,7 +57,7 @@
|
||||
socket.onEvent('close', handleClose),
|
||||
socket.onEvent('error', handleError),
|
||||
socket.on(RSSIData, (data) => telemetry.setRSSI(data)),
|
||||
socket.on(ModeData, (data) => mode.set(data.mode)),
|
||||
socket.on(ModesEnum, (data) => mode.set(data)),
|
||||
socket.on(AnalyticsData, (data) => {analytics.addData(data)}),
|
||||
socket.on(AnglesData, (data) => {servoAngles.set(data.angles)})
|
||||
])
|
||||
|
||||
@@ -86,19 +86,17 @@
|
||||
const handleKeyup = (event: KeyboardEvent) => {
|
||||
const down = event.type === 'keydown'
|
||||
input.update(data => {
|
||||
if (event.key === 'w') data.left.y = down ? 1 : 0
|
||||
if (event.key === 'a') data.left.x = down ? -1 : 0
|
||||
if (event.key === 's') data.left.y = down ? -1 : 0
|
||||
if (event.key === 'd') data.left.x = down ? 1 : 0
|
||||
if (event.key === 'ArrowLeft') data.right.x = down ? 1 : 0
|
||||
if (event.key === 'ArrowRight') data.right.x = down ? -1 : 0
|
||||
if (event.key === 'w') data.left!.y = down ? 1 : 0
|
||||
if (event.key === 'a') data.left!.x = down ? -1 : 0
|
||||
if (event.key === 's') data.left!.y = down ? -1 : 0
|
||||
if (event.key === 'd') data.left!.x = down ? 1 : 0
|
||||
if (event.key === 'ArrowLeft') data.right!.x = down ? 1 : 0
|
||||
if (event.key === 'ArrowRight') data.right!.x = down ? -1 : 0
|
||||
return data
|
||||
})
|
||||
}
|
||||
|
||||
const handleRange = (event: Event, key: 'speed' | 'height' | 's1') => {
|
||||
const value: number = Number((event.target as HTMLInputElement).value)
|
||||
|
||||
const handleRange = (value: number, key: 'speed' | 'height' | 's1') => {
|
||||
input.update(inputData => {
|
||||
inputData[key] = value
|
||||
return inputData
|
||||
@@ -140,7 +138,7 @@
|
||||
min={0}
|
||||
max={1}
|
||||
step={0.01}
|
||||
oninput={(e: Event) => handleRange(e, 'height')}
|
||||
oninput={(v: number) => handleRange(v, 'height')}
|
||||
/>
|
||||
<label for="height" class="text-xs font-medium opacity-70">Ht</label>
|
||||
</div>
|
||||
@@ -183,7 +181,7 @@
|
||||
min="0"
|
||||
step="0.01"
|
||||
max="1"
|
||||
oninput={e => handleRange(e, 's1')}
|
||||
oninput={e => handleRange(Number((e.target as HTMLInputElement).value), 's1')}
|
||||
class="range range-xs range-primary"
|
||||
/>
|
||||
</div>
|
||||
@@ -195,7 +193,7 @@
|
||||
min="0"
|
||||
step="0.01"
|
||||
max="1"
|
||||
oninput={e => handleRange(e, 'speed')}
|
||||
oninput={e => handleRange(Number((e.target as HTMLInputElement).value), 'speed')}
|
||||
class="range range-xs range-primary"
|
||||
/>
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user