This commit is contained in:
2025-05-13 00:37:35 +03:00
parent c2ebc2046b
commit 3f693566bd
437 changed files with 423694 additions and 0 deletions
+22
View File
@@ -0,0 +1,22 @@
QMAKE_CXX.QT_COMPILER_STDCXX = 199711L
QMAKE_CXX.QMAKE_MSC_VER = 1924
QMAKE_CXX.QMAKE_MSC_FULL_VER = 192428315
QMAKE_CXX.COMPILER_MACROS = \
QT_COMPILER_STDCXX \
QMAKE_MSC_VER \
QMAKE_MSC_FULL_VER
QMAKE_CXX.INCDIRS = \
"C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Community\\VC\\Tools\\MSVC\\14.24.28314\\ATLMFC\\include" \
"C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Community\\VC\\Tools\\MSVC\\14.24.28314\\include" \
"C:\\Program Files (x86)\\Windows Kits\\NETFXSDK\\4.8\\include\\um" \
"C:\\Program Files (x86)\\Windows Kits\\10\\include\\10.0.18362.0\\ucrt" \
"C:\\Program Files (x86)\\Windows Kits\\10\\include\\10.0.18362.0\\shared" \
"C:\\Program Files (x86)\\Windows Kits\\10\\include\\10.0.18362.0\\um" \
"C:\\Program Files (x86)\\Windows Kits\\10\\include\\10.0.18362.0\\winrt" \
"C:\\Program Files (x86)\\Windows Kits\\10\\include\\10.0.18362.0\\cppwinrt"
QMAKE_CXX.LIBDIRS = \
"C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Community\\VC\\Tools\\MSVC\\14.24.28314\\ATLMFC\\lib\\x64" \
"C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Community\\VC\\Tools\\MSVC\\14.24.28314\\lib\\x64" \
"C:\\Program Files (x86)\\Windows Kits\\NETFXSDK\\4.8\\lib\\um\\x64" \
"C:\\Program Files (x86)\\Windows Kits\\10\\lib\\10.0.18362.0\\ucrt\\x64" \
"C:\\Program Files (x86)\\Windows Kits\\10\\lib\\10.0.18362.0\\um\\x64"
@@ -0,0 +1 @@
include($$PWD/LFramework/LFramework.pri)
+3
View File
@@ -0,0 +1,3 @@
#pragma once
#define LF_TERMINAL_STREAM_COUT
+12
View File
@@ -0,0 +1,12 @@
TEMPLATE = app
CONFIG += console c++17
include(Dependencies/Dependencies.pri)
SOURCES += \
main.cpp
HEADERS += \
LFrameworkConfig.h
LIBS += -lUser32 -lAdvapi32 -lOle32 -lWinusb -lSetupAPI
+31
View File
@@ -0,0 +1,31 @@
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 16
VisualStudioVersion = 16.0.29709.97
MinimumVisualStudioVersion = 10.0.40219.1
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "RealPadHostTest", "RealPadHostTest.vcxproj", "{97FF0676-4680-312C-8C3A-CF5E016D8548}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|x64 = Debug|x64
Debug|x86 = Debug|x86
Release|x64 = Release|x64
Release|x86 = Release|x86
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{97FF0676-4680-312C-8C3A-CF5E016D8548}.Debug|x64.ActiveCfg = Debug|x64
{97FF0676-4680-312C-8C3A-CF5E016D8548}.Debug|x64.Build.0 = Debug|x64
{97FF0676-4680-312C-8C3A-CF5E016D8548}.Debug|x86.ActiveCfg = Debug|Win32
{97FF0676-4680-312C-8C3A-CF5E016D8548}.Debug|x86.Build.0 = Debug|Win32
{97FF0676-4680-312C-8C3A-CF5E016D8548}.Release|x64.ActiveCfg = Release|x64
{97FF0676-4680-312C-8C3A-CF5E016D8548}.Release|x64.Build.0 = Release|x64
{97FF0676-4680-312C-8C3A-CF5E016D8548}.Release|x86.ActiveCfg = Release|Win32
{97FF0676-4680-312C-8C3A-CF5E016D8548}.Release|x86.Build.0 = Release|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {36D48C52-AD69-48BC-9684-E1C8B5D23C33}
EndGlobalSection
EndGlobal
+381
View File
@@ -0,0 +1,381 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{97FF0676-4680-312C-8C3A-CF5E016D8548}</ProjectGuid>
<RootNamespace>RealPadHostTest</RootNamespace>
<Keyword>QtVS_v302</Keyword>
<WindowsTargetPlatformVersion>10.0.18362.0</WindowsTargetPlatformVersion>
<WindowsTargetPlatformMinVersion>10.0.18362.0</WindowsTargetPlatformMinVersion>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<PlatformToolset>v142</PlatformToolset>
<OutputDirectory>debug\</OutputDirectory>
<ATLMinimizesCRunTimeLibraryUsage>false</ATLMinimizesCRunTimeLibraryUsage>
<CharacterSet>NotSet</CharacterSet>
<ConfigurationType>Application</ConfigurationType>
<IntermediateDirectory>debug\</IntermediateDirectory>
<PrimaryOutput>RealPadHostTest</PrimaryOutput>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<PlatformToolset>v142</PlatformToolset>
<OutputDirectory>debug\</OutputDirectory>
<ATLMinimizesCRunTimeLibraryUsage>false</ATLMinimizesCRunTimeLibraryUsage>
<CharacterSet>NotSet</CharacterSet>
<ConfigurationType>Application</ConfigurationType>
<IntermediateDirectory>debug\</IntermediateDirectory>
<PrimaryOutput>RealPadHostTest</PrimaryOutput>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<PlatformToolset>v142</PlatformToolset>
<OutputDirectory>release\</OutputDirectory>
<ATLMinimizesCRunTimeLibraryUsage>false</ATLMinimizesCRunTimeLibraryUsage>
<CharacterSet>NotSet</CharacterSet>
<ConfigurationType>Application</ConfigurationType>
<IntermediateDirectory>release\</IntermediateDirectory>
<PrimaryOutput>RealPadHostTest</PrimaryOutput>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<PlatformToolset>v142</PlatformToolset>
<OutputDirectory>release\</OutputDirectory>
<ATLMinimizesCRunTimeLibraryUsage>false</ATLMinimizesCRunTimeLibraryUsage>
<CharacterSet>NotSet</CharacterSet>
<ConfigurationType>Application</ConfigurationType>
<IntermediateDirectory>release\</IntermediateDirectory>
<PrimaryOutput>RealPadHostTest</PrimaryOutput>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<PropertyGroup Condition="'$(QtMsBuild)'=='' or !Exists('$(QtMsBuild)\qt.targets')">
<QtMsBuild>$(MSBuildProjectDirectory)\QtMsBuild</QtMsBuild>
</PropertyGroup>
<Target Name="QtMsBuildNotFound" BeforeTargets="CustomBuild;ClCompile" Condition="!Exists('$(QtMsBuild)\qt.targets') or !Exists('$(QtMsBuild)\qt.props')">
<Message Importance="High" Text="QtMsBuild: could not locate qt.targets, qt.props; project may not build correctly." />
</Target>
<ImportGroup Label="ExtensionSettings" />
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<ImportGroup Condition="Exists('$(QtMsBuild)\qt_defaults.props')">
<Import Project="$(QtMsBuild)\qt_defaults.props" />
</ImportGroup>
<PropertyGroup Label="QtSettings" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<QtInstall>win64-msvc2019-custom</QtInstall>
<QtModules>core;gui</QtModules>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="QtSettings">
<QtInstall>win64-msvc2019-custom</QtInstall>
<QtModules>core;gui</QtModules>
</PropertyGroup>
<PropertyGroup Label="QtSettings" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<QtInstall>win64-msvc2019-custom</QtInstall>
<QtModules>core;gui</QtModules>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="QtSettings">
<QtInstall>win64-msvc2019-custom</QtInstall>
<QtModules>core;gui</QtModules>
</PropertyGroup>
<ImportGroup Condition="Exists('$(QtMsBuild)\qt.props')">
<Import Project="$(QtMsBuild)\qt.props" />
</ImportGroup>
<PropertyGroup>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">debug\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</IntDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(Platform)\$(Configuration)\</IntDir>
<TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">RealPadHostTest</TargetName>
<TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">RealPadHostTest</TargetName>
<IgnoreImportLibrary Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</IgnoreImportLibrary>
<IgnoreImportLibrary Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</IgnoreImportLibrary>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">release\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</IntDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Platform)\$(Configuration)\</IntDir>
<TargetName Condition="'$(Configuration)|$(Platform)'=='Release|x64'">RealPadHostTest</TargetName>
<TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">RealPadHostTest</TargetName>
<IgnoreImportLibrary Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</IgnoreImportLibrary>
<IgnoreImportLibrary Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</IgnoreImportLibrary>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<AdditionalIncludeDirectories>.\GeneratedFiles\$(ConfigurationName);.\GeneratedFiles;.;Dependencies\LFramework\Src;$(QTDIR)\include;debug;$(QTDIR)\mkspecs\win32-msvc;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalOptions>-Zc:rvalueCast -Zc:inline -Zc:strictStrings -Zc:throwingNew -Zc:referenceBinding -Zc:__cplusplus -w34100 -w34189 -w44996 -w44456 -w44457 -w44458 %(AdditionalOptions)</AdditionalOptions>
<AssemblerListingLocation>debug\</AssemblerListingLocation>
<BrowseInformation>false</BrowseInformation>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<DisableSpecificWarnings>4577;4467;%(DisableSpecificWarnings)</DisableSpecificWarnings>
<ExceptionHandling>Sync</ExceptionHandling>
<LanguageStandard>stdcpp17</LanguageStandard>
<ObjectFileName>$(IntDir)</ObjectFileName>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>_CONSOLE;UNICODE;_UNICODE;WIN32;_ENABLE_EXTENDED_ALIGNED_STORAGE;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessToFile>false</PreprocessToFile>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
<SuppressStartupBanner>true</SuppressStartupBanner>
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<WarningLevel>Level3</WarningLevel>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
<ProgramDataBaseFileName>$(IntDir)vc$(PlatformToolsetVersion).pdb</ProgramDataBaseFileName>
</ClCompile>
<Link>
<AdditionalDependencies>"C:\Program Files (x86)\Windows Kits\10\lib\10.0.18362.0\um\x64\User32.lib";"C:\Program Files (x86)\Windows Kits\10\lib\10.0.18362.0\um\x64\Advapi32.lib";"C:\Program Files (x86)\Windows Kits\10\lib\10.0.18362.0\um\x64\Ole32.lib";"C:\Program Files (x86)\Windows Kits\10\lib\10.0.18362.0\um\x64\Winusb.lib";"C:\Program Files (x86)\Windows Kits\10\lib\10.0.18362.0\um\x64\SetupAPI.lib";glu32.lib;opengl32.lib;gdi32.lib;user32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalLibraryDirectories>%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalOptions>"/MANIFESTDEPENDENCY:type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' publicKeyToken='6595b64144ccf1df' language='*' processorArchitecture='*'" %(AdditionalOptions)</AdditionalOptions>
<DataExecutionPrevention>true</DataExecutionPrevention>
<GenerateDebugInformation>true</GenerateDebugInformation>
<IgnoreImportLibrary>true</IgnoreImportLibrary>
<OutputFile>$(OutDir)\RealPadHostTest.exe</OutputFile>
<RandomizedBaseAddress>true</RandomizedBaseAddress>
<SubSystem>Console</SubSystem>
<SuppressStartupBanner>true</SuppressStartupBanner>
</Link>
<Midl>
<DefaultCharType>Unsigned</DefaultCharType>
<EnableErrorChecks>None</EnableErrorChecks>
<WarningLevel>0</WarningLevel>
</Midl>
<ResourceCompile>
<PreprocessorDefinitions>_CONSOLE;UNICODE;_UNICODE;WIN32;_ENABLE_EXTENDED_ALIGNED_STORAGE;WIN64;QT_GUI_LIB;QT_CORE_LIB;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ResourceCompile>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<AdditionalIncludeDirectories>.\GeneratedFiles\$(ConfigurationName);.\GeneratedFiles;.;Dependencies\LFramework\Src;$(QTDIR)\include;debug;$(QTDIR)\mkspecs\win32-msvc;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalOptions>-Zc:rvalueCast -Zc:inline -Zc:strictStrings -Zc:throwingNew -Zc:referenceBinding -Zc:__cplusplus -w34100 -w34189 -w44996 -w44456 -w44457 -w44458 %(AdditionalOptions)</AdditionalOptions>
<AssemblerListingLocation>debug\</AssemblerListingLocation>
<BrowseInformation>false</BrowseInformation>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<DisableSpecificWarnings>4577;4467;%(DisableSpecificWarnings)</DisableSpecificWarnings>
<ExceptionHandling>Sync</ExceptionHandling>
<LanguageStandard>stdcpp17</LanguageStandard>
<ObjectFileName>$(IntDir)</ObjectFileName>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>_CONSOLE;UNICODE;_UNICODE;WIN32;_ENABLE_EXTENDED_ALIGNED_STORAGE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessToFile>false</PreprocessToFile>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
<SuppressStartupBanner>true</SuppressStartupBanner>
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<WarningLevel>Level3</WarningLevel>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
<ProgramDataBaseFileName>$(IntDir)vc$(PlatformToolsetVersion).pdb</ProgramDataBaseFileName>
</ClCompile>
<Link>
<AdditionalDependencies>
</AdditionalDependencies>
<AdditionalLibraryDirectories>%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalOptions>"/MANIFESTDEPENDENCY:type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' publicKeyToken='6595b64144ccf1df' language='*' processorArchitecture='*'" %(AdditionalOptions)</AdditionalOptions>
<DataExecutionPrevention>true</DataExecutionPrevention>
<GenerateDebugInformation>true</GenerateDebugInformation>
<IgnoreImportLibrary>true</IgnoreImportLibrary>
<OutputFile>$(OutDir)\RealPadHostTest.exe</OutputFile>
<RandomizedBaseAddress>true</RandomizedBaseAddress>
<SubSystem>Console</SubSystem>
<SuppressStartupBanner>true</SuppressStartupBanner>
</Link>
<Midl>
<DefaultCharType>Unsigned</DefaultCharType>
<EnableErrorChecks>None</EnableErrorChecks>
<WarningLevel>0</WarningLevel>
</Midl>
<ResourceCompile>
<PreprocessorDefinitions>_CONSOLE;UNICODE;_UNICODE;WIN32;_ENABLE_EXTENDED_ALIGNED_STORAGE;WIN64;QT_GUI_LIB;QT_CORE_LIB;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ResourceCompile>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<AdditionalIncludeDirectories>.\GeneratedFiles\$(ConfigurationName);.\GeneratedFiles;.;Dependencies\LFramework\Src;$(QTDIR)\include;release;$(QTDIR)\mkspecs\win32-msvc;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalOptions>-Zc:rvalueCast -Zc:inline -Zc:strictStrings -Zc:throwingNew -Zc:referenceBinding -Zc:__cplusplus -w34100 -w34189 -w44996 -w44456 -w44457 -w44458 %(AdditionalOptions)</AdditionalOptions>
<AssemblerListingLocation>release\</AssemblerListingLocation>
<BrowseInformation>false</BrowseInformation>
<DebugInformationFormat>None</DebugInformationFormat>
<DisableSpecificWarnings>4577;4467;%(DisableSpecificWarnings)</DisableSpecificWarnings>
<ExceptionHandling>Sync</ExceptionHandling>
<LanguageStandard>stdcpp17</LanguageStandard>
<ObjectFileName>$(IntDir)</ObjectFileName>
<Optimization>MaxSpeed</Optimization>
<PreprocessorDefinitions>_CONSOLE;UNICODE;_UNICODE;WIN32;_ENABLE_EXTENDED_ALIGNED_STORAGE;WIN64;QT_NO_DEBUG;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessToFile>false</PreprocessToFile>
<ProgramDataBaseFileName>$(IntDir)vc$(PlatformToolsetVersion).pdb</ProgramDataBaseFileName>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<SuppressStartupBanner>true</SuppressStartupBanner>
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<WarningLevel>Level3</WarningLevel>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<Link>
<AdditionalDependencies>"C:\Program Files (x86)\Windows Kits\10\lib\10.0.18362.0\um\x64\User32.lib";"C:\Program Files (x86)\Windows Kits\10\lib\10.0.18362.0\um\x64\Advapi32.lib";"C:\Program Files (x86)\Windows Kits\10\lib\10.0.18362.0\um\x64\Ole32.lib";"C:\Program Files (x86)\Windows Kits\10\lib\10.0.18362.0\um\x64\Winusb.lib";"C:\Program Files (x86)\Windows Kits\10\lib\10.0.18362.0\um\x64\SetupAPI.lib";glu32.lib;opengl32.lib;gdi32.lib;user32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalLibraryDirectories>%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalOptions>"/MANIFESTDEPENDENCY:type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' publicKeyToken='6595b64144ccf1df' language='*' processorArchitecture='*'" %(AdditionalOptions)</AdditionalOptions>
<DataExecutionPrevention>true</DataExecutionPrevention>
<GenerateDebugInformation>false</GenerateDebugInformation>
<IgnoreImportLibrary>true</IgnoreImportLibrary>
<LinkIncremental>false</LinkIncremental>
<OutputFile>$(OutDir)\RealPadHostTest.exe</OutputFile>
<RandomizedBaseAddress>true</RandomizedBaseAddress>
<SubSystem>Console</SubSystem>
<SuppressStartupBanner>true</SuppressStartupBanner>
</Link>
<Midl>
<DefaultCharType>Unsigned</DefaultCharType>
<EnableErrorChecks>None</EnableErrorChecks>
<WarningLevel>0</WarningLevel>
</Midl>
<ResourceCompile>
<PreprocessorDefinitions>_CONSOLE;UNICODE;_UNICODE;WIN32;_ENABLE_EXTENDED_ALIGNED_STORAGE;WIN64;QT_NO_DEBUG;QT_GUI_LIB;QT_CORE_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ResourceCompile>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<AdditionalIncludeDirectories>.\GeneratedFiles\$(ConfigurationName);.\GeneratedFiles;.;Dependencies\LFramework\Src;$(QTDIR)\include;release;$(QTDIR)\mkspecs\win32-msvc;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalOptions>-Zc:rvalueCast -Zc:inline -Zc:strictStrings -Zc:throwingNew -Zc:referenceBinding -Zc:__cplusplus -w34100 -w34189 -w44996 -w44456 -w44457 -w44458 %(AdditionalOptions)</AdditionalOptions>
<AssemblerListingLocation>release\</AssemblerListingLocation>
<BrowseInformation>false</BrowseInformation>
<DebugInformationFormat>None</DebugInformationFormat>
<DisableSpecificWarnings>4577;4467;%(DisableSpecificWarnings)</DisableSpecificWarnings>
<ExceptionHandling>Sync</ExceptionHandling>
<LanguageStandard>stdcpp17</LanguageStandard>
<ObjectFileName>$(IntDir)</ObjectFileName>
<Optimization>MaxSpeed</Optimization>
<PreprocessorDefinitions>_CONSOLE;UNICODE;_UNICODE;WIN32;_ENABLE_EXTENDED_ALIGNED_STORAGE;WIN64;QT_NO_DEBUG;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessToFile>false</PreprocessToFile>
<ProgramDataBaseFileName>$(IntDir)vc$(PlatformToolsetVersion).pdb</ProgramDataBaseFileName>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<SuppressStartupBanner>true</SuppressStartupBanner>
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<WarningLevel>Level3</WarningLevel>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<Link>
<AdditionalDependencies>"C:\Program Files (x86)\Windows Kits\10\lib\10.0.18362.0\um\x64\User32.lib";"C:\Program Files (x86)\Windows Kits\10\lib\10.0.18362.0\um\x64\Advapi32.lib";"C:\Program Files (x86)\Windows Kits\10\lib\10.0.18362.0\um\x64\Ole32.lib";"C:\Program Files (x86)\Windows Kits\10\lib\10.0.18362.0\um\x64\Winusb.lib";"C:\Program Files (x86)\Windows Kits\10\lib\10.0.18362.0\um\x64\SetupAPI.lib";glu32.lib;opengl32.lib;gdi32.lib;user32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalLibraryDirectories>%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalOptions>"/MANIFESTDEPENDENCY:type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' publicKeyToken='6595b64144ccf1df' language='*' processorArchitecture='*'" %(AdditionalOptions)</AdditionalOptions>
<DataExecutionPrevention>true</DataExecutionPrevention>
<GenerateDebugInformation>false</GenerateDebugInformation>
<IgnoreImportLibrary>true</IgnoreImportLibrary>
<LinkIncremental>false</LinkIncremental>
<OutputFile>$(OutDir)\RealPadHostTest.exe</OutputFile>
<RandomizedBaseAddress>true</RandomizedBaseAddress>
<SubSystem>Console</SubSystem>
<SuppressStartupBanner>true</SuppressStartupBanner>
</Link>
<Midl>
<DefaultCharType>Unsigned</DefaultCharType>
<EnableErrorChecks>None</EnableErrorChecks>
<WarningLevel>0</WarningLevel>
</Midl>
<ResourceCompile>
<PreprocessorDefinitions>_CONSOLE;UNICODE;_UNICODE;WIN32;_ENABLE_EXTENDED_ALIGNED_STORAGE;WIN64;QT_NO_DEBUG;QT_GUI_LIB;QT_CORE_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ResourceCompile>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="Dependencies\LFramework\src\LFramework\BitFieldTest.cpp" />
<ClCompile Include="Dependencies\LFramework\src\LFramework\MCU\stm32\HardFaultHandler.cpp" />
<ClCompile Include="Dependencies\LFramework\src\LFramework\Input\Input.cpp" />
<ClCompile Include="Dependencies\LFramework\src\LFramework\Input\Keyboard.cpp" />
<ClCompile Include="Dependencies\LFramework\src\LFramework\Input\Mouse.cpp" />
<ClCompile Include="Dependencies\LFramework\src\LFramework\Thread\SemaphoreStdTest.cpp" />
<ClCompile Include="Dependencies\LFramework\src\LFramework\IO\StreamWriter.cpp" />
<ClCompile Include="Dependencies\LFramework\src\LFramework\Syscalls.cpp" />
<ClCompile Include="Dependencies\LFramework\src\LFramework\IO\Terminal\Terminal.cpp" />
<ClCompile Include="Dependencies\LFramework\src\LFramework\IO\Terminal\TerminalStreamCout.cpp" />
<ClCompile Include="Dependencies\LFramework\src\LFramework\IO\Terminal\TerminalStreamUartStm32.cpp" />
<ClCompile Include="Dependencies\LFramework\src\LFramework\Thread\Thread.cpp" />
<ClCompile Include="Dependencies\LFramework\src\LFramework\Thread\ThreadTest.cpp" />
<ClCompile Include="Dependencies\LFramework\src\LFramework\USB\Device\USBDevice.cpp" />
<ClCompile Include="Dependencies\LFramework\src\LFramework\USB\Host\USBHDevice.cpp" />
<ClCompile Include="Dependencies\LFramework\src\LFramework\USB\USBTypesTest.cpp" />
<ClCompile Include="Dependencies\LFramework\src\LFramework\UnitTest\UnitTest.cpp" />
<ClCompile Include="Dependencies\LFramework\src\LFramework\USB\Device\UsbDEndpoint.cpp" />
<ClCompile Include="Dependencies\LFramework\src\LFramework\USB\Device\UsbDLowLevel.cpp" />
<ClCompile Include="main.cpp" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="Dependencies\LFramework\src\LFramework\Assert.h" />
<ClInclude Include="Dependencies\LFramework\src\LFramework\BitField.h" />
<ClInclude Include="Dependencies\LFramework\src\LFramework\MCU\DMA\DMA.h" />
<ClInclude Include="Dependencies\LFramework\src\LFramework\Debug.h" />
<ClInclude Include="Dependencies\LFramework\src\LFramework\Detect\DetectCPU.h" />
<ClInclude Include="Dependencies\LFramework\src\LFramework\Detect\DetectEndianness.h" />
<ClInclude Include="Dependencies\LFramework\src\LFramework\Detect\DetectOS.h" />
<ClInclude Include="Dependencies\LFramework\src\LFramework\Macro\ForEach.h" />
<ClInclude Include="Dependencies\LFramework\src\LFramework\MCU\stm32\HalLibrary.h" />
<ClInclude Include="Dependencies\LFramework\src\LFramework\MCU\stm32\HardFaultHandler.h" />
<ClInclude Include="Dependencies\LFramework\src\LFramework\Input\Input.h" />
<ClInclude Include="Dependencies\LFramework\src\LFramework\TypeTraits\Integral.h" />
<ClInclude Include="Dependencies\LFramework\src\LFramework\Input\Keyboard.h" />
<ClInclude Include="Dependencies\LFramework\src\LFramework\Input\KeysStateManager.h" />
<ClInclude Include="LFrameworkConfig.h" />
<ClInclude Include="Dependencies\LFramework\src\LFramework\Containers\LinkedList.h" />
<ClInclude Include="Dependencies\LFramework\src\LFramework\MCU\Mcu.h" />
<ClInclude Include="Dependencies\LFramework\src\LFramework\Input\Mouse.h" />
<ClInclude Include="Dependencies\LFramework\src\LFramework\DeviceNetwork\Packet.h" />
<ClInclude Include="Dependencies\LFramework\src\LFramework\Reflection\Reflection.h" />
<ClInclude Include="Dependencies\LFramework\src\LFramework\Thread\Semaphore.h" />
<ClInclude Include="Dependencies\LFramework\src\LFramework\Thread\SemaphoreStd.h" />
<ClInclude Include="Dependencies\LFramework\src\LFramework\MCU\USBDevice\PHY\Stm32FsPhy.h" />
<ClInclude Include="Dependencies\LFramework\src\LFramework\Time\Stopwatch.h" />
<ClInclude Include="Dependencies\LFramework\src\LFramework\IO\Stream.h" />
<ClInclude Include="Dependencies\LFramework\src\LFramework\IO\StreamWriter.h" />
<ClInclude Include="Dependencies\LFramework\src\LFramework\System.h" />
<ClInclude Include="Dependencies\LFramework\src\LFramework\SystemArmCortexM.h" />
<ClInclude Include="Dependencies\LFramework\src\LFramework\SystemWindows.h" />
<ClInclude Include="Dependencies\LFramework\src\LFramework\IO\Terminal\Terminal.h" />
<ClInclude Include="Dependencies\LFramework\src\LFramework\IO\Terminal\TerminalAnsi.h" />
<ClInclude Include="Dependencies\LFramework\src\LFramework\IO\Terminal\TerminalStream.h" />
<ClInclude Include="Dependencies\LFramework\src\LFramework\Thread\Thread.h" />
<ClInclude Include="Dependencies\LFramework\src\LFramework\Thread\ThreadFreeRTOS.h" />
<ClInclude Include="Dependencies\LFramework\src\LFramework\Thread\ThreadPlatform.h" />
<ClInclude Include="Dependencies\LFramework\src\LFramework\Thread\ThreadStd.h" />
<ClInclude Include="Dependencies\LFramework\src\LFramework\DeviceNetwork\Transmitter\Transmitter.h" />
<ClInclude Include="Dependencies\LFramework\src\LFramework\TupleUtils.h" />
<ClInclude Include="Dependencies\LFramework\src\LFramework\USB\Device\USBDevice.h" />
<ClInclude Include="Dependencies\LFramework\src\LFramework\USB\USBDevice_Deprecated.h" />
<ClInclude Include="Dependencies\LFramework\src\LFramework\USB\USBTypes.h" />
<ClInclude Include="Dependencies\LFramework\src\LFramework\UnitTest\UnitTest.h" />
<ClInclude Include="Dependencies\LFramework\src\LFramework\USB\Device\UsbDBulkInterface.h" />
<ClInclude Include="Dependencies\LFramework\src\LFramework\USB\Device\UsbDDeviceContext.h" />
<ClInclude Include="Dependencies\LFramework\src\LFramework\USB\Device\UsbDEndpoint.h" />
<ClInclude Include="Dependencies\LFramework\src\LFramework\USB\Device\UsbDInterface.h" />
<ClInclude Include="Dependencies\LFramework\src\LFramework\MCU\USBDevice\PHY\UsbDeviceSoftPhy.h" />
<ClInclude Include="Dependencies\LFramework\src\LFramework\USB\UsbEndpoint.h" />
<ClInclude Include="Dependencies\LFramework\src\LFramework\USB\UsbException.h" />
<ClInclude Include="Dependencies\LFramework\src\LFramework\USB\Host\UsbHDevice.h" />
<ClInclude Include="Dependencies\LFramework\src\LFramework\USB\Host\UsbHEndpoint.h" />
<ClInclude Include="Dependencies\LFramework\src\LFramework\USB\Host\UsbHException.h" />
<ClInclude Include="Dependencies\LFramework\src\LFramework\USB\Host\UsbHInterface.h" />
<ClInclude Include="Dependencies\LFramework\src\LFramework\USB\Host\UsbHostManager.h" />
<ClInclude Include="Dependencies\LFramework\src\LFramework\USB\UsbInterface.h" />
<ClInclude Include="Dependencies\LFramework\src\LFramework\MCU\USBDevice\PHY\UsbInternalFsDeviceDriver.h" />
<ClInclude Include="Dependencies\LFramework\src\LFramework\USB\UsbMicrosoftTypes.h" />
<ClInclude Include="Dependencies\LFramework\src\LFramework\USB\usbd_conf.h" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets" />
</Project>
+129
View File
@@ -0,0 +1,129 @@
#include <LFramework/USB/Host/UsbHostManager.h>
#include <LFramework/USB/Host/UsbHDevice.h>
#include <LFramework/Debug.h>
#include <iostream>
#include <iomanip>
#include <thread>
#include <chrono>
#include <iomanip>
#pragma comment(lib, "User32")
#pragma comment(lib, "Advapi32")
#pragma comment(lib, "Ole32")
#pragma comment(lib, "Winusb")
#pragma comment(lib, "SetupAPI")
std::string findDevice(){
auto devices = UsbHostManager::enumerateDevices();
for(auto& device : devices){
if(device.vid == 0x0301 && device.pid == 0x1111){
return device.path;
}
}
return {};
}
enum class UsbRequestType : uint8_t {
PollBegin,
Poll
};
struct UsbRequest {
UsbRequestType type;
uint8_t data;
};
struct UsbResponse {
uint8_t data;
};
UsbResponse poll(LFramework::USB::UsbHEndpoint* rxEp, LFramework::USB::UsbHEndpoint* txEp, UsbRequest request) {
auto txFuture = txEp->transferAsync(&request, sizeof(request));
txFuture->wait();
uint8_t rxBuffer[64];
auto rxFuture = rxEp->transferAsync(rxBuffer, sizeof(rxBuffer));
auto rxSize = rxFuture->wait();
if(rxSize != sizeof(UsbResponse)){
std::cout << "Invalid RX size" << std::endl;
return {0xff};
}else{
return *((UsbResponse*)(&rxBuffer[0]));
}
}
void readControllerState(LFramework::USB::UsbHEndpoint* rxEp, LFramework::USB::UsbHEndpoint* txEp) {
if(poll(rxEp, txEp, {UsbRequestType::PollBegin, 0x01}).data != 0xff) {
std::cout << "Unexpected response for PollBegin request" << std::endl;
}
auto controllerType = poll(rxEp, txEp, {UsbRequestType::Poll, 0x42}).data;
auto controlValue = poll(rxEp, txEp, {UsbRequestType::Poll, 0x00}).data;
std::cout << "Controller type: 0x" << std::hex << (int)controllerType << std::endl;
if(controlValue != 0x5A){
std::cout << "Unexpected value for Poll control " << std::endl;
}
auto payloadDataSize = (controllerType & 0xf) * 2;
for(size_t i = 0; i < payloadDataSize; ++i){
auto padData = poll(rxEp, txEp, {UsbRequestType::Poll, 0x00}).data;
}
}
int main() {
lfDebug() << "Test";
auto devicePath = findDevice();
if(!devicePath.empty()){
std::cout << "Device found!" << std::endl;
LFramework::USB::UsbHDevice device(devicePath);
std::cout << "Device open!" << std::endl;
auto bulkInterface = device.getInterface(0);
auto txEp = bulkInterface->getEndpoint(false, 0);
auto rxEp = bulkInterface->getEndpoint(true, 0);
//reset connection
auto txFuture = txEp->transferAsync(nullptr, 0);
uint8_t rxBuffer[64];
while(true){
auto rxFuture = rxEp->transferAsync(rxBuffer, sizeof(rxBuffer));
auto rxSize = rxFuture->wait();
if(rxSize == 0){
break;
}
}
txFuture->wait();
while(true){
readControllerState(rxEp, txEp);
//std::this_thread::sleep_for(std::chrono::milliseconds(500));
}
}else{
std::cout << "Failed to find device" << std::endl;
}
return 0;
}