tello-custom-ip
Version:
Tello drone client with custom IP address support, forked from @0x77/tellots
60 lines (48 loc) • 1.77 kB
text/typescript
import commander from "../exchanger"
import { CommandType } from "../types"
import {
parseBattery,
parseHeight,
parseTemperature,
parseSpeed,
parseTime,
parseWifi,
parseAttitude,
parseBarometer,
parseAcceleration,
parseTof
} from "../parsers"
import type {
BatteryResponse,
HeightResponse,
TemperatureResponse,
SpeedResponse,
TimeResponse,
WifiResponse,
AttitudeResponse,
BarometerResponse,
AccelerationResponse,
TofResponse
} from "../types"
const speed = (): Promise<SpeedResponse> =>
commander.send('speed?', parseSpeed, CommandType.READ)
const battery = (): Promise<BatteryResponse> =>
commander.send('battery?', parseBattery, CommandType.READ)
const time = (): Promise<TimeResponse> =>
commander.send('time?', parseTime, CommandType.READ)
const height = (): Promise<HeightResponse> =>
commander.send('height?', parseHeight, CommandType.READ)
const temperature = (): Promise<TemperatureResponse> =>
commander.send('temp?', parseTemperature, CommandType.READ)
const attitude = (): Promise<AttitudeResponse> =>
commander.send('attitude?', parseAttitude, CommandType.READ)
const barometer = (): Promise<BarometerResponse> =>
commander.send('baro?', parseBarometer, CommandType.READ)
const acceleration = (): Promise<AccelerationResponse> =>
commander.send('acceleration?', parseAcceleration, CommandType.READ)
const tof = (): Promise<TofResponse> =>
commander.send('tof?', parseTof, CommandType.READ)
const wifi = (): Promise<WifiResponse> =>
commander.send('wifi?', parseWifi, CommandType.READ)
export const read = { speed, battery, time, wifi, height, temperature, attitude, barometer, tof, acceleration }
export default read