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:
- 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]).
- Copy WinMM.lib: Place WinMM.lib in the same directory as the downloaded sfun_joyinfoex.c file.
- Compile S-Function (Requires MinGW64 Compiler) on MATLAB command line: mex sfun_joyinfoex.c -lwinmm
- 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 |
