bigtreetech / MMU2-DIP

MMU 3-axis stepper control
31 stars 13 forks source link

firmware.hex #10

Open nonaak opened 3 years ago

nonaak commented 3 years ago

where can i find firmware.hex? or do i have to make it my self in platformIO?

Marlin display say "update mmu firmware" or do i somthing wrong? i folow the youtube of Chris Riley

thanks

ellensp commented 2 years ago

Marlin has function

/* 
* Check if MMU has compatible firmware
 */
void MMU2::check_version() {
  if (buildnr < MMU_REQUIRED_FW_BUILDNR) {
    SERIAL_ERROR_MSG("Invalid MMU2 firmware. Version >= " STRINGIFY(MMU_REQUIRED_FW_BUILDNR) " required.");
    kill(GET_TEXT_F(MSG_KILL_MMU2_FIRMWARE));
  }
}

so it the firmware value read form the mmu2 is less than MMU_REQUIRED_FW_BUILDNR It will tell you to update the firmware

In Marlin MMU_REQUIRED_FW_BUILDNR is set with

#define MMU_REQUIRED_FW_BUILDNR TERN(MMU2_MODE_12V, 132, 126)

Which says set MMU_REQUIRED_FW_BUILDNR to 132 if MMU2_MODE_12V is set Otherwise set it to 126

This is set in MMU2-DIP source MMU2/src/version.h static const uint16_t fw_buildnr = 133; //!< number of commits preceeding current HEAD

This is correct, so you have old firmware on your mmu2

ellensp commented 2 years ago

You build the firmware from source. This is required to set the type of stepper driver and stepper driver current