Output Connection - Robot {robot.id} Configure where this robot sends its movements. Multiple outputs can be active simultaneously.
{#if error} Connection Error {error} {/if} {#if showUSBCalibration}
Hardware Calibration Required
Before connecting to the physical robot, calibration is required to map the servo positions to software values. This ensures accurate control.
{:else}
Active Outputs
{outputDriverCount} Connected
Local Hardware (USB) Send commands directly to physical robot hardware
Remote Collaboration (Rooms) Broadcast robot movements to remote systems and AI

Create New Room

Create a room to broadcast this robot's movements

Join Existing Room: {robotManager.rooms.length} room{robotManager.rooms.length !== 1 ? 's' : ''} available
{#if robotManager.rooms.length === 0}
{robotManager.roomsLoading ? 'Loading rooms...' : 'No rooms available. Create one to get started.'}
{:else} {#each robotManager.rooms as room}

{room.id}

{room.has_producer ? '🔴 Occupied' : '🟢 Available'} 👥 {room.participants?.total || 0} users
{#if !room.has_producer} {:else} {/if}
{/each} {/if}
{#if producers.length > 0} Connected Outputs
{#each producers as producer}
{producer.name} {producer.id.slice(0, 12)}
{/each}
{/if} Output Sources USB: Control physical hardware • Remote: Broadcast to network • Multiple outputs can be active {/if}