foxBMS - Unit Tests
1.5.0
The foxBMS Unit Tests API Documentation
version_cfg.h
Go to the documentation of this file.
1
/**
2
*
3
* @copyright © 2010 - 2023, Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V.
4
* All rights reserved.
5
*
6
* SPDX-License-Identifier: BSD-3-Clause
7
*
8
* Redistribution and use in source and binary forms, with or without
9
* modification, are permitted provided that the following conditions are met:
10
*
11
* 1. Redistributions of source code must retain the above copyright notice, this
12
* list of conditions and the following disclaimer.
13
*
14
* 2. Redistributions in binary form must reproduce the above copyright notice,
15
* this list of conditions and the following disclaimer in the documentation
16
* and/or other materials provided with the distribution.
17
*
18
* 3. Neither the name of the copyright holder nor the names of its
19
* contributors may be used to endorse or promote products derived from
20
* this software without specific prior written permission.
21
*
22
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
23
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
24
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
25
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
26
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
27
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
28
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
29
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
30
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
31
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
32
*
33
* We kindly request you to use one or more of the following phrases to refer to
34
* foxBMS in your hardware, software, documentation or advertising materials:
35
*
36
* - ″This product uses parts of foxBMS®″
37
* - ″This product includes parts of foxBMS®″
38
* - ″This product is derived from foxBMS®″
39
*
40
*/
41
42
/**
43
* @file version_cfg.h
44
* @author foxBMS Team
45
* @date 2021-07-14 (date of creation)
46
* @updated 2023-02-03 (date of last update)
47
* @version v1.5.0
48
* @ingroup GENERAL
49
* @prefix VER
50
*
51
* @brief Header file for the version information that is generated by the toolchain
52
*
53
*/
54
55
#ifndef FOXBMS__VERSION_CFG_H_
56
#define FOXBMS__VERSION_CFG_H_
57
58
/*========== Includes =======================================================*/
59
60
#include <stdbool.h>
61
#include <stdint.h>
62
63
/*========== Macros and Definitions =========================================*/
64
/** maximum length of the string #VER_VERSION_s::gitRemote
65
*
66
* Has to be in line with the value in f_ti_arm_cgt.py!
67
*/
68
#define VER_VERSION_STRUCT_MAXIMUM_REMOTE_STRING_LENGTH (128u)
69
70
/** maximum length of the string #VER_VERSION_s::commitHash
71
*
72
* Has to be in line with the value in f_ti_arm_cgt.py!
73
*/
74
#define VER_VERSION_STRUCT_MAXIMUM_COMMIT_HASH_LENGTH (9u)
75
76
/** macro for an attribute that tells the linker script where to place the version information */
77
#define VER_VERSION_INFORMATION __attribute__((section(".versionInformation"
)))
78
79
/** struct type that describes the version information of the system */
80
typedef
struct
{
81
const
bool
underVersionControl
;
/*!< indicates whether the toolchain has detected version control */
82
const
bool
isDirty
;
/*!< indicates whether the code deviates from the last versioned state */
83
const
uint8_t
major
;
/*!< major release version */
84
const
uint8_t
minor
;
/*!< minor release version */
85
const
uint8_t
patch
;
/*!< patch release version */
86
const
uint16_t
distanceFromLastRelease
;
/*!< distance in commits from the last tagged release in version control */
87
const
char
commitHash[
VER_VERSION_STRUCT_MAXIMUM_COMMIT_HASH_LENGTH
];
/*!< hash of the last commit */
88
const
char
gitRemote
89
[
VER_VERSION_STRUCT_MAXIMUM_REMOTE_STRING_LENGTH
];
/*!< address of the git remote linked in the repository */
90
}
VER_VERSION_s
;
91
92
/*========== Extern Constant and Variable Declarations ======================*/
93
/** version information of the system */
94
extern
const
VER_VERSION_s
ver_foxbmsVersionInformation
;
95
96
/*========== Extern Function Prototypes =====================================*/
97
98
/*========== Externalized Static Functions Prototypes (Unit Test) ===========*/
99
#ifdef UNITY_UNIT_TEST
100
#endif
101
102
#endif
/* FOXBMS__VERSION_CFG_H_ */
VER_VERSION_s
Definition:
version_cfg.h:80
VER_VERSION_s::isDirty
const bool isDirty
Definition:
version_cfg.h:82
VER_VERSION_s::major
const uint8_t major
Definition:
version_cfg.h:83
VER_VERSION_s::underVersionControl
const bool underVersionControl
Definition:
version_cfg.h:81
VER_VERSION_s::minor
const uint8_t minor
Definition:
version_cfg.h:84
VER_VERSION_s::patch
const uint8_t patch
Definition:
version_cfg.h:85
VER_VERSION_s::distanceFromLastRelease
const uint16_t distanceFromLastRelease
Definition:
version_cfg.h:86
ver_foxbmsVersionInformation
const VER_VERSION_s ver_foxbmsVersionInformation
Definition:
test_can_cbs_tx_debug-response.c:81
VER_VERSION_STRUCT_MAXIMUM_REMOTE_STRING_LENGTH
#define VER_VERSION_STRUCT_MAXIMUM_REMOTE_STRING_LENGTH
Definition:
version_cfg.h:68
VER_VERSION_STRUCT_MAXIMUM_COMMIT_HASH_LENGTH
#define VER_VERSION_STRUCT_MAXIMUM_COMMIT_HASH_LENGTH
Definition:
version_cfg.h:74
src
app
main
include
config
version_cfg.h
Generated by
1.9.1