Git Product home page Git Product logo

opendact's Introduction

#Delta-Auto-Calibration-Source This is the new location for the source files for the delta kinematics auto calibration program that I am working on. This is not guaranteed to always work, I will upload the stabile versions to my Google Drive and will post them on the forum.

I will not be responsible for any damage to your printer, especially if you are not careful with the program. Serial ports tend to have buffer issues, so always stay close to your printer when running any version of this software.

If you would like to contribute to the main project, then send me an email at steventrowland (at) gmail.com or message me on the SeeMeCNC forum.

Forum post - http://forum.seemecnc.com/viewtopic.php?f=36&t=8698

opendact's People

Contributors

coelacant2 avatar geneb avatar outlookhazy avatar patola avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

opendact's Issues

OpenDACT 3.1.1A corrupts the value of "Z-probe height"

I used serial port sniffer to locate this issue.

My z-probe is located 12.4mm below the nozzle on a hinge. The value is entered in EEPROM:

EPR:3 808 12.400 Z-probe height [mm]

For some reason OpenDACT corrupts it. When I open the program and use "check current heights", it probes once, then sends this:

M206 T3 P808 X5.280

and, almost immediately, this:

M206 T3 P808 X5.280

In the program the value gets displayed as 5.2799999

Why would it touch this value, it should be treated as a constant?

[FR] Make it work with Marlin

I realy would like to see this tool working with Marlin so until that is there a easy way to translate Alpha Rotation, Delta Radius, XYZ offset, Horizontal Radius, and Diagonal Rod length to Marlin ?

Program malfunctioning with Geeetech G2S

I've tryed the program (latest binary on the the git) but looks like with the Repetier 0.92 we have some issues.
The program behaves really randomly, only zprobe one point near the bed center, seldomly crashes into bed.
Tested on Windows 10 host with . as decimal separator.

Does nothing when starting to calibrate

Testing OpenDact Version 3.0.0 (Abbout Button is promting this Version) I downloaded it from the seemecnc Page as 3.1.0A

I use the newest Repetier Firmware. Connecting works but thats it. Is there somethings else to mention?

Feature request - test Z-probe for consistency if "heightmap accuracy" is set below 0.1

Recently I've upgraded my printer with a better tact button that serves as a Z-probe and understood my problem with OpenDACT giving me "wild" results. Turns out that "noisy" data from an unreliable z-probe break the calibration algorithm and OpenDACT ends up with some crazy settings.

To prevent users like me from shooting ourselves in the knee, I suggest the following feature: if the accuracy is set too low (or the program runs for the first time), do a series of probes in a single point and calculate std.dev. If it is bigger than the demanded accuracy stop the calibration and ask the user to reconsider.

Feature request: lock certain parameters and exclude them from calibration

Hello. I'd like you to consider a feature request: let the user "lock" certain parameters and make an algorithm exclude them from calculations. For example, I am 100% certain my "steps per mm" value is correct, so I'd prefer OpenDACT to avoid touching it.
When a z-probe isn't very reliable and produces "noisy" measurements, OpenDACT ends up increasing "steps per mm" incrementally without much success (usually it makes things worse). If that could be "locked", it'd force the program to try other tweaks instead.

Trunk version of OpenDACT crashes Repetier while trying to set Delta Radius to a high precision humber

OpenDACT (latest trunk version) crashes as it issues commands like this:

17:58:12.448 : M206 T3 P921 X-0.783469

image

Probably since it has 6 decimal numbers and not 3 (as Repetier uses to store floats in EEPROM), log starts filling up with lines like this and app freezes:

`000356: 0
FlowMultiply:100
ok 0

000357: 0
FlowMultiply:100
ok 0
SelectExtruder:0
FlowMultiply:100

000358: SelectExtruder:0
FlowMultiply:100

000359: SelectExtruder:0
FlowMultiply:100

000360:
Resend:1
ok

000361:
Resend:1
ok

000362:
Resend:1
ok

000363:
Resend:1
ok

000364:
Resend:1
ok

000365:
Resend:1
ok

000366:
Resend:1
ok

000367:
Resend:1
ok

000368:
Resend:1
ok

000369:
Resend:1
000370:
ok

000371:
ok

000372:
Resend:1
ok

000373:
Resend:1
ok

000374:
Resend:1
ok

000375:
Resend:1
ok

000376:
Resend:1
ok

000377:
Resend:1
ok

000378:
Resend:1
ok

000379:
Resend:1
ok

000380:
Resend:1
ok
`

OpenDACT 3.1 can compute negative tower offsets, FW interprets them as zero values

Hello. Sometimes OpenDACT may produce negative values and try saving them in EEPROM.

Repetier discards these and saves zeroes to EEPROM instead. Yet it seems that OpenDACT thinks printer uses those negative values. In practice this usually leads to nozzle crashing into the bed on the next iteration.

I suggest checking for negative offset values (or, more broadly, negative values being suggested for any parameter) and checking for too big values (like offsets of 2000+ steps).

opendact bug - negative offsets become zero

Doesn't work with Russian locale (with comma as decimal separator)

It appears that the program is having issues working in Windows with non-US locale set.

I have Windows 10 64bit with Russian locale; it uses comma, not point as a decimal delimiter. All the numbers that appear in the main window are displayed with a points before decimal parts.

But it seems that internally the program operates with correct localized functions - and crashes when it sees the "wrong" decimal delimiter.

image

If I create a temporary Windows account and set its locale to UK or US, program works.

Maybe the problem is that reading EEPROM always gives you the numbers with decimal point as separator. In US locale treating these strings as numbers just works, in Russian locale it doesn't.

Please check this for details: https://msdn.microsoft.com/en-us/library/system.globalization.numberformatinfo.numberdecimalseparator%28v=vs.110%29.aspx?f=255&MSPPError=-2147217396

Feature request - small interface improvements

Please consider fixing these 2 annoyances in the interface:

  • make OpenDACT enumerate all COM ports and pre-select port with largest index on startup. On my system it always chooses hardware port COM1 instead of virtual COM4. Since OpenDACT crashes a lot, choosing correct port every time is annoying.
  • please add default value of "G28" to "send GC" input. Please also make the program send the command on "Enter"

Thanks!

Reading wrong data from EEPROM

Hi,
when tOpenDACT (3.1.0A) read data from eeprom it read without the decimal dot, so 200.000 steps/mm become 200000 steps/mm and so on the other numbers. I can see the right number in the log, but i read wrong number in the "advance" tab.

Where i press the "Check Current Heights" i have to shut down the printer because the carriage go towards one column moving nearly horizontal.

Bye

Feature request: keep snapshots of EEPROM settings on each iteration

Hello. I'd like to suggest a feature request. It would be great if OpenDACT would keep an CSV or tab-delimited file (or just snapshots of the EEPROM listings) and update it on each iteration. Sometimes OpenDACT achieves an amazingly accurate calibration yet decides to try once again - and ruins the result. If there was a way to find the record of the previous result and manually input it to the printer, it could be great.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.