Robotran C Documentation
mbs_load_libraries.h
Go to the documentation of this file.
1 #ifndef _MBS_LOAD_LIBRARIES_H_
2 #define _MBS_LOAD_LIBRARIES_H_
3 
4 #include "mbs_data.h"
5 
7 #ifdef PRJ_FCT_PTR
8 
18 #ifdef UNIX
19 void* mbs_load_function(MbsDataLibInfo* li, char* fct_name);
20 #else
21 FARPROC WINAPI mbs_load_function(MbsDataLibInfo* li, char* fct_name);
22 #endif
23 
31 #ifdef UNIX
32 void* mbs_try_load_function(MbsDataLibInfo* li, char* fct_name);
33 #else
34 FARPROC WINAPI mbs_try_load_function(MbsDataLibInfo* li, char* fct_name);
35 #endif
36 
37 
49 int mbs_load_user_functions(MbsData* mbs_data, const char* user_path, const char* userfctLib_name);
50 
60 int mbs_load_symbolic_functions(MbsData* mbs_data, const char* symbolic_path, const char* symbolicLib_name);
61 
62 #endif
63 
70 void mbs_close_libraries(MbsData* mbs_data);
71 
72 #endif
mbs_link_ptr
void(* mbs_link_ptr)(double **frc, double **trq, double *Flnk, double *Z, double *Zd, MbsData *s, double tsim)
Definition: mbs_project_fct_ptr.h:84
mbs_print_user_IO_ptr
void(* mbs_print_user_IO_ptr)(UserIO *uio)
Definition: mbs_project_fct_ptr.h:59
mbs_close_libraries
void mbs_close_libraries(MbsData *mbs_data)
Close the symbolic and userfct libraries associated to the given MbsData.
Definition: mbs_load_libraries.c:290
mbs_delete_user_IO_ptr
void(* mbs_delete_user_IO_ptr)(UserIO *uvs)
Definition: mbs_project_fct_ptr.h:51
user_realtime_options_ptr
void(* user_realtime_options_ptr)(MbsData *mbs_data, Realtime_option *options)
Definition: mbs_project_fct_ptr.h:66
mbs_load_user_functions
int mbs_load_user_functions(MbsData *mbs_data, const char *userfctLib_path, const char *userfctLib_name)
specific functions
Definition: mbs_load_libraries.c:204
get_char_cpy
char * get_char_cpy(const char *fmt,...)
Copy the provided formatted string into a newly allocated memory.
Definition: useful_functions.c:191
mbs_link3D_ptr
void(* mbs_link3D_ptr)(double **frc, double **trq, MbsData *s, double tsim)
Definition: mbs_project_fct_ptr.h:85
user_invdyn_finish_ptr
void(* user_invdyn_finish_ptr)(MbsData *MBSdata, MbsInvdyn *mbs_invd)
Definition: mbs_project_fct_ptr.h:28
mbs_load_libraries.h
mbs_save_um_ptr
void(* mbs_save_um_ptr)(FILE *stream, UserModel *ums)
Definition: mbs_project_fct_ptr.h:58
mbs_close_dynamic_library
void mbs_close_dynamic_library(MbsDataLibInfo *li)
Close the library pointed by MbsDataLibInfo and free the memory associated to the given MbsDataLibInf...
Definition: mbs_load_libraries.c:21
Functions::mbs_cons_hJ
mbs_cons_hJ_ptr mbs_cons_hJ
Definition: mbs_data.h:76
mbs_load_symbolic_functions
int mbs_load_symbolic_functions(MbsData *mbs_data, const char *symbolic_path, const char *symbolicLib_name)
Loads the symbolic functions from library into MbsData structure.
Definition: mbs_load_libraries.c:159
mbs_load_dynamic_library
MbsDataLibInfo * mbs_load_dynamic_library(char *libpath)
Load the library in a MbsDataLibInfo.
Definition: mbs_load_libraries.c:49
Functions::user_equil_finish
user_equil_finish_ptr user_equil_finish
Definition: mbs_data.h:99
mbs_dirdyna_ptr
void(* mbs_dirdyna_ptr)(double **M, double *c, MbsData *s, double tsim)
Definition: mbs_project_fct_ptr.h:88
mbs_error_msg
void mbs_error_msg(char *msg,...)
Send an error message.
Definition: mbs_message.c:102
Functions::mbs_link
mbs_link_ptr mbs_link
Definition: mbs_data.h:70
Functions::mbs_new_user_model
mbs_new_user_model_ptr mbs_new_user_model
Definition: mbs_data.h:112
mbs_data.h
Functions::mbs_invdyna
mbs_invdyna_ptr mbs_invdyna
Definition: mbs_data.h:75
mbs_delete_user_model_ptr
void(* mbs_delete_user_model_ptr)(UserModel *ums)
Definition: mbs_project_fct_ptr.h:50
_MBS_ERR_LOW_FILES
#define _MBS_ERR_LOW_FILES
Low Level error number Error during opening/writing files = -9.
Definition: mbs_errors_names.h:147
mbs_save_user_IO_ptr
void(* mbs_save_user_IO_ptr)(FILE *stream, UserIO *uio)
Definition: mbs_project_fct_ptr.h:60
mbs_project_interface.h
Functions::symb
struct Functions::@7 symb
Functions::mbs_delete_user_model
mbs_delete_user_model_ptr mbs_delete_user_model
Definition: mbs_data.h:113
Functions::user_equil_init
user_equil_init_ptr user_equil_init
Definition: mbs_data.h:97
mbs_accelred_ptr
int(* mbs_accelred_ptr)(MbsData *s, double tsim)
Definition: mbs_project_fct_ptr.h:87
Functions::user_dirdyn_init
user_dirdyn_init_ptr user_dirdyn_init
Definition: mbs_data.h:89
Functions::user_equil_loop
user_equil_loop_ptr user_equil_loop
Definition: mbs_data.h:98
Functions::mbs_save_um
mbs_save_um_ptr mbs_save_um
Definition: mbs_data.h:121
mbs_close_dynamic_library
void mbs_close_dynamic_library(MbsDataLibInfo *li)
Close the library pointed by MbsDataLibInfo and free the memory associated to the given MbsDataLibInf...
Definition: mbs_load_libraries.c:21
Functions::user_dirdyn_loop
user_dirdyn_loop_ptr user_dirdyn_loop
Definition: mbs_data.h:90
Functions::user_invdyn_finish
user_invdyn_finish_ptr user_invdyn_finish
Definition: mbs_data.h:95
mbs_load_function
FARPROC WINAPI mbs_load_function(MbsDataLibInfo *li, char *fct_name)
mbs_load_function: dynamic loading of a function from a given library.
Definition: mbs_load_libraries.c:100
Functions::user_ExtForces
user_ExtForces_ptr user_ExtForces
Definition: mbs_data.h:109
mbs_print_user_model_ptr
void(* mbs_print_user_model_ptr)(UserModel *ums)
Definition: mbs_project_fct_ptr.h:57
Functions::mbs_dirdyna
mbs_dirdyna_ptr mbs_dirdyna
Definition: mbs_data.h:74
mbs_new_user_IO_ptr
UserIO *(* mbs_new_user_IO_ptr)(UserIoInfo *ioInfo)
Definition: mbs_project_fct_ptr.h:48
Functions::mbs_link3D
mbs_link3D_ptr mbs_link3D
Definition: mbs_data.h:71
mbs_extforces_ptr
void(* mbs_extforces_ptr)(double **frc, double **trq, MbsData *s, double tsim)
Definition: mbs_project_fct_ptr.h:86
Functions::user_Link3DForces
user_Link3DForces_ptr user_Link3DForces
Definition: mbs_data.h:108
user_cons_hJ_ptr
void(* user_cons_hJ_ptr)(double *h, double **Jac, MbsData *s, double tsim)
Definition: mbs_project_fct_ptr.h:35
Functions::mbs_get_user_model_list
mbs_get_user_model_list_ptr mbs_get_user_model_list
Definition: mbs_data.h:120
Functions::mbs_print_user_IO
mbs_print_user_IO_ptr mbs_print_user_IO
Definition: mbs_data.h:122
mbs_load_user_model_ptr
void(* mbs_load_user_model_ptr)(MbsInfos *mbs_infos, UserModel *ums)
Definition: mbs_project_fct_ptr.h:55
Functions::mbs_load_user_model
mbs_load_user_model_ptr mbs_load_user_model
Definition: mbs_data.h:116
user_cons_J_accelred_ptr
void(* user_cons_J_accelred_ptr)(MbsData *s, double tsim)
Definition: mbs_project_fct_ptr.h:37
user_LinkForces_ptr
double(* user_LinkForces_ptr)(double Z, double Zd, MbsData *mbs_data, double tsim, int ilnk)
Definition: mbs_project_fct_ptr.h:38
Functions::user_free
user_free_ptr user_free
Definition: mbs_data.h:87
mbs_msg
void mbs_msg(char *msg,...)
Send a message.
Definition: mbs_message.c:76
mbs_new_user_model_ptr
UserModel *(* mbs_new_user_model_ptr)()
Definition: mbs_project_fct_ptr.h:49
Functions::mbs_sensor
mbs_sensor_ptr mbs_sensor
Definition: mbs_data.h:78
Functions::user_equil_fxe
user_equil_fxe_ptr user_equil_fxe
Definition: mbs_data.h:100
user_Derivative_ptr
void(* user_Derivative_ptr)(MbsData *s)
Definition: mbs_project_fct_ptr.h:33
user_JointForces_ptr
double *(* user_JointForces_ptr)(MbsData *, double)
Definition: mbs_project_fct_ptr.h:20
Functions::mbs_extforces
mbs_extforces_ptr mbs_extforces
Definition: mbs_data.h:72
Functions::user_cons_hJ
user_cons_hJ_ptr user_cons_hJ
Definition: mbs_data.h:104
Functions::user_LinkForces
user_LinkForces_ptr user_LinkForces
Definition: mbs_data.h:107
Functions::symbolicLibHandle
MbsDataLibInfo * symbolicLibHandle
Definition: mbs_data.h:62
mbs_try_load_function
FARPROC WINAPI mbs_try_load_function(MbsDataLibInfo *li, char *fct_name)
mbs_load_function: dynamic loading of a function from a given library.
Definition: mbs_load_libraries.c:140
Functions::user_realtime_options
user_realtime_options_ptr user_realtime_options
Definition: mbs_data.h:126
user_DrivenJoints_ptr
void(* user_DrivenJoints_ptr)(MbsData *s, double tsim)
Definition: mbs_project_fct_ptr.h:34
MbsData::fct
Functions fct
Structure to store the pointer to the project-specific functions.
Definition: mbs_data.h:316
Functions::user_Derivative
user_Derivative_ptr user_Derivative
Definition: mbs_data.h:102
user_invdyn_init_ptr
void(* user_invdyn_init_ptr)(MbsData *MBSdata, MbsInvdyn *mbs_invd)
Definition: mbs_project_fct_ptr.h:26
mbs_cons_hJ_ptr
void(* mbs_cons_hJ_ptr)(double *h, double **Jac, MbsData *s, double tsim)
Definition: mbs_project_fct_ptr.h:90
Functions::user_invdyn_loop
user_invdyn_loop_ptr user_invdyn_loop
Definition: mbs_data.h:94
Functions::mbs_get_user_model_size
mbs_get_user_model_size_ptr mbs_get_user_model_size
Definition: mbs_data.h:119
mbs_cons_jdqd_ptr
void(* mbs_cons_jdqd_ptr)(double *Jdqd, MbsData *s, double tsim)
Definition: mbs_project_fct_ptr.h:91
mbs_bind_user_model_ptr
void(* mbs_bind_user_model_ptr)(MbsInfos *mbs_infos, UserModel *ums)
Definition: mbs_project_fct_ptr.h:56
user_invdyn_loop_ptr
void(* user_invdyn_loop_ptr)(MbsData *MBSdata, MbsInvdyn *mbs_invd)
Definition: mbs_project_fct_ptr.h:27
MbsDataLibInfo::lib_handle
HINSTANCE lib_handle
Definition: mbs_data.h:49
MbsDataLibInfo
This structures contains a reference to a dynamic library handle.
Definition: mbs_data.h:45
mbs_message.h
Functions::mbs_print_user_model
mbs_print_user_model_ptr mbs_print_user_model
Definition: mbs_data.h:118
Functions::mbs_accelred
mbs_accelred_ptr mbs_accelred
Definition: mbs_data.h:73
mbs_get_user_model_size_ptr
void(* mbs_get_user_model_size_ptr)(int *n_usr_model)
Definition: mbs_project_fct_ptr.h:53
user_cons_jdqd_ptr
void(* user_cons_jdqd_ptr)(double *jdqd, MbsData *s, double tsim)
Definition: mbs_project_fct_ptr.h:36
user_equil_finish_ptr
void(* user_equil_finish_ptr)(MbsData *, MbsEquil *)
Definition: mbs_project_fct_ptr.h:31
MbsData
Definition: mbs_data.h:149
Functions::mbs_get_user_IO_size
mbs_get_user_IO_size_ptr mbs_get_user_IO_size
Definition: mbs_data.h:115
mbs_try_load_function
FARPROC WINAPI mbs_try_load_function(MbsDataLibInfo *li, char *fct_name)
mbs_load_function: dynamic loading of a function from a given library.
Definition: mbs_load_libraries.c:140
Functions::mbs_gensensor
mbs_gensensor_ptr mbs_gensensor
Definition: mbs_data.h:79
Functions::user_cons_J_accelred
user_cons_J_accelred_ptr user_cons_J_accelred
Definition: mbs_data.h:106
Functions::userfctLibHandle
MbsDataLibInfo * userfctLibHandle
Definition: mbs_data.h:63
user_equil_loop_ptr
void(* user_equil_loop_ptr)(MbsData *MBSdata, MbsEquil *mbs_equil)
Definition: mbs_project_fct_ptr.h:30
Functions::user_load_post
user_load_post_ptr user_load_post
Definition: mbs_data.h:86
Functions::user
struct Functions::@8 user
Functions::mbs_new_user_IO
mbs_new_user_IO_ptr mbs_new_user_IO
Definition: mbs_data.h:111
user_dirdyn_loop_ptr
void(* user_dirdyn_loop_ptr)(MbsData *MBSdata, MbsDirdyn *mbs_dd)
Definition: mbs_project_fct_ptr.h:24
mbs_load_function
FARPROC WINAPI mbs_load_function(MbsDataLibInfo *li, char *fct_name)
mbs_load_function: dynamic loading of a function from a given library.
Definition: mbs_load_libraries.c:100
user_load_post_ptr
void(* user_load_post_ptr)(MbsData *MBSdata)
Definition: mbs_project_fct_ptr.h:21
user_dirdyn_finish_ptr
void(* user_dirdyn_finish_ptr)(MbsData *, MbsDirdyn *)
Definition: mbs_project_fct_ptr.h:25
Functions::user_cons_jdqd
user_cons_jdqd_ptr user_cons_jdqd
Definition: mbs_data.h:105
mbs_load_user_functions
int mbs_load_user_functions(MbsData *mbs_data, const char *user_path, const char *userfctLib_name)
specific functions
Definition: mbs_load_libraries.c:204
Functions::user_DrivenJoints
user_DrivenJoints_ptr user_DrivenJoints
Definition: mbs_data.h:103
Functions::user_invdyn_init
user_invdyn_init_ptr user_invdyn_init
Definition: mbs_data.h:93
mbs_load_symbolic_functions
int mbs_load_symbolic_functions(MbsData *mbs_data, const char *symbolicLib_path, const char *symbolicLib_name)
Loads the symbolic functions from library into MbsData structure.
Definition: mbs_load_libraries.c:159
mbs_invdyna_ptr
void(* mbs_invdyna_ptr)(double *Q, MbsData *s, double tsim)
Definition: mbs_project_fct_ptr.h:89
user_equil_fxe_ptr
void(* user_equil_fxe_ptr)(MbsData *, double *f)
Definition: mbs_project_fct_ptr.h:32
mbs_get_user_IO_size_ptr
void(* mbs_get_user_IO_size_ptr)(int *n_in, int *n_out, int *n_user_IO)
Definition: mbs_project_fct_ptr.h:52
Functions::mbs_bind_user_model
mbs_bind_user_model_ptr mbs_bind_user_model
Definition: mbs_data.h:117
mbs_gensensor_ptr
void(* mbs_gensensor_ptr)(MbsSensor *sens, MbsData *s, int isens)
Definition: mbs_project_fct_ptr.h:93
mbs_get_user_model_list_ptr
void(* mbs_get_user_model_list_ptr)(int *user_model_list)
Definition: mbs_project_fct_ptr.h:54
user_free_ptr
void(* user_free_ptr)(MbsData *MBSdata)
Definition: mbs_project_fct_ptr.h:22
user_equil_init_ptr
void(* user_equil_init_ptr)(MbsData *MBSdata, MbsEquil *mbs_equil)
Definition: mbs_project_fct_ptr.h:29
Functions::mbs_delete_user_IO
mbs_delete_user_IO_ptr mbs_delete_user_IO
Definition: mbs_data.h:114
user_Link3DForces_ptr
double *(* user_Link3DForces_ptr)(double PxF[4], double RxF[4][4], double VxF[4], double OMxF[4], double AxF[4], double OMPxF[4], MbsData *s, double tsim, int ixF)
Definition: mbs_project_fct_ptr.h:39
Functions::mbs_save_user_IO
mbs_save_user_IO_ptr mbs_save_user_IO
Definition: mbs_data.h:123
Functions::mbs_cons_jdqd
mbs_cons_jdqd_ptr mbs_cons_jdqd
Definition: mbs_data.h:77
mbs_sensor_ptr
void(* mbs_sensor_ptr)(MbsSensor *sens, MbsData *s, int isens)
Definition: mbs_project_fct_ptr.h:92
user_dirdyn_init_ptr
void(* user_dirdyn_init_ptr)(MbsData *MBSdata, MbsDirdyn *mbs_dd)
Definition: mbs_project_fct_ptr.h:23
mbs_close_libraries
void mbs_close_libraries(MbsData *mbs_data)
Close the symbolic and userfct libraries associated to the given MbsData.
Definition: mbs_load_libraries.c:290
user_ExtForces_ptr
double *(* user_ExtForces_ptr)(double PxF[4], double RxF[4][4], double VxF[4], double OMxF[4], double AxF[4], double OMPxF[4], MbsData *s, double tsim, int ixF)
Definition: mbs_project_fct_ptr.h:40
Functions::user_JointForces
user_JointForces_ptr user_JointForces
Definition: mbs_data.h:84
mbs_load_dynamic_library
MbsDataLibInfo * mbs_load_dynamic_library(char *libpath)
Utility functions.
Definition: mbs_load_libraries.c:49
mbs_errors_names.h
Functions::user_dirdyn_finish
user_dirdyn_finish_ptr user_dirdyn_finish
Definition: mbs_data.h:91