UNPKG

node-bebop

Version:

Node.js JavaScript library for the Parrot Bebop

690 lines (363 loc) 17.4 kB
## Full Command Set ### Accessory #### Accessory.config(accessory) Set the current accessory configuration. * **accessory** Accessory configuration to set. ### AccessoryState #### AccessoryState.accessoryConfigModificationEnabled(enabled) Possibility to modify the accessory configuration. * **enabled** 1 if the modification of the accessory Config is enabled, 0 otherwise ### Animations #### Animations.flip(direction) Make a flip * **direction** Direction for the flip #### Animations.startAnimation(anim) Start a paramaterless animation. * **anim** Animation to start. #### Animations.stopAnimation(anim) Stop a running animation. * **anim** Animation to stop. #### Animations.stopAllAnimations() Stop all running animations. ### AnimationsState #### AnimationsState.list(obj) List of animations state. * **anim** Animation type. * **state** State of the animation * **error** Error to explain the state ### Antiflickering #### Antiflickering.electricFrequency(frequency) Electric frequency of the country determined by the position of the controller * **frequency** Type of the electric frequency #### Antiflickering.setMode(mode) Set the anti flickering mode * **mode** Mode of the anti flickering functionnality ### ARLibsVersionsState #### ARLibsVersionsState.controllerLibARCommandsVersion(version) Controller libARCommands version * **version** version of libARCommands ("1.2.3.4"format) #### ARLibsVersionsState.skyControllerLibARCommandsVersion(version) SkyController libARCommands version * **version** version of libARCommands ("1.2.3.4"format) #### ARLibsVersionsState.deviceLibARCommandsVersion(version) Device libARCommands version * **version** version of libARCommands ("1.2.3.4"format) ### Audio #### Audio.controllerReadyForStreaming(ready) Tell the firmware whether the controller is ready to start audio streaming. * **ready** Bit field for TX and RX ready. bit 0 is 1 if controller is ready and wants to receive sound (Drone TX) bit 1 is 1 if controller is ready and wants to send sound (Drone RX) ### AudioState #### AudioState.audioStreamingRunning(running) Notify the controller whether the audio streaming is running. * **running** Bit field for TX and RX running bit 0 is 1 if Drone TX is running bit 1 is 1 if Drone RX is running ### Calibration #### Calibration.magnetoCalibration(calibrate) Sent when a calibration of the magnetometer is asked or is aborted * **calibrate** 1 if the calibration should be started, 0 if it should be aborted ### CalibrationState #### CalibrationState.magnetoCalibrationRequiredState(required) Status of the calibration requirement * **required** 1 if calibration is required, 0 if current calibration is still valid ### Camera #### Camera.orientation(tilt, pan) Ask the drone to move camera. * **tilt** Tilt camera consign for the drone (in degree) The value is saturated by the drone. Saturation value is sent by thre drone through CameraSettingsChanged command. * **pan** Pan camera consign for the drone (in degree) The value is saturated by the drone. Saturation value is sent by thre drone through CameraSettingsChanged command. ### CameraState #### CameraState.orientation(tilt, pan) Camera orientation * **tilt** Tilt camera consign for the drone [-100;100] * **pan** Pan camera consign for the drone [-100;100] #### CameraState.defaultCameraOrientation(tilt, pan) Orientation of the camera center. This is the value to send when we want to center the camera. * **tilt** Tilt value (in degree) * **pan** Pan value (in degree) ### Charger #### Charger.setMaxChargeRate(rate) @deprecated Set the maximum charge rate allowed to charge a battery. * **rate** The new maximum charge rate. ### ChargerState #### ChargerState.chargingInfo(obj) Information of the charge. * **phase** The current charging phase. * **rate** The charge rate. If phase is DISCHARGING, refers to the last charge. * **intensity** The charging intensity, in dA. (12dA = 1,2A) ; If phase is DISCHARGING, refers to the last charge. Equals to 0 if not known. * **fullChargingTime** The full charging time estimated, in minute. If phase is DISCHARGING, refers to the last charge. Equals to 0 if not known. ### Common #### Common.allStates() Get all product states. #### Common.currentDate(date) Set current date of controller * **date** Date with ISO-8601 format #### Common.currentTime(time) Set current time of controller * **time** Time with ISO-8601 format #### Common.reboot() Command to ask reboot to product ### CommonState #### CommonState.productModel(model) Inform of the product model. This is used to customize the UI depending on the connected product. * **model** The Model of the product. #### CommonState.countryListKnown(obj) List of the countries known by the device * **listFlags** List entry attribute Bitfield. 0x01: First: indicate it's the first element of the list. 0x02: Last: indicate it's the last element of the list. 0x04: Empty: indicate the list is empty (implies First/Last). All other arguments should be ignored. * **countryCodes** Following of country code with ISO 3166 format, separated by ";". Be careful of the command size allowed by the network used. If necessary, split the list in several commands. ### FlightPlanEvent #### FlightPlanEvent.startingErrorEvent() Event of flight plan start error #### FlightPlanEvent.speedBridleEvent() Bridle speed of the drone ### GPS #### GPS.controllerPositionForRun(obj) Set the controller position for a run. This command is used by all non gps products. Watch out, this command cannot be used with BLE products * **latitude** Controller latitude in decimal degrees * **longitude** Controller longitude in decimal degrees ### GPSSettings #### GPSSettings.setHome(obj) Set home location * **latitude** Home latitude in decimal degrees * **longitude** Home longitude in decimal degrees * **altitude** Home altitude in meters #### GPSSettings.resetHome() Reset home location and let the drone make its own home #### GPSSettings.sendControllerGPS(obj) send controller GPS location * **latitude** GPS latitude in decimal degrees * **longitude** GPS longitude in decimal degrees * **altitude** GPS altitude in meters * **horizontalAccuracy** Horizontal Accuracy in meter ; equal -1 if no horizontal Accuracy * **verticalAccuracy** Vertical Accuracy in meter ; equal -1 if no vertical Accuracy #### GPSSettings.homeType(type) Set user preference for the type of the home position. Note that this is only a preference * **type** The type of the home position #### GPSSettings.returnHomeDelay(delay) Set the delay after which the drone will automatically try to return home * **delay** Delay in second ### Headlights #### Headlights.intensity(obj) Set instensity of lighting LEDs. * **left** Set the left LED intensity value (0 through 255). * **right** Set the right LED intensity value (0 through 255). ### Mavlink #### Mavlink.start(obj) Start the flight plan * **filepath** flight plan file path from the mavlink ftp root * **type** type of the played mavlink file #### Mavlink.pause() Pause the flightplan (can be restarted with a start) #### Mavlink.stop() Stop the flightplan ### MediaRecord #### MediaRecord.picture(mass_storage_id) @deprecated Take picture * **mass_storage_id** Mass storage id to take picture #### MediaRecord.video(obj) @deprecated Video record * **record** Command to record video * **mass_storage_id** Mass storage id to record #### MediaRecord.pictureV2() Take picture #### MediaRecord.videoV2(record) Video record * **record** Command to record video ### MediaStreaming #### MediaStreaming.videoEnable(enable) Enable/disable video streaming. * **enable** 1 to enable, 0 to disable. ### Network #### Network.wifiScan(band) Launches wifi network scan * **band** The band(s) : 2.4 Ghz, 5 Ghz, or both #### Network.wifiAuthChannel() Controller inquire the list of authorized wifi channels. #### Network.disconnect() Signals the remote that the host will disconnect and close its libARNetwork instance (and all threads that use libARNetwork) ### NetworkEvent #### NetworkEvent.disconnection(cause) Signals the remote that the host will disconnect and close its libARNetwork instance (and all threads that use libARNetwork) * **cause** Cause of the disconnection of the product ### NetworkSettings #### NetworkSettings.wifiSelection(obj) Auto-select channel of choosen band * **type** The type of wifi selection (auto, manual) * **band** The allowed band(s) : 2.4 Ghz, 5 Ghz, or all * **channel** The channel (not used in auto mode) ### OverHeat #### OverHeat.switchOff() @deprecated Switch off the drone when a overheat appeared #### OverHeat.ventilate() @deprecated Ventilate the drone when a overheat appeared ### PictureSettings #### PictureSettings.pictureFormatSelection(type) The format of the photo * **type** The type of photo format #### PictureSettings.autoWhiteBalanceSelection(type) AutoWhiteBalance mode * **type** The type auto white balance #### PictureSettings.expositionSelection(value) The exposition of the image * **value** Exposition value (bounds given by ExpositionChanged arg min and max, by default [-3:3]) #### PictureSettings.saturationSelection(value) The saturation of the image * **value** Saturation value (bounds given by SaturationChanged arg min and max, by default [-100:100]) #### PictureSettings.timelapseSelection(enabled, interval) Picture taken periodically * **enabled** 1 if timelapse is enabled, 0 otherwise * **interval** interval in seconds for taking pictures #### PictureSettings.videoAutorecordSelection(enabled, massStorageId) Video autorecord * **enabled** 1 if video autorecord is enabled, 0 otherwise * **mass_storage_id** Mass storage id to take video #### PictureSettings.videoStabilizationMode(mode) Video stabilization mode * **mode** enum for mode ### Piloting #### Piloting.flatTrim() Do a flat trim #### Piloting.takeOff() Ask the drone to take off #### Piloting.pcmd(flag, roll, pitch, yaw, gaz, timestampAndSeqNum) Ask the drone to move around. * **flag** Boolean flag to activate roll/pitch movement * **roll** Roll consign for the drone [-100;100] * **pitch** Pitch consign for the drone [-100;100] * **yaw** Yaw consign for the drone [-100;100] * **gaz** Gaz consign for the drone [-100;100] * **timestampAndSeqNum** Not sure on this, please check Parrot docs #### Piloting.landing() Ask the drone to land #### Piloting.emergency() Put drone in emergency user state #### Piloting.navigateHome(start) Ask the drone to fly to home * **start** 1 to start the navigate home, 0 to stop it #### Piloting.autoTakeOffMode(state) [NOT USED] Set Drone3 in automatic take off mode * **state** State of automatic take off mode (1 for autotake off enabled) #### Piloting.moveBy(obj) Draft: this command is not implemented yet by the firmware Move the drone to a relative position and rotate heading by a given angle The frame is horizontal and relative to the current drone orientation: - X is front - Y is right - Z is down The movement settings of the device are those set for the autonomous flight. * **dX** Wanted displacement along the front axis [m] * **dY** Wanted displacement along the right axis [m] * **dZ** Wanted displacement along the down axis [m] * **dPsi** Wanted rotation of heading [rad] #### Piloting.userTakeOff(state) Not sure, check Parrot docs * **state** State of user takeoff #### Piloting.circle(direction) Start circling, must apply to fixed wing drones? * **direction** 0 for CW, 1, for CCW ### PilotingEvent #### PilotingEvent.moveByEnd(obj) Draft: this command is not implemented yet by the firmware End of relative displacement of the drone The frame is horizontal and relative to the current drone orientation: - X is front - Y is right - Z is down * **dX** Distance traveled along the front axis [m] * **dY** Distance traveled along the right axis [m] * **dZ** Distance traveled along the down axis [m] * **dPsi** Applied angle on heading [rad] * **error** Error to explain the event ### PilotingSettings #### PilotingSettings.maxAltitude(current) Set Max Altitude * **current** Current altitude max in m #### PilotingSettings.maxTilt(current) Set Max Tilt * **current** Current tilt max in degree #### PilotingSettings.absolutControl(on) [NOT USED] Enable/Disable absolut control * **on** 1 to enable, 0 to disable #### PilotingSettings.maxDistance(value) Set the distance max of the drone * **value** Current max distance in meter #### PilotingSettings.noFlyOverMaxDistance(shouldNotFlyOver) Indication about how the product handle flying over the max distance limitation * **shouldNotFlyOver** 1 if the drone can't fly further than max distance, 0 if no limitation on the drone should be done #### PilotingSettings.setAutonomousFlightMaxHorizontalSpeed(value) Draft: this command is not implemented yet by the firmware Set the maximum horizontal speed used by the autonomous flight * **value** maximum horizontal speed [m/s] #### PilotingSettings.setAutonomousFlightMaxVerticalSpeed(value) Draft: this command is not implemented yet by the firmware Set the maximum vertical speed used by the autonomous flight * **value** maximum vertical speed [m/s] #### PilotingSettings.setAutonomousFlightMaxHorizontalAcceleration(value) Draft: this command is not implemented yet by the firmware Set the maximum horizontal acceleration used by the autonomous flight * **value** maximum horizontal acceleration [m/s2] #### PilotingSettings.setAutonomousFlightMaxVerticalAcceleration(value) Draft: this command is not implemented yet by the firmware Set the maximum vertical acceleration used by the autonomous flight * **value** maximum vertical acceleration [m/s2] #### PilotingSettings.setAutonomousFlightMaxRotationSpeed(value) Draft: this command is not implemented yet by the firmware Set the maximum yaw rotation speed used by the autonomous flight * **value** maximum yaw rotation speed [rad/s] #### PilotingSettings.minAltitude(current) Set Min Altitude * **current** Current altitude min in m #### PilotingSettings.circlingDirection(value) Direction to circle in * **value** direction #### PilotingSettings.circlingRadius(value) Set radius for circling * **value** radius in m #### PilotingSettings.circlingAltitude(value) Set altitude for circling * **value** Current altitude min in m #### PilotingSettings.pitchMode(value) Set pitch mode * **value** mode #### PilotingSettings.landingMode(value) Set landing mode * **value** mode ### PilotingSettingsState #### PilotingSettingsState.autonomousFlightMaxHorizontalSpeed(value) Draft: this command is not implemented yet by the firmware Maximum horizontal speed used by the autonomous flight * **value** maximum horizontal speed [m/s] #### PilotingSettingsState.autonomousFlightMaxVerticalSpeed(value) Draft: this command is not implemented yet by the firmware Maximum vertical speed used by the autonomous flight * **value** maximum vertical speed [m/s] #### PilotingSettingsState.autonomousFlightMaxHorizontalAcceleration(value) Draft: this command is not implemented yet by the firmware Maximum horizontal acceleration used by the autonomous flight * **value** maximum horizontal acceleration [m/s2] #### PilotingSettingsState.autonomousFlightMaxVerticalAcceleration(value) Draft: this command is not implemented yet by the firmware Maximum vertical acceleration used by the autonomous flight * **value** maximum vertical acceleration [m/s2] #### PilotingSettingsState.autonomousFlightMaxRotationSpeed(value) Draft: this command is not implemented yet by the firmware Maximum yaw rotation speed used by the autonomous flight * **value** maximum yaw rotation speed [rad/s] #### PilotingSettingsState.bankedTurn(value) Enable/disable banked turn * **value** enable/disable ### PROState #### PROState.features(features) Features enabled * **features** Bitfield representing enabled features. Currently supported bits are: - 0 : 720p streaming - 1 : No interface on SkyController HDMI ### Settings #### Settings.allSettings() Get all product settings, the product must send all settings #### Settings.reset() Reset all settings #### Settings.productName(name) Set Product name * **name** Product name #### Settings.country(code) Set current Country of controller * **code** Country code with ISO 3166 format #### Settings.autoCountry(automatic) Set Auto Country Settings * **automatic** Boolean : 0 : Manual / 1 : Auto ### SettingsState #### SettingsState.p7id(serialID) Product P7ID * **serialID** Product P7ID ### SpeedSettings #### SpeedSettings.maxVerticalSpeed(current) Set Max Vertical speed * **current** Current max vertical speed in m/s #### SpeedSettings.maxRotationSpeed(current) Set Max Rotation speed * **current** Current max rotation speed in degree/s #### SpeedSettings.hullProtection(present) Presence of hull protection * **present** 1 if present, 0 if not present #### SpeedSettings.outdoor(outdoor) Outdoor property * **outdoor** 1 if outdoor flight, 0 if indoor flight ### WifiSettings #### WifiSettings.outdoorSetting(outdoor) Send to product if it should use its outdoor wifi config, or indoor * **outdoor** 1 if it should use outdoor wifi settings, 0 otherwise