Historical project documentation. Content is maintained in GitLab.

NormalMode

Documentation / Cmds!/NormalMode/ExpertMode/SpecialNext Section

NG Shell Commands - Normal Mode

help / ?

This command shows the commands help list. The output is depending of the Normal/Expert mode of the shell.

show version

Shows the version of the currently running NG OS firmware.

show authors

Shows the authors of the NG hardware and software.

show devices

The Device Table contains all possible devices which will get probed while startup. This command displays all devices marked as detected in the Device Table.

The output of the command show devices looks like this:

# show devices

Detected devices:

  Addr  Bus     Description

  0x52  I2C1    Holger BL-Ctrl (front)
  0x54  I2C1    Holger BL-Ctrl (back)
  0x56  I2C1    Holger BL-Ctrl (right)
  0x58  I2C1    Holger BL-Ctrl (left)
  0x00  ADC0    ADXRS MEMS Gyroscope (nick)
  0x01  ADC0    ADXRS MEMS Gyroscope (roll)
  0x02  ADC0    ADXRS MEMS Gyroscope (yaw)
  0x00  SPI0    LIS3LV02DQ 3-Axis Accelerometer
  0x00  UART1   u-blox GPS SuperSense LEA-4H
  0x00  UART0   ACT DSL Receiver

In the above configuration we had 4x Holger BL-Ctrl on I2C1 (the I2C actor bus), 3x ADXR3000 (on the first ADC), 1x LISL (on the first SPI bus), 1x u-Blox GPS (on the second UART) and a ACT DSL receiver (on the first UART).

show stats / iostat

This command shows the current i/o statistics.

The output of the command show stats looks like this:

# show stats

Statistics for closed-loop cycle:

    Controller:         amir
    Minimum:            56 usec
    Maximum:            120 usec
    Mean (1000 point):  63 usec

    A/D:                6703 ticks/100 cycle (max: 9328)
    ACC:                 503 ticks/100 cycle (max: 1488)
    Actor:               145 ticks/100 cycle (max:  200)
    Compass:               2 ticks/100 cycle (max:    3)
    R/C:                   0 ticks/100 cycle (max:    1)
    R/C DSL (uart0):       3 ticks/100 cycle (max:    3)

Statistics for behavior cycle:

    Minimum:            24 usec
    Maximum:            120 usec
    Mean (1000 point):  31 usec

In this case the ‘amir’ controller was activated. You see the statistics of the closed-loop cycle, the statistics of the different input device’s interupt handlers and the statistics of the behavior system.

show tasks / ps

This command shows the content of the Process Table. Every running task has an entry in it.

The output of the command ps looks similar to:

# ps

  PID TTY         STATE    DESC
    0 /dev/usb    running  Terminal Task
    1 /dev/uart0  ready    Terminal Task
    2 /dev/uart1  ready    Terminal Task

In the above sample you see three console shell tasks active. Two of them are ready and wait to get their time slice, the task with process id 0 is running and currently executing the ps command.

show controller / show ctrl / list ctrl

This command shows the included closed-loop controllers in this firmware. Closed-loop controllers can be easily added by developers and use a common application interfact to interact with the rest of the system.

The output of the command ’list ctrl’ looks like this:


# list ctrl

Possible 'controller' settings:

    none        The do-nothing controller (proven)
    wolferl     The Wolferl PID controller (proven)
    bearing     Bearing-Hold controller (using 3 axis 1D Kalman) (flying)
    amir        Amir's current toy (3 axis 1D Kalman and more) (proven)
    rc-test     A 'Just forward the throttle' controller (proven)
    test        Amir's current test toy (only for testing purposes)

Each line shows a included closed-loop controller. Behind each controller a flag is displayed which indicates the quality of the respective closed-loop controller.

show rc

This command shows the RC signal, as it goes into the different closed-loop controllers. This means, this is the signal the controller sees and acts on!

The output of the command show rc looks like this:

# show rc

Signal: invalid

Channel [01]: -127
Channel [02]: 0
Channel [03]: 0
Channel [04]: 0
Channel [05]: 0
Channel [06]: 0
Channel [07]: 0
Channel [08]: 0
Channel [09]: 0
Channel [10]: 0
Channel [11]: 0
Channel [12]: 0

Teacher/Student mode:   ts-switch
Current mix mode:       primary

Depending on the configuration of the global variable RC.dev.mix the different RC inputs get mixed and used as input for the controllers. RC.dev.mix can have the values primary or secondary which mean that the primary or secondary configured RC device will be used. Further values include ts-switch for teacher/student using a switch, ts-mix for teacher/student using mix-mode and diversity. All three of these modes will mix the primary and secondary RC devices defined by the variables RC.dev.primary and RC.dev.secondary.

The variables RC.dev.primary and RC.dev.secondary can take the values rcsum, uart0 and uart1 to chose from the RC sum signal input or the two ACT DSL UART inputs.

See also: loop rc

show rcsum

This command shows the signal as it gets received by the RC sum signal input. This is the raw signal that get’s mixed together with other RC signals when diversity or teacher/student mixing is activated.

{i} This is not always the signal that the closed-loop controllers will receive! What they receive depends on the configuration of the RC.dev.mix variable.

The output of the command show rcsum looks like this:

# show rcsum

Signal: invalid (validity 0, channels 0)
Counter: 10077696

Channel [01]: -127
Channel [02]: 0
Channel [03]: 0
Channel [04]: 0
Channel [05]: 0
Channel [06]: 0
Channel [07]: 0
Channel [08]: 0
Channel [09]: 0
Channel [10]: 0
Channel [11]: 0
Channel [12]: 0

See also: loop rcsum

show dsl status

This command shows RC DSL status of the two DSL signal inputs.

The output of the command show dsl status shows the status of the two DSL channels:

# show dsl status

DSL statistic on uart0:

    Signal quality:     0
    Battery:            156
    Band:               35

    Channel:            20

    Invalid packets:    0
    Unknown packets:    0

    Status packets:     146303
    Signal packets:     0

DSL statistic on uart1:

    Signal quality:     0
    Battery:            0
    Band:               0

    Channel:            0

    Invalid packets:    0
    Unknown packets:    0

    Status packets:     0
    Signal packets:     0

show dsl channels

The command show dsl channels shows the channels of the two DSL inputs as it gets received by the RC DSL signal input. This is the raw signal that get’s mixed together with other RC signals when diversity or teacher/student mixing is activated.

{i} This is not always the signal that the closed-loop controllers will receive! What they receive depends on the configuration of the RC.dev.mix variable.

# show dsl channels

DSL Parser on uart0:

    Signal quality:     0
    Battery:            156
    Channel:            35

    -C00- -C01- -C02- -C03- -C04- -C05- -C06- -C07- -C08- -C09- -C10- -C11-
     N/A   N/A   N/A   N/A   N/A   N/A   N/A   N/A   N/A   N/A   N/A   N/A

DSL Parser on uart1:

    Signal quality:     0
    Battery:            0
    Channel:            0

    -C00- -C01- -C02- -C03- -C04- -C05- -C06- -C07- -C08- -C09- -C10- -C11-
     N/A   N/A   N/A   N/A   N/A   N/A   N/A   N/A   N/A   N/A   N/A   N/A

See also: loop dsl

loop adc

This command continuously shows the sampled values of the ADC channels AD0.[1..4] until the user presses a key.

The output of the command loop adc looks like this:

# loop adc

Press any key to stop...

ADC measurement on all 4 channels:
-00- Mean Neut Delt -01- Mean Neut Delt -02- Mean Neut Delt
0479 0477 0476 0001 0502 0502 0502 0000 0484 0485 0485 0000

loop compass

This command continuously shows the HMC6352 compass heading (HW-0.10) or the MM33 compass heading (HW-0.20) until the user presses a key:

The output of the command loop compass looks like this:

# loop compass

Press any key to stop...

Compass Heading: 242.0

loop ctrl

The command loop ctrl continuously shows the current closed-loop controller’s input and output data until the user presses a key:

# loop ctrl

  wN   wR   wY   aN   aR   aY    N    R    Y   MF   MB   ML   MR DBG1 DBG2 DBG3
0002 ffff ffff 0025 ffc0 fc01 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000

loop acc

The command loop acc shows the sampled acceleromenter values continuously until the user presses a key:

# loop acc

Press any key to stop...

ACC Sensor LISL:
NICK ROLL -ZZ-
  37  -64 -1023

loop gps

The command loop gps continuously parses GPS NMEA messages and displays them on the console until the user presses a key.

# loop gps

Parsing NMEA data from UART1...

GPS: RMC Message 191642 V 0.0 0.0 0.0 0.0 301008 0.0
GPS: GGA message 0.0 0.0 0.0 1916440 0 99.9899978 0.0
GPS: GGA message 0.0 0.0 0.0 1916450 0 99.9899978 0.0
GPS: RMC Message 191646 V 0.0 0.0 0.0 0.0 301008 0.0
GPS: RMC Message 191647 V 0.0 0.0 0.0 0.0 301008 0.0
GPS: RMC Message 191648 V 0.0 0.0 0.0 0.0 301008 0.0
GPS: GGA message 0.0 0.0 0.0 1916490 0 99.9899978 0.0
...

loop rc

This command continuously shows the RC signal, as it goes into the different closed-loop controllers. This means, this is the signal the controller sees and acts on!

The output of the command loop rc looks like this:

# loop rc


Press any key to stop...

RC Input Signals to controllers of all 12 channels:

-C00- -C01- -C02- -C03- -C04- -C05- -C06- -C07- -C08- -C09- -C10- -C11-
-127  -002  +000  +000  -123  -128  -097  -108  -121  -122  +000  +000

loop rcsum

This command continuously shows the signal as it gets received by the RC sum signal input. This is the raw signal that get’s mixed together with other RC signals when diversity or teacher/student mixing is activated.

{i} This is not always the signal that the closed-loop controllers will receive! What they receive depends on the configuration of the RC.dev.mix variable.

The output of the command show rcsum looks like this:

# loop rcsum

Press any key to stop...

RC Signals of all 12 channels:

-C00- -C01- -C02- -C03- -C04- -C05- -C06- -C07- -C08- -C09- -C10- -C11-
-127  -002  +000  +000  -123  -128  -097  -108  -121  -122  +000  +000

loop dsl [uart0|uart1]

The command loop dsl uart0 or loop dsl uart1 continuously shows the channels of the respective DSL input as it gets received by the RC DSL signal input. This is the raw signal that get’s mixed together with other RC signals when diversity or teacher/student mixing is activated.

{i} This is not always the signal that the closed-loop controllers will receive! What they receive depends on the configuration of the RC.dev.mix variable.

The output of the command loop dsl uart0 looks like this:

# loop dsl uart0

DSL on uart0

Press any key to stop...

-C00- -C01- -C02- -C03- -C04- -C05- -C06- -C07- -C08- -C09- -C10- -C11-
-127  -002  +000  +000  -123  -128  -097  -108  -121  -122  +000  +000

print adc

This command shows the current samples on the four AD channels AD0.[1..4]. It’s output looks like this:

# print adc

ADC measurement on channel 0: 480 (mean 477, neutral 477)
ADC measurement on channel 1: 503 (mean 502, neutral 502)
ADC measurement on channel 2: 484 (mean 483, neutral 483)
ADC measurement on channel 3: 866 (mean 866, neutral 867)

print time

This command prints the current system uptime:

# print time

Current time: 00:11:40

print battery

This command prints the current voltage of the LiPo battery attached:

# print battery

Current battery level: 11.512V

print position

The command print position outputs the received GPS information:

# print position

Current GPS position:

Status: valid

Longitude: 8.6204552 degree
Latitude: 47.4615264 degree
Altitude: 629.2000122 meters

Speed: 0.448 meters
Course: 288.2399902 degrees

Satellites: 7 (Quality: 1)

See also: gps track

enable motors / on

The command enable motors or on will activate the configured controller and actors. It’s the same command that get’s executed when the NG starts. It changes the controller flight-state to SPINUP and activates the actors.

<!> Take care! This will spinup the motors!

disable motors / off

The command disable motors or off will disable the configured controller and actor. It’s the same command that get’s executed when the NG switches it’s motors off after landing. It changes the controller flight-state to LANDED and deactivates the actors.

enable simulation / sim on

The command enable simulation or sim on will activate the configured controller but NOT activate the actors. It’s a simulated start of the NG. It changes the controller flight-state to SPINUP.

disable simulation / sim off

The command disable simulation or sim off will disable the configured controller while not changing the actor’s states. It’s the end of a simulated start of the NG. It changes the controller flight-state to LANDED.

list controller / list ctrl

The command list controller or list ctrl shows the list of the available closed-loop controllers:

# list ctrl

Possible 'controller' settings:

    none        The do-nothing controller (proven)
    wolferl     The Wolferl PID controller (proven)
    bearing     Bearing-Hold controller (using 3 axis 1D Kalman) (flying)
    amir        Amir's current toy (3 axis 1D Kalman and more) (proven)
    rc-test     A 'Just forward the throttle' controller (proven)
    test        Amir's current test toy (only for testing purposes)

Behind each controller a flag shows current controller code quality.

show globals

The command show globals shows the list of the global variables and their values:


# show globals

Current global configuration:

  Name                 UAVP

  RC.ch.throttle       0
  RC.ch.nick           2
  RC.ch.roll           1
  RC.ch.yaw            3
  RC.ch.pot0           4
  RC.ch.pot1           5
  RC.ch.pot2           6
  RC.ch.pot3           7
  RC.ch.pot4           8
  RC.ch.pot5           9
  RC.ch.pot6           10
  RC.ch.pot7           11

  BAT.minimum          9.7

  HW.uart0.baud        115200
  HW.uart1.baud        115200

  HW.use.dtc           yes
  HW.use.acc           yes
  HW.use.compass       no

  HW.use.motor.F       yes
  HW.use.motor.B       yes
  HW.use.motor.L       yes
  HW.use.motor.R       yes

  RC.death.zone        1
  RC.show.drops        no

  RC.dev.primary       rcsum
  RC.dev.secondary     rcsum

  RC.dev.mix           primary

list conf

The command list conf lists the content of all configuration slots availabe:

# list conf

Currently occupied configuration slots:

  Default       Integral-Flight-38

  Slot 1        Integral-Flight-38
  Slot 2        HH-Flight-38
  Slot 3        Wolferl-Flight-38
  Slot 4        Integral-Flight-50

The Default slot is the slot used when your NG starts up. It contains the default configuration automatically loaded on poweron.

show conf

The command show conf shows the configuration of the currently configured closed-loop controller. The variables shown depend on the controller set. Each controller can define his own variables. These variables may or may not be the same as variables with the same name of another controller.

The output of the show conf command for the controller ‘amir’ looks like this, for example:

# show conf

Current system configuration:

  Controller           amir

  Tidle                20
  Treserve             20
  Tspinup              2

  Pnick                35
  Proll                35
  Pyaw                 200

  Dnick                200
  Droll                200
  Dyaw                 100

  Inick                70
  Iroll                70
  Iyaw                 140

  Kalman.Gyro.Q        0.00030000
  Kalman.ACC.Q         0.00010000
  Kalman.ACC.R         3.00000000
  Kalman.Cycle         1

  RCnickcorr           0
  RCrollcorr           0
  RCyawcorr            0
  RCthrottlehoover     100

  ACCnickcorr          0
  ACCrollcorr          0
  ACCyawcorr           0

  TRIMroll             0
  TRIMnick             0
  TRIMyaw              0

  RC.fact.nick         40
  RC.fact.roll         40
  RC.fact.yaw          80

conf store [slot]

The command conf store stores the current configuration in the default configuration slot. The command can take an argument which represents the slot number. When executed the system stores the current controller dependent variables and the global variables together with the current behavior rules in the given configuration slot or in the default slot, if no slot has been given.

The output of the command conf store looks like this:

# conf store

Storing current configuration to slot 0 in flash memory sector 26... succeeded!

conf load [slot]

The command conf load overwrites the current in-memory configuration with the configuration in the default configuration slot. The command can take an argument which represents the slot number. When executed the system overwrites the current in-memory controller dependent variables and the global variables together with the current behavior rules with the configuration in the given configuration slot or in the default slot, if no slot has been given. The command also sets the currently active controller to the one stored in the configuration slot.

The output of the command conf load looks like this:

# conf load

Loading stored configuration slot 0 from flash memory sector 26... succeded!
Controller set to 'amir'

set defaults

The command set defaults overwrites the current in-memory configuration with the configuration in the default configuration chooses by the programmers of the NG firmware. The default configuration is the best configuration to start with when activating a controller. It’s also the configuratin which get’s loaded when the stored default configuration is empty or non-compatible.

The output of the command set defaults looks like this:

# set defaults

All parameters reset to default values!
Switched to controller 'amir'.

set <key> <val>

The command set <key> <val> can be used to manipulate all global and controller dependent variables. The <key> represents the name of the variable and <val> the value. You can use it to set all data types.

The output of the command set Pnick 40 looks like this:

# set Pnick 40

Setting integer 'Pnick' to '40'

edit <key>

The command edit <key> can be used to manipulate numerical controller dependent variables. The <key> represents the name of the variable. After issuing the command you are able to use the up/down cursor keys to change the value of the variable. The left/right key jumps to the previous or next variable. You can use this command to set integer data types only!

The output of the command edit Pnick looks like this:

# edit Pnick

Use the follwing keys:

Change value: Up/Down
Change variable: Left/Right
Press space or return key to stop

Pnick [nick proportional factor]: 40

list behaviors

The command list behaviors displays the list of currently defined behavior rules. A behavior rule consists of a behavior condition and a behavior action. Arbitrary behavior conditions and behavior actions can be programmed and implemented in a modular way by developers. The user is able to manipulate the behavior rules by adding and deleting behavior rules shown in this list.

The output of the command list behaviors looks like this:

# list behaviors

List of currently defined behaviors:

    No  Condition                       Action

    00  when.rc.stick.left(-1,-1)       =>      ctrl.calibrate(0)
    01  when.rc.stick.left(1,-1)        =>      ctrl.calibrate(1)
    02  when.rc.stick.left(-1,1)        =>      actor.motors(0)
    03  when.rc.stick.left(1,1)         =>      actor.motors(1)
    04  when.rc.stick.right(0,-1)       =>      ctrl.switch.ctrl(1)
    05  when.rc.stick.right(0,1)        =>      ctrl.switch.ctrl(0)
    06  when.rc.stick.right(1,0)        =>      ctrl.switch.conf(1)
    07  when.rc.stick.right(-1,0)       =>      ctrl.switch.conf(0)
    08  when.rc.pot.binary(0,1)         =>      rc.calibrate.bearing()
    09  when.rc.pot.binary(0,1)         =>      rc.calibrate.throttle()
    10  when.rc.signal.lost(50)         =>      actor.motors(0)
    11  while.battery.low()             =>      actor.play.melody(14)
    12  when.ctrl.entering.fs(2)        =>      gps.track(1)
    13  when.ctrl.leaving.fs(2)         =>      gps.track(0)

    14 behavior rules defined. 16 behavior slots free.

/!\ The output can differ on your NG version or configuration!

list conditions

The command list conditions displays the list of currently available behavior conditions. All these behavior conditions can be used to build new behavior rules.

The output of the command list conditions looks like this:

# list conditions

    Condition                   Description

    when.rc.throttle.changed()  TRUE if rc[throttle!=rc_prev[throttle]
    when.rc.pot.lt(x,y)         TRUE if rc[pot]<[val]
    when.rc.pot.gt(x,y)         TRUE if rc[pot]>[val]
    when.rc.pot.changed(x)      TRUE if rc[pot]!=rc_prev[pot]
    when.rc.pot.binary(x,y)     TRUE if [val]?rc[pot]<25%:rc[pot]>75%
    when.rc.pot.tristate(x,y)   TRUE if button [pot] goes to state [val]
    when.rc.stick.left(x,y)     TRUE if rc left stick is at position [-1,0,1],[-1,0,1]
    when.rc.stick.right(x,y)    TRUE if rc right stick is at position [-1,0,1],[-1,0,1]
    when.rc.signal.lost(x)      TRUE if rc signal is lost
    when.ctrl.entering.fs(x)    TRUE when entering flight state [fs]
    when.ctrl.leaving.fs(x)     TRUE when leaving flight state [fs]
    while.battery.low()         TRUE if battery voltage is below globally defined limit
    when.rc.pri.pot.binary(x,y) TRUE if [val]?rc_pri[pot]<25%:rc_pri[pot]>75%
    var.equal(x,y)              TRUE if [var] == [val]
    var.not.equal(x,y)          TRUE if [var] != [val]
    var.gt(x,y)                 TRUE if [var] > [val]
    var.lt(x,y)                 TRUE if [var] < [val]
    var.bit.true(x,y)           TRUE if [var][bit] == 1
    var.bit.false(x,y)          TRUE if [var][bit] == 0
    var.bit.op.and.true(x,y)    TRUE if and([var], [bitno]) == 1
    var.bit.op.and.false(x,y)   TRUE if and([var], [bitno]) == 0
    var.bit.op.or.true(x,y)     TRUE if or([var], [bitno]) == 1
    var.bit.op.or.false(x,y)    TRUE if or([var], [bitno]) == 0

/!\ The output can differ on your NG version or configuration

list actions

The command list actions displays the list of currently available behavior actions. All these behavior actions can be used to build new behavior rules.

The output of the command list actions looks like this:

# list actions

    Action                      Description

    ctrl.calibrate(x)           calibrate gyro[0]/acc[1]
    ctrl.switch.ctrl(x)         switch to prev[0]/next[1] ctrl
    ctrl.switch.conf(x)         switch to prev[0]/next[1] conf
    ctrl.hoover()               set throttle to stored hoover value
    ctrl.ascend()               set throttle to stored ascend value
    ctrl.decend()               set throttle to stored descend value
    actor.motors(x)             enable[1]/disable[0] motors
    actor.play.melody(x)        play melody [melody]
    rc.calibrate.bearing()      calibrate rc nick, roll and yaw
    rc.calibrate.throttle()     calibrate rc throttle
    rc.fact.change.bearing(x)   change rc.fact.[nick|roll] relatively
    rc.fact.change.yaw(x)       change rc.fact.yaw relatively
    var.set(x,y)                set [var] = val
    var.bit.set(x,y)            set [var][bit] = 1
    var.bit.clear(x,y)          set [var][bit] = 0
    gps.track(x)                start[1]/stop[0] GPS tracking
    conf.store(x)               store configuration in [slot]
    rc.trainer.mode(x)          set trainer[1] or student[0] mode

/!\ The output can differ on your NG version or configuration

behavior add …

The command behavior add <condition>([arg1][,arg2]]) <action>([arg1[,arg2]]) defines a new behavior rule. The required argument <condition> represents a behavior condition as shown by the command list conditions. The required argument <action> represents a behavior action as shown by the command list actions. Both, condition and action, can optionally receive one or two integer arguments.

Adding a new behavior rule is simple and looks like this:

# behavior add while.battery.low() actor.play.melody(14)

behavior delete [index]

The command behavior delete [index] removes one of the existing behavior rules shown by the command list behavior. The argument represents the behavior slot number of the behavior rule to delete.

The output of the command behavior delete 14 looks like this:

# behavior delete 14

Deleted behavior at index 14

gps track start

The command gps track start starts GPS tracking as soon as a vaild fix is found if a attached GPS was probed and found.

gps track stop

The command gps track stop stops GPS tracking.

gps track clear

The command gps track clear clears the currently stored track.

gps track dump kml

The command gps track dump kml dumps the currently stored GPS track as KML file suitable for Google Earth and similar tools.

gps track status

The command gps track status shows the current status of the GPS tracking subsystem.

print position

The command print position shows the curent GPS position if a valid fix is available.

The output of the command print position with a valid GPS fix looks like this:

# print position

Current GPS position:

Status: valid

Longitude: 8.6004552 degree
Latitude: 47.3615264 degree
Altitude: 629.2000122 meters

Speed: 0.448 meters
Course: 288.2399902 degrees

Satellites: 7 (Quality: 1)

calibrate acc

The command calibrate acc calibrates the acceleration sensor (LISL). This has to be done when the NG stands perfectly horizontal. The measured displacement gets stored in the default configuration afterwards.

The output of the commannd calibrate acc looks like this:

# calibrate acc

Please be sure that your sensor are perfectly horizontal!
When ready, please press any key!

Found current displacement as 30/60/25 [aN, aR, aY]

Do you want to store the measurement?
Please press (y)es to store!

Copying measurement to current configuration...

calibrate adc

The command calibrate adc calibrates the gyroscope sensors (ADXR). This can be done regularly before starting.

The output of the command calibrate adc looks like this:

# calibrate adc

Please be sure that your sensors are perfectly still!
When ready, please press any key!

Found current mean as 477/502/483 [wN, wR, wY]

calibrate all

The command calibrate all calibrates gyros and acceleration sensor. It’s currently essentially a calibrate acc and calibrate adc at the same time.

scan sensors

The command scan sensors scans the I2C sensor bus and outputs devices found.

scan actors

The command scan actors scans the I2C actor bus and outputs devices found.

The output of the command scan actors looks like this:

# scan actors

Scanning I2C1 actor bus...
Scan finished.

Busscan results I2C1 [0x10..0xf6]
---------------------------------
Found device at 0x52
Found device at 0x54
Found device at 0x56
Found device at 0x58

Searched for actor addresses: 0x52, 0x54, 0x58, 0x56 [F,B,L,R]
Actor state machine will be STARTED in Holger BL-Ctrl mode!

<!> The output of this command can look different on your NG if you are using different brushless controllers.

yge newaddr [old-addr] [new-addr]

The command yge newaddr [old-addr] [new-addr] re-configures the address of a YGE30i controller from address [old-addr] to the new address [new-addr].

dump conf

The command dump conf dumps the current controller configuration as a script which can be copy/pasted into a shell console to configure the configuration again. This way it’s possible to dump a controller configuration and store it somewhere else.

The output of the command dump conf for the controller amir looks like this:

# dump conf

set controller amir
set Tidle 20
set Treserve 20
set Tspinup 2
set Pnick 35
set Proll 35
set Pyaw 200
set Dnick 200
set Droll 200
set Dyaw 100
set Inick 70
set Iroll 70
set Iyaw 140
set Kalman.Gyro.Q 0.00030000
set Kalman.ACC.Q 0.00010000
set Kalman.ACC.R 3.00000000
set Kalman.Cycle 1
set RCnickcorr 0
set RCrollcorr 0
set RCyawcorr 0
set RCthrottlehoover 100
set ACCnickcorr 30
set ACCrollcorr 60
set ACCyawcorr 25
set TRIMroll 0
set TRIMnick 0
set TRIMyaw 0
set RC.fact.nick 40
set RC.fact.roll 40
set RC.fact.yaw 80

<!> The output of this command can look different on your NG!

dump globals

The command dump globals dumps the current global configuration as a script which can be copy/pasted into a shell console to configure the configuration again. This way it’s possible to dump a global configuration and store it somewhere else.

The output of the command dump globals looks like this:

# dump globals

set name Integral-Flight-Q4
set RC.ch.throttle 0
set RC.ch.nick 2
set RC.ch.roll 1
set RC.ch.yaw 3
set RC.ch.pot0 8
set RC.ch.pot1 4
set RC.ch.pot2 6
set RC.ch.pot3 5
set RC.ch.pot4 7
set RC.ch.pot5 9
set RC.ch.pot6 10
set RC.ch.pot7 11
set BAT.minimum 10.50000000
set HW.uart0.baud 115200
set HW.uart1.baud 115200
set HW.use.dtc yes
set HW.use.acc yes
set HW.use.compass no
set HW.use.motor.F yes
set HW.use.motor.B yes
set HW.use.motor.L yes
set HW.use.motor.R yes
set RC.death.zone 1
set RC.show.drops no
set RC.dev.primary rcsum
set RC.dev.secondary rcsum
set RC.dev.mix primary

<!> The output of this command can look different on your NG!

dump all

The command dump all dumps the current global and controller configuration as a script which can be copy/pasted into a shell console to configure the configuration again. This way it’s possible to dump a full global and controller configuration and store it somewhere else.

The output of the command dump all looks like this:

# dump all

set controller amir
set Tidle 20
set Treserve 20
set Tspinup 2
set Pnick 35
set Proll 35
set Pyaw 200
set Dnick 200
set Droll 200
set Dyaw 100
set Inick 70
set Iroll 70
set Iyaw 140
set Kalman.Gyro.Q 0.00030000
set Kalman.ACC.Q 0.00010000
set Kalman.ACC.R 3.00000000
set Kalman.Cycle 1
set RCnickcorr 0
set RCrollcorr 0
set RCyawcorr 0
set RCthrottlehoover 100
set ACCnickcorr 30
set ACCrollcorr 60
set ACCyawcorr 25
set TRIMroll 0
set TRIMnick 0
set TRIMyaw 0
set RC.fact.nick 40
set RC.fact.roll 40
set RC.fact.yaw 80


set name Integral-Flight-Q4
set RC.ch.throttle 0
set RC.ch.nick 2
set RC.ch.roll 1
set RC.ch.yaw 3
set RC.ch.pot0 8
set RC.ch.pot1 4
set RC.ch.pot2 6
set RC.ch.pot3 5
set RC.ch.pot4 7
set RC.ch.pot5 9
set RC.ch.pot6 10
set RC.ch.pot7 11
set BAT.minimum 10.50000000
set HW.uart0.baud 115200
set HW.uart1.baud 115200
set HW.use.dtc yes
set HW.use.acc yes
set HW.use.compass no
set HW.use.motor.F yes
set HW.use.motor.B yes
set HW.use.motor.L yes
set HW.use.motor.R yes
set RC.death.zone 1
set RC.show.drops no
set RC.dev.primary rcsum
set RC.dev.secondary rcsum
set RC.dev.mix primary

<!> The output of this command can look different on your NG!