Methods for setting/removing fixed position (#802)
* Method for setting fixed position * Implement removeFixedPosition * Fix formatting
This commit is contained in:
@@ -378,6 +378,53 @@ export class MeshDevice {
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the fixed position of a device. Can be used to
|
||||
* position GPS-less devices.
|
||||
*/
|
||||
public async setFixedPosition(
|
||||
latitude: number,
|
||||
longitude: number,
|
||||
): Promise<number> {
|
||||
const setPositionMessage = create(Protobuf.Admin.AdminMessageSchema, {
|
||||
payloadVariant: {
|
||||
case: "setFixedPosition",
|
||||
value: create(Protobuf.Mesh.PositionSchema, {
|
||||
latitudeI: Math.floor(latitude / 1e-7),
|
||||
longitudeI: Math.floor(longitude / 1e-7),
|
||||
}),
|
||||
},
|
||||
});
|
||||
return await this.sendPacket(
|
||||
toBinary(Protobuf.Admin.AdminMessageSchema, setPositionMessage),
|
||||
Protobuf.Portnums.PortNum.ADMIN_APP,
|
||||
"self",
|
||||
0,
|
||||
true,
|
||||
false,
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Remove the fixed position of a device
|
||||
*/
|
||||
public async removeFixedPosition(): Promise<number> {
|
||||
const removePositionMessage = create(Protobuf.Admin.AdminMessageSchema, {
|
||||
payloadVariant: {
|
||||
case: "removeFixedPosition",
|
||||
value: true,
|
||||
},
|
||||
});
|
||||
return await this.sendPacket(
|
||||
toBinary(Protobuf.Admin.AdminMessageSchema, removePositionMessage),
|
||||
Protobuf.Portnums.PortNum.ADMIN_APP,
|
||||
"self",
|
||||
0,
|
||||
true,
|
||||
false,
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets specified channel information from the radio
|
||||
*/
|
||||
|
||||
Reference in New Issue
Block a user