NGOS-0.54
Release Notes
NGOS version 0.54
Implemented new PT1 compensation: The new compensation uses the parameters
K1, T1.up and T1.down. This allows to use different T1 parameters for
increasing and decreasing the thrust.
Changed unit of T1.up and T1.down to [ms] and adapted default values. Please make sure you enter milliseconds now for T1.up and T1.down!
Fixed rc-mixer default behavior on signal loss. The rc-mixer’s default behavior is to hold the signal for 2 seconds and then fall back to minimal fail safe signals, meaning zero for all channels.
Fixed while.rc.signal.loss(delay) and when.rc.signal.loss(delay) behavior
conditions to correctly interpret the argument as number of 20ms cycles
to pass until the condition triggers. The default behavior rules contain
a rule which overrides the default behavior with a ctrl.decend(10) after
500ms (25 cycles).
qNGctrl now contains options to enable, configure and disable the proxy feature of the internal browser.
Ralf extended the rc mixer with a new device rcsums3d. When selected for RC.dev.pri or RC.dev.sec the faster S3D timing will be used for the rcsum input of the NG. This allows the rc mixer to automatically switch to the right timing according to the configured rcsum/rcsums3d device.
Implemented X8 HAL and associated DTC8 limiter function. The HAL is marked for testing purposes and has not yet been flown! Take care when using it! Thanks to Paul for contributing the basic code for it.
Cleanup in GPS code. NMEA GPS detection and death count works again.
Extended device table with bl-ctrl style actors 7 - 16 allowing HALs with more actors.
Added bl-style controller devices 7..16 to device table so that HALs with more actors correctly detect them.
Added support for NGPP on LPC, SB-Controller and RC-Controller side. It all works. New command ‘show ngpp [rcctrl|sbctrl]’ which dumps all NGPP register of the device and their current values.
Setting NGPP registers by name now works for the sb-ctrl and the rc-ctrl. The new command is called “set ngpp <var> <val>”.
Finished NGPP support. Data transfer from and to sb-controller and
rc-controller now work. We now have support for DSL0 and DSL1 on
the rc-controller, we have servo control on the rc-controller dependant
on the servo opmode, we have servo attitude compensation on the
rc-controller and we have compass support on the sb-controller. We
support device detection across the different cpus and we act dependant
on the detected devices. NGPP communication to the rc-controller is
optimized and should no good rssi be detected we stop fetching the
useless dsl channel data. We also support full servo control from the
FC by changing the servo opmode register.
Changed the help system. We now have group of commands.
Consolidated ‘set ngpp <key> <val>’ with ‘set <key> <val>’. We are now
able to use ‘set <key> <val>’ for config keys, global keys, hal keys,
and (that’s new) NGPP register name keys.
Fixed HAL parameters for X8 and Y6. Now the two hal parameters HAL.fact.[top|bottom] work as expected.
Changed ngos shell command from ‘uavpset ctrl’ to ‘api uavpset’ to
comply to new command naming convention. Renamed ‘uavpset ctrl’
to ‘api uavpset’. Changed also all “uavpset ctrl” to “api uavpset”
and all “ngctrl xxx” to “api ngctrl-xxx”.
Implemented behavior actions rcctrl.set.nick.corr(pot), rcctrl.set.roll.corr(pot) and rcctrl.set.servo(servo, pot) and implemented support for attitude.nick_corr and attitude.roll_corr ngpp registers.
Fixed when.rc.pot.changed() which triggered too often because of
jitter. We now are able to override the servo attitude compensation
with a pot allowing us to point the cam while doing servo attitude
compensation! Also improved when.rc.throttle.changed() behavior
condition. no longer triggers because of +- jitter.
Implemented behavior action rcctrl.set.servo.opmode(mode). It sets
the servo operation mode. 0 means attitude compensation, 1 means
FC controlled.
Heading attitude compensation starts to work.
Fixed the bug which MiniMikro found in “set RC.dev.primary/secondary”.
We should now correctly verify and parse the argument and set the
right value.
Changed behavior commands. We now have: “behavior add <rule>”, “behavior delete <index>”, “behavior clear” (deletes ALL behaviors) and “behavior print”.
Added command “man” as an alias to “help” and “?”.
Extended version table with HW-0.22 to support the new HW-ID for FC-0.22 and SB-0.22.
Changed battery scaling version dependant: HW-0.22 has a scaling factor of 10. HW-0.21 and smaller had a scaling factor of 4.125. The smaller scaling allows us to go up to 4S.
Improved “show version”. It now displays the version and revision of all CPUs using NGPP. It no longer shows an error message if one of the peripherial controllers does not get detected, It just does not show it in the version list.
Improved “show actors”. Improved boot messages. Now showing number of actors activated too.
Boot messages now get shown on uart0 and uart1. Still pondering if we also want them on usb0.
Changed “debug rcctrl register [read|write]” to “debug rcctrl reg [read|write]”.
Extended i2c0_nggp_fetch_devreg_and_mark_detected(wait) to use
timer_sleep() instad of ngpp_wait() when called with wait=1. This
assures that we will not hang during boot should a peripherial CPU
get detected but the i2c bus is blocked (because of not written
atmel fuses for example). It will timeout now, not detect the
devices and fail without hanging.
Adjusted battery voltage calculation for HW 0.22.
Now signaling timer overruns using LEDB_GREEN. Whenever we have two timer overruns in a row, we light the led. “reset stats” will clear it. Reduced number of gyro samples from 12 to 8. this makes sure we have enough time, even with GPS, compass and 3 receivers connected.
Fixed maximum slot number allowed in “reset conf”.