[rtss-devel] [Task #149846] Modularization of RTSS
Status: Beta
Brought to you by:
mmorelli
From: SourceForge.net <no...@so...> - 2008-08-05 17:02:44
|
Task #149846 has been updated. Project: the Robotics Toolbox for Scilab/Scicos Subproject: Code Refactoring Summary: Modularization of RTSS Complete: 85% Status: Open Authority : mmorelli Assigned to: mmorelli Description: Rewrite the entire internal code of RTSS by using the information hiding design rules. Follow-Ups: ------------------------------------------------------- Date: 2008-08-05 19:02 By: mmorelli Comment: Steps to accomplish this task that have been completed: 1) modules organization; 2) new internal representation for link and robot objects; 3) low-level scan of Scilab stack using a single function (rtss_robot_init_from_stk()); Remaining step: * revisiting the code to use the inline macro expansion ------------------------------------------------------- Date: 2008-07-13 21:22 By: mmorelli Comment: Currently, the internal C code of RTSS is divided into 4 main modules: - the MATH module provides all the mathematical functions to be used in kinematics and dynamics calculations; - the LINK and the ROBOT modules implement the corresponding abstract data types to be used for links and robots representations; - the RTSS module implements the RTSS Interface Function Library that provides functions for Kinematics, Dynamics, Trajectory Generation. Furthermore, there are other 2 modules: the ERROR module that provides functions for error handling and the DUMMY module that contains some redefinitions of functions that cannot be used in standalone executables like the ones Scicos or RTAI Code Generators make. For all modules, the corresponding .c source files act as separately-compiled implementations, and .h header files act as interfaces. Functions are collected in a library whose name is librtssc. TODO: ===== * clean names of macros, static functions and abstract data types (ADTs); * add a function like rtss_robot_read_from_stk() to prevent early memory allocation; * memory management for ROBOT module; * get rid of parameter "empty" in all RTSS ADTs (also get rid of the check for uninitialized RTSS data structures); * build librtssc.a and librtssc.so by using Scilab-5 dynamic_link module (i.e. get rid of the handwritten Makefiles). ------------------------------------------------------- For more info, visit: http://sourceforge.net/pm/task.php?func=detailtask&project_task_id=149846&group_id=206553&group_project_id=54017 |