hi again,

> I think you are looking for 'double step'
> This idea is a single edge trigger
>    ___     ___
> __|     or    |___
> 
> the trigger creates a complete step
>   ___
> __|  |___


I've tried it with a reset-function inside my
component - but what sounds like a good idea, does not
solve the problem:

Yes, I can get very short "high-tick" outside the
timing limits of the runtime.
but I also get a square instead of only a rising or
falling edge.

I found no way to tell the stepgen.c
(without making changes inside the stepgen-source):

"do not care about any timings or the pin-state. if a
motor step is needed, just toggle the level of the pin"

this is only one data-telegram via ethernet.
but a rising and falling edge together need two
complete packets - 2 data telegrams.

this is wasted time, when the receiver is able to
interpret every edge as a motorstep himself...


now I use this

            if ( stepgen->timer1 != 0 ) {
                 if (*(stepgen->phase[STEP_PIN]) ==1){
                         *(stepgen->phase[STEP_PIN])=0;
                }else{
                         *(stepgen->phase[STEP_PIN])=1;
                }

instead of this

            if ( stepgen->timer1 != 0 ) {
                 *(stepgen->phase[STEP_PIN]) = 1;
            } else {
                 *(stepgen->phase[STEP_PIN]) = 0;
            }

in stepgen.c - and I get a square-wave


do you see any other way to get this result?
without changes in stepgen.c ?


wicki



_______________________________________________
Emc-developers mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/emc-developers

Reply via email to