No printer attached with custom built firmware

Hi everyone. I recently changed to hall effect endstops on my primo, and after changing and recompiling the firmware, I only get “No printer attached” messages on the TFT at every baudrate. This is on an SKR Pro 1.2. Does anyone have an idea as to what may be going wrong?

My config file:

#!/bin/bash

set -e

restore_configs

export V1_VERSION=${V1_VERSION}D-custom

$CFGDIR/V1CNC_SkrPro_Dual_2209

opt_set CUSTOM_MACHINE_NAME "\"V1CNC ${V1_VERSION} B3P\""


opt_set X_BED_SIZE "600"
opt_set Y_BED_SIZE "600"

opt_set X_MIN_ENDSTOP_HIT_STATE LOW
opt_set Y_MIN_ENDSTOP_HIT_STATE LOW
opt_set X_MAX_ENDSTOP_HIT_STATE LOW # X2
opt_set Y_MAX_ENDSTOP_HIT_STATE LOW # Y2

export PLATFORMIO_ENV=BTT_SKR_PRO

Regards,
Rockfish

2 Likes

Welll… I just acquired a second-hand MPCNC Primo, so no in-depth knowledge here, but still, my 2 cents:
I would first check that all necessary cabling is firmly in place, to rule out any faulty connections.
Second, I’d double check the firmware (version, compatibility, configuration). If you still have the old firmware, you might reflash that and see if things start working again. It would at least rule out one possible problem.

1 Like

Echoing @NoTrebel here.

I would start by re-installing the original V1 firmware (it’s as simple as inserting an SD card and turning the machine on).

If the error message continues, it’s most likely a wiring problem.

If the error message goes away, I would try modifying and compiling your Configuration.h and Adv_Configuration.h files from the original V1 firmware in an incremental manner, checking for error messages at each stage.

@Bartman @NoTrebel I had the original firmware before this, and, though I’m not 100% on it, I think the message wasn’t there. Regardless of the message being there or not, I could select jobs just fine from the TFT. This doesn’t work anymore, even though the console and moving/homing via the TFT work.

I don’t really understand how the options I chose could affect the firmware in this way. I will try without X_BED_SIZE and Y_BED_SIZE once I get the chance.

EDIT: I just compiled the following:

#!/bin/bash

set -e

restore_configs

export V1_VERSION=${V1_VERSION}D-custom

$CFGDIR/V1CNC_SkrPro_Dual_2209

opt_set CUSTOM_MACHINE_NAME "\"V1CNC ${V1_VERSION} B3P\""

opt_set X_MIN_ENDSTOP_HIT_STATE LOW
opt_set Y_MIN_ENDSTOP_HIT_STATE LOW
opt_set X_MAX_ENDSTOP_HIT_STATE LOW # X2
opt_set Y_MAX_ENDSTOP_HIT_STATE LOW # Y2

export PLATFORMIO_ENV=BTT_SKR_PRO

Now it works. Seems like the bed size options were the problem. Time to investigate a little further…

1 Like

After further investigations, it wasn’t initially working, only after I sent M115. It seems the TFT has problems communicating for some reason. Maybe it’s waiting on an initial message from the SKR Pro?

Seems like commenting out the bed size was not a fix. I’m starting to think it might have to do with me switching to PLATFORMIO_ENV=BTT_SKR_PRO since PLATFORMIO_ENV=BIGTREE_SKR_PRO was producing an error when compiling.

In the newer versions of the builder on GitHub, the following is used


if [ ${MARLIN_CONFIG_VERSION} -gt 02010205 ]; then
  export PLATFORMIO_ENV=BTT_SKR_PRO
  echo "Marlin > 2.1.2.5"
else
  export PLATFORMIO_ENV=BIGTREE_SKR_PRO
  echo "Marlin <= 2.1.2.5"
fi

Guess I’ll try syncing with upstream and compiling again. :laughing:

Regards,
Rockfish

After some experimenting, it seems thePLATFORMIO_ENV wasn’t it either. I rebased, and then my G92 Z[...] was being ignored in my gcode files. After switching to setting the offset with M206 & M500 in the EEPROM, I don’t need G92 Z[...] anymore.

I tried setting STARTUP_COMMANDS to M115 fix the TFT not detecting the SKR, but it seems the command runs before the TFT finishes starting up.

Strange.