Skip to content

Commit

Permalink
Minor release of foxBMS 2 (v1.4.0)
Browse files Browse the repository at this point in the history
* foxBMS 2 has been certified as open source hardware by the Open Source Hardware Association (OSHWA UID DE000128).
* Added AFE driver for the NXP monitoring IC MC33775A.
* Increased delay between chip select activation and start of SPI transmission and the delay between end of SPI transmission and chip select deactivation to avoid SPI transmission errors for AFEs.
* Activated CAN2 message boxes within the HALCoGen configuration.
* Updated Master board hardware reference to version v1.1.3.
* Several new unit tests have been added.
* Improved the Axivion configuration to ensure style guide conforming source code and fixed in the same step several style guide violations

For a detailed list of changes, please refer to the documentation at https://iisb-foxbms.iisb.fraunhofer.de/foxbms/gen2/docs/html/v1.4.0/general/changelog.html.
  • Loading branch information
foxBMS committed Jul 29, 2022
1 parent 2f7d75e commit 2525c1f
Show file tree
Hide file tree
Showing 676 changed files with 27,740 additions and 16,842 deletions.
2 changes: 1 addition & 1 deletion .clang-format
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ AlignAfterOpenBracket: AlwaysBreak
AlignArrayOfStructures: None # clang-bug
AlignConsecutiveMacros: Consecutive
AlignConsecutiveAssignments: true
AlignConsecutiveBitFields: None # TODO: !573
AlignConsecutiveBitFields: Consecutive
AlignConsecutiveDeclarations: false
AlignEscapedNewlines: Left
AlignOperands: Align
Expand Down
4 changes: 2 additions & 2 deletions CITATION.cff
Original file line number Diff line number Diff line change
Expand Up @@ -46,5 +46,5 @@ keywords:
- "BMS"
message: "If the foxBMS project contributes to a project that leads to a scientific publication, please acknowledge this fact by citing."
title: "foxBMS - The Most Advanced Open Source BMS Platform: foxBMS 2"
version: "1.3.0"
date-released: 2022-05-30
version: "1.4.0"
date-released: 2022-07-29
6 changes: 6 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,12 @@ Basically, the software is covered by the
and the hardware and documentation by the
[**Creative Commons Attribution 4.0 International License (SPDX short identifier: CC-BY-4.0)**](https://creativecommons.org/licenses/by/4.0/legalcode).

## Open Source Hardware Certification

foxBMS 2 has been certified as open source hardware by the
Open Source Hardware Association under the OSHWA UID
[DE000128](https://certification.oshwa.org/de000128.html).

## Acknowledgment

For funding acknowledgements and instructions on how to acknowledge foxBMS 2
Expand Down
7 changes: 4 additions & 3 deletions conf/bms/bms.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,8 @@
"slave-unit": {
"analog-front-end": {
"manufacturer": "ltc",
"chip": "6813-1"
"ic": "6813-1"
},
"balancing-strategy": "none",
"temperature-sensor": {
"manufacturer": "epcos",
"model": "b57251v5103j060",
Expand All @@ -16,15 +15,17 @@
"state-estimation": {
"soc": "counting",
"soe": "counting",
"sof": "trapezoid",
"soh": "none"
}
},
"balancing-strategy": "none",
"insulation-monitoring-device": {
"manufacturer": "bender",
"model": "iso165c"
}
},
"operating-system": {
"rtos": {
"name": "freertos"
}
}
20 changes: 20 additions & 0 deletions conf/bms/schema/application.schema.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
"title": "Configuration of the application",
"required": [
"algorithm",
"balancing-strategy",
"insulation-monitoring-device"
],
"additionalProperties": false,
Expand All @@ -20,6 +21,7 @@
"required": [
"soc",
"soe",
"sof",
"soh"
],
"properties": {
Expand All @@ -43,6 +45,14 @@
"none"
]
},
"sof": {
"$id": "/properties/application/algorithm/state-estimation/sof",
"title": "State-of-Function algorithm (must correspond to the directory name)",
"type": "string",
"enum": [
"trapezoid"
]
},
"soh": {
"$id": "/properties/application/algorithm/state-estimation/soh",
"title": "State-of-Health algorithm (must correspond to the directory name)",
Expand All @@ -56,6 +66,16 @@
}
}
},
"balancing-strategy": {
"$id": "/properties/application/balancing-strategy",
"title": "Balancing strategy",
"type": "string",
"enum": [
"voltage",
"history",
"none"
]
},
"insulation-monitoring-device": {
"$id": "/properties/application/insulation-monitoring-device",
"title": "Configuration of the used insulation measurement device",
Expand Down
6 changes: 3 additions & 3 deletions conf/bms/schema/bms.schema.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
"required": [
"application",
"slave-unit",
"operating-system"
"rtos"
],
"additionalProperties": false,
"properties": {
Expand All @@ -12,8 +12,8 @@
"slave-unit": {
"$ref": "slave.schema.json#"
},
"operating-system": {
"$ref": "os.schema.json#"
"rtos": {
"$ref": "rtos.schema.json#"
}
}
}
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
{
"$id": "/properties/operating-system",
"$id": "/properties/rtos",
"title": "Configuration of the Operating System",
"required": [
"name"
],
"additionalProperties": false,
"properties": {
"name": {
"$id": "/properties/operating-system/name",
"title": "Name of the Operating System (must correspond to the directory name)",
"$id": "/properties/rtos/name",
"title": "Name of the Real Time Operating System (must correspond to the directory name)",
"type": "string",
"enum": [
"freertos",
Expand Down
25 changes: 7 additions & 18 deletions conf/bms/schema/slave.schema.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@
"title": "Configuration of Slave Unit",
"required": [
"analog-front-end",
"balancing-strategy",
"temperature-sensor"
],
"additionalProperties": false,
Expand All @@ -13,7 +12,7 @@
"title": "Configuration of the Analog Front-End",
"required": [
"manufacturer",
"chip"
"ic"
],
"additionalProperties": false,
"properties": {
Expand All @@ -28,7 +27,7 @@
"debug"
]
},
"chip": {
"ic": {
"$id": "/properties/slave-unit/analog-front-end/chip",
"title": "Name of the Analog Front-End (must correspond to the directory name)",
"type": "string"
Expand All @@ -45,7 +44,7 @@
},
"then": {
"properties": {
"chip": {
"ic": {
"enum": [
"6804-1",
"6806",
Expand All @@ -68,9 +67,9 @@
},
"then": {
"properties": {
"chip": {
"ic": {
"enum": [
"common"
"mc33775a"
]
}
}
Expand All @@ -87,7 +86,7 @@
},
"then": {
"properties": {
"chip": {
"ic": {
"enum": [
"max17852"
]
Expand All @@ -106,7 +105,7 @@
},
"then": {
"properties": {
"chip": {
"ic": {
"enum": [
"default"
]
Expand All @@ -117,16 +116,6 @@
}
}
},
"balancing-strategy": {
"$id": "/properties/slave-unit/balancing-strategy",
"title": "Balancing strategy",
"type": "string",
"enum": [
"voltage",
"history",
"none"
]
},
"temperature-sensor": {
"$id": "/properties/slave-unit/temperature-sensor",
"title": "Configuration of the temperature sensor",
Expand Down
42 changes: 31 additions & 11 deletions conf/guidelines/rules.json
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,7 @@
"docs/_ext/**",
"foxbms/**",
"libbuild/**",
"src/app/driver/afe/nxp/mc33775a/vendor/**",
"src/app/driver/sbc/fs8x_driver/**",
"src/os/freertos/**/*.asm",
"src/os/freertos/**/*.c",
Expand Down Expand Up @@ -75,8 +76,7 @@
"conf/hcg/**/*.c",
"conf/hcg/**/*.cmd",
"conf/hcg/**/*.h",
"LICENSE.md",
"src/app/driver/afe/nxp/common/MC33775A.h",
"**/LICENSE.md",
"src/os/freertos/README.ti-halcogen.md"
]
},
Expand All @@ -88,7 +88,11 @@
"**/.gitignore",
"**/__init__.py",
"**/README.md",
"**/wscript"
"**/wscript",
"tests/axivion/addon-test/**/ok.c",
"tests/axivion/addon-test/test_unique_filename/**",
"tests/axivion/addon-test/test_*/**",
"tools/gui/LICENSE.md"
]
},
"encoding": {
Expand All @@ -109,6 +113,12 @@
},
{
"src/**/*.cmd": "ascii"
},
{
"tests/axivion/addon-test/test_file_encoding/windows-1252.cpp": "windows-1252"
},
{
"tests/axivion/addon-test/test_file_encoding/latin1.cpp": "latin1"
}
]
},
Expand Down Expand Up @@ -139,7 +149,11 @@
},
"languages": {
"C": {
"exclude": [],
"exclude": [
"tests/axivion/addon-test/test_*/**",
"tests/axivion/config-test/**/*.c",
"tests/axivion/config-test/**/*.h"
],
"files": [
"**/*.c",
"**/*.h",
Expand All @@ -149,8 +163,8 @@
"name": "C:002",
"exclude": [
"src/app/driver/afe/ltc/common/ltc_pec.*",
"src/app/driver/afe/nxp/common/MC33775A.h",
"src/app/driver/sbc/fs8x_driver/**"
"src/app/driver/sbc/fs8x_driver/**",
"src/app/driver/afe/nxp/mc33775a/nxp_mc33775a-ll.*"
],
"text": [
"/**",
Expand Down Expand Up @@ -202,7 +216,7 @@
"docs/developer-manual/style-guide/examples/*.c",
"docs/developer-manual/style-guide/examples/*.h",
"src/app/driver/afe/ltc/common/ltc_pec.*",
"src/app/driver/afe/nxp/common/MC33775A.h",
"src/app/driver/afe/nxp/mc33775a/nxp_mc33775a-ll.*",
"src/app/driver/sbc/fs8x_driver/sbc_fs8x*.*",
"src/app/main/linker_script_elf.cmd",
"src/os/**"
Expand All @@ -229,7 +243,7 @@
],
"exclude": [
"src/app/driver/afe/ltc/common/ltc_pec.*",
"src/app/driver/afe/nxp/common/MC33775A.h",
"src/app/driver/afe/nxp/mc33775a/nxp_mc33775a-ll.h",
"src/app/driver/sbc/fs8x_driver/**",
"src/os/**"
],
Expand All @@ -245,7 +259,6 @@
"sections": {
"exclude": [
"src/app/driver/afe/ltc/common/ltc_pec.*",
"src/app/driver/afe/nxp/common/MC33775A.h",
"src/app/driver/sbc/fs8x_driver/**",
"src/app/main/linker_script_elf.cmd"
],
Expand Down Expand Up @@ -378,7 +391,11 @@
"comment-style": {
"name": "C:029",
"forbidden": "C99",
"exclude": []
"exclude": [
"tests/axivion/addon-test/**",
"tests/axivion/config-test/**/*.c",
"tests/axivion/config-test/**/*.h"
]
},
"formatting": {
"name": "C:031",
Expand All @@ -400,7 +417,9 @@
],
"header": {
"name": "PYTHON:002",
"exclude": [],
"exclude": [
"tests/axivion/addon/**"
],
"text": [
"#!/usr/bin/env python3",
"# -*- coding: utf-8 -*-",
Expand Down Expand Up @@ -461,6 +480,7 @@
"**/*waf3-**.*-*/**",
"**/c4che/**",
".vscode/**",
"tests/axivion/addon/**",
"tools/waf-tools/why.py"
]
}
Expand Down
Loading

0 comments on commit 2525c1f

Please sign in to comment.