Skip to content

Commit 4caca97

Browse files
authored
RSDK-9465, RSDK-9366 - Remove robot status and sensors service (#425)
1 parent 9ec3629 commit 4caca97

File tree

5 files changed

+1
-121
lines changed

5 files changed

+1
-121
lines changed

e2e/src/main.ts

-20
Original file line numberDiff line numberDiff line change
@@ -17,26 +17,6 @@ const main = async () => {
1717
resNamesDiv.append(resNameDiv);
1818
}
1919
document.body.append(resNamesDiv);
20-
21-
const stream = machine.streamStatus(resourceNames);
22-
const statusesDiv = document.createElement('div');
23-
statusesDiv.dataset.testid = 'statuses';
24-
25-
let i = 0;
26-
for await (const statuses of stream) {
27-
for await (const status of statuses) {
28-
const statusDiv = document.createElement('div');
29-
statusDiv.textContent = status.toJsonString();
30-
statusDiv.dataset.testid = 'status';
31-
statusesDiv.append(statusDiv);
32-
}
33-
34-
i += 1;
35-
if (i >= 3) {
36-
break;
37-
}
38-
}
39-
document.body.append(statusesDiv);
4020
};
4121

4222
main().catch(console.error); // eslint-disable-line no-console

e2e/tests/connect-and-status.spec.ts

-4
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,4 @@ test('check resource names and multiple statuses', async ({ page }) => {
1111
await expect(resourceNames.getByText('base1')).toHaveCount(1);
1212
await expect(resourceNames.getByText('servo1')).toHaveCount(1);
1313
await expect(resourceNames.getByText('builtin')).toHaveCount(1);
14-
15-
// 3 status iterations * 3 resource names (see main.ts for loop)
16-
const statuses = page.getByTestId('statuses').getByTestId('status');
17-
await expect(statuses).toHaveCount(9);
1814
});

src/main.ts

-29
Original file line numberDiff line numberDiff line change
@@ -246,35 +246,6 @@ export * as powerSensorApi from './gen/component/powersensor/v1/powersensor_pb';
246246
export { SensorClient, type Sensor } from './components/sensor';
247247
export * as sensorApi from './gen/component/sensor/v1/sensor_connect';
248248

249-
/**
250-
* Raw Protobuf interfaces for a Sensors service.
251-
*
252-
* Generated with https://github.com/connectrpc/connect-es
253-
*
254-
* @example
255-
*
256-
* ```ts
257-
* import { grpc } from '@improbable-eng/grpc-web';
258-
*
259-
* const client = {}; // replace with a connected robot client
260-
*
261-
* const request = new sensorsApi.GetSensorsRequest();
262-
* request.setName('mysensors');
263-
*
264-
* client.sensorsService.getSensors(
265-
* request,
266-
* new grpc.Metadata(),
267-
* (error, response) => {
268-
* // do something with error or response
269-
* }
270-
* );
271-
* ```
272-
*
273-
* @alpha
274-
* @group Raw Protobufs
275-
*/
276-
export * as sensorsApi from './gen/service/sensors/v1/sensors_pb';
277-
278249
/**
279250
* Raw Protobuf interfaces for a Stream.
280251
*

src/robot/client.ts

+1-43
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/* eslint-disable max-classes-per-file */
2-
import { Duration, type ServiceType } from '@bufbuild/protobuf';
2+
import { type ServiceType } from '@bufbuild/protobuf';
33
import {
44
createPromiseClient,
55
type PromiseClient,
@@ -26,17 +26,14 @@ import { RobotService } from '../gen/robot/v1/robot_connect';
2626
import {
2727
DiscoveryQuery,
2828
RestartModuleRequest,
29-
Status,
3029
TransformPCDRequest,
3130
TransformPoseRequest,
3231
} from '../gen/robot/v1/robot_pb';
3332
import { MotionService } from '../gen/service/motion/v1/motion_connect';
3433
import { NavigationService } from '../gen/service/navigation/v1/navigation_connect';
35-
import { SensorsService } from '../gen/service/sensors/v1/sensors_connect';
3634
import { SLAMService } from '../gen/service/slam/v1/slam_connect';
3735
import { VisionService } from '../gen/service/vision/v1/vision_connect';
3836
import { dialDirect, dialWebRTC, type DialOptions } from '../rpc';
39-
import type { ResourceName } from '../types';
4037
import { clientHeaders } from '../utils';
4138
import GRPCConnectionManager from './grpc-connection-manager';
4239
import type { Robot } from './robot';
@@ -140,10 +137,6 @@ export class RobotClient extends EventDispatcher implements Robot {
140137

141138
private visionServiceClient: PromiseClient<typeof VisionService> | undefined;
142139

143-
private sensorsServiceClient:
144-
| PromiseClient<typeof SensorsService>
145-
| undefined;
146-
147140
private servoServiceClient: PromiseClient<typeof ServoService> | undefined;
148141

149142
private slamServiceClient: PromiseClient<typeof SLAMService> | undefined;
@@ -366,13 +359,6 @@ export class RobotClient extends EventDispatcher implements Robot {
366359
return this.visionServiceClient;
367360
}
368361

369-
get sensorsService() {
370-
if (!this.sensorsServiceClient) {
371-
throw new Error(RobotClient.notConnectedYetStr);
372-
}
373-
return this.sensorsServiceClient;
374-
}
375-
376362
get servoService() {
377363
if (!this.servoServiceClient) {
378364
throw new Error(RobotClient.notConnectedYetStr);
@@ -609,10 +595,6 @@ export class RobotClient extends EventDispatcher implements Robot {
609595
VisionService,
610596
clientTransport
611597
);
612-
this.sensorsServiceClient = createPromiseClient(
613-
SensorsService,
614-
clientTransport
615-
);
616598
this.servoServiceClient = createPromiseClient(
617599
ServoService,
618600
clientTransport
@@ -737,30 +719,6 @@ export class RobotClient extends EventDispatcher implements Robot {
737719
return resp.resourceRpcSubtypes;
738720
}
739721

740-
// STATUS
741-
742-
async getStatus(resourceNames: ResourceName[] = []) {
743-
const resp = await this.robotService.getStatus({
744-
resourceNames,
745-
});
746-
return resp.status;
747-
}
748-
749-
async *streamStatus(
750-
resourceNames: ResourceName[] = [],
751-
durationMs = 500
752-
): AsyncIterable<Status[]> {
753-
const stream = this.robotService.streamStatus({
754-
resourceNames,
755-
every: new Duration({
756-
nanos: durationMs * 1e6,
757-
}),
758-
});
759-
for await (const val of stream) {
760-
yield val.status;
761-
}
762-
}
763-
764722
// MODULES
765723

766724
async restartModule(moduleId?: string, moduleName?: string) {

src/robot/robot.ts

-25
Original file line numberDiff line numberDiff line change
@@ -129,31 +129,6 @@ export interface Robot {
129129
*/
130130
resourceRPCSubtypes(): Promise<proto.ResourceRPCSubtype[]>;
131131

132-
/**
133-
* Get a list of all statuses requested. An empty request signifies all
134-
* resources.
135-
*
136-
* @param resourceNames - The list of resources for which to receive statuses.
137-
* @group Status
138-
* @alpha
139-
*/
140-
getStatus(resourceNames?: ResourceName[]): Promise<proto.Status[]>;
141-
142-
/**
143-
* Periodically receive the status of all statuses requested. An empty request
144-
* signifies all resources.
145-
*
146-
* @param resourceNames - The list of resources for which to receive statuses.
147-
* Default is [].
148-
* @param duration - How often to send a new status. Default is 0.5 seconds.
149-
* @group Status
150-
* @alpha
151-
*/
152-
streamStatus(
153-
resourceNames?: ResourceName[],
154-
durationMs?: number
155-
): AsyncIterable<proto.Status[]>;
156-
157132
/**
158133
* Call a function when a connection event occurs.
159134
*

0 commit comments

Comments
 (0)