As I understand, the starting point for adding NeoDen4 support to OpenPnP was this link:
https://github.com/openpnp/openpnp/wiki/Neoden-4You can find the Feed/Peel code there. The Feed/Peel code works great, but after a few hours of logging I found that the "feeder check" doesn’t work as expected. In fact, it doesn’t seem to work at all.
I tried to capture PC ↔ NeoDen communication by pressing "Feeder Test" in the "Manual Test" tab.
When I captured it, I found that between the "feed/peel" commands and "feeder is ready", it takes ~5 seconds or even more.
It’s clear that this is not the right way.
Then I checked the original NeoDen4 drivers for OpenPnP.
I found that these drivers have an implementation for Feed/Peel, but do not have an implementation for "feeder status check".
After triggering Feed/Peel, the driver simply returns control to the main software without waiting for "feeder is ready".
What’s wrong with this?
During the OpenPnP workflow, we need to feed/peel the component, then grab it with the nozzle and bring it to the camera.
When components are small (step is 4 mm) and the head speed is not fast, everything is OK.
But when components are big (step 8 or 12 mm), the feeder needs a lot of time to feed them. In this case, the nozzle will try to pick the component while the feeder is still moving.
To check this, take a feeder, set the "step" to 12, and perform "take a component" by pressing the corresponding icon. You will see that the nozzle tries to grab the component while the feeder is still moving
Also, you can see this situation even if the step is 4, when you try to take 4 components from the same feeder.
I made some workaround, but I made it manually in source files, so, this is not implemented it "release" version
пʼятниця, 3 квітня 2026 р. о 13:32:10 UTC+3 Evgenij Rakhno пише: