[...], because it uses the Atmega1281 processor that's not offficially supported by the tool. [...]
--
You received this message because you are subscribed to the Google Groups "FirePick" group.
To unsubscribe from this group and stop receiving emails from it, send an email to firepick+u...@googlegroups.com.
To post to this group, send email to fire...@googlegroups.com.
Visit this group at http://groups.google.com/group/firepick.
For more options, visit https://groups.google.com/d/optout.
The mega, like all other single processor MCU's runs everthing in "series". It's possible to run an RTOS to do multiprocessing, but thats just a workaround, as it will still do it in series.
The Parallax can handle up to eight parallel processes. The problem is that the RAM can be written to and from, only at one processor at a time, because of the hub that controls it. Each cog does however have access to their own dedicated RAM AFAIK, and this can be used to store results, and transfer this to the shared memory.
No offense, but I think there is a bit too much speculation here. Doing some testing to get actual answers would be a good idea.
8 bit MCUs are **TERRIBLE** at floating point. (I don’t think I can emphasise that enough J )
32 bit is sooo much more efficient.
Then you have the different instruction sets of AVR vs ARM. ARM has many more available instructions so more operations can be compiled down to fewer instructions.
If you use a Cortex M4 processor they have inbuilt DSP and Floating Point instructions, where the M3 has to emulate this with a software library. M4 processors usually have a higher clock speed as well.
Did you know that an M4 is easily able to decode and play MP3 files in realtime? That’s way more complicated than our application!
It’s true that SIN and COS functions are complicated, but there are ways to optimise them.
When I get time I’ll do some testing on various processors to see what type of performance they give. I’ll get the code that does the position calcs and run it a million times and see how long it takes.
Paul.
--
No offense, but I think there is a bit too much speculation here. Doing some testing to get actual answers would be a good idea.
One thing I note, for 3D printing, is that there does not appear to be (yet?) and interface for a J-Head hot end (or two of these) and the Mk IIB heated bed??
The only two things missing there are a switch in the Marlin code to go between Cartesian and angle input for the G0/G1 XYZ commands, and a software shim to post-process the G-code in the host software. I will getting to both of those things very soon.
The software shim to post-proces the g-code . cant we use the prontsole.py for this , comes with printrun
Push in command line syle . perfect for playing middle man.
That’s a good idea actually !
I was originally going to use a smoothieboard that I bought for another project but it has been attached to my cnc mill now, so I bought a ramps 1.4 kit instead. I’ve nearly got enough bits to make it move now, so when I do I’ll help with the software as well. I’ve also got 0.9 deg. Steppers (they had the most torque) so I’ll see how that goes.
Paul.
From: fire...@googlegroups.com [mailto:fire...@googlegroups.com]
On Behalf Of Neil Jansen
Sent: Monday, 1 December 2014 11:48 AM
To: fire...@googlegroups.com
Subject: Re: [FirePick] Re: Marlin branches for 3D printing and OpenPnP
No offense, but I think there is a bit too much speculation here. Doing some testing to get actual answers would be a good idea.
--
I would lean the other way rather than of loading to a PC. I'm sure everyone has opinions haha. I'll just add 2cents.
The due is 5 bucks more than a uno (15 free shipping). Not sure on the actual chip cost. Fully supported by arduino ide. Can't get better than that? Oh wait there's a YouTube video of it working! No dev needed if we get that code right?
I've also got grbl running on a CNC I load gcode on, let it run. Done. Every cad and cam package I've got outputs various gcode. I wouldn't for instance be able to swap out the serial link and have it still run. Also machine settings are stored in PC not controller. I like the modular tool concept of storing settings on tool's so you don't have to change anything if you have two diff sized deltas.
I would hate to break the gcode interface as well. Its so clean its awesome, the CNC industry is gonna open up with grbl.
Also in another thread you where saying how slow the pi is and it needs a upgrade. This would further increase speed of PNP functionality right? And say you added an encoder to each axis to do closed loop control, that would need to recover from error's elegantly in xyz rather than angle in realtime by traversing the delta calcs per step.
And if there is a half way attempt I feel the format should not even try to be gcode. Make it a json format for instance, call it "acode". .angles. Then there's no chance of anyone misinterpreting it for normal gcode.
Hopefully not to ranty. Just 2 cents worth
I would lean the other way rather than of loading to a PC. I'm sure everyone has opinions haha. I'll just add 2cents.
The due is 5 bucks more than a uno (15 free shipping). Not sure on the actual chip cost. Fully supported by arduino ide.
Can't get better than that? Oh wait there's a YouTube video of it working! No dev needed if we get that code right?
I've also got grbl running on a CNC I load gcode on, let it run. Done. Every cad and cam package I've got outputs various gcode.
I like the modular tool concept of storing settings on tool's so you don't have to change anything if you have two diff sized deltas.
I would hate to break the gcode interface as well.
Also in another thread you where saying how slow the pi is and it needs a upgrade. This would further increase speed of PNP functionality right?
And say you added an encoder to each axis to do closed loop control, that would need to recover from error's elegantly in xyz rather than angle in realtime by traversing the delta calcs per step.
And if there is a half way attempt I feel the format should not even try to be gcode. Make it a json format for instance, call it "acode". .angles. Then there's no chance of anyone misinterpreting it for normal gcode.
Hopefully not to ranty. Just 2 cents worth
Just a quick observation, I am currently bring a product to market (a USB Servo for Robotics) and am giong through the whole, design for manufacturing to get-it-made-in-China scenario at the moment (I want Firepick to help assembly some of the initial production runs of the circuit boards so I am motivated to help as I am using 0402 components and they are terrible to hand place) until I have the product all finalised and would off the following for consideration:
(1) Injection moulds that will be accurate and last a reasonable time are very expensive so use the smallest number of unique components you can, keep them very 'clean and simple'.
(2) I wonder if the current ATMega and tool boards is really gong to be cost effective, given you can buy a RAMPS-FD board for USD$18 and a Arduino Due for $26 (there is a clone of this that has more I/O too) which has a lot of processing horsepower, though I do note that the intention is to push the heavy lifting to the host to deliver the pre-calculated paths and instructions for the ATMega to just execute, which if successful, would be a good move.
(3) While I love the Raspberry Pi, I suspect that it will run out of processing power with OpenCV, especially if we end up with quite a large database of parts.
(4) To really reduce cost, it might be worth moving all but the real-time control of the motors (etc) to the host, continuing on the path of the host doing all of the work in a operating system independent manner, deleting the raspberry Pi, LCD, etc so you only have the ATMega and a cheap USB to TTL cable (only a few $) and a low cost USB camera (perhaps a low host USB Hub if required), so the sum of the electronics is the ATMega, tool boards, opto boards, camera and a power supply.
Any way you put it , the Rpi is hopelessly underpowered to do the job for what the FPD has come to have to do .
OpenCV will eat allot. ever tryied live streaming from a rpi ( verry buggy) , doing calscs cause the atmega also cant, running a server maybe for easy acces/interface . communications back and forts between (emc <-->host-Rpi <--> interface on diferent pc )
the rpi will have a very veryy veryy veryy hard day of work .
bye the way, your always free to keep using the RAMPS board and not the EMC ,if thats turns out cheaper cause of all of the clones ,
its a easy change in marlin, so its a choice thing. both will work the same as they have the same mcu
I think having a select able option in marlin is the way to go. recompile for standalone with on board calcs or compile for off board with angle gcode input (still reckon it should be called acodes!).
I got my due on aliepress for $15 free shipping including the usb cable!, http://www.aliexpress.com/snapshot/6087000130.html its not listed anymore but i can confirm i received one from that exact page.
I think lots of us are getting close to twitching machines hence why this topic came up again. I'm a few parts away myself.
--
All,I've added some branches to the FirePick Delta Marlin fork, which is the motion controller software that runs on the EMC01 (or RAMPS 1.4 for the alpha folks that don't have one yet). I've also done some housekeeping and cleaned up the other branches.3D printing Functionality in branch: "Feature/3dprinting"
Works with RAMPS 1.4, J-Head, Wade's extruder, opto endstops, and heated bed. You will still need to go through the config and configure your extruder and thermistor hotend, steps per mm, and all the other stuff that must be done if you're not buying a kit where someone did all that work for you. This is one of the things that I really don't like about the current Marlin firmware, and it's one of the things that will be solved with our Modular Tool System in the EMC01 motion controller. For example, the thermistor values and steps per mm will be stored in the tool, so you don't have to mess around with firmware at all once it's done. In the meantime though, it will require a bit of patience and trial and error to get the config.h (and pins.h) fully setup on your machine. This is something that will come easier to the folks like Christian and myself that have built RepRap's from kits or from scratch. We can certainly try to help here if anyone has any questions, we're here to help.
Link: https://github.com/firepick-delta/marlin/tree/feature/3dprinting
Pick and place Functionality in branch: "Feature/Openpnp"
Works with RAMPS 1.4 and a hollow-shaft NEMA 8 motor. No powered SMT feeders supported at the moment, or 3D printing functionality. Right now, this is a separate branch, because OpenPnP needs the Z=0 to be somewhere in the middle of the work area. That's because it uses zero as the "safe Z" level, and that can't be at the top or the bottom of the work area with this delta config. I know how to get this fixed, but right now, it's all about baby steps and priorities.
Link: https://github.com/firepick-delta/Marlin/tree/feature/openpnp
Bleeding-edge development in branch: "Dev"
This branch will be devoted to getting the EMC01 fully supported with the modular tool system, and making the system 3D print and do Pick and Place, all without having to switch back and forth. Consider this unstable until further notice. If you have experience with the Marlin firmware and would like to help, please let me know, I'd be very grateful.
Link: https://github.com/firepick-delta/Marlin/tree/devAlso note, if you happened to get your hands on an EMC01, you'll need to write the bootloader and do some other stuff like setup your arduino environment, because it uses the Atmega1281 processor that's not offficially supported by the tool. If you've gotten this far and want to know how to do this, please give yourself a pat on the back and then reply to this message for further instruction. :)Thanks,
Neil
While I see there is a high level architecture, has anyone captured the business requirements (high level and detailed) and written a software specification?
In software projects I've worked on, even though they've been managed slightly differently, they've all had a posted list of stuff to do. People can then choose what to contribute to, comment on, suggest directions to take an issue via some kind of web project management software (sourceforge, trac, redmine) to track the progress of the requirements/bugs/feature requests.
Github has "issues" that can be used to track issues with a project, we could use that if we wanted - but I think Dale and Douglass have it right - the requirements need to be posted somewhere. It would be easier for contributors to pick a direction to start with.
If some kind of ticket/issue tracking system were used - it's like a checklist - making sure it's posted what requirements get met when, what's left to do, some idea of the scope of what's left to do to meet the next deadline (1.1.0 -> 1.1.1)
When I last participated in an open source project, they had a fairly mature project tracking system - hundreds of ticktes (bugs, feature requests, requirements to meet, etc). I had a need, and some agreed it would be a good feature, but no one was willing to implement it. After cutting through tons of red tape at work(another story entirely), I finally got permission to participate in the project, and added a few characters to a file and submitted my change(www.puppetlabs.com puppet project). But the important thing was that the issue was tracked, comments were tracked from inception to completion.
Puppetlabs uses Redmine (my favorite). Using some kind project management system like sourceforge, track or redmine might help get some people focused enough to contribute to something specific. I'd be happy to help there as I've managed these types of systems before, but I've been under some time constraints to get some things done for my job, school and other commitments. If you are interested and would like someone to take a look at getting one set up, I'll make some time during winter break to do that. Both school and work are closed down for about a week and a half, and I'll spawn a bunch of threads to get all my winter break projects worked on :)
Sounds like a good idea - Is there a way on Trello to compartmentalize or organize the two projects
Basically the current breakdown is more or less:
- OpenPnP (openpnp.org trunk / Jason von Nieda)
- OpenPnP (FirePick Delta fork / Neil)
Maybe people could choose to participate in one or the other of the above (making a trello board for the FirePickDelta fork)
- FireSight (firepick1 trunk / Karl)
- FireSight (FirePick Delta fork / Neil)
- FireFUSE / FireREST / RasPi integration (firepick1 trunk / Karl)
- OpenPnP / usbcam / Win/Linux/Mac integration - Neil
- Marlin FPD fork - Neil
- Web app integration and REST API for OpenPnP - not yet assigned, has been discussed with a few folks
So yea, it's a mess, a lot of the info's out there already, some of it's current, some of it's outdated, some if it's scattered, and some requires reading in between the lines as it's not exactly spelled out. I'm open to suggestions.
My 2 cent's worth ...
On the mech side I find it very hard to find out what's latest. Karl or Neils fork for instance just made my head spin. I decided awhile back when I started to freeze a build and don't upgrade anything until its hit beta. then I would build a second machine from scratch.
At this point in time there's the two forks emerging and I like both sides. Time will tell which win's. Personally if they merged back to one double awesome machine it would make it easier for me.
On elec side I've got the impression it's not going to change and adding horse power was a hot debate. Its ok its just the opposite stage to the mech. If there we're a high level on this I think we could all vent ideas there. I would of expected the hardware to change more since we will all have PNP gear to make new idea's quicker and it's the core skill of the group
On the software side I've just started diving into marlin with my due experiments. Even then the rest of the software parts feel like there's a million different things going on and it's quite hard to see what state each is in. E.g. I'm porting marlin to a due but how can I tell if the current marlin branch has any issue's/ features I should look out for or add?
So I guess after pointing this stuff out, a high level of the direction and task list's would be helpful. And knowing where the Karl and Neil differences will goto. E.g. join back... Separate hardware and software?
And uses case's. E.g. I use it as 3d printer / laser engraver will I use the same GUI as pnp?
--
You received this message because you are subscribed to a topic in the Google Groups "FirePick" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/firepick/rrvXWsAfVKU/unsubscribe.
To unsubscribe from this group and all its topics, send an email to firepick+u...@googlegroups.com.
On the mech side I find it very hard to find out what's latest. Karl or Neils fork for instance just made my head spin. I decided awhile back when I started to freeze a build and don't upgrade anything until its hit beta. then I would build a second machine from scratch.
At this point in time there's the two forks emerging and I like both sides. Time will tell which win's. Personally if they merged back to one double awesome machine it would make it easier for me.
On elec side I've got the impression it's not going to change and adding horse power was a hot debate. Its ok its just the opposite stage to the mech. If there we're a high level on this I think we could all vent ideas there. I would of expected the hardware to change more since we will all have PNP gear to make new idea's quicker and it's the core skill of the group
On the software side I've just started diving into marlin with my due experiments. Even then the rest of the software parts feel like there's a million different things going on and it's quite hard to see what state each is in. E.g. I'm porting marlin to a due but how can I tell if the current marlin branch has any issue's/ features I should look out for or add?
So I guess after pointing this stuff out, a high level of the direction and task list's would be helpful. And knowing where the Karl and Neil differences will goto. E.g. join back... Separate hardware and software?
And uses case's. E.g. I use it as 3d printer / laser engraver will I use the same GUI as pnp?
On elec side I've got the impression it's not going to change and adding horse power was a hot debate. Its ok its just the opposite stage to the mech. If there we're a high level on this I think we could all vent ideas there. I would of expected the hardware to change more since we will all have PNP gear to make new idea's quicker and it's the core skill of the group
--
You received this message because you are subscribed to the Google Groups "FirePick" group.
To unsubscribe from this group and stop receiving emails from it, send an email to firepick+unsubscribe@googlegroups.com.
To be honest, I don’t really care how or where things are organised, as long as it’s done somewhere. I’m keen to get into development but I’ve been busy building my machine. I also don’t want to take on something I can’t deliver so I guess I have hesitated to volunteer so far.
I did look into making Marlin work better, but there is no reasonable way to do it. Since it works(*) I decided to leave it. I’m adding the next few parts to my machine then I’ll be on the hunt for the next task in a few weeks time.
Paul.
(*) good enough for now
To unsubscribe from this group and stop receiving emails from it, send an email to firepick+u...@googlegroups.com.
To post to this group, send email to fire...@googlegroups.com.
Visit this group at http://groups.google.com/group/firepick.
For more options, visit https://groups.google.com/d/optout.
--
You received this message because you are subscribed to the Google Groups "FirePick" group.
To unsubscribe from this group and stop receiving emails from it, send an email to firepick+u...@googlegroups.com.
To unsubscribe from this group and stop receiving emails from it, send an email to firepick+u...@googlegroups.com.
To post to this group, send email to fire...@googlegroups.com.
Visit this group at http://groups.google.com/group/firepick.
For more options, visit https://groups.google.com/d/optout.
--
You received this message because you are subscribed to the Google Groups "FirePick" group.
To unsubscribe from this group and stop receiving emails from it, send an email to firepick+u...@googlegroups.com.
Let's do this! Start brainstorming the tasks into a list of issues on github. I want to help on the software side. I think the actual REST endpoints still need to be developed, right?
To unsubscribe from this group and stop receiving emails from it, send an email to firepick+unsubscribe@googlegroups.com.
To post to this group, send email to fire...@googlegroups.com.
Visit this group at http://groups.google.com/group/firepick.
For more options, visit https://groups.google.com/d/optout.
--
You received this message because you are subscribed to the Google Groups "FirePick" group.
To unsubscribe from this group and stop receiving emails from it, send an email to firepick+unsubscribe@googlegroups.com.
To post to this group, send email to fire...@googlegroups.com.
Visit this group at http://groups.google.com/group/firepick.
For more options, visit https://groups.google.com/d/optout.
--
You received this message because you are subscribed to the Google Groups "FirePick" group.
To unsubscribe from this group and stop receiving emails from it, send an email to firepick+unsubscribe@googlegroups.com.
Opportunities for software involvement include:
1) OpenPnP (Jason/Neil)2) FireSight (Karl/Simon/Neil/Armin)3) FireREST/FireSight vision calibration (Karl)
Work on FireREST alone is somewhat problematic without an actual FPD. I suspect I'll be working with Douglas on #3, since he'll be wanting to get his machine to actually do something.
If you don't have a machine and want to work on software, FireSIght might be interesting, since Simon and Armin have both pitched in to help with FireSight without machines.
Do we have an approximate date the beta machines might be available to purchase? Right now, I'm more of a software guy than hardware guy, but I'd like to work towards that direction once I get a little experience with 3d printing.
--
You received this message because you are subscribed to a topic in the Google Groups "FirePick" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/firepick/rrvXWsAfVKU/unsubscribe.
To unsubscribe from this group and all its topics, send an email to firepick+u...@googlegroups.com.
Can the marlin code be compiled and debugged / modified / hacked with Amtel's studio IDE or must I use the Arduino IDE ( which I have used briefly a while time ago )?
--

--
You received this message because you are subscribed to the Google Groups "FirePick" group.
To unsubscribe from this group and stop receiving emails from it, send an email to firepick+u...@googlegroups.com.
Hi Neil,
No problem, just on of those things you get when developing stuff :-)
BTW, how do you post a picture into a post?
Dumb question, since I am not very familiar with Eagle, wouldn't this normally have been caught by performing a DRC after the design was done? Every PCB package that I have ever used would have caught this.I also see the status at the bottom left corner of the image that says "Ratsnest: 7 airwires". Are there more unrouted traces?
Whenever I *think* I’ve finished routing a board in eagle I do a random click around on the board with the routing tool, just to find small things like this that I’ve missed. I’m always surprised how much I miss!!
Earlier versions of eagle used to route the next nearest air wire to where you click, so if there is only one left and you click the opposite side of the board it would still try and route it. Now days there seems to be a distance limit so you have to click within a few cm for the route tool to find the air wire.
The other way to double check is turn off all view layers except air wires.
Paul.
--
You received this message because you are subscribed to the Google Groups "FirePick" group.
To unsubscribe from this group and stop receiving emails from it, send an email to firepick+u...@googlegroups.com.

