S-Function for reading joystick values on Simulink

S-Function build using Windows JOYINFOEX (Winmm.lib). This S-Function supports Rapid Accelerator. Currently outputs 4 axis and 12 buttons.
206 Descargas
Actualizado 19 sep 2024

Ver licencia

Enhanced S-Function for Reading Joystick Values in Simulink
This S-Function enables high-performance joystick input within Simulink models, particularly those utilizing Rapid Acceleration for significant speed improvements.
Key Features:
  • Rapid Acceleration Support: Overcomes limitations of the standard Simulink joystick block.
  • Enhanced Axis and Button Input: Leverages the Windows JOYINFOEX function from the Winmm library for extended joystick capabilities compared to the original JOYINFO-based version.
Motivation:
Developed to address the lack of Rapid Acceleration compatibility in the default Simulink joystick block, crucial for optimizing large-scale flight dynamics simulations.
Installation and Usage:
  1. Obtain WinMM.lib: Install the Windows SDK and locate WinMM.lib within the appropriate CPU architecture folder (C:\Program Files (x86)\Windows Kits\10\Lib\10.0.26100.0\um\[architecture]).
  2. Copy WinMM.lib: Place WinMM.lib in the same directory as the downloaded sfun_joyinfoex.c file.
  3. Compile S-Function (Requires MinGW64 Compiler) on MATLAB command line: mex sfun_joyinfoex.c -lwinmm
  4. Use in Simulink: Open and run joyinfoex_demo.slx in Rapid Accelerator Mode to test the compiled S-Function.
Credits:
Original S-Function concept by Per Hillerborg. This enhanced version includes modifications to support additional joystick axes and buttons, as well as overall S-Function structure improvements.

Citar como

Johannes Soikkeli (2026). S-Function for reading joystick values on Simulink (https://la.mathworks.com/matlabcentral/fileexchange/111265-s-function-for-reading-joystick-values-on-simulink), MATLAB Central File Exchange. Recuperado .

Compatibilidad con la versión de MATLAB
Se creó con R2021b
Compatible con cualquier versión
Compatibilidad con las plataformas
Windows macOS Linux
Agradecimientos

Inspirado por: sfun_joystick.zip

Versión Publicado Notas de la versión
1.0.5

Returned the warning when deviceID is wrong.

1.0.4

typo

1.0.3

There was a small bug in the c-code; Fixed now. Improved installation guide.

1.0.2

Removed the WinMM.dll file based on MathWorks policies.

1.0.1

Removed already compiled .mex file due to MathWorks policies.

1.0.0