Project

General

Profile

Make cancel button working using MODI2C

Added by HackerspaceFFM over 9 years ago

Hi,
I've played with the firmware and changed I2C by MODI2C. Everything is working again, but now by using a new non-blocking function the buttons can now be polled without considerable timing losses. Patching the Display files was quite easy because the lib is mostly compatible to the I2C api already used. I also patched the Menu source code files, but I don't know what the best way is to interrupt the cutting process the right way. Can someone who is deeper involved in the Laos source try to check what I did? For me it seems to be working, but I am not sure if I stopped that motion engine correctly.


Replies (4)

RE: Make cancel button working using MODI2C - Added by jaap over 9 years ago

Works for me!

Cancelling works, machine does not get confused when the next job starts, so it seems to be right. I've added your changes to the GitHub repository. Compiled firmware is attached here.

RE: Make cancel button working using MODI2C - Added by HackerspaceFFM over 9 years ago

Hi,
unfortunately it does not seem such easy. :-(
I think I have to withdraw that software because after some time (for me something between 5 and 20min, often after completing a job) it freezes the machine (or at least the I2C terminal) completely. This is because I2C is one of the worst protocols ever seen in terms of fault-tolerance - in the past I have seen freezing issues on all kinds of implementations, especially when I2C protocol was handled using hardware blocks inside the uCs. A single little glitch or whatever on the communication leads to a deadlock in the I2C communication. The original blocking lib used before also had such issues but at some time someone fixed it, added a kind of timeout that can clear the deadlock situation. But such a timeout or "deadlock"-clearer is not included in the MODI2C lib, I will see if I can find a way around.

A firmware with MODI2C might work for people that are using a good shielding on the I2C cable, but for me with MODI2C it is not reliable enough - I had to reset the cutter about every 10min, that is a no-go.

RE: Make cancel button working using MODI2C - Added by depronman over 9 years ago

HackerspaceFFM / jaap,

I've tested extensively today 'laoslaser-27-10-2014.bin' and I have not had any problems when Cutting, marking or engraving - Great

However I do have a request, I have been using the firmware that Joost produced about a month ago (http://redmine.laoslaser.org/attachments/download/380/laser.bin) it as working Origin, Boundary, smoother jog and joystick moves in the correct direction. Is there any possibility of producing the firmware I have been using for the last month WITH the Cancel function that HackerspaceFFM as developed ?

Any help much appreciated
Kind Regards,
Paul

RE: Make cancel button working using MODI2C - Added by jaap over 9 years ago

The reason for not yet making Joost's changes mainstream was that the combination of changes resulted in random crashes of the firmware. There was a large part of fox-tail and moonlight involved in this, causality being very hard to find, because Joost's code looks good to me.

It might be that switching to ModI2C fixes the causes of crashes that firmware had, so let's try to integrate them!

Earlier threads about this:
http://redmine.laoslaser.org/boards/3/topics/765
http://redmine.laoslaser.org/boards/3/topics/761

    (1-4/4)