FAQ

How to calculate a mask

This section attaches a python program that allows users to easily calculate their mask in standard or extended frame format by simply entering the CAN Ids as a vector. In addition, this program also converts each Id entered into binary.

download maskCalculator.py

An example of the execution of this program is shown below:

../_images/mask_calculator_example.png

Example of maskCalculator program

What does decimation mean?

EKF implementation in Veronte Autopilot 1x algorithm means that only one sensor can enter per run step.

Therefore, if more than one sensor is read in the same GNC step, then the sensor with highest priority is the one introduced to the EKF. The rest of the sensor measurements will be introduced to the EKF in subsequent GNC steps according to their priority order.

The priority order of the sensors from highest to lowest priority is as follows:

  • GNSS position

  • GNSS velocity

  • Relative position sensor

  • GNSS compass

  • Magnetometer

  • Static pressure

  • Altimeter

  • Velocity down

  • Terrain mesh

Consequently, if there is a sensor with a high priority and it has a high refresh rate it may cause other sensors to never enter.

To avoid this, the parameter decimation has been introduced to discard a certain number of new measurements. That is, with decimation 10, only 1 out of 10 new measurements is entered.

It is recommended not to change the default values if users are not sure what they are doing.

Automations evaluation and execution

  • What is the approximate rate of evaluation of all automations?

    The evaluation rate of these automations depends on the type of event in terms of priority: high and low events.

    High events are those that check whether a system variable is within the defined limits or those which check if the selected bits are correct. Low events are the rest of events of the system.


    Considering that automations run at Core 2 (C2) frequency, these are the evaluation rates of each type of event:

    • High events: Evaluated in all steps of C2.

    • Low events: The evaluation rate is given by the following equation:

      \[\text{Evaluation rate}=\frac{\text{nº low events}}{\text{floor(}\frac{\text{nº of low events}+35}{36}\text{)}}+3\]

      Example

      56 low events \(\rightarrow\) low events are evaluated each 31 C2 steps


  • Are the automations evaluated in sequential order from top to bottom (similar to block programs that are evaluated in sequential order)?

    No, they are evaluated in the order of the automation ID, which may not necessarily coincide with the order in which they appear in the list of automations.

    For instance, considering the following automations configuration, the automation with ID 9 (Auto Mode), will be executed before the automation with ID 27 (RDZ Button), regardless of whether the automation RDZ Button is first in the “sequential order”.

    ../_images/automations_id_order.png

    Automations evaluation order example


  • Is it possible for one automation action to be executed before the complete list of automations is evaluated?

    No, this is not possible because the Veronte Autopilot 1x system first checks all automation events and then executes the corresponding actions triggered by the evaluated events.


  • Could a block program use a variable set by an action of an automation before the complete list of automations is evaluated?

    No, because block programs are executed before automations.


  • Could a CAN message with a variable value set by an automation be sent before the complete set of automations is evaluated?

    No, because CAN is evaluated in Core 1, while automations are executed in Core 2. For more information on the tasks and functioning of each Core, please refer to the Core architecture section of the 1x Software Manual.