ethz-asl / asctec_mav_framework

Framework for data aquisition and position control to be used with the highlevel processor of Ascending Technologies helicopters
http://www.ros.org/wiki/asctec_mav_framework
36 stars 40 forks source link

Where is function `rt_OneStep` defined? #73

Open dmalyuta opened 7 years ago

dmalyuta commented 7 years ago

I'm searching for the code of the position controller running on the HLP that is supposedly part of this package. So far, I've boiled down the search to that the position controller is executed in asctec_hl_firmware/sdk.c Line 387:

// execute ssdk - only executed if ssdk parameters are available
// reads position reference from extPosition
// reads position/velocity command from extPositionCmd
// finally writes to WO_CTRL_Input. therefore, make sure to overwrite it after this call if you don't want to have its output
rt_OneStep();

However, no definition of rt_OneStep is to be found in the code, other than its declaration in asctec_mav_framework/asctec_hl_firmware/ssdk/include/ert_main.h Line 13:

void rt_OneStep(void);

The asctec_mac_framework tutorial says that:

State estimation and the position controller are implemented with fixed point arithmetics using a Simulink SDK (therefore "ssdk")

So my best guess is that the position controller was implemented in Simulink and converted to C code via the Simulink C auto code generation. However, I don't find the Simulink model in this repository, only what looks like the compiled archive libssdk.a. Questions: