Help
non-latin paths
If pr0p is located in a folder containing non-latin characters, the TTS (text to speech) dependency might cause a crash. Solutions:
- don't use non-latin letters in your path
- remove or rename pr0p_Data/Plugins/x86_64/piperlib.dll (disables TTS)
Configurator settings are ignored?
Try restarting the game. Sometimes the fc seems to go into a mode, where configurator changes are ignored.
0.8.12 introduced an updater
The updater automates the process to pull the lastest build. It verifies the integrity of the download and checks the signature.
To switch to a beta branch, just create a file named beta in the same directory as the executable and re-run the updater.
To switch back to stable, just delete the beta file and rerun the updater.
To re-run/verify the installation just remove the version file and rerun the updater.
How do I connect the configurator?
Start a race and open app.betaflight.com from a chrome based browser. Enable manual connection from the Options menu.
In the upper bar switch to Manual Selection and set the following address as Port:
ws://127.0.0.1:5761
Make sure pr0p is in a race, otherwise the virtual fc is not running and no connection can be established. Hit Connect.
How do I change my rates?
Start a race and connect to the virtual fc using app.betaflight.com from a chrome based browser. Go to the PID Tunig menu and then Rateprofile Settings as pictured below and adjust your rates and hit save:
One of my switches is not recognized
Unfortunately I don't own each and every remote control, so I can't create custom HID mappings for every controller in existence. Make sure your model on your remote control is configured to pass the switch, or use a different switch.
In general all opentx, freedomtx and edgetx remote controllers are supported by default. Make sure to switch your model's USB joystick mode to classic. Only classic mode is supported and works out of the box.
How do I reset the flight controller config?
Easy: Exit the game, go to AppData\LocalLow\SigSegOwl\pr0p\config\quad\ and delete the eeprom file (.bin) for the quad configuration your want to reset. Restart the game, start a race and you have the betaflight defaults applied again.
Don't forget to configure modes again!
Stick values only between 0 and 100?
I don't know what causes this, but as a work around open the following file
AppData\LocalLow\SigSegOwl\pr0p\input.json
and add a normalization processor like
normalize(min=0.0,max=1.0,zero=0.5)
to the desired stick axis. This scales values from 0 to -100, so the full range between -100 and 100 is available.
custom quad configurations
You can create your own quad configurations.
The folder AppData\LocalLow\SigSegOwl\pr0p\config\ contains the following structure:
.
├── battery
│ ├── shl-4s-1300mah.json
│ ├── shl-4s-550mah.json
│ ├── shl-4s-850mah.json
│ └── shl-6s-1100mah.json
├── motor
│ ├── ak-1407-3600kV.json
│ ├── smax-1404-3800kV.json
│ ├── smax-1606-3000kV.json
│ ├── smax-2208-1900kV.json
│ └── snova-2203-2800kV.json
├── propeller
│ ├── sprop-3.5x2.5x3.json
│ ├── sprop-3x4x3.json
│ ├── sprop-4x3x3.json
│ ├── sprop-5.1x3.5x3.json
│ └── sprop-5.1x3.7x3-r30.json
├── quad
│ ├── 270Supra.bin
│ ├── 270Supra.json
│ ├── propeater-5.bin
│ ├── propeater-5.json
│ ├── skydart350.bin
│ ├── skydart350.json
│ ├── vtx-slayer-one-3.bin
│ ├── vtx-slayer-one-3.json
│ ├── vtx-slayer-one-4.bin
│ └── vtx-slayer-one-4.json
└── vtx
├── 25mW-analog-vtx.json
├── 25mW-hdzero-vtx.json
└── cheap-25mW-analog-vtx.json
Each folder contains JSON files. Each JSON file defines one component.
Create a new JSON file in each folder. Reference the file names in a new quad config JSON file in the quad folder.
You can also copy an existing configuration and edit it. Give a unique name to each component. Use these names in the new quad config.
Set the buildIn property to false. Otherwise, you cannot hot reload the config during a race.
Press F6 during a local race to write the current configuration to disk.
Press F7 during a local race to load the configuration from disk.
Custom quad configs work only during local races. They do not work in multiplayer modes. This prevents unfair advantages.
You cannot modify built-in configurations. The simulator ignores changes to these files.
During the first start of pr0p with a new configuration, the EEPROM file (.bin) for that quad config is created with betaflight defaults.
Configure the EEPROM or copy one of the other EEPROMs.
configuration parameter reference
This reference describes the configuration files of the quadcopter simulator.
The configuration directory contains five types of configuration files: battery, motor, propeller, quad, and VTX.
Each configuration file uses the JSON format.
The quad configuration references the other configuration types by the name field.
common parameters |
|
|---|---|
| Name | Description |
| version | The version number of the configuration format. The simulator checks this number for compatibility with the current version. |
| name | The display name of the configuration. The quad configuration uses this name to reference the other components. |
| fileName | The file name of the configuration without the .json extension. The simulator uses this name to locate the file. |
| buildIn | A boolean value. The value true means that the configuration is built into the simulator. The value false means that the user has added the configuration. |
| description | A text description of the configuration. This text has no effect on the simulation. |
| mass | The mass of the component in kilograms. The total mass of the quadcopter is the sum of the frame mass, four motor masses, four propeller masses, and the battery mass. |
battery |
|
| Name | Description |
| maxVoltageSag | The maximum voltage sag of the battery in volts. The simulator uses this value to calculate the voltage drop under load. A high value makes the voltage drop faster. |
| batCellCount | The number of cells in the battery pack. The simulator multiplies this number by 4.2 volts to calculate the charged battery voltage. |
| batCapacityCharged | The capacity of the charged battery in milliamp hours. This value can be higher or lower than the rated capacity. |
| batCapacity | The rated capacity of the battery in milliamp hours. |
| mass | The mass of the battery in kilograms. |
motor |
|
| Name | Description |
| motorKV | The KV rating of the motor in revolutions per minute per volt. The simulator uses this value to calculate the motor speed. |
| motorR | The resistance of the motor windings and all other components in ohms. This is typically higher than just the motor winding resistance. The simulator uses this value to calculate the current and the electrical losses. |
| motorI0 | The idle current of the motor in amperes. The idle current is the current without a load. |
| motorRth | The thermal resistance in degrees Celsius per watt. The simulator uses this value to calculate the temperature rise. |
| motorCth | The thermal heat capacity in joules per degree Celsius. The simulator uses this value to calculate the temperature change. |
| motorMaxT | The maximum motor temperature in degrees Celsius. The motor windings short out at this temperature. |
| motorImbalance | The vibration amplitude of the motor on each axis. The value x is the amplitude on the x-axis, y on the y-axis, and z on the z-axis. The simulator applies the same imbalance to all four motors. |
| mass | The mass of one motor in kilograms. |
propeller |
|
| Name | Description |
| bladeCount | The number of blades on the propeller. |
| propMaxRpm | The maximum speed of the propeller in revolutions per minute. The simulator clamps the propeller speed to this value. |
| propAudioPitch | The audio pitch factor of the propeller. The simulator uses this value to adjust the pitch of the propeller sound. |
| propAFactor | The quadratic thrust coefficient of the propeller. The simulator uses this value to calculate the thrust curve. A high value produces more thrust at high RPM. |
| propTorqueFactor | The torque factor of the propeller. The simulator multiplies the propeller thrust by this factor to calculate the torque. |
| propInertia | The rotational inertia of the propeller in kilogram square meters. The simulator uses this value to calculate the angular acceleration. |
| propThrustFactor | A vector that defines the maximum thrust against the flight speed. The value x is the coefficient of the square of the speed, y the coefficient of the speed, and z the constant term. |
| propHarmonic1Amp | The amplitude of the first harmonic of the propeller sound. |
| propHarmonic2Amp | The amplitude of the second harmonic of the propeller sound. |
| mass | The mass of one propeller in kilograms. |
| durability | The durability of the propeller. A high value means that the propeller survives more impacts before it breaks. |
quad |
|
| Name | Description |
| frameDragArea | A vector that defines the effective drag area of the frame on each axis in square meters. The values x, y, and z apply to the x-axis, y-axis, and z-axis. |
| frameDragConstant | The drag constant of the frame. The simulator multiplies the drag force by this constant. |
| mass | The mass of the frame only in kilograms. |
| invInertia | A vector that defines the inverse inertia of the frame on each axis. The simulator flips the sign of the y-axis value internally to match the coordinate system. |
| gyroBaseNoiseAmp | The amplitude of the base noise of the gyroscope. A high value produces a noisier gyroscope signal. |
| gyrobaseNoiseFreq | The frequency of the base noise of the gyroscope in hertz. |
| frameHarmonic1Amp | The amplitude of the first vibration harmonic of the frame. The value 0.0 disables this harmonic. |
| frameHarmonic1Freq | The frequency of the first vibration harmonic of the frame in hertz. |
| frameHarmonic2Amp | The amplitude of the second vibration harmonic of the frame. The value 0.0 disables this harmonic. |
| frameHarmonic2Freq | The frequency of the second vibration harmonic of the frame in hertz. |
| minPropWashSpeed | The flight speed in meters per second at which the prop wash effect starts. |
| maxPropWashSpeed | The flight speed in meters per second at which the prop wash effect reaches its peak. |
| propWashAngleOfAttack | The angle of attack of the prop wash. The value 0.0 means an angle of 180 degrees in the reverse thrust direction. |
| propWashFactor | The multiplier for the final prop wash effect. A high value produces a stronger prop wash effect. |
| maxGroundEffectDist | The maximum distance to the ground in meters at which the ground effect applies. |
| motor1Pos ... motor4Pos | A vector that defines the position of each motor in meters. The simulator uses these positions to calculate the torque of each motor. |
| motor1Dir ... motor4Dir | The rotation direction of each motor. The value 1.0 means clockwise rotation. The value -1.0 means counterclockwise rotation. |
| motorVariance | A vector with four values that defines the KV variance of each motor. The simulator multiplies the base KV by each value. The value 1.0 means no variance. |
| motor | The name of the motor configuration. The simulator loads this configuration from the motor directory. |
| propeller | The name of the propeller configuration. The simulator loads this configuration from the propeller directory. |
| battery | The name of the battery configuration. The simulator loads this configuration from the battery directory. |
| vtx | The name of the VTX configuration. The simulator loads this configuration from the VTX directory. |
| soundMaxRpm | The maximum RPM that the simulator uses to scale the sound. The sound plays at its maximum pitch at this RPM. |
| model | The name of the 3D model of the quadcopter. |
vtx |
|
| Name | Description |
| type | The type of the video transmitter. The value analog means an analog video transmitter. The value hdzero means an HDZero digital video transmitter. |
| noiseFloor | The base noise level of the video signal. A high value produces more noise in the video picture. |
| noiseFactor | The noise factor of the video transmitter. A high value produces a noisier video picture. |
| range | The transmission range of the video transmitter in meters. The simulator uses this value to calculate the signal quality over distance. |