-
Notifications
You must be signed in to change notification settings - Fork 12
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #78 from OpenShock/develop
Firmware 1.0.0 - We now support **six different boards** (though maintenance levels may vary): - Pishock (2023) - Pishock Lite (2021) - Seeed Xiao ESP32S3 - Wemos D1 Mini ESP32 - Wemos Lolin S2 Mini - Wemos Lolin S3 - All communication is now **websocket based** and using flatbuffers, allowing for even lower latency between the server and the ESP, with lower resource consumption. - The **Captive Portal** got a MASSIVE overhaul; - Serial commands have gotten alot better. - Improved board stability and configurability. - Added support for having a E-Stop (emergency stop) connected to ESP as a panic button. Thanks to @nullstalgia ❤️ - And _much, much_ more behind the scenes, including bugfixes and code cleanup.
- Loading branch information
Showing
275 changed files
with
25,873 additions
and
1,493 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,222 @@ | ||
--- | ||
# Default style for all languages | ||
IndentWidth: 2 | ||
--- | ||
Language: Cpp | ||
Standard: c++20 | ||
DisableFormat: false | ||
|
||
TabWidth: 2 | ||
UseTab: Never | ||
IndentWidth: 2 | ||
ColumnLimit: 256 | ||
ShortNamespaceLines: 2 | ||
AccessModifierOffset: -2 | ||
ContinuationIndentWidth: 2 | ||
ConstructorInitializerIndentWidth: 2 | ||
BracedInitializerIndentWidth: 2 | ||
CommentPragmas: '^ IWYU pragma:' | ||
LineEnding: LF | ||
|
||
IncludeBlocks: Preserve | ||
SortIncludes: CaseInsensitive | ||
# IncludeCategories: | ||
# - Regex: '^"(llvm|llvm-c|clang|clang-c)/' | ||
# Priority: 2 | ||
# SortPriority: 2 | ||
# CaseSensitive: true | ||
# - Regex: '^((<|")(gtest|gmock|isl|json)/)' | ||
# Priority: 3 | ||
# - Regex: "<[[:alnum:].]+>" | ||
# Priority: 4 | ||
# - Regex: ".*" | ||
# Priority: 1 | ||
# SortPriority: 0 | ||
# IncludeIsMainRegex: "([-_](test|unittest))?$" | ||
# IncludeIsMainSourceRegex: "" | ||
|
||
AlignAfterOpenBracket: BlockIndent | ||
AlignArrayOfStructures: Right | ||
AlignConsecutiveAssignments: | ||
Enabled: true | ||
AcrossEmptyLines: false | ||
AcrossComments: false | ||
AlignCompound: false | ||
PadOperators: true | ||
AlignConsecutiveBitFields: | ||
Enabled: true | ||
AcrossEmptyLines: false | ||
AcrossComments: false | ||
AlignCompound: true | ||
PadOperators: true | ||
AlignConsecutiveDeclarations: | ||
Enabled: false | ||
AcrossEmptyLines: false | ||
AcrossComments: false | ||
AlignCompound: true | ||
PadOperators: true | ||
AlignConsecutiveMacros: | ||
Enabled: true | ||
AcrossEmptyLines: false | ||
AcrossComments: false | ||
AlignCompound: true | ||
PadOperators: true | ||
AlignEscapedNewlines: Left | ||
AlignOperands: AlignAfterOperator | ||
AlignTrailingComments: | ||
Kind: Always | ||
OverEmptyLines: 1 | ||
AllowAllArgumentsOnNextLine: true | ||
AllowAllParametersOfDeclarationOnNextLine: false | ||
AllowShortBlocksOnASingleLine: Always | ||
AllowShortCaseLabelsOnASingleLine: false | ||
AllowShortEnumsOnASingleLine: false | ||
AllowShortFunctionsOnASingleLine: Inline | ||
AllowShortIfStatementsOnASingleLine: WithoutElse | ||
AllowShortLambdasOnASingleLine: Inline | ||
AllowShortLoopsOnASingleLine: true | ||
AlwaysBreakAfterReturnType: None | ||
AlwaysBreakBeforeMultilineStrings: false | ||
AlwaysBreakTemplateDeclarations: Yes | ||
BinPackArguments: false | ||
BinPackParameters: false | ||
BitFieldColonSpacing: Both | ||
BreakBeforeBraces: Custom | ||
BraceWrapping: | ||
AfterCaseLabel: true | ||
AfterClass: false | ||
AfterControlStatement: MultiLine | ||
AfterEnum: false | ||
AfterFunction: false | ||
AfterNamespace: false | ||
AfterStruct: false | ||
AfterUnion: false | ||
AfterExternBlock: false | ||
BeforeCatch: true | ||
BeforeElse: false | ||
BeforeLambdaBody: false | ||
BeforeWhile: false | ||
IndentBraces: false | ||
SplitEmptyFunction: false | ||
SplitEmptyRecord: true | ||
SplitEmptyNamespace: true | ||
BreakAfterAttributes: Never | ||
BreakBeforeBinaryOperators: All | ||
BreakBeforeConceptDeclarations: Allowed | ||
BreakBeforeInlineASMColon: Always | ||
BreakBeforeTernaryOperators: true | ||
BreakConstructorInitializers: BeforeComma | ||
BreakInheritanceList: BeforeComma | ||
BreakStringLiterals: true | ||
CompactNamespaces: false | ||
Cpp11BracedListStyle: true | ||
DerivePointerAlignment: false | ||
EmptyLineAfterAccessModifier: Never | ||
EmptyLineBeforeAccessModifier: LogicalBlock | ||
FixNamespaceComments: true | ||
IndentAccessModifiers: false | ||
IndentCaseBlocks: false | ||
IndentCaseLabels: true | ||
IndentExternBlock: NoIndent | ||
IndentGotoLabels: false | ||
IndentPPDirectives: None | ||
IndentRequiresClause: true | ||
IndentWrappedFunctionNames: true | ||
InsertNewlineAtEOF: true | ||
InsertTrailingCommas: Wrapped | ||
IntegerLiteralSeparator: | ||
Binary: 4 | ||
BinaryMinDigits: 9 | ||
Decimal: 3 | ||
DecimalMinDigits: 5 | ||
Hex: 2 | ||
HexMinDigits: 9 | ||
KeepEmptyLinesAtEOF: false | ||
KeepEmptyLinesAtTheStartOfBlocks: false | ||
LambdaBodyIndentation: OuterScope | ||
MaxEmptyLinesToKeep: 1 | ||
NamespaceIndentation: All | ||
PPIndentWidth: -1 | ||
PackConstructorInitializers: NextLine | ||
|
||
PointerAlignment: Left | ||
ReferenceAlignment: Left | ||
|
||
RawStringFormats: | ||
- Language: Cpp | ||
Delimiters: | ||
- 'cc' | ||
- 'cpp' | ||
BasedOnStyle: google | ||
CanonicalDelimiter: 'cc' | ||
ReflowComments: true | ||
RequiresClausePosition: OwnLine | ||
RequiresExpressionIndentation: OuterScope | ||
SeparateDefinitionBlocks: Leave | ||
SortUsingDeclarations: LexicographicNumeric | ||
SpaceAfterCStyleCast: false | ||
SpaceAfterLogicalNot: false | ||
SpaceAfterTemplateKeyword: false | ||
SpaceAroundPointerQualifiers: Default | ||
SpaceBeforeAssignmentOperators: true | ||
SpaceBeforeCaseColon: false | ||
SpaceBeforeCpp11BracedList: true | ||
SpaceBeforeCtorInitializerColon: true | ||
SpaceBeforeInheritanceColon: true | ||
SpaceBeforeParens: Custom | ||
SpaceBeforeParensOptions: | ||
AfterControlStatements: true | ||
AfterForeachMacros: false | ||
AfterIfMacros: false | ||
AfterOverloadedOperator: false | ||
AfterRequiresInClause: false | ||
AfterRequiresInExpression: false | ||
BeforeNonEmptyParentheses: false | ||
SpaceBeforeRangeBasedForLoopColon: true | ||
SpaceBeforeSquareBrackets: false | ||
SpaceInEmptyBlock: true | ||
SpacesBeforeTrailingComments: 2 | ||
SpacesInAngles: Never | ||
SpacesInContainerLiterals: false | ||
SpacesInLineCommentPrefix: | ||
Minimum: 1 | ||
Maximum: -1 | ||
SpacesInParens: Custom | ||
SpacesInParensOptions: | ||
InConditionalStatements: false | ||
InCStyleCasts: false | ||
InEmptyParentheses: false | ||
Other: false | ||
SpacesInSquareBrackets: false | ||
VerilogBreakBetweenInstancePorts: true | ||
|
||
# JSON stuff | ||
BreakArrays: false | ||
SpaceBeforeJsonColon: false | ||
|
||
# Macro stuff, don't need to touch this (yet?) | ||
# MacroBlockBegin: "" | ||
# MacroBlockEnd: "" | ||
# Macros: [] | ||
# IfMacros: [] | ||
# ForEachMacros: [] | ||
# TypenameMacros: [] | ||
# AttributeMacros: [] | ||
# NamespaceMacros: [] | ||
# StatementMacros: [] # Could be useful for Qt (Q_OBJECT, Q_PROPERTY, Q_UNUSED, etc.) | ||
# StatementAttributeLikeMacros: [] # Could be useful for Qt (emit, slots, signals, etc.) | ||
# WhitespaceSensitiveMacros: [] | ||
|
||
# Penalty stuff, not sure how to use this yet | ||
# PenaltyBreakAssignment: 0 | ||
# PenaltyBreakBeforeFirstCallParameter: 0 | ||
# PenaltyBreakComment: 0 | ||
# PenaltyBreakFirstLessLess: 0 | ||
# PenaltyBreakOpenParenthesis: 0 | ||
# PenaltyBreakString: 0 | ||
# PenaltyVreakTemplateDeclaration: 0 | ||
# PenaltyExcessCharacter: 0 | ||
# PenaltyIndentedWhitespace: 0 | ||
# PenaltyReturnTypeOnItsOwnLine: 0 | ||
--- | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,15 @@ | ||
# Editor config | ||
|
||
[*] | ||
|
||
# Indentation | ||
indent_style = space | ||
indent_size = 2 | ||
|
||
# Line endings | ||
end_of_line = lf | ||
insert_final_newline = true | ||
trim_trailing_whitespace = true | ||
|
||
[*.py] | ||
indent_size = 4 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
OPENSHOCK_API_DOMAIN=api.shocklink.net | ||
OPENSHOCK_FW_VERSION=0.0.0-unknown | ||
OPENSHOCK_FW_HOSTNAME=OpenShock | ||
OPENSHOCK_FW_AP_PREFIX=OpenShock- |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
# Included by WebUI/ (DO NOT RENAME THIS FILE!) | ||
# Intended for development builds (locally). | ||
LOG_LEVEL=VERBOSE | ||
OPENSHOCK_FW_VERSION=0.0.0-local |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
# Included by WebUI/ (DO NOT RENAME THIS FILE!) | ||
# Intended for all CI firmware builds. | ||
LOG_LEVEL=INFO |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,123 @@ | ||
name: 'Bug Report' | ||
description: "Something isn't working as expected." | ||
title: '[Bug] ' | ||
labels: ['type: bug', 'status: triage'] | ||
projects: ['OpenShock/3'] | ||
|
||
body: | ||
|
||
- type: markdown | ||
attributes: | ||
value: | | ||
# Checklist | ||
- type: checkboxes | ||
id: checklist | ||
attributes: | ||
label: Pre-submission checklist | ||
description: | | ||
To prevent wasting your or our time, please fill out the below checklist before continuing. | ||
Thanks for understanding! | ||
options: | ||
- label: 'I checked that no other Bug Report describing my problem exists.' | ||
required: true | ||
- label: 'I am running the latest stable or prerelease firmware.' | ||
required: true | ||
- label: 'My board is on the [list of maintained boards](https://wiki.openshock.org/hardware/boards/#fully-maintained).' | ||
required: true | ||
- label: 'I accept that this issue may be closed if any of the above are found to be untrue.' | ||
required: true | ||
|
||
- type: markdown | ||
attributes: | ||
value: | | ||
# Board & Firmware | ||
- type: input | ||
id: board | ||
attributes: | ||
label: Board | ||
description: What board are you using? | ||
placeholder: 'E.g.: Wemos Lolin S3, Pishock 2023, ..' | ||
validations: | ||
required: True | ||
|
||
- type: input | ||
id: firmware-version | ||
attributes: | ||
label: 'Firmware version' | ||
description: Which firmware version did you flash? | ||
placeholder: 'E.g.: 1.2.4, 1.0.0-rc.4, 0.0.0-develop, ..' | ||
validations: | ||
required: true | ||
|
||
- type: textarea | ||
id: flashing-method | ||
attributes: | ||
label: 'Flashing method' | ||
description: Briefly describe how you flashed your firmware. | ||
placeholder: | | ||
Examples: | ||
- I used the web flash tool. | ||
- I used the downloaded flash tool. | ||
- I used a different tool, namely: ... | ||
- I ran this command: ... | ||
validations: | ||
required: true | ||
|
||
- type: markdown | ||
attributes: | ||
value: | | ||
# What happened? | ||
- type: textarea | ||
id: what-happened | ||
attributes: | ||
label: 'Describe what happened as precisely as possible.' | ||
validations: | ||
required: true | ||
|
||
- type: markdown | ||
attributes: | ||
value: | | ||
# What did you expect to happen? | ||
- type: textarea | ||
id: what-did-you-expect | ||
attributes: | ||
label: 'Describe what you expected to happen instead.' | ||
validations: | ||
required: true | ||
|
||
- type: markdown | ||
attributes: | ||
value: | | ||
# Steps to reproduce | ||
- type: textarea | ||
id: how-to-reproduce | ||
attributes: | ||
label: 'In as much detail as possible, describe the exact steps you took to make the problem appear.' | ||
description: | | ||
If we can't reproduce the problem, we won't be able to figure out how to fix it either! | ||
Make sure to be as precise as you can. | ||
placeholder: | | ||
For example: | ||
1. Connect to the OpenShock wifi network | ||
2. Visit `http://10.10.10.10/` | ||
3. Click a WiFi network | ||
4. Everything explodes! | ||
validations: | ||
required: true | ||
|
||
- type: markdown | ||
attributes: | ||
value: | | ||
# Anything else? | ||
- type: textarea | ||
id: anything-else | ||
attributes: | ||
label: 'Other remarks' | ||
validations: | ||
required: false |
Oops, something went wrong.