(command_text: str)
| 98 | |
| 99 | |
| 100 | def _parse_handover_command(command_text: str) -> torch.Tensor: |
| 101 | value = command_text.strip().lower() |
| 102 | presets = { |
| 103 | "right_throw": torch.tensor([-1.0, 1.0], dtype=torch.float32), |
| 104 | "left_throw": torch.tensor([1.0, 1.0], dtype=torch.float32), |
| 105 | "right_hold": torch.tensor([-1.0, -1.0], dtype=torch.float32), |
| 106 | "left_hold": torch.tensor([1.0, -1.0], dtype=torch.float32), |
| 107 | } |
| 108 | if value in presets: |
| 109 | return presets[value].clone() |
| 110 | parts = value.replace(",", " ").split() |
| 111 | if len(parts) == 2: |
| 112 | return torch.tensor([float(parts[0]), float(parts[1])], dtype=torch.float32) |
| 113 | raise ValueError(f"Unsupported handover command: {command_text!r}") |
| 114 | |
| 115 | |
| 116 | def _read_command_file(path: Path | None, fallback: torch.Tensor, last_mtime: float | None) -> tuple[torch.Tensor, float | None]: |
no outgoing calls
no test coverage detected