1
Mach4 General Discussion / Re: Mach4 and Autoleveller issues ( CSMIO IP-M)
« on: September 14, 2022, 01:34:26 PM »
I'm using CSMIO/IP-A controller and I got the same trouble with "data mismatch" warning when implementing Autoleveller with Mach 4 using your M40 and M41 scripts. So maybe it is a CS-LABS related issue?
I added delays in the probing script to figure out what caused this and in the end I found the reason this mismatch is happening is because every time I run the probing command G31.1 it will write the coordinates from the previous probing cycle, so the last probing point was never recorded. My workaround is to probe twice at the last probing point. That way I get the last probing point into the file.
This also means that the first data point that is being recorded is data from the probe cycle happening prior to M40. Because it has approximately the same values as the second point, one of these are deleted as they are considered duplicates.
I tried to figure out how the registers actually is updated after M40 is activated to see if I could figure out a better way to solve it, but I wasn't able to understand how the registers actually are being updated. Do you see a better way to solve this?
I added delays in the probing script to figure out what caused this and in the end I found the reason this mismatch is happening is because every time I run the probing command G31.1 it will write the coordinates from the previous probing cycle, so the last probing point was never recorded. My workaround is to probe twice at the last probing point. That way I get the last probing point into the file.
This also means that the first data point that is being recorded is data from the probe cycle happening prior to M40. Because it has approximately the same values as the second point, one of these are deleted as they are considered duplicates.
I tried to figure out how the registers actually is updated after M40 is activated to see if I could figure out a better way to solve it, but I wasn't able to understand how the registers actually are being updated. Do you see a better way to solve this?