Report detected MMU version in the Support menu
It was just subtly broken, all the functionality had already been implemented.
This commit is contained in:
parent
121d43f896
commit
dab26fe50b
|
|
@ -146,7 +146,7 @@ public:
|
||||||
/// In the future we'll return the trully detected FW version
|
/// In the future we'll return the trully detected FW version
|
||||||
Version GetMMUFWVersion()const {
|
Version GetMMUFWVersion()const {
|
||||||
if( State() == xState::Active ){
|
if( State() == xState::Active ){
|
||||||
return { 2, 0, 0 };
|
return { logic.MmuFwVersionMajor(), logic.MmuFwVersionMinor(), logic.MmuFwVersionBuild() };
|
||||||
} else {
|
} else {
|
||||||
return { 0, 0, 0};
|
return { 0, 0, 0};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -145,7 +145,8 @@ StepStatus StartSeq::Step() {
|
||||||
// solve initial handshake
|
// solve initial handshake
|
||||||
switch (state) {
|
switch (state) {
|
||||||
case State::S0Sent: // received response to S0 - major
|
case State::S0Sent: // received response to S0 - major
|
||||||
if (logic->rsp.paramValue != 2) {
|
logic->mmuFwVersionMajor = logic->rsp.paramValue;
|
||||||
|
if (logic->mmuFwVersionMajor != 2) {
|
||||||
return VersionMismatch;
|
return VersionMismatch;
|
||||||
}
|
}
|
||||||
logic->dataTO.Reset(); // got meaningful response from the MMU, stop data layer timeout tracking
|
logic->dataTO.Reset(); // got meaningful response from the MMU, stop data layer timeout tracking
|
||||||
|
|
@ -153,14 +154,16 @@ StepStatus StartSeq::Step() {
|
||||||
state = State::S1Sent;
|
state = State::S1Sent;
|
||||||
break;
|
break;
|
||||||
case State::S1Sent: // received response to S1 - minor
|
case State::S1Sent: // received response to S1 - minor
|
||||||
if (logic->rsp.paramValue != 0) {
|
logic->mmuFwVersionMinor = logic->rsp.paramValue;
|
||||||
|
if (logic->mmuFwVersionMinor != 0) {
|
||||||
return VersionMismatch;
|
return VersionMismatch;
|
||||||
}
|
}
|
||||||
logic->SendMsg(RequestMsg(RequestMsgCodes::Version, 2));
|
logic->SendMsg(RequestMsg(RequestMsgCodes::Version, 2));
|
||||||
state = State::S2Sent;
|
state = State::S2Sent;
|
||||||
break;
|
break;
|
||||||
case State::S2Sent: // received response to S2 - revision
|
case State::S2Sent: // received response to S2 - revision
|
||||||
if (logic->rsp.paramValue != 0) {
|
logic->mmuFwVersionBuild = logic->rsp.paramValue;
|
||||||
|
if (logic->mmuFwVersionBuild != 0) {
|
||||||
return VersionMismatch;
|
return VersionMismatch;
|
||||||
}
|
}
|
||||||
// Start General Interrogation after line up.
|
// Start General Interrogation after line up.
|
||||||
|
|
|
||||||
|
|
@ -227,15 +227,26 @@ public:
|
||||||
Buttons Button() const { return buttonCode; }
|
Buttons Button() const { return buttonCode; }
|
||||||
|
|
||||||
uint8_t CommandInProgress()const;
|
uint8_t CommandInProgress()const;
|
||||||
|
|
||||||
inline bool Running()const {
|
inline bool Running()const {
|
||||||
return state == State::Running;
|
return state == State::Running;
|
||||||
}
|
}
|
||||||
|
|
||||||
inline bool FindaPressed() const {
|
inline bool FindaPressed() const {
|
||||||
return findaPressed;
|
return findaPressed;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
inline uint8_t MmuFwVersionMajor() const {
|
||||||
|
return mmuFwVersionMajor;
|
||||||
|
}
|
||||||
|
|
||||||
|
inline uint8_t MmuFwVersionMinor() const {
|
||||||
|
return mmuFwVersionMinor;
|
||||||
|
}
|
||||||
|
|
||||||
|
inline uint16_t MmuFwVersionBuild() const {
|
||||||
|
return mmuFwVersionBuild;
|
||||||
|
}
|
||||||
#ifndef UNITTEST
|
#ifndef UNITTEST
|
||||||
private:
|
private:
|
||||||
#endif
|
#endif
|
||||||
|
|
@ -305,9 +316,12 @@ private:
|
||||||
Buttons buttonCode; ///< Last received button from the MMU.
|
Buttons buttonCode; ///< Last received button from the MMU.
|
||||||
|
|
||||||
uint8_t lastFSensor; ///< last state of filament sensor
|
uint8_t lastFSensor; ///< last state of filament sensor
|
||||||
|
|
||||||
bool findaPressed;
|
bool findaPressed;
|
||||||
|
|
||||||
|
uint8_t mmuFwVersionMajor, mmuFwVersionMinor;
|
||||||
|
uint16_t mmuFwVersionBuild;
|
||||||
|
|
||||||
friend class ProtocolLogicPartBase;
|
friend class ProtocolLogicPartBase;
|
||||||
friend class Stopped;
|
friend class Stopped;
|
||||||
friend class Command;
|
friend class Command;
|
||||||
|
|
|
||||||
|
|
@ -1706,7 +1706,7 @@ static void lcd_support_menu()
|
||||||
{
|
{
|
||||||
lcd_set_cursor(6, menu_row);
|
lcd_set_cursor(6, menu_row);
|
||||||
MMU2::Version mmu_version = MMU2::mmu2.GetMMUFWVersion();
|
MMU2::Version mmu_version = MMU2::mmu2.GetMMUFWVersion();
|
||||||
if ((mmu_version.major > 0) && (mmu_version.build > 0))
|
if (mmu_version.major > 0)
|
||||||
lcd_printf_P(PSTR("%d.%d.%d"), mmu_version.major, mmu_version.minor, mmu_version.build);
|
lcd_printf_P(PSTR("%d.%d.%d"), mmu_version.major, mmu_version.minor, mmu_version.build);
|
||||||
else
|
else
|
||||||
lcd_puts_P(_i("unknown")); ////MSG_UNKNOWN c=13
|
lcd_puts_P(_i("unknown")); ////MSG_UNKNOWN c=13
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue