( enabled: boolean, rateHz: number = 5, maxPoints: number = 1000, )
| 569 | * [enabled:u8] [rate_hz:u8] [max_points:u16 LE] |
| 570 | */ |
| 571 | export function encodeLidarToggle( |
| 572 | enabled: boolean, |
| 573 | rateHz: number = 5, |
| 574 | maxPoints: number = 1000, |
| 575 | ): ArrayBuffer { |
| 576 | const buf = new ArrayBuffer(CMD_HEADER_SIZE + 4); |
| 577 | const view = new DataView(buf); |
| 578 | buildHeader(view, MSG_LIDAR_TOGGLE); |
| 579 | view.setUint8(CMD_HEADER_SIZE, enabled ? 1 : 0); |
| 580 | view.setUint8(CMD_HEADER_SIZE + 1, Math.max(1, Math.min(10, rateHz))); |
| 581 | view.setUint16(CMD_HEADER_SIZE + 2, Math.max(100, Math.min(10000, maxPoints)), true); |
| 582 | return buf; |
| 583 | } |
| 584 | |
| 585 | // ============================================================================ |
| 586 | // Costmap Decoding (Rover -> Operator) |
no test coverage detected