export const AUX_LIMITS = { main: [-127, 127], side: [-127, 127], vacuum: [0, 127], }; export const DRIVE_LIMITS = { maxSpeed: 500, baseSpeed: 250, boostSpeed: 400, }; export const COMMAND_DELAY_MS = 100; export const SONG_NOTE_RANGE = [31, 127]; export const SONG_DEFAULT_NOTE = 60; export const SONG_DEFAULT_DURATION = 8; export const SONG_REPEAT_MS = 150; export const OI_COMMANDS = { start: [128], safe: [131], full: [132], passive: [128], dock: [143], }; export const DEFAULT_KEYMAP = { driveForward: ['w'], driveBackward: ['s'], driveLeft: ['a'], driveRight: ['d'], boostModifier: ['\\'], slowModifier: ['shift'], auxMainForward: ['i'], auxMainReverse: ['k'], auxSideForward: ['o'], auxSideReverse: ['l'], auxVacuumFast: ['p'], auxVacuumSlow: [';'], auxAllForward: [","], cameraUp: ['u'], cameraDown: ['j'], nightVisionToggle: ['e'], driveMacro: ['f'], dockMacro: ['g'], chatFocus: ['enter'], songNoteUp: ['ArrowUp'], songNoteDown: ['ArrowDown'], }; export const DEFAULT_MACROS = [ { id: 'drive-sequence', label: 'Drive', description: 'Start, dock, and full command sequence used by the drive button.', steps: [ { type: 'oi', command: 'start' }, { type: 'pause', duration: COMMAND_DELAY_MS }, { type: 'oi', command: 'dock' }, { type: 'pause', duration: COMMAND_DELAY_MS }, { type: 'oi', command: 'full' }, ], }, { id: 'seek-dock', label: 'Dock', description: 'Send the seek dock command.', steps: [ { type: 'oi', command: 'dock' } ], }, ];