John Kasunich wrote: > > > You can do the same that we had Stuart do. Scope the index-enable and > position HAL pins of the encoder driver. Trigger on falling edge of > index-enable. On that falling edge, position had better be within a > couple counts of zero, or the index isn't working. > Right, although this is at the HAL end of the driver, not the "device" end. Clearly, the HAL side was reporting it saw index but the position did NOT zero. I think it is more likely that the encoder signal had some flaw in it (bad logic levels, noise or timing issues) rather than a software problem, but I can't figure out why restarting EMC would reliably clear it up for one good run. > I think the spindle index enable is immediately turned back on by motion > each time it falls unless you are actually in a threading pass. I'm wondering if there is possibly a software timing race in the driver that is causing this. Maybe somehow the delay in accepting the zero count on index signal is so great that the sense index signal gets seen and turns off the zero on index before the counter gets zeroed. But, that is all supposed to happen within one us. How can the CPU beat that, especially through the IEEE-1284 bottleneck?
Anyway, if the delay is one us, and the servo loop is performed at 1 KHz, then it should be able to mess up only one in a thousand events, not all of them. Jon ------------------------------------------------------------------------- This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/ _______________________________________________ Emc-users mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/emc-users
