Skip to content

Commit 71fa79f

Browse files
authored
Merge pull request #34 from microsoft/umdf-experiment
Add Uwb Simulator driver
2 parents 3c006f6 + 25b5092 commit 71fa79f

35 files changed

+3111
-2
lines changed

vcpkg.json

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,15 @@
66
"nlohmann-json",
77
"magic-enum",
88
"cli11",
9-
"wil"
9+
"wil",
10+
{
11+
"name": "vcpkg-cmake",
12+
"host": true
13+
},
14+
{
15+
"name": "vcpkg-cmake-config",
16+
"host": true
17+
}
1018
],
1119
"builtin-baseline": "779ce74ef67d3e12d904da1b15f9ed5626d5f677"
1220
}

windows/drivers/uwb/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
11
add_subdirectory(cx)
2-
add_subdirectory(sim)
2+
add_subdirectory(simulator)
Lines changed: 95 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,95 @@
1+
AccessModifierOffset: -4
2+
AlignAfterOpenBracket: DontAlign
3+
AlignConsecutiveAssignments: false
4+
AlignConsecutiveDeclarations: false
5+
AlignConsecutiveMacros: true
6+
AlignEscapedNewlines: Right
7+
AlignOperands: false
8+
AlignTrailingComments: true
9+
AllowAllArgumentsOnNextLine: true
10+
AllowAllParametersOfDeclarationOnNextLine: true
11+
AllowShortBlocksOnASingleLine: true
12+
AllowShortCaseLabelsOnASingleLine: false
13+
AllowShortLambdasOnASingleLine: Empty
14+
# AllowShortEnumsOnASingleLine: false
15+
AllowShortFunctionsOnASingleLine: InlineOnly
16+
AllowShortIfStatementsOnASingleLine: Never
17+
AllowShortLoopsOnASingleLine: true
18+
AlwaysBreakAfterReturnType: All
19+
AlwaysBreakBeforeMultilineStrings: false
20+
AlwaysBreakTemplateDeclarations: Yes
21+
BasedOnStyle: WebKit
22+
BinPackArguments: false
23+
BinPackParameters: false
24+
BraceWrapping:
25+
AfterCaseLabel: false
26+
AfterClass: true
27+
AfterControlStatement: false
28+
AfterEnum: false
29+
AfterFunction: true
30+
AfterNamespace: true
31+
AfterObjCDeclaration: false
32+
AfterStruct: true
33+
AfterUnion: true
34+
AfterExternBlock: false
35+
BeforeCatch: false
36+
BeforeElse: false
37+
IndentBraces: false
38+
SplitEmptyFunction: false
39+
SplitEmptyRecord: false
40+
SplitEmptyNamespace: false
41+
BreakBeforeBinaryOperators: None
42+
BreakBeforeBraces: Custom
43+
BreakInheritanceList: AfterColon
44+
BreakBeforeTernaryOperators: true
45+
BreakConstructorInitializers: AfterColon
46+
BreakStringLiterals: false
47+
ColumnLimit: 0
48+
CompactNamespaces: false
49+
ConstructorInitializerAllOnOneLineOrOnePerLine: true
50+
ConstructorInitializerIndentWidth: 4
51+
ContinuationIndentWidth: 4
52+
Cpp11BracedListStyle: false
53+
DeriveLineEnding: true
54+
DerivePointerAlignment: false
55+
# EmptyLineBeforeAccessModifier: Always
56+
FixNamespaceComments: true
57+
IncludeBlocks: Preserve
58+
# IndentCaseBlocks: false
59+
IndentCaseLabels: false
60+
# IndentExternBlock: NoIndent
61+
IndentGotoLabels: false
62+
IndentPPDirectives: None
63+
IndentWidth: 4
64+
# InsertTrailingCommas: Wrapped
65+
KeepEmptyLinesAtTheStartOfBlocks: false
66+
MaxEmptyLinesToKeep: 1
67+
NamespaceIndentation: None
68+
# PackConstructorInitializers: Never
69+
PointerAlignment: Right
70+
ReflowComments: true
71+
SortIncludes: true
72+
SortUsingDeclarations: true
73+
SpaceAfterCStyleCast: false
74+
SpaceAfterLogicalNot: false
75+
SpaceAfterTemplateKeyword: true
76+
# SpaceAroundPointerQualifiers: After
77+
SpaceBeforeAssignmentOperators: true
78+
SpaceBeforeCpp11BracedList: false
79+
SpaceBeforeCtorInitializerColon: true
80+
SpaceBeforeInheritanceColon: true
81+
SpaceBeforeParens: ControlStatements
82+
SpaceBeforeRangeBasedForLoopColon: true
83+
SpaceBeforeSquareBrackets: false
84+
SpaceInEmptyBlock: false
85+
SpaceInEmptyParentheses: false
86+
SpacesBeforeTrailingComments: 1
87+
SpacesInAngles: false
88+
SpacesInContainerLiterals: false
89+
SpacesInCStyleCastParentheses: false
90+
SpacesInParentheses: false
91+
SpacesInSquareBrackets: false
92+
TabWidth: 4
93+
Standard: c++20
94+
UseCRLF: false
95+
UseTab: Never
Lines changed: 233 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,233 @@
1+
Checks: >
2+
-*,
3+
cert-*,
4+
clang-analyzer-*,
5+
clang-diagnostic-*,
6+
concurrency-*,
7+
cppcoreguidelines-*,
8+
hicpp-*,
9+
misc-*,
10+
modernize-,
11+
performance-*,
12+
portability-*,
13+
readability-*,
14+
-misc-unused-parameters,
15+
-readability-function-cognitive-complexity,
16+
-readability-identifier-length,
17+
-readability-identifier-naming,
18+
-readability-magic-numbers,
19+
-readability-redundant-access-specifiers,
20+
WarningsAsErrors: ""
21+
AnalyzeTemporaryDtors: false
22+
FormatStyle: file
23+
User: shadowfax
24+
CheckOptions:
25+
- key: cert-dcl16-c.IgnoreMacros
26+
value: '1'
27+
- key: cert-dcl16-c.NewSuffixes
28+
value: 'L;LL;LU;LLU'
29+
- key: cert-dcl59-cpp.HeaderFileExtensions
30+
value: ',h,hh,hpp,hxx'
31+
- key: cert-err09-cpp.CheckThrowTemporaries
32+
value: '1'
33+
- key: cert-err61-cpp.CheckThrowTemporaries
34+
value: '1'
35+
- key: cert-msc32-c.DisallowedSeedTypes
36+
value: 'time_t,std::time_t'
37+
- key: cert-msc51-cpp.DisallowedSeedTypes
38+
value: 'time_t,std::time_t'
39+
- key: cert-oop11-cpp.IncludeStyle
40+
value: llvm
41+
- key: cert-oop54-cpp.WarnOnlyIfThisHasSuspiciousField
42+
value: '0'
43+
- key: cppcoreguidelines-avoid-magic-numbers.IgnoredFloatingPointValues
44+
value: '1.0;100.0;'
45+
- key: cppcoreguidelines-avoid-magic-numbers.IgnoredIntegerValues
46+
value: '1;2;3;4;'
47+
- key: cppcoreguidelines-explicit-virtual-functions.AllowOverrideAndFinal
48+
value: '0'
49+
- key: cppcoreguidelines-explicit-virtual-functions.FinalSpelling
50+
value: final
51+
- key: cppcoreguidelines-explicit-virtual-functions.IgnoreDestructors
52+
value: '1'
53+
- key: cppcoreguidelines-explicit-virtual-functions.OverrideSpelling
54+
value: override
55+
- key: cppcoreguidelines-macro-usage.AllowedRegexp
56+
value: '^DEBUG_*'
57+
- key: cppcoreguidelines-macro-usage.CheckCapsOnly
58+
value: '0'
59+
- key: cppcoreguidelines-macro-usage.IgnoreCommandLineMacros
60+
value: '1'
61+
- key: cppcoreguidelines-no-malloc.Allocations
62+
value: '::malloc;::calloc'
63+
- key: cppcoreguidelines-no-malloc.Deallocations
64+
value: '::free'
65+
- key: cppcoreguidelines-no-malloc.Reallocations
66+
value: '::realloc'
67+
- key: cppcoreguidelines-non-private-member-variables-in-classes.IgnoreClassesWithAllMemberVariablesBeingPublic
68+
value: '1'
69+
- key: cppcoreguidelines-owning-memory.LegacyResourceConsumers
70+
value: '::free;::realloc;::freopen;::fclose'
71+
- key: cppcoreguidelines-owning-memory.LegacyResourceProducers
72+
value: '::malloc;::aligned_alloc;::realloc;::calloc;::fopen;::freopen;::tmpfile'
73+
- key: cppcoreguidelines-pro-bounds-constant-array-index.GslHeader
74+
value: ''
75+
- key: cppcoreguidelines-pro-bounds-constant-array-index.IncludeStyle
76+
value: '0'
77+
- key: cppcoreguidelines-pro-type-member-init.IgnoreArrays
78+
value: '0'
79+
- key: cppcoreguidelines-pro-type-member-init.UseAssignment
80+
value: '0'
81+
- key: cppcoreguidelines-special-member-functions.AllowMissingMoveFunctions
82+
value: '0'
83+
- key: cppcoreguidelines-special-member-functions.AllowSoleDefaultDtor
84+
value: '0'
85+
- key: google-readability-braces-around-statements.ShortStatementLines
86+
value: '0'
87+
- key: google-readability-function-size.StatementThreshold
88+
value: '800'
89+
- key: google-readability-namespace-comments.ShortNamespaceLines
90+
value: '10'
91+
- key: google-readability-namespace-comments.SpacesBeforeComments
92+
value: '2'
93+
- key: hicpp-braces-around-statements.ShortStatementLines
94+
value: '0'
95+
- key: hicpp-function-size.BranchThreshold
96+
value: '4294967295'
97+
- key: hicpp-function-size.LineThreshold
98+
value: '4294967295'
99+
- key: hicpp-function-size.NestingThreshold
100+
value: '4294967295'
101+
- key: hicpp-function-size.ParameterThreshold
102+
value: '4294967295'
103+
- key: hicpp-function-size.StatementThreshold
104+
value: '800'
105+
- key: hicpp-function-size.VariableThreshold
106+
value: '4294967295'
107+
- key: hicpp-member-init.IgnoreArrays
108+
value: '0'
109+
- key: hicpp-member-init.UseAssignment
110+
value: '0'
111+
- key: hicpp-move-const-arg.CheckTriviallyCopyableMove
112+
value: '1'
113+
- key: hicpp-multiway-paths-covered.WarnOnMissingElse
114+
value: '0'
115+
- key: hicpp-named-parameter.IgnoreFailedSplit
116+
value: '0'
117+
- key: hicpp-no-malloc.Allocations
118+
value: '::malloc;::calloc'
119+
- key: hicpp-no-malloc.Deallocations
120+
value: '::free'
121+
- key: hicpp-no-malloc.Reallocations
122+
value: '::realloc'
123+
- key: hicpp-signed-bitwise.IgnorePositiveIntegerLiterals
124+
value: '0'
125+
- key: hicpp-special-member-functions.AllowMissingMoveFunctions
126+
value: '0'
127+
- key: hicpp-special-member-functions.AllowSoleDefaultDtor
128+
value: '0'
129+
- key: hicpp-uppercase-literal-suffix.IgnoreMacros
130+
value: '1'
131+
- key: hicpp-uppercase-literal-suffix.NewSuffixes
132+
value: ''
133+
- key: hicpp-use-auto.MinTypeNameLength
134+
value: '5'
135+
- key: hicpp-use-auto.RemoveStars
136+
value: '0'
137+
- key: hicpp-use-emplace.ContainersWithPushBack
138+
value: '::std::vector;::std::list;::std::deque'
139+
- key: hicpp-use-emplace.SmartPointers
140+
value: '::std::shared_ptr;::std::unique_ptr;::std::auto_ptr;::std::weak_ptr'
141+
- key: hicpp-use-emplace.TupleMakeFunctions
142+
value: '::std::make_pair;::std::make_tuple'
143+
- key: hicpp-use-emplace.TupleTypes
144+
value: '::std::pair;::std::tuple'
145+
- key: hicpp-use-equals-default.IgnoreMacros
146+
value: '1'
147+
- key: hicpp-use-equals-delete.IgnoreMacros
148+
value: '1'
149+
- key: hicpp-use-noexcept.ReplacementString
150+
value: ''
151+
- key: hicpp-use-noexcept.UseNoexceptFalse
152+
value: '1'
153+
- key: hicpp-use-nullptr.NullMacros
154+
value: ''
155+
- key: hicpp-use-override.AllowOverrideAndFinal
156+
value: '0'
157+
- key: hicpp-use-override.FinalSpelling
158+
value: final
159+
- key: hicpp-use-override.IgnoreDestructors
160+
value: '0'
161+
- key: hicpp-use-override.OverrideSpelling
162+
value: override
163+
- key: misc-definitions-in-headers.HeaderFileExtensions
164+
value: ',h,hh,hpp,hxx'
165+
- key: misc-definitions-in-headers.UseHeaderFileExtension
166+
value: '1'
167+
- key: misc-throw-by-value-catch-by-reference.CheckThrowTemporaries
168+
value: '1'
169+
- key: misc-unused-parameters.StrictMode
170+
value: '0'
171+
- key: misc-non-private-member-variables-in-classes.IgnoreClassesWithAllMemberVariablesBeingPublic
172+
value: '1'
173+
- key: modernize-loop-convert.MaxCopySize
174+
value: '16'
175+
- key: modernize-loop-convert.MinConfidence
176+
value: reasonable
177+
- key: modernize-loop-convert.NamingStyle
178+
value: CamelCase
179+
- key: modernize-pass-by-value.IncludeStyle
180+
value: llvm
181+
- key: modernize-replace-auto-ptr.IncludeStyle
182+
value: llvm
183+
- key: modernize-use-nullptr.NullMacros
184+
value: 'NULL'
185+
- key: performance-faster-string-find.StringLikeClasses
186+
value: 'std::basic_string'
187+
- key: performance-for-range-copy.AllowedTypes
188+
value: ''
189+
- key: performance-for-range-copy.WarnOnAllAutoCopies
190+
value: '0'
191+
- key: performance-inefficient-string-concatenation.StrictMode
192+
value: '0'
193+
- key: performance-inefficient-vector-operation.EnableProto
194+
value: '0'
195+
- key: performance-inefficient-vector-operation.VectorLikeClasses
196+
value: '::std::vector'
197+
- key: performance-move-const-arg.CheckTriviallyCopyableMove
198+
value: '1'
199+
- key: performance-move-constructor-init.IncludeStyle
200+
value: llvm
201+
- key: performance-no-automatic-move.AllowedTypes
202+
value: ''
203+
- key: performance-type-promotion-in-math-fn.IncludeStyle
204+
value: llvm
205+
- key: performance-unnecessary-copy-initialization.AllowedTypes
206+
value: ''
207+
- key: performance-unnecessary-value-param.AllowedTypes
208+
value: ''
209+
- key: performance-unnecessary-value-param.IncludeStyle
210+
value: llvm
211+
- key: portability-simd-intrinsics.Std
212+
value: ''
213+
- key: portability-simd-intrinsics.Suggest
214+
value: '0'
215+
- key: readability-identifier-naming.TypedefCase
216+
value: CamelCase
217+
- key: readability-identifier-naming.StructCase
218+
value: CamelCase
219+
- key: readability-identifier-naming.ClassCase
220+
value: CamelCase
221+
- key: readability-identifier-naming.VariableCase
222+
value: camelBack
223+
- key: readability-identifier-naming.ParameterCase
224+
value: camelBack
225+
- key: readability-identifier-naming.FunctionCase
226+
value: CamelCase
227+
- key: readability-identifier-naming.NamespaceCase
228+
value: lower_case
229+
- key: readability-identifier-naming.GlobalConstantCase
230+
value: UPPER_CASE
231+
# Enable readability-function-cognitive-complexity and add the following config when tools supporting it (clang 16+) are available.
232+
# - key: readability-function-cognitive-complexity.IgnoreMacros
233+
# value: "true"
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
*.inf diff merge text

0 commit comments

Comments
 (0)