451
General Mach Discussion / Re: Getting Disillusioned with Mach3.
« on: January 16, 2012, 11:46:29 AM »
Hello guys,
I would like to say that I am sorry that I am not able to make it so the software can be everything to everyone as much as I would like it to be. The trouble that we have is that Mach3 (originally Mach1) was designed to be a simple CNC app (for routers and mills) that had little in the way of customization. Then Mach3 grew into a CNC App with some customization with scripts and so on.. GREAT! That makes it so you can do anything! (also you can screw up anything). Okay Now we have added Plugins so you can have external devices and add IO. What a joy! we can add and have about anything we like on the machine but this came at a very big price. The base code in Mach3 is not ideal for what we have today and working with it is like trying to add on to a house of cards. ANY card out of place it will all fall. You have no idea the pain that I go through to work on the code in Mach3 and how much I fight to NOT change it.. I have been trying to add features in a way that is not going to mess up the basic application. But with everything being global pointers I can't stop anything from changing data in Mach3. So there is the sob story.. what are we doing about!
I am working on Mach3 all the time looking for issues. I spent months working on Rays issue and found some of them (both of us to blame). At the end of the day he will end up with his own little interface for the KFlop and I am happy that he is happy. But I lost months of dev time and I wouldn't change what I did. The fact that he didn't get what he wanted was not a lack of effort. I offered more then one time to fly him out with his PC work work at the office here and to get it working as he would like. I also offered to fly out to work on his machine. I don't know what more I can do other then to build up machine and send it to him. If that is not good support then I just don't know what to do and I give up. I work with so many people to fix there issues (90% is special interests) that I do very little dev work. to fix this we have brought on a full time programmer and support guy. This programmer works everyday on Mach4 and he is a programmer of over 25 years. He and I talk everyday making the API and then he makes the code to match the API. This is what needed to be done to make Mach4 be the most stable app that it can be. We have also made a decision that we are ripping out ALL the custom code for users with "special functions". THC, Foam cutting, Tangential, Laser etc.. are getting ripped out of the software. We spend more time trying to get everything working for everyone and we can't do this anymore. Now having said that we are still going to have THC, Foam cutting, Tangential, Laser etc.. but it will be moved off into modules that you can add. This is making the core code to Mach4 much more fun to work on (it is simple). Also we are not going to have global pointers anymore (this is because we are making it so we can change the code and it will not effect the plugins) Plugins will no loger be able to play with Vars in Mach4. They will have to go through an API call so we can be sure that we are not getting any data overwrites. Also the P POrt is not going to be part of Mach4. the P Port will be a plugin that you can get or not.. The future is not going to be 25pins LOL. I know this is not going to fix the issues that you have now but I would like you to see just a small glimpse of what I have to do everyday...
So what is this rant... Yes there are errors and I work everyday trying to fix them when I know about them. And we know what the base issue requires a complete rewrite that I can't do because I am supporting Mach3. To get you what you need in the future we have a programmer working full time and to get the current code doing what you need I am working full time. Contact me if you have an issue and I will work with you..
This may be more then you wanted to know but it is what it is.
Thanks
Brian
I would like to say that I am sorry that I am not able to make it so the software can be everything to everyone as much as I would like it to be. The trouble that we have is that Mach3 (originally Mach1) was designed to be a simple CNC app (for routers and mills) that had little in the way of customization. Then Mach3 grew into a CNC App with some customization with scripts and so on.. GREAT! That makes it so you can do anything! (also you can screw up anything). Okay Now we have added Plugins so you can have external devices and add IO. What a joy! we can add and have about anything we like on the machine but this came at a very big price. The base code in Mach3 is not ideal for what we have today and working with it is like trying to add on to a house of cards. ANY card out of place it will all fall. You have no idea the pain that I go through to work on the code in Mach3 and how much I fight to NOT change it.. I have been trying to add features in a way that is not going to mess up the basic application. But with everything being global pointers I can't stop anything from changing data in Mach3. So there is the sob story.. what are we doing about!
I am working on Mach3 all the time looking for issues. I spent months working on Rays issue and found some of them (both of us to blame). At the end of the day he will end up with his own little interface for the KFlop and I am happy that he is happy. But I lost months of dev time and I wouldn't change what I did. The fact that he didn't get what he wanted was not a lack of effort. I offered more then one time to fly him out with his PC work work at the office here and to get it working as he would like. I also offered to fly out to work on his machine. I don't know what more I can do other then to build up machine and send it to him. If that is not good support then I just don't know what to do and I give up. I work with so many people to fix there issues (90% is special interests) that I do very little dev work. to fix this we have brought on a full time programmer and support guy. This programmer works everyday on Mach4 and he is a programmer of over 25 years. He and I talk everyday making the API and then he makes the code to match the API. This is what needed to be done to make Mach4 be the most stable app that it can be. We have also made a decision that we are ripping out ALL the custom code for users with "special functions". THC, Foam cutting, Tangential, Laser etc.. are getting ripped out of the software. We spend more time trying to get everything working for everyone and we can't do this anymore. Now having said that we are still going to have THC, Foam cutting, Tangential, Laser etc.. but it will be moved off into modules that you can add. This is making the core code to Mach4 much more fun to work on (it is simple). Also we are not going to have global pointers anymore (this is because we are making it so we can change the code and it will not effect the plugins) Plugins will no loger be able to play with Vars in Mach4. They will have to go through an API call so we can be sure that we are not getting any data overwrites. Also the P POrt is not going to be part of Mach4. the P Port will be a plugin that you can get or not.. The future is not going to be 25pins LOL. I know this is not going to fix the issues that you have now but I would like you to see just a small glimpse of what I have to do everyday...
So what is this rant... Yes there are errors and I work everyday trying to fix them when I know about them. And we know what the base issue requires a complete rewrite that I can't do because I am supporting Mach3. To get you what you need in the future we have a programmer working full time and to get the current code doing what you need I am working full time. Contact me if you have an issue and I will work with you..
This may be more then you wanted to know but it is what it is.
Thanks
Brian