Skip to content

Commit

Permalink
Minor release of foxBMS 2 (v1.8.0)
Browse files Browse the repository at this point in the history
* This version of foxBMS bundles with new hardware releases, most importantly
  a new BMS-Master. The BMS-Master version is bumped to ``v1.2.2``.
  For details on the BMS-Master see the changelog and the documentation.
* The BMS-Master now comes with a streamlined supply concept, which only
  requires a single SBC and therefby making the hard- and software simpler.
  Detail on the SBC configuration, which must be flashed on the SBC prior to
  PCB assembly, are also found in the documentation.
  Now the CAN1 Enable and Standby signals have been wired directly to the MCU,
  instead of using I2C based port expander.
  To achieve software compatibility with older BMS-Master releases see
  the documentation.
Further, new releases for all |bms-slaves| have been added.
* Updated the Python environment (``2025-01-pale-fox``).
  See the documentation on how to install the update locally.
* This commit introduces changes that are required for the bootloader.
  **The actual bootloader is not included in this commit.**
* Changed the behavior of the ``BMS`` state machine.
  After startup, the reception of ``STANDBY`` request (CAN message
  ``f_BmsStateRequest``) is now necessary to enter BMS ``STANDBY``.
* Improved the consistency of the CAN driver implementation.
* Invalid flags in the CAN messages ``f_CellVoltages`` and
  ``f_CellTemperatures`` were transmitted inverted.
* Balancing information is now transmitted via CAN.
* The CAN1 enable and standby pins where moved from port expander 2 to discrete
  GPIOs.
* A dedicated CAN message for the transmission of fatal errors was added.
  Diagnosis  entries with a severity of ``DIAG_FATAL_ERROR`` lead to an opening
  of the contactors. This CAN message will be transmitted with a period of
  100ms as soon as an active fatal error has been detected, until the error is
  cleared again.
* The build commands have been streamlined.
  Consult the documentation for details.
* Upgraded FreeRTOS to V10.4.6.
* Improved unit test coverage.
* Improved various sections of the documentation.
* Fixed various bugs in ADES1830 AFE driver:
  * Invalid flags for cell temperatures were not set correctly.
  * Invalid flags for GPIO measurement values were not set correctly.
  * Diagnosis entry for ``DIAG_ID_AFE_COMMUNICATION_INTEGRITY`` was not called.
  * String and module voltage was previously not measured/calculated.

For a detailed list of changes, please refer to the documentation at
https://iisb-foxbms.iisb.fraunhofer.de/foxbms/gen2/docs/html/v1.8.0/general/changelog.html.
  • Loading branch information
foxBMS committed Dec 20, 2024
1 parent 5d9cfba commit f94839c
Show file tree
Hide file tree
Showing 1,336 changed files with 55,073 additions and 16,081 deletions.
44 changes: 24 additions & 20 deletions .clang-format
Original file line number Diff line number Diff line change
Expand Up @@ -4,13 +4,6 @@ Language: Cpp
AccessModifierOffset: -2
AlignAfterOpenBracket: AlwaysBreak
AlignArrayOfStructures: None
AlignConsecutiveMacros:
Enabled: true
AcrossEmptyLines: false
AcrossComments: false
AlignCompound: false
AlignFunctionPointers: false
PadOperators: false
AlignConsecutiveAssignments:
Enabled: true
AcrossEmptyLines: false
Expand All @@ -32,6 +25,13 @@ AlignConsecutiveDeclarations:
AlignCompound: false
AlignFunctionPointers: false
PadOperators: false
AlignConsecutiveMacros:
Enabled: true
AcrossEmptyLines: false
AcrossComments: false
AlignCompound: false
AlignFunctionPointers: false
PadOperators: false
AlignConsecutiveShortCaseStatements:
Enabled: false
AcrossEmptyLines: false
Expand All @@ -45,13 +45,13 @@ AlignTrailingComments:
AllowAllArgumentsOnNextLine: true
AllowAllParametersOfDeclarationOnNextLine: false
AllowBreakBeforeNoexceptSpecifier: Never
AllowShortBlocksOnASingleLine: false
AllowShortBlocksOnASingleLine: Never
AllowShortCaseLabelsOnASingleLine: false
AllowShortCompoundRequirementOnASingleLine: false
AllowShortEnumsOnASingleLine: false
AllowShortFunctionsOnASingleLine: InlineOnly
AllowShortLambdasOnASingleLine: All
AllowShortIfStatementsOnASingleLine: Never
AllowShortLambdasOnASingleLine: All
AllowShortLoopsOnASingleLine: false
AlwaysBreakAfterDefinitionReturnType: None
AlwaysBreakAfterReturnType: None
Expand All @@ -60,17 +60,18 @@ AlwaysBreakTemplateDeclarations: MultiLine
AttributeMacros: []
BinPackArguments: false
BinPackParameters: false
BitFieldColonSpacing: Both
BraceWrapping:
AfterCaseLabel: false
AfterClass: false
AfterControlStatement: Never
AfterEnum: false
AfterExternBlock: false
AfterFunction: false
AfterNamespace: false
AfterObjCDeclaration: false
AfterStruct: false
AfterUnion: false
AfterExternBlock: false
BeforeCatch: false
BeforeElse: false
BeforeLambdaBody: false
Expand All @@ -81,15 +82,15 @@ BraceWrapping:
SplitEmptyNamespace: true
BreakAdjacentStringLiterals: true
BreakAfterAttributes: Leave
BreakAfterJavaFieldAnnotations: false
BreakArrays: true
BreakBeforeBinaryOperators: None
BreakBeforeConceptDeclarations: true
BreakBeforeConceptDeclarations: Always
BreakBeforeBraces: Attach
BreakBeforeInlineASMColon: OnlyMultiline
BreakInheritanceList: BeforeColon
BreakBeforeTernaryOperators: true
BreakConstructorInitializers: BeforeColon
BreakAfterJavaFieldAnnotations: false
BreakInheritanceList: BeforeColon
BreakStringLiterals: true
ColumnLimit: 120
CommentPragmas: "^ IWYU pragma:"
Expand Down Expand Up @@ -140,12 +141,11 @@ IncludeCategories:
IncludeIsMainRegex: "(_cfg)?$"
IncludeIsMainSourceRegex: ""
IndentAccessModifiers: false
IndentCaseLabels: true
IndentCaseBlocks: false

IndentCaseLabels: true
IndentExternBlock: AfterExternBlock
IndentGotoLabels: true
IndentPPDirectives: None
IndentExternBlock: AfterExternBlock
IndentRequiresClause: true
IndentWidth: 4
IndentWrappedFunctionNames: false
Expand Down Expand Up @@ -184,8 +184,8 @@ PenaltyBreakScopeResolution: 500
PenaltyBreakString: 1000
PenaltyBreakTemplateDeclaration: 10
PenaltyExcessCharacter: 1000000
PenaltyReturnTypeOnItsOwnLine: 100000
PenaltyIndentedWhitespace: 0
PenaltyReturnTypeOnItsOwnLine: 100000
PointerAlignment: Right
PPIndentWidth: -1
QualifierAlignment: Leave
Expand All @@ -205,14 +205,14 @@ SortUsingDeclarations: LexicographicNumeric
SpaceAfterCStyleCast: false
SpaceAfterLogicalNot: false
SpaceAfterTemplateKeyword: true
SpaceAroundPointerQualifiers: Default
SpaceBeforeAssignmentOperators: true
SpaceBeforeCaseColon: false
SpaceBeforeCpp11BracedList: false
SpaceBeforeCtorInitializerColon: true
SpaceBeforeInheritanceColon: true
SpaceBeforeJsonColon: false
SpaceBeforeParens: ControlStatements
SpaceAroundPointerQualifiers: Default
SpaceBeforeParensOptions:
AfterControlStatements: true
AfterForeachMacros: true
Expand All @@ -225,6 +225,7 @@ SpaceBeforeParensOptions:
AfterRequiresInExpression: false
BeforeNonEmptyParentheses: false
SpaceBeforeRangeBasedForLoopColon: true
SpaceBeforeSquareBrackets: false
SpaceInEmptyBlock: false
SpacesBeforeTrailingComments: 2
SpacesInAngles: Never
Expand All @@ -233,9 +234,12 @@ SpacesInLineCommentPrefix:
Minimum: 1
Maximum: -1
SpacesInParens: Never
SpacesInParensOptions:
InCStyleCasts: false
InConditionalStatements: false
InEmptyParentheses: false
Other: false
SpacesInSquareBrackets: false
SpaceBeforeSquareBrackets: false
BitFieldColonSpacing: Both
Standard: Latest
StatementAttributeLikeMacros: []
StatementMacros: []
Expand Down
1 change: 1 addition & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
Expand Up @@ -34,3 +34,4 @@ tests/axivion/qualification-test/qualification-kit/**/*.py -diff -merge -text
*.jpg binary

*.sh text eol=lf
tests/cli/helpers/test_misc/checksum_test.txt eol=lf
6 changes: 3 additions & 3 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,6 +1,4 @@
/.vscode/
/src/.vscode/
/tests/unit/.vscode/
**/.vscode/
/build/
/build-tools-tests/
/*build/
Expand Down Expand Up @@ -35,6 +33,8 @@ dictionary.dic
file.log*
lex.txt

*.egg-info
dist/
__pycache__
.mypy_cache/
/qa-chain/*
Expand Down
Loading

0 comments on commit f94839c

Please sign in to comment.