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{
|
||||
WchFirmwareVersion{response.payload[0], response.payload[1]},
|
||||
response.payload.size() >= 4
|
||||
? variantsById.valueAt(response.payload[2])
|
||||
: std::nullopt
|
||||
.firmwareVersion = WchFirmwareVersion{.major = response.payload[0], .minor = response.payload[1]},
|
||||
.variant = response.payload.size() >= 4 ? variantsById.valueAt(response.payload[2]) : std::nullopt
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
@@ -11,13 +11,7 @@ namespace DebugToolDrivers::Wch
|
||||
std::uint8_t major = 0;
|
||||
std::uint8_t minor = 0;
|
||||
|
||||
WchFirmwareVersion() = default;
|
||||
WchFirmwareVersion(std::uint8_t major, std::uint8_t minor)
|
||||
: major{major}
|
||||
, minor{minor}
|
||||
{}
|
||||
|
||||
std::string toString() const {
|
||||
[[nodiscard]] std::string toString() const {
|
||||
return std::to_string(this->major) + "." + std::to_string(this->minor);
|
||||
}
|
||||
|
||||
|
||||
@@ -82,7 +82,17 @@ namespace DebugToolDrivers::Wch
|
||||
}
|
||||
|
||||
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 {
|
||||
|
||||
Reference in New Issue
Block a user