Added minimum firmware version warning for WCH-LinkE debug tools
This commit is contained in:
@@ -52,10 +52,8 @@ namespace DebugToolDrivers::Wch::Protocols::WchLink
|
|||||||
};
|
};
|
||||||
|
|
||||||
return DeviceInfo{
|
return DeviceInfo{
|
||||||
WchFirmwareVersion{response.payload[0], response.payload[1]},
|
.firmwareVersion = WchFirmwareVersion{.major = response.payload[0], .minor = response.payload[1]},
|
||||||
response.payload.size() >= 4
|
.variant = response.payload.size() >= 4 ? variantsById.valueAt(response.payload[2]) : std::nullopt
|
||||||
? variantsById.valueAt(response.payload[2])
|
|
||||||
: std::nullopt
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -11,13 +11,7 @@ namespace DebugToolDrivers::Wch
|
|||||||
std::uint8_t major = 0;
|
std::uint8_t major = 0;
|
||||||
std::uint8_t minor = 0;
|
std::uint8_t minor = 0;
|
||||||
|
|
||||||
WchFirmwareVersion() = default;
|
[[nodiscard]] std::string toString() const {
|
||||||
WchFirmwareVersion(std::uint8_t major, std::uint8_t minor)
|
|
||||||
: major{major}
|
|
||||||
, minor{minor}
|
|
||||||
{}
|
|
||||||
|
|
||||||
std::string toString() const {
|
|
||||||
return std::to_string(this->major) + "." + std::to_string(this->minor);
|
return std::to_string(this->major) + "." + std::to_string(this->minor);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -82,7 +82,17 @@ namespace DebugToolDrivers::Wch
|
|||||||
}
|
}
|
||||||
|
|
||||||
void WchLinkBase::postInit() {
|
void WchLinkBase::postInit() {
|
||||||
Logger::info("WCH-Link firmware version: " + this->getDeviceInfo().firmwareVersion.toString());
|
const auto& deviceInfo = this->getDeviceInfo();
|
||||||
|
|
||||||
|
constexpr auto MIN_VERSION = WchFirmwareVersion{.major = 2, .minor = 9};
|
||||||
|
if (deviceInfo.firmwareVersion < MIN_VERSION) {
|
||||||
|
Logger::warning(
|
||||||
|
"WCH-Link firmware version (" + deviceInfo.firmwareVersion.toString() + ") may not be compatible with"
|
||||||
|
" Bloom. A minimum version of " + MIN_VERSION.toString() + " is required."
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
Logger::info("WCH-Link firmware version: " + deviceInfo.firmwareVersion.toString());
|
||||||
}
|
}
|
||||||
|
|
||||||
bool WchLinkBase::isInitialised() const {
|
bool WchLinkBase::isInitialised() const {
|
||||||
|
|||||||
Reference in New Issue
Block a user