SDL/test
Aubrey Hesselgren 913b611ccd
Added tools for evaluating gyroscope accuracy and IMU polling rates. (#13209)
* Added tools to Test Controller for evaluating gyroscope accuracy and IMU polling rates.

This adds a visual suite to the testcontroller tool to help validate IMU data from new gamepad drivers and HID implementations.

The 3D gizmo renders accumulated rotation using quaternion integration of gyroscope packets. If a controller is rotated 90° in real space, the gizmo should reflect a 90° change, allowing quick detection of incorrect sensitivity or misaligned axes.

Also includes:
- Euler angle readout (pitch, yaw, roll)
- Real-time drift calibration display with noise gating and progress
- Accelerometer vector overlay
- Live polling rate estimation to verify update frequency

Intended for developers working on controller firmware or SDL backend support to confirm correctness of IMU data processing.
2025-06-13 14:01:52 -07:00
..
android
emscripten
n3ds
testgpu
win32
CMakeLists.txt
COPYING
LICENSE.txt
audiofile.bmp
build-shaders.sh
checkkeys.c
childprocess.c
gamepad_axis.bmp
gamepad_axis.h
gamepad_axis_arrow.bmp
gamepad_axis_arrow.h
gamepad_back.bmp
gamepad_back.h
gamepad_battery.bmp
gamepad_battery.h
gamepad_battery_unknown.bmp
gamepad_battery_unknown.h
gamepad_battery_wired.bmp
gamepad_battery_wired.h
gamepad_button.bmp
gamepad_button.h
gamepad_button_background.bmp
gamepad_button_background.h
gamepad_button_small.bmp
gamepad_button_small.h
gamepad_face_abxy.bmp
gamepad_face_abxy.h
gamepad_face_axby.bmp
gamepad_face_axby.h
gamepad_face_bayx.bmp
gamepad_face_bayx.h
gamepad_face_sony.bmp
gamepad_face_sony.h
gamepad_front.bmp
gamepad_front.h
gamepad_touchpad.bmp
gamepad_touchpad.h
gamepad_wired.bmp
gamepad_wired.h
gamepad_wireless.bmp
gamepad_wireless.h
gamepadutils.c
gamepadutils.h
glass.bmp
glass.h
icon.bmp
icon.h
icon2x.bmp
logaudiodev.bmp
loopwave.c
main.cpp
moose.dat
msdf_font.bmp
msdf_font.csv
physaudiodev.bmp
picture.xbm
pretest.c
relative_mode.markdown
sample.bmp
sample.wav
sdl-test_round.bmp
soundboard.bmp
soundboard_levels.bmp
speaker.bmp
sword.wav
template.test.in
testasyncio.c
testatomic.c
testaudio.c
testaudiohotplug.c
testaudioinfo.c
testaudiorecording.c
testaudiostreamdynamicresample.c
testautomation.c
testautomation_audio.c
testautomation_blit.c
testautomation_clipboard.c
testautomation_events.c
testautomation_guid.c
testautomation_hints.c
testautomation_images.c
testautomation_images.h
testautomation_intrinsics.c
testautomation_iostream.c
testautomation_joystick.c
testautomation_keyboard.c
testautomation_log.c
testautomation_main.c
testautomation_math.c
testautomation_mouse.c
testautomation_pixels.c
testautomation_platform.c
testautomation_properties.c
testautomation_rect.c
testautomation_render.c
testautomation_sdltest.c
testautomation_stdlib.c
testautomation_subsystems.c
testautomation_suites.h
testautomation_surface.c
testautomation_time.c
testautomation_timer.c
testautomation_video.c
testbounds.c
testcamera.c
testclipboard.c
testcolorspace.c
testcontroller.c
testcustomcursor.c
testdialog.c
testdisplayinfo.c
testdraw.c
testdrawchessboard.c
testdropfile.c
testerror.c
testevdev.c
testffmpeg.c
testffmpeg_vulkan.c
testffmpeg_vulkan.h
testfile.c
testfilesystem.c
testgeometry.c
testgl.c
testgles.c
testgles2.c
testgpu_simple_clear.c
testgpu_spinning_cube.c
testgpurender_effects.c
testgpurender_effects_CRT.frag.dxil.h
testgpurender_effects_CRT.frag.hlsl
testgpurender_effects_CRT.frag.msl.h
testgpurender_effects_CRT.frag.spv.h
testgpurender_effects_grayscale.frag.dxil.h
testgpurender_effects_grayscale.frag.hlsl
testgpurender_effects_grayscale.frag.msl.h
testgpurender_effects_grayscale.frag.spv.h
testgpurender_msdf.c
testgpurender_msdf.frag.dxil.h
testgpurender_msdf.frag.hlsl
testgpurender_msdf.frag.msl.h
testgpurender_msdf.frag.spv.h
testhaptic.c
testhittesting.c
testhotplug.c
testiconv.c
testime.c
testintersections.c
testkeys.c
testloadso.c
testlocale.c
testlock.c
testmanymouse.c
testmessage.c
testmodal.c
testmouse.c
testmultiaudio.c
testnative.c
testnative.h
testnativecocoa.m
testnativew32.c
testnativewayland.c
testnativex11.c
testoffscreen.c
testoverlay.c
testpen.c
testplatform.c
testpopup.c
testpower.c
testprocess.c
testqsort.c
testrelative.c
testrendercopyex.c
testrendertarget.c
testresample.c
testrumble.c
testrwlock.c
testscale.c
testsem.c
testsensor.c
testshader.c
testshape.c
testsprite.c
testspriteminimal.c
testspritesurface.c
teststreaming.c
testsurround.c
testthread.c
testtime.c
testtimer.c
testtray.c
testurl.c
testutils.c
testutils.h
testver.c
testviewport.c
testvulkan.c
testwaylandcustom.c
testwm.c
testyuv.bmp
testyuv.c
testyuv_cvt.c
testyuv_cvt.h
torturethread.c
trashcan.bmp
unifont-15.1.05-license.txt
unifont-15.1.05.hex
utf8.txt