NormalMode
| Documentation / Cmds | !/NormalMode | /ExpertMode | /Special | Next 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 ReceiverIn 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 usecIn 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 TaskIn 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: primaryDepending 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]: 0See 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: 0show 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/ASee 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 0000loop 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.0loop 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 0000loop 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 -1023loop 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 +000loop 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 +000loop 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 +000print 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:40print battery
This command prints the current voltage of the LiPo battery attached:
# print battery
Current battery level: 11.512Vprint 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 primarylist 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-50The 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 80conf 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]: 40list 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 14gps 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!