summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.clang-format19
-rw-r--r--.clang-tidy47
-rw-r--r--.gitignore3
-rw-r--r--Makefile20
-rw-r--r--platformio.ini16
5 files changed, 105 insertions, 0 deletions
diff --git a/.clang-format b/.clang-format
new file mode 100644
index 0000000..782b0a9
--- /dev/null
+++ b/.clang-format
@@ -0,0 +1,19 @@
+BasedOnStyle: LLVM
+UseTab: Always
+IndentWidth: 4
+TabWidth: 4
+BreakBeforeBraces: Allman
+AllowShortIfStatementsOnASingleLine: false
+AllowShortFunctionsOnASingleLine: Empty
+AllowShortLambdasOnASingleLine: None
+IndentCaseLabels: false
+ColumnLimit: 90
+AccessModifierOffset: -4
+AlwaysBreakTemplateDeclarations: Yes
+ConstructorInitializerAllOnOneLineOrOnePerLine: true
+AllowAllArgumentsOnNextLine: false
+AllowAllParametersOfDeclarationOnNextLine: false
+BinPackArguments: false
+BinPackParameters: false
+AlignAfterOpenBracket: BlockIndent
+Cpp11BracedListStyle: false
diff --git a/.clang-tidy b/.clang-tidy
new file mode 100644
index 0000000..8a92317
--- /dev/null
+++ b/.clang-tidy
@@ -0,0 +1,47 @@
+---
+Checks: '
+ clang-analyzer-*,
+ cppcoreguidelines-*,
+ google-*,
+ misc-*,
+ modernize-*,
+ bugprone-*,
+ performance-*,
+ readability-*,
+ -modernize-avoid-c-arrays,
+ -cppcoreguidelines-avoid-c-arrays,
+ -cppcoreguidelines-no-malloc,
+ -cppcoreguidelines-owning-memory'
+WarningsAsErrors: '*'
+HeaderFilterRegex: '\/src\/'
+AnalyzeTemporaryDtors: false
+CheckOptions:
+ - key: readability-function-cognitive-complexity.Threshold
+ value: 100
+ - key: readability-identifier-naming.ClassCase
+ value: CamelCase
+ - key: readability-identifier-naming.PrivateMemberPrefix
+ value: _
+ - key: readability-identifier-naming.StructCase
+ value: CamelCase
+ - key: google-readability-braces-around-statements.ShortStatementLines
+ value: '1'
+ - key: google-readability-function-size.StatementThreshold
+ value: '800'
+ - key: google-readability-namespace-comments.ShortNamespaceLines
+ value: '10'
+ - key: google-readability-namespace-comments.SpacesBeforeComments
+ value: '2'
+ - key: modernize-loop-convert.MaxCopySize
+ value: '16'
+ - key: modernize-loop-convert.MinConfidence
+ value: reasonable
+ - key: modernize-loop-convert.NamingStyle
+ value: CamelCase
+ - key: modernize-pass-by-value.IncludeStyle
+ value: llvm
+ - key: modernize-replace-auto-ptr.IncludeStyle
+ value: llvm
+ - key: modernize-use-nullptr.NullMacros
+ value: 'NULL'
+...
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..4dec283
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,3 @@
+build
+.vscode
+.pio
diff --git a/Makefile b/Makefile
new file mode 100644
index 0000000..986833f
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,20 @@
+TARGET = gymnasiearbete
+
+PIO = platformio
+
+all: $(TARGET)
+
+.PHONY: $(TARGET) upload clean monitor
+
+$(TARGET):
+ $(PIO) run -v
+ $(PIO) run --target compiledb
+
+upload:
+ $(PIO) run --target upload
+
+clean:
+ $(PIO) run --target clean
+
+monitor:
+ $(PIO) run --target monitor
diff --git a/platformio.ini b/platformio.ini
new file mode 100644
index 0000000..4bac56e
--- /dev/null
+++ b/platformio.ini
@@ -0,0 +1,16 @@
+[platformio]
+build_dir = build
+
+[env:uno]
+platform = atmelavr
+board = uno
+framework = arduino
+src_build_flags =
+ -Wextra
+ -Wpedantic
+ -Wshadow
+ -Wcast-align
+ -Wunused
+ -Wold-style-cast
+ -Wconversion
+ -pedantic