Page 3 of 6

Re: LIN_ADVANCE = better extrusion control

Posted: Fri Feb 09, 2018 7:25 pm
by Jetguy
Something must be broken in the Stop code, perhaps the touchscreen is waiting for a response from the firmware (MCU) to acknowledge the stop had completed? Can someone look into this? Is anyone else having this problem?


On your Raise Touch LCD, under settings, do you have faststop turned on?
I believe Vicky has said they stopped using this and this could be the reason you get hung up when you invoke a stop from the LCD.

Re: LIN_ADVANCE = better extrusion control

Posted: Fri Feb 09, 2018 8:16 pm
by Phife
Jetguy wrote:
Something must be broken in the Stop code, perhaps the touchscreen is waiting for a response from the firmware (MCU) to acknowledge the stop had completed? Can someone look into this? Is anyone else having this problem?


On your Raise Touch LCD, under settings, do you have faststop turned on?
I believe Vicky has said they stopped using this and this could be the reason you get hung up when you invoke a stop from the LCD.



I did have FastStop turn on, I turned it off and now it will stop the print and release the touchscreen. But It no longer homes the X and Y axis like it used to. Not a big deal, but anyone know how to make it home after a stop?

Re: LIN_ADVANCE = better extrusion control

Posted: Fri Feb 09, 2018 8:36 pm
by Jetguy
The LCD is sending the gcode and so that is whatever script is in that Raisepack LCD touch version. What version are you running?

Re: LIN_ADVANCE = better extrusion control

Posted: Fri Feb 09, 2018 9:10 pm
by Phife
Jetguy wrote:The LCD is sending the gcode and so that is whatever script is in that Raisepack LCD touch version. What version are you running?


I updated to the lastest raisepack when I did my firmware upgrade, so 0.9.7

Re: LIN_ADVANCE = better extrusion control

Posted: Fri Feb 09, 2018 10:12 pm
by ABH
I can confirm that FastStop doesn't work with this Marlin 1.1.8 based firmware.
The FastStop function was originally introduced in RaiseTouch v. 0.7.0 together with motion controller firmware Raise3D v.1.1.2. In this firmware they had modified the M112 kill function to do an immediate restart of the MCU. Without the modification, the kill() function will gently stop all hardware and the processor will go to idle mode. Obviously this will not work, as the MCU cannot leave this idle mode without a manual resest. When they reverted to use the older motion controller firmware Raise3D v.1.1.1, this modification of the M112 kill function was no longer available and they then found some other "trick" to obtain the same FastStop functionality from the RaiseTouch computer. They must send some gcodes from Raise Touch, that makes the motion controller do an immediate restart. Apparently this "trick" doesn't work any more with the newer Marlin firmware. Newer Marlin firmware does however allow a remote restart of the MCU. If we just new what codes were sent from the RaiseTouch computer, then we could modify the Marlin firmware to do a restart.
I didn't try to implement the old "hack" that was present in Raise3D firmware v.1.1.2. That is easy to do, but I'm quite sure that this will not work with the latest Raise Touch software.

Re: LIN_ADVANCE = better extrusion control

Posted: Sat Feb 10, 2018 10:50 am
by ABH
It turns out that Raise3D is still using the M112 command for restarting the motion controller MCU, when FastStop is pressed. I put a sniffer on the serial line from the Raise Touch computer to see what happened. The problem with the Marlin 1.1.8 based firmware was in the new Marlin feature enabled under EMERGENCY_PARSER flag. I have now disabled this new Marlin feature and Raise3D FastStop now works in the same way as with Raise3D v1.1.6rev1 firmware.
The precompiled firmware files here http://forum.raise3d.com/viewtopic.php?f=3&t=6244&start=20#p25627 are all updated.
I also updated the Configuration_adv.h file in the BlTouch source file repository here https://github.com/ABH10/Marlin-for-Raise3D-N-series/tree/1.1.x_Raise3D_BLTouch.

Re: LIN_ADVANCE = better extrusion control

Posted: Sun Feb 11, 2018 8:30 am
by jvingaard
ABH wrote:It turns out that Raise3D is still using the M112 command for restarting the motion controller MCU, when FastStop is pressed. I put a sniffer on the serial line from the Raise Touch computer to see what happened. The problem with the Marlin 1.1.8 based firmware was in the new Marlin feature enabled under EMERGENCY_PARSER flag. I have now disabled this new Marlin feature and Raise3D FastStop now works in the same way as with Raise3D v1.1.6rev1 firmware.
The precompiled firmware files here http://forum.raise3d.com/viewtopic.php?f=3&t=6244&start=20#p25627 are all updated.
I also updated the Configuration_adv.h file in the BlTouch source file repository here https://github.com/ABH10/Marlin-for-Raise3D-N-series/tree/1.1.x_Raise3D_BLTouch.


You are doing at great work, many thanks.

Re: LIN_ADVANCE = better extrusion control

Posted: Sun Feb 11, 2018 11:24 am
by jvingaard
Hello,
When i try to compile the 1.1.x_Raise3D_BLTouch i get an 'endif without if' in the 'configuration.h'
Using Arduino 1.6.9
Board = Arduino/Genuino Mega or Mega 2560
Processor = ATmega2560 (Mega 2560)

Re: LIN_ADVANCE = better extrusion control

Posted: Sun Feb 11, 2018 2:23 pm
by Phife
jvingaard wrote:Hello,
When i try to compile the 1.1.x_Raise3D_BLTouch i get an 'endif without if' in the 'configuration.h'
Using Arduino 1.6.9
Board = Arduino/Genuino Mega or Mega 2560
Processor = ATmega2560 (Mega 2560)



Hey Jvingaard,

I got the same error when I tried to compile it. Looks like an extra "EndIf" was added. You should see an "endif" highlighted after it fails to compile. Just delete the entire line and it should work then.

Sorry I forgot to mention this earlier.

Re: LIN_ADVANCE = better extrusion control

Posted: Sun Feb 11, 2018 3:49 pm
by ABH
I removed the extra #endif in GitHub

Re: LIN_ADVANCE = better extrusion control

Posted: Sun Feb 11, 2018 3:58 pm
by sylus
Are you serious?
B6FE346F-CA7A-477C-AADD-03915F94DE35.jpeg

Re: LIN_ADVANCE = better extrusion control

Posted: Sun Feb 11, 2018 4:52 pm
by jvingaard
After removing the extra #endif and compiling it with arduino-1.6.9, all is works perfect.

Looking forward to testing it.

Many Thanks.

Re: LIN_ADVANCE = better extrusion control

Posted: Sun Feb 11, 2018 4:59 pm
by ABH
@sylus: Are you using M42 for something in a script?

Re: LIN_ADVANCE = better extrusion control

Posted: Sun Feb 11, 2018 6:00 pm
by sylus
seen in changing tool script
M42 P8 S255

Re: LIN_ADVANCE = better extrusion control

Posted: Sun Feb 11, 2018 6:28 pm
by ABH
The newer Marlin has included the FAN1_PIN in the list of SENSITIVE_PINS that are not allowed to be manipulated via M42 gcode.
If you need to control FAN1, then the list needs to be updated.
I have removed FAN1_PIN from the list in pins.h on GitHub.

Re: LIN_ADVANCE = better extrusion control

Posted: Sun Feb 11, 2018 7:29 pm
by sylus
Ok fast stop is not so fast (some commands sent before M112).
Still implementing lack of material code

Re: LIN_ADVANCE = better extrusion control

Posted: Sun Feb 11, 2018 8:04 pm
by jvingaard
Hello ABH,
Do you have an list over g-code commands for LIN-ADVANCE w/BLTouch etc.

Re: LIN_ADVANCE = better extrusion control

Posted: Sun Feb 11, 2018 8:41 pm
by ABH
Hi,
All supported gcodes are listed in the top comments field of the Marlin_main.cpp file.

Re: LIN_ADVANCE = better extrusion control

Posted: Mon Feb 12, 2018 6:55 pm
by sylus
Lin addvance @50 for bondtech.
Strange behavior with Marlin 1.1.8 jog with PC duino is buggy
10 mm increment is ok in all direction
1 mm increment goes only in one direction (+X+Y)
and 0,1 mm increment goes only in one direction (+X+Y) and not jog 0,1mm
Z axis is not affected
Jogging Rumba via Reprapdiscout works perfectly

Re: LIN_ADVANCE = better extrusion control

Posted: Sat Feb 17, 2018 9:36 pm
by firesped
the lack material code I modified from raises version is controllable via gcode. both turn it off or on and to change the PIN readings. the difference between this version and the marlin 1.1.0 version is that it now uses the endstop gcodes versus a custom gcode. M119 will report status, M120 turns them on. M121 turns them off. Note, I don't have my second one wired in so I know it works with only one.

As noted:

Marlin has debug command M111 +flags
The flags do different stuff.
S1 echos the parser
S2 prints additional information
S4 prints extra error information
S8 dry run (does not extrude)
S32 is for leveling.
S16, S64, and S128 are reserved for future stuff.

If you run "M111 S1" Marlin will tell you what the raisetouch is sending it.

If you want INFO, ERRORS and PARSER, then M111 S7 will do that.