18Version ::Version(
const char*
const compName)
29Version ::~Version() {}
33 this->m_enable = enable;
36 this->fwVersion_tlm();
37 this->projectVersion_tlm();
38 this->libraryVersion_tlm();
44void Version ::getVersion_handler(
FwIndexType portNum,
49 U8 version_slot = VersionSlot(version_id.
e);
50 version_string = this->verId_db[version_slot].getversion_value();
51 status = this->verId_db[version_slot].getversion_status();
54void Version ::setVersion_handler(
FwIndexType portNum,
59 VersionSlot ver_slot = VersionSlot(version_id.
e);
60 this->verId_db[ver_slot].setversion_enum(version_id);
61 this->verId_db[ver_slot].setversion_value(version_string);
62 this->verId_db[ver_slot].setversion_status(status);
63 this->m_num_custom_elements++;
64 this->customVersion_tlm(ver_slot);
82 switch (version_type) {
84 this->projectVersion_tlm();
88 this->fwVersion_tlm();
92 this->libraryVersion_tlm();
96 this->customVersion_tlm_all();
100 this->projectVersion_tlm();
101 this->fwVersion_tlm();
102 this->libraryVersion_tlm();
103 this->customVersion_tlm_all();
116void Version ::fwVersion_tlm() {
118 this->log_ACTIVITY_LO_FrameworkVersion(fw_event);
120 this->tlmWrite_FrameworkVersion(fw_tlm);
124void Version ::projectVersion_tlm() {
126 this->log_ACTIVITY_LO_ProjectVersion(proj_event);
128 this->tlmWrite_ProjectVersion(proj_tlm);
132void Version ::libraryVersion_tlm() {
179void Version ::customVersion_tlm_all() {
182 Version::customVersion_tlm(VersionSlot(i));
187void Version ::customVersion_tlm(VersionSlot custom_slot) {
190 if ((this->verId_db[custom_slot].getversion_value() !=
"no_ver") &&
191 (this->m_num_custom_elements > 0)) {
194 this->log_ACTIVITY_LO_CustomVersions(this->verId_db[custom_slot].getversion_enum(),
195 this->verId_db[custom_slot].getversion_value());
197 if (m_enable ==
true) {
199 switch (custom_slot) {
201 this->tlmWrite_CustomVersion01(verId_db[custom_slot]);
204 this->tlmWrite_CustomVersion02(verId_db[custom_slot]);
207 this->tlmWrite_CustomVersion03(verId_db[custom_slot]);
210 this->tlmWrite_CustomVersion04(verId_db[custom_slot]);
213 this->tlmWrite_CustomVersion05(verId_db[custom_slot]);
216 this->tlmWrite_CustomVersion06(verId_db[custom_slot]);
219 this->tlmWrite_CustomVersion07(verId_db[custom_slot]);
222 this->tlmWrite_CustomVersion08(verId_db[custom_slot]);
225 this->tlmWrite_CustomVersion09(verId_db[custom_slot]);
228 this->tlmWrite_CustomVersion10(verId_db[custom_slot]);
uint8_t U8
8-bit unsigned integer
PlatformIndexType FwIndexType
C++-compatible configuration header for fprime configuration.
@ OK
Command successfully executed.
void setversion_status(Svc::VersionStatus::T version_status)
Set member version_status.
void setversion_value(const Fw::StringBase &version_value)
Set member version_value.
@ NUM_CONSTANTS
The number of enumerated constants.
bool isValid() const
Check raw enum value for validity.
Auto-generated base for Version component.
Tracks versions for project, framework and user defined versions etc.
@ ENABLED
verbosity enabled
void config(bool enable)
configure version's verbosity and startup
An enumeration for version status.
@ FAILURE
Failure to get version.
An enumeration for Version Type.
bool isValid() const
Check raw enum value for validity.
@ FRAMEWORK
framework version
static const char *const LIBRARY_VERSIONS[]
static const char *const PROJECT_VERSION
static const FwIndexType LIBRARY_VERSIONS_COUNT
static const char *const FRAMEWORK_VERSION