This was a regression, thx Michal for catching this!!
The vertical speed setpoint was set to 0.5m/s descent rate, but upon
guidance_v_mode_changed it was set back to zero so FAILSAFE was essentially alitude hold.
The interrupt handler occasionally hangs in case of noise on the line.
Fixes were two:
1) Disable IDLE line interrupt, disable LIN break interrupt in the port settings.
(neither of them should be used for asynchronous single buffer communication).
2) In interrupt handler routine, explicitly check for the error flags, only if
no errors occur check the received byte. Otherwise clear the USART_DR and
log the error.
Added USART_ERRORS messages to monitor problems on USART lines.
Closes#418
Also use the horizontal guidance reference for HOVER mode.
Using the reference can be temporarly disabled via settings.
The reference is then still computed to stay consistent, but not used.
it is not what we want, but the result is a much more stable code,
might be due to asynchronous behavior of VIC/core interaction
needs deeper investigation
Very weird stuff: works here on several Ubuntu 12.04 machines without explictly adding -lpcre
For Pranay it only works with explicitly adding it gcc ... --verbose outputs _exactly_ the same stuff as on my machine, but he gets:
/usr/lib/gcc/x86_64-linux-gnu/4.6/../../../../lib/libglibivy.a(ivybind.o):function IvyBindingCompile: error: undefined reference to 'pcre_compile'
/usr/lib/gcc/x86_64-linux-gnu/4.6/../../../../lib/libglibivy.a(ivybind.o):function IvyBindingCompile: error: undefined reference to 'pcre_study'
/usr/lib/gcc/x86_64-linux-gnu/4.6/../../../../lib/libglibivy.a(ivybind.o):function IvyBindingCompile: error: undefined reference to 'pcre_fullinfo'
/usr/lib/gcc/x86_64-linux-gnu/4.6/../../../../lib/libglibivy.a(ivybind.o):function IvyBindingFree: error: undefined reference to 'pcre_free'
/usr/lib/gcc/x86_64-linux-gnu/4.6/../../../../lib/libglibivy.a(ivybind.o):function IvyBindingFree: error: undefined reference to 'pcre_free'
/usr/lib/gcc/x86_64-linux-gnu/4.6/../../../../lib/libglibivy.a(ivybind.o):function IvyBindingExec: error: undefined reference to 'pcre_exec'
collect2: ld returned 1 exit status