The ForceSeatMI can be easily used in any C/C++ x86 or x64 Windows application. You can leave loading the DLL to the operation system (conventional approach, e.g. delay loadig) or use our small loader class (recommended solution). Our loader class makes sure that even if the DLL is not found, nothing bad will happen. Basically when DLL is not loaded, all functions will return an error instead of crashing application (like it often happens in conventional approach).

Compilation and linking

Please follow below steps in order to introduce ForceSeatMI to your SIM:
  1. Make sure that ForceSeatPM is installed in the system.
  2. Add directory containing ForceSeatMI_*.h files to your include paths.
  3. Include ForceSeatMI_Loader.c file in your project. This file contains implementation of all ForceSeatMI functions (from ForceSeatMI_Functions.h). It forwards function calls to real DLL or returns error code when DLL is not found. ForceSeatMI_Loader handles also DLL loading.
  4. Compile and link the program.
ForceSeatMI_Loader uses DLL which is installed as part of the ForceSeatPM software. Make sure that you have ForceSeatPM installed on your computer.

Using API object

Typical operation routine consists of following steps:
  1. Create API handle at the begining of the application:
    api = ForceSeatMI_Create();
  2. When simulation starts, call:
    ForceSeatMI_BeginMotionControl(api);
  3. The SIM should send telemetry data or positioning data in constant interval using one of following functions:
    ForceSeatMI_SendTelemetry(api, ...);
    ForceSeatMI_SendTopTablePosLog(api, ...);
    ForceSeatMI_SendTopTablePosPhy(api, ...);
    ForceSeatMI_SendTopTableMatrixPhy(api, ...);
    ForceSeatMI_SendTactileFeedbackEffects(...);
  4. When simulation stops, send:
    ForceSeatMI_EndMotionControl(api);
  5. Finally when the API is no longer needed, release it:
    ForceSeatMI_Delete(api);
Sign up to our newsletter
Always be the first to know about new products, updates and company news
  • This field is for validation purposes and should be left unchanged.