X-Git-Url: https://git.gag.com/?p=fw%2Faltos;a=blobdiff_plain;f=doc%2Fpyro-channels.inc;h=ab5baef0e37cc68d7bca8c24e59a22c28d9bd0a1;hp=0da7db25eae136316664445b56582ba7e2f1c397;hb=3fd320ea38f2945f5611a09a0e48d16db467d105;hpb=5ddf9525f94f38c20327d1f2b43917e43519b949 diff --git a/doc/pyro-channels.inc b/doc/pyro-channels.inc index 0da7db25..ab5baef0 100644 --- a/doc/pyro-channels.inc +++ b/doc/pyro-channels.inc @@ -1,33 +1,28 @@ -Acceleration:: Select a value, and then choose -whether acceleration should be above or below -that value. Acceleration is positive upwards, -so accelerating towards the ground would -produce negative numbers. Acceleration during -descent is noisy and inaccurate, so be careful -when using it during these phases of the -flight. - -Vertical speed:: Select a value, and then -choose whether vertical speed should be above -or below that value. Speed is positive -upwards, so moving towards the ground would -produce negative numbers. Speed during descent -is a bit noisy and so be careful when using it +Vertical Acceleration:: Select a value, and then choose whether +acceleration away from the ground should be above or below that +value. Acceleration is positive upwards, so accelerating towards the +ground would produce negative numbers. Acceleration during descent is +noisy and inaccurate, so be careful when using it during these phases +of the flight. + +Ascent rate:: Select a value, and then choose whether ascent rate +should be above or below that value. Ascent rate is positive upwards, +so moving towards the ground would produce negative numbers. Ascent +rate during descent is a bit noisy and so be careful when using it during these phases of the flight. -Height:: Select a value, and then choose -whether the height above the launch pad should -be above or below that value. +Height above pad:: Select a value, and then choose whether the height +above the launch pad should be above or below that value. -Orientation:: TeleMega and EasyMega contain a -3-axis gyroscope and accelerometer which is -used to measure the current angle. Note that -this angle is not the change in angle from the -launch pad, but rather absolute relative to -gravity; the 3-axis accelerometer is used to -compute the angle of the rocket on the launch -pad and initialize the system. +Orientation:: TeleMega and EasyMega contain a 3-axis gyroscope and +accelerometer which is used to compute the orientation of the +rocket. A record of orientations over the last 0.64 seconds is kept +and the largest value within this period is compared with the +specified value. Note that the tilt angle is not the change in angle +from the launch pad, but rather absolute relative to gravity—the +3-axis accelerometer is used to compute the angle of the rocket on the +launch pad and initialize the system. [NOTE] ==== @@ -47,64 +42,78 @@ pad and initialize the system. of less than that value. ==== -Flight Time:: Time since boost was -detected. Select a value and choose whether to -activate the pyro channel before or after that -amount of time. +Flight Time:: Time since launch. Select a value and choose whether to +activate the pyro channel before or after that amount of time. -Ascending:: A simple test saying whether the -rocket is going up or not. This is exactly -equivalent to testing whether the speed is -> 0. +[WARNING] +Firmware versions older than 1.8.6 have a bug which resets the time +since launch to zero each time a motor starts burning. Update firmware +to get the correct behavior. -Descending:: A simple test saying whether the -rocket is going down or not. This is exactly -equivalent to testing whether the speed is -< 0. +Ascending:: A deprecated configuration value which was the same as +setting Ascent rate > 0. Existing configurations using this will be +cleared and must be reconfigured by the user. -After Motor:: The flight software counts each -time the rocket starts accelerating and then -decelerating (presumably due to a motor or -motors burning). Use this value for -multi-staged or multi-airstart launches. +Descending:: A deprecated configuration value which was the same as +setting Ascent rate < 0. Existing configurations using this will be +cleared and must be reconfigured by the user. -Delay:: This value doesn't perform any checks, -instead it inserts a delay between the time -when the other parameters become true and when -the pyro channel is activated. +After Motor:: The flight software counts each time the rocket starts +accelerating and then decelerating (presumably due to a motor or +motors burning). Use this value for multi-staged or multi-airstart +launches. As of version 1.8.6 firmware, this checks to make sure at +least this many motors have burned. Before version 1.8.6, this checked +to make sure that exactly this many motors had burned. + +Delay:: Once the other parameters all become true, a timer is +started for the specified amount of time. While the timer is running, +the other parameters are checked repeatedly and if any of them become +false, then the pyro channel is disabled and will not fire. If the +timer expires and all of the other parameters have remained true for +the entire time, then the pyro channel is fired. Flight State:: The flight software tracks the flight through a sequence of states: * Boost. The motor has lit and the rocket is - accelerating upwards. + accelerating upwards. Ascent rate will be greater than zero. + Vertical acceleration will be greater than zero. * Fast. The motor has burned out and the rocket is decelerating, but it is going - faster than 200m/s. + faster than 200m/s. Ascent rate will be greater than zero. Vertical + acceleration will be less than zero. * Coast. The rocket is still moving upwards - and decelerating, but the speed is less - than 200m/s. + and decelerating, but the Ascent rate is less + than 200m/s. Ascent rate will greater than zero. Vertical + acceleration will be less than zero. * Drogue. The rocket has reached apogee and is heading back down, but is above the - configured Main altitude. + configured Main altitude. Ascent rate will be less than zero during + this state. Vertical acceleration will be negative until the rocket + reaches a terminal descent rate, at which point Vertical + acceleration will be zero. Both Ascent rate and Vertical + acceleration are very noisy in this state, so be careful when + trying to use them to control pyro channels. * Main. The rocket is still descending, and - is below the Main altitude + is below the Main altitude. Ascent rate will be less than zero + during this state. Vertical acceleration may be briefly less than + zero as the rocket slows from drogue descent to main descent, but + it will settle down to a zero value once the rocket has reached the + terminal velocity under the main chute. Ascent rate and Vertical + acceleration should be much less noisy once the main chute has + deployed. * Landed. The rocket is no longer moving. -You can select a state to limit when the pyro -channel may activate; note that the check is -based on when the rocket transitions *into* -the state, and so checking for “greater than -Boost” means that the rocket is currently in -boost or some later state. - -When a motor burns out, the rocket enters -either Fast or Coast state (depending on how -fast it is moving). If the computer detects -upwards acceleration again, it will move back -to Boost state. +You can select a state to limit when the pyro channel may activate; +note that the check is based on when the rocket transitions *into* the +state, and so checking for “greater than Boost” means that the rocket +is currently in boost or some later state. + +When a motor burns out, the rocket enters either Fast or Coast state +(depending on how fast it is moving). If the computer detects upwards +acceleration again, it will move back to Boost state.