S-Function for reading joystick values on Simulink

版本 1.0.5 (48.5 KB) 作者: Johannes Soikkeli
S-Function build using Windows JOYINFOEX (Winmm.lib). This S-Function supports Rapid Accelerator. Currently outputs 4 axis and 12 buttons.
196.0 次下载
更新时间 2024/9/19

查看许可证

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.

引用格式

Johannes Soikkeli (2025). S-Function for reading joystick values on Simulink (https://ww2.mathworks.cn/matlabcentral/fileexchange/111265-s-function-for-reading-joystick-values-on-simulink), MATLAB Central File Exchange. 检索时间: .

MATLAB 版本兼容性
创建方式 R2021b
兼容任何版本
平台兼容性
Windows macOS Linux
致谢

参考作品: sfun_joystick.zip

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!
版本 已发布 发行说明
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