Forums » Software development »
Make cancel button working using MODI2C
Added by HackerspaceFFM about 10 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 about 10 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 about 10 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 about 10 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 about 10 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