Franco Lanza Peter van der Walt I´m trying to test the Marlin<Kimba firmware in

@Franco_nextime_Lanza +Peter van der Walt
I´m trying to test the Marlin<Kimba firmware in a Ramps 1.4 with a diode laser and I am having problems with this firmware.

The pin D6 is connected to PWM and D9 to the laser driver power, 12Vdc.

I copy the files from: Documentation\Laser\K40_ramps_configs\K40_no_cooler_no_flowmeter
to:
\MK, before compile and load the firmware.

When the machine is stopped, the laser swich on byhimself, less send to the arduino any M3 command. The output D6 has 5V. If I send the M3 S0 command, the laser is swiched off, but in a few second, D6 has 5 V again by himself.
Only can swich off the laser with M3 S0 command. M5 Does not work for me, and I have no idea why.

Can someone know what is happening to my system?

Thanks in advance.

If you choose LASER_CONTROL 2 (the default for the config you are using ) it set when the PWM to max intensity by default, and rely on the laser driver power pin to start/stop fire.

So, when D9 is low, the laser should not fire, which seems to be not your case, as you seems to have D9 fixed on?

This is why alto M5 doesn’t work for you, as it just switch off D9.

To me it seems that you have a config where the laser can fire with a 1 pin only config, so, you should choose LASER_CONTROL 1 in Configuration_Laser.h

( i’m going to sleep, try that, let me know if that will works for you, or we will find a solution tomorrow )

HI.
If I choose laser control 1, there is a compilation error:

In file included from sketch\base.h:51:0,

             from C:\MK\MK.ino:204:

sketch\module/sanitycheck.h:1836:9: error: #error DEPENDENCY ERROR: You have to set LASER_CONTROL to 1 or 2

    #error DEPENDENCY ERROR: You have to set LASER_CONTROL to 1 or 2

The pin D9 has 0V if nothing is connected, and 12 V if a fun is connected. ^

Regards.

can you please try tiwh LASER_CONTROL 1 but using the latest updated version of today?

Now, my laser driver is connect to 12Vdc. I disconnected it from D9.
If define HIGH_TO_FIRE, there is the same. laser is on all the time.

yes, cause if you don’t define LASER_CONTROL to 1 it start at 255 power on PWM side

with the new files of today:

DEPENDENCY ERROR: You have to set LASER_PWR_PIN

And configuration pins, only has:

#if ENABLED(LASERBEAM)
#define LASER_PWR_PIN -1
#define LASER_TTL_PIN -1
#if ENABLED(LASER_PERIPHERALS)
#define LASER_PERIPHERALS_PIN -1
#define LASER_PERIPHERALS_STATUS_PIN -1
#endif
#endif

nothing for laser control 1 or 2

try to update, i just pushed a default for those pins using ramps (board 33 )

anyway, D5 is the one used for LASER_PWR_PIN and LASER_TTL_PIN should be -1 in defaults with LASER_CONTROL 1.

LASER_PWR_PIN is 6 and LASER_TTL_PIN is 5 for LASER_CONTROL 2

So, if you are using D6, you should move to use D5 or change LASER_PWR_PIN to 6 in MK/module/boards/33.h

Ok! Thanks. I will try it tomorrow.
Today I am in a working travel.

ok, let me know if it works or not, and thanks for your feedback that let me fix issues :slight_smile:

HI. With the last version of the kimbra,18664abd2b03a37c6b39a79c6092aaaa712cf98f,
the pololu steppers don´t work.
when I compile the firmaware appear this errors:
In file included from sketch\module/pins.h:230:0,

             from sketch\module/conditionals.h:253,

             from sketch\base.h:50,

             from D:\firmware\marlin kimbra 3\MK\MK.ino:211:

Configuration_Pins.h:1: error: unterminated #ifndef

#ifndef CONFIGURATION_PINS_H

In file included from sketch\base.h:51:0,

             from D:\firmware\marlin kimbra 3\MK\MK.ino:211:

sanitycheck.h:1954: error: #error “Z_RAISE_BEFORE_HOMING is deprecated. Use MIN_Z_HEIGHT_FOR_HOMING instead.”

 #error "Z_RAISE_BEFORE_HOMING is deprecated. Use MIN_Z_HEIGHT_FOR_HOMING instead."

  ^

exit status 1
unterminated #ifndef

On 33.h file, there is nothing about laser pins.

sorry for that, should be fixed now

lastest version of today.
error:

sketch\module\motion\planner.cpp: In function ‘void check_axes_activity()’:

sketch\module\motion\planner.cpp:425:21: error: ‘blocks_queued’ was not declared in this scope

if (blocks_queued()) {

                 ^

sketch\module\motion\planner.cpp: In function ‘void plan_buffer_line(const float&, const float&, const float&, const float&, float, uint8_t, uint8_t)’:

sketch\module\motion\planner.cpp:937:35: error: ‘movesplanned’ was not declared in this scope

int moves_queued = movesplanned();

Ok. i must be more carefull when i merge changes from marlinkimbra upstream: let me fix all errors, test builds and from now in future i will avoid to merge without checking from upstream.

OK then, now all should be fixed, try now and let me know if it works

Arduino:1.6.9 (Windows XP), Tarjeta:“Arduino/Genuino Mega or Mega 2560 256 serialbuf, ATmega2560 (Mega 2560)”

sketch\module\motion\planner.cpp: In function ‘void check_axes_activity()’:

sketch\module\motion\planner.cpp:421:47: error: ‘laser_ttl_modulation’ was not declared in this scope

 unsigned char tail_laser_ttl_modulation = laser_ttl_modulation;

                                           ^

sketch\module\motion\planner.cpp:425:21: error: ‘blocks_queued’ was not declared in this scope

if (blocks_queued()) {

                 ^

sketch\module\motion\planner.cpp:434:61: error: ‘struct block_t’ has no member named ‘laser_ttlmodulation’

   tail_laser_ttl_modulation = block_buffer[block_index].laser_ttlmodulation;

                                                         ^

sketch\module\motion\planner.cpp: In function ‘void plan_buffer_line(const float&, const float&, const float&, const float&, float, uint8_t, uint8_t)’:

sketch\module\motion\planner.cpp:652:12: error: ‘struct block_t’ has no member named ‘laser_ttlmodulation’

 block->laser_ttlmodulation = laser_ttl_modulation;

        ^

sketch\module\motion\planner.cpp:652:34: error: ‘laser_ttl_modulation’ was not declared in this scope

 block->laser_ttlmodulation = laser_ttl_modulation;

                              ^

sketch\module\motion\planner.cpp:937:35: error: ‘movesplanned’ was not declared in this scope

int moves_queued = movesplanned();

                               ^

Roberto: you are using an old version, please update to the latest version: motion/planner.cpp doesn’t even exists in recent versions

Also, please take care to use a recent arduino ide.

Anyway, first of all, try to build the latest version only, the version you are using is at least a week old now :slight_smile:

hello.
My ide version is 1.6.9, and with the actual version of kimbra the motors are stopped all the time.
message from Pronterface:
[ERROR] Error:, system stopped! Heater_ID: 0

Error:Printer halted. kill() called!
[ERROR] Error:Printer halted. kill() called!
this was the test 1.

test 2: compiling the files copied from Documentation\Laser\K40_ramps_configs\K40_no_cooler_no_flowmeter
to
\MK

follow this error:

Arduino:1.6.9 (Windows XP), Tarjeta:“Arduino/Genuino Mega or Mega 2560 256 serialbuf, ATmega2560 (Mega 2560)”

In file included from sketch\module\temperature../…/base.h:50:0,

             from sketch\module\temperature\temperature.cpp:43:

sketch\module\temperature../…/module/temperature/thermistortables.h:1155:22: error: ‘temptable_25’ was not declared in this scope

#define TT_NAME(_N) temptable ## _N

                  ^

sketch\module\temperature../…/module/conditionals.h:688:48: note: in definition of macro ‘ARRAY_BY_HOTENDS’

 #define ARRAY_BY_HOTENDS(v1, v2, v3, v4) { v1 }

                                            ^

sketch\module\temperature../…/module/temperature/thermistortables.h:1156:21: note: in expansion of macro ‘_TT_NAME’

#define TT_NAME(_N) _TT_NAME(_N)

                 ^

sketch\module\temperature../…/module/temperature/thermistortables.h:1159:30: note: in expansion of macro ‘TT_NAME’

#define HEATER_0_TEMPTABLE TT_NAME(THERMISTORHEATER_0)

                          ^

sketch\module\temperature\temperature.cpp:267:68: note: in expansion of macro ‘HEATER_0_TEMPTABLE’

static void* heater_ttbl_map[HOTENDS] = ARRAY_BY_HOTENDS( (void*)HEATER_0_TEMPTABLE, (void*)HEATER_1_TEMPTABLE, (void*)HEATER_2_TEMPTABLE, (void*)HEATER_3_TEMPTABLE );

                                                                ^

sketch\module\temperature../…/module/temperature/thermistortables.h:1155:22: error: ‘temptable_25’ was not declared in this scope

#define TT_NAME(_N) temptable ## _N

                  ^

sketch\module\temperature../…/module/conditionals.h:688:48: note: in definition of macro ‘ARRAY_BY_HOTENDS’

 #define ARRAY_BY_HOTENDS(v1, v2, v3, v4) { v1 }

                                            ^

sketch\module\temperature../…/module/temperature/thermistortables.h:1160:34: note: in expansion of macro ‘COUNT’

#define HEATER_0_TEMPTABLE_LEN COUNT(HEATER_0_TEMPTABLE)

                              ^

sketch\module\temperature../…/module/temperature/thermistortables.h:1156:21: note: in expansion of macro ‘_TT_NAME’

#define TT_NAME(_N) _TT_NAME(_N)

                 ^

sketch\module\temperature../…/module/temperature/thermistortables.h:1159:30: note: in expansion of macro ‘TT_NAME’

#define HEATER_0_TEMPTABLE TT_NAME(THERMISTORHEATER_0)

                          ^

sketch\module\temperature../…/module/temperature/thermistortables.h:1160:40: note: in expansion of macro ‘HEATER_0_TEMPTABLE’

#define HEATER_0_TEMPTABLE_LEN COUNT(HEATER_0_TEMPTABLE)

                                    ^

sketch\module\temperature\temperature.cpp:268:66: note: in expansion of macro ‘HEATER_0_TEMPTABLE_LEN’

static uint8_t heater_ttbllen_map[HOTENDS] = ARRAY_BY_HOTENDS( HEATER_0_TEMPTABLE_LEN, HEATER_1_TEMPTABLE_LEN, HEATER_2_TEMPTABLE_LEN, HEATER_3_TEMPTABLE_LEN );

                                                              ^

sketch\module\temperature../…/module/temperature/thermistortables.h:1155:22: error: ‘temptable_25’ was not declared in this scope

#define TT_NAME(_N) temptable ## _N

                  ^

sketch\module\temperature../…/module/conditionals.h:688:48: note: in definition of macro ‘ARRAY_BY_HOTENDS’

 #define ARRAY_BY_HOTENDS(v1, v2, v3, v4) { v1 }

                                            ^

sketch\module\temperature../…/module/temperature/thermistortables.h:1160:34: note: in expansion of macro ‘COUNT’

#define HEATER_0_TEMPTABLE_LEN COUNT(HEATER_0_TEMPTABLE)

                              ^

sketch\module\temperature../…/module/temperature/thermistortables.h:1156:21: note: in expansion of macro ‘_TT_NAME’

#define TT_NAME(_N) _TT_NAME(_N)

                 ^

sketch\module\temperature../…/module/temperature/thermistortables.h:1159:30: note: in expansion of macro ‘TT_NAME’

#define HEATER_0_TEMPTABLE TT_NAME(THERMISTORHEATER_0)

                          ^

sketch\module\temperature../…/module/temperature/thermistortables.h:1160:40: note: in expansion of macro ‘HEATER_0_TEMPTABLE’

#define HEATER_0_TEMPTABLE_LEN COUNT(HEATER_0_TEMPTABLE)

                                    ^

sketch\module\temperature\temperature.cpp:268:66: note: in expansion of macro ‘HEATER_0_TEMPTABLE_LEN’

static uint8_t heater_ttbllen_map[HOTENDS] = ARRAY_BY_HOTENDS( HEATER_0_TEMPTABLE_LEN, HEATER_1_TEMPTABLE_LEN, HEATER_2_TEMPTABLE_LEN, HEATER_3_TEMPTABLE_LEN );

                                                              ^

exit status 1