Skip to main content
FW version: Stable

Signal flow

Signal flow Signal flow

Sig_path settings

Sig_path processing block sits between the inputs and the main block. Sig_path has 2 analog inputs called level1 and level2, and 2 digital inputs, in1 and in2.

Sig_path is essentially a function that takes 5 arguments:

  • sig_path parameter - an integer value selecting the wanted scheme
  • level1 - value of the first analog input
  • level2 - value of the second analog input
  • in1 - value of the first digital input
  • in2 - value of the second digital input

and outputs 2 values:

  • output_level - analog value, that will be further converted to cmd with csc.
  • disarm - can be only 0/1, if 1 is outputted and in parameters disarming is enabled, the motor won't be spinning even if level is not zero.

By setting parameter sig_path in the controller you can select one of the following schemas. If is sig_path set to any other value the controller acts as if sig_path was set to zero.

sig_path = 0

No input is mapped to the control block. Useful when you want to use directly the driver API to control the motor.

  • output_level is set to 0, no matter the inputs.
  • disarm here is unimportant because level is always zero.

Sig_path_0.jpg

tip

If you want to completely disable the OPHION application. Set parameter /common/appsel to 10. With this setting, the controller will not beep on the startup, or the mode switch will not work.

sig_path = 1 - default

This is the default setting, one analog input is mapped to the cmd.

  • output_level is equal to level1.
  • disarm is always zero.

Sig_path_1.jpg

sig_path = 2

Similar to sig_path = 1, only implements safety check via `level2``.

  • output_level is equal to level1 only if level2 >= 0, otherwise output_level is zero.
  • disarm is always zero.

Sig_path_2.jpg

sig_path = 3

Same as sig_path = 1, but with disarm.

  • output_level is equal to level1.
  • disarm is 1 if level2 <=0 and 0 otherwise.

Sig_path_3.jpg

sig_path = 4

  • output_level is equal to level1 if in1 = 1 (enable switch), otherwise is zero. And output_level is multiplied by -1 (reverse switch) if in2 = 1.
  • disarm is always zero.

Sig_path_4.jpg

sig_path = 5

With level1 you set the value that should be in level_output and in1 serves as forward switch and in2 serves as backward switch.

  • output_level is set like this:
    • if in1 is enabled output_level is equal to level1.
    • if in2 is enabled output_level is equal to -level1.
    • if neither of them is enabled output_level is set to zero.
    • if both of them are enabled output_level is set to level1.
  • disarm is always zero.

Sig_path_5.jpg

sig_path = 6

Acts as sig_path = 5, if level1 was always 1.

  • output_level is set like this:
    • if in1 is enabled output_level is equal to 1.
    • if in2 is enabled output_level is equal to -1.
    • if neither of them is enabled output_level is set to zero.
    • if both of them are enabled output_level is set to 1.
  • disarm is always zero.

Sig_path_6.jpg

sig_path = 7

  • output_level is set to level1 + level2.
  • disarm is always zero.

Sig_path_7.jpg