Dynomotion

Group: DynoMotion Message: 3932 From: himykabibble Date: 2/18/2012
Subject: Acceleration....
Tom,

This is just strange.... In the course of trying to sort out the last few problems (seemingly random faults and position loss when jogging using MoveExp), I've discovered something which makes no sense at all. For the X/Y/Z axes, I have acceleration of 25 in/sec^2, and velocity of 200 IPM for X/Y, and 250 IPM for Z. The axis parameters are being set using those values multiplied by steps/inch for each axis (and divided by 60 for the Vel settings). I have PLENTY of reserve capability on the axes - I can double my acceleration up to 50 in/sec^2, and increase velocity from 200 IPM to at least 300 IPM with no problems whatsoever when running G-code, or jogging with Jog(). But, using MoveExp(), I get random faults and position loss. If I REDUCE the accelerations, say from 25 in/sec^2 to 5 in/sec^2, I get TONS of faults on all axes. In fact, on my A axis, if I reduce acceleration from 5 in/sec^2 to 0.05 in/sec^2, I can BARELY get the axis to move at all using MoveExp. Most of the time, it faults with a loud bang the instant I touch the MPG. There HAS to be either a problem in MoveExp, or something really stupid I'm doing wrong, but I'm out of places to look.

Regards,
Ray L.
Group: DynoMotion Message: 3940 From: Tom Kerekes Date: 2/19/2012
Subject: Re: Acceleration....
Hi Ray,
 
I thought you had removed all MoveExp commands?  But anyway please see the V4.29z Version that is now available.  The MoveExp has been improved to avoid certain issues.  The previous version you were using wasn't expecting the acceleration to be set so low that once it got onto the exponential velocity curve the allowed deceleration would not be insufficient to stay on the curve and avoid overshooting the target. There was also a bug where in some cases the MoveExp (after a combination of Jogs) would start off at a non-zero velocity.  It should also allow mixing of Jogs/Moves/MoveExp with proper blending applied.
 
Regards
TK

Group: DynoMotion Message: 3943 From: himykabibble Date: 2/19/2012
Subject: Re: Acceleration....
Tom,

Looks like the 429z dotNet implementation has changed a lot of things and it has seriously broken my app - I get almost 80 errors, mostly things that no longer exist, like KM_Controller.Connected, KM_Controller.Interpreter, etc. Is there a summary of the required changes somewhere?

Regards,
Ray L.

--- In DynoMotion@yahoogroups.com, Tom Kerekes <tk@...> wrote:
>
> Hi Ray,
>  
> I thought you had removed all MoveExp commands?  But anyway please see the V4.29z Version that is now available.  The MoveExp has been improved to avoid certain issues.  The previous version you were using wasn't expecting the acceleration to be set so low that once it got onto the exponential velocity curve the allowed deceleration would not be insufficient to stay on the curve and avoid overshooting the target. There was also a bug where in some cases the MoveExp (after a combination of Jogs) would start off at a non-zero velocity.  It should also allow mixing of Jogs/Moves/MoveExp with proper blending applied.
>  
> Regards
> TK
>
> From: himykabibble <jagboy@...>
> To: DynoMotion@yahoogroups.com
> Sent: Saturday, February 18, 2012 3:24 PM
> Subject: [DynoMotion] Acceleration....
>
>
>  
> Tom,
>
> This is just strange.... In the course of trying to sort out the last few problems (seemingly random faults and position loss when jogging using MoveExp), I've discovered something which makes no sense at all. For the X/Y/Z axes, I have acceleration of 25 in/sec^2, and velocity of 200 IPM for X/Y, and 250 IPM for Z. The axis parameters are being set using those values multiplied by steps/inch for each axis (and divided by 60 for the Vel settings). I have PLENTY of reserve capability on the axes - I can double my acceleration up to 50 in/sec^2, and increase velocity from 200 IPM to at least 300 IPM with no problems whatsoever when running G-code, or jogging with Jog(). But, using MoveExp(), I get random faults and position loss. If I REDUCE the accelerations, say from 25 in/sec^2 to 5 in/sec^2, I get TONS of faults on all axes. In fact, on my A axis, if I reduce acceleration from 5 in/sec^2 to 0.05 in/sec^2, I can BARELY get the axis to move at all using
> MoveExp. Most of the time, it faults with a loud bang the instant I touch the MPG. There HAS to be either a problem in MoveExp, or something really stupid I'm doing wrong, but I'm out of places to look.
>
> Regards,
> Ray L.
>
Group: DynoMotion Message: 3944 From: himykabibble Date: 2/19/2012
Subject: Re: Acceleration....
Tom,

I *think* I've worked through all of the changes except for the two detailed below, which have me stumped. The changes I found were:

KM_Controller.Interpreter => KM_Controller.CoordMotion.Interpreter
KM_Controller.Interpreter.SetupParams => KM_Controller.CoordMotion.MotionParams
KM_Controller.AxisChannels => KM_Controller.GetAxis()
KM_Controller.IOPoints => KMController.GetIO()

Is that all correct?

Personally, I find it odd to use functions named "Get" to set parameters. Not at all intuitive.

Here are the two things I don't yet have resolved:

1) KM_Controller.Connected no longer exists. Does that get replaced with the new error callback? How do I know a disconnect has occurred?

2) KM_Controller.ReadLineTimeout() no longer exists. What replaces it?

Regards,
Ray L.



--- In DynoMotion@yahoogroups.com, "himykabibble" <jagboy@...> wrote:
>
> Tom,
>
> Looks like the 429z dotNet implementation has changed a lot of things and it has seriously broken my app - I get almost 80 errors, mostly things that no longer exist, like KM_Controller.Connected, KM_Controller.Interpreter, etc. Is there a summary of the required changes somewhere?
>
> Regards,
> Ray L.
>
> --- In DynoMotion@yahoogroups.com, Tom Kerekes <tk@> wrote:
> >
> > Hi Ray,
> >  
> > I thought you had removed all MoveExp commands?  But anyway please see the V4.29z Version that is now available.  The MoveExp has been improved to avoid certain issues.  The previous version you were using wasn't expecting the acceleration to be set so low that once it got onto the exponential velocity curve the allowed deceleration would not be insufficient to stay on the curve and avoid overshooting the target. There was also a bug where in some cases the MoveExp (after a combination of Jogs) would start off at a non-zero velocity.  It should also allow mixing of Jogs/Moves/MoveExp with proper blending applied.
> >  
> > Regards
> > TK
> >
> > From: himykabibble <jagboy@>
> > To: DynoMotion@yahoogroups.com
> > Sent: Saturday, February 18, 2012 3:24 PM
> > Subject: [DynoMotion] Acceleration....
> >
> >
> >  
> > Tom,
> >
> > This is just strange.... In the course of trying to sort out the last few problems (seemingly random faults and position loss when jogging using MoveExp), I've discovered something which makes no sense at all. For the X/Y/Z axes, I have acceleration of 25 in/sec^2, and velocity of 200 IPM for X/Y, and 250 IPM for Z. The axis parameters are being set using those values multiplied by steps/inch for each axis (and divided by 60 for the Vel settings). I have PLENTY of reserve capability on the axes - I can double my acceleration up to 50 in/sec^2, and increase velocity from 200 IPM to at least 300 IPM with no problems whatsoever when running G-code, or jogging with Jog(). But, using MoveExp(), I get random faults and position loss. If I REDUCE the accelerations, say from 25 in/sec^2 to 5 in/sec^2, I get TONS of faults on all axes. In fact, on my A axis, if I reduce acceleration from 5 in/sec^2 to 0.05 in/sec^2, I can BARELY get the axis to move at all using
> > MoveExp. Most of the time, it faults with a loud bang the instant I touch the MPG. There HAS to be either a problem in MoveExp, or something really stupid I'm doing wrong, but I'm out of places to look.
> >
> > Regards,
> > Ray L.
> >
>
Group: DynoMotion Message: 3946 From: Brad Murry Date: 2/19/2012
Subject: Re: Acceleration....

Ray,

 

KM_Controller.Interpreter.SetupParams ==  KM_Controller. CoordMotion.Interpreter.SetupParams

 

-Brad

 

From: DynoMotion@yahoogroups.com [mailto:DynoMotion@yahoogroups.com] On Behalf Of himykabibble
Sent: Sunday, February 19, 2012 6:09 PM
To: DynoMotion@yahoogroups.com
Subject: [DynoMotion] Re: Acceleration....

 

 

Tom,

I *think* I've worked through all of the changes except for the two detailed below, which have me stumped. The changes I found were:

KM_Controller.Interpreter => KM_Controller.CoordMotion.Interpreter
KM_Controller.Interpreter.SetupParams => KM_Controller.CoordMotion.MotionParams
KM_Controller.AxisChannels => KM_Controller.GetAxis()
KM_Controller.IOPoints => KMController.GetIO()

Is that all correct?

Personally, I find it odd to use functions named "Get" to set parameters. Not at all intuitive.

Here are the two things I don't yet have resolved:

1) KM_Controller.Connected no longer exists. Does that get replaced with the new error callback? How do I know a disconnect has occurred?

2) KM_Controller.ReadLineTimeout() no longer exists. What replaces it?

Regards,
Ray L.

--- In DynoMotion@yahoogroups.com, "himykabibble" <jagboy@...> wrote:
>
> Tom,
>
> Looks like the 429z dotNet implementation has changed a lot of things and it has seriously broken my app - I get almost 80 errors, mostly things that no longer exist, like KM_Controller.Connected, KM_Controller.Interpreter, etc. Is there a summary of the required changes somewhere?
>
> Regards,
> Ray L.
>
> --- In DynoMotion@yahoogroups.com, Tom Kerekes <tk@> wrote:
> >
> > Hi Ray,
> >  
> > I thought you had removed all MoveExp commands?  But anyway please see the V4.29z Version that is now available.  The MoveExp has been improved to avoid certain issues.  The previous version you were using wasn't expecting the acceleration to be set so low that once it got onto the exponential velocity curve the allowed deceleration would not be insufficient to stay on the curve and avoid overshooting the target. There was also a bug where in some cases the MoveExp (after a combination of Jogs) would start off at a non-zero velocity.  It should also allow mixing of Jogs/Moves/MoveExp with proper blending applied.
> >  
> > Regards
> > TK
> >
> > From: himykabibble <jagboy@>
> > To: DynoMotion@yahoogroups.com
> > Sent: Saturday, February 18, 2012 3:24 PM
> > Subject: [DynoMotion] Acceleration....
> >
> >
> >  
> > Tom,
> >
> > This is just strange.... In the course of trying to sort out the last few problems (seemingly random faults and position loss when jogging using MoveExp), I've discovered something which makes no sense at all. For the X/Y/Z axes, I have acceleration of 25 in/sec^2, and velocity of 200 IPM for X/Y, and 250 IPM for Z. The axis parameters are being set using those values multiplied by steps/inch for each axis (and divided by 60 for the Vel settings). I have PLENTY of reserve capability on the axes - I can double my acceleration up to 50 in/sec^2, and increase velocity from 200 IPM to at least 300 IPM with no problems whatsoever when running G-code, or jogging with Jog(). But, using MoveExp(), I get random faults and position loss. If I REDUCE the accelerations, say from 25 in/sec^2 to 5 in/sec^2, I get TONS of faults on all axes. In fact, on my A axis, if I reduce acceleration from 5 in/sec^2 to 0.05 in/sec^2, I can BARELY get the axis to move at all using
> > MoveExp. Most of the time, it faults with a loud bang the instant I touch the MPG. There HAS to be either a problem in MoveExp, or something really stupid I'm doing wrong, but I'm out of places to look.
> >
> > Regards,
> > Ray L.
> >
>

Group: DynoMotion Message: 3947 From: himykabibble Date: 2/19/2012
Subject: Re: Acceleration....
Brad,

Got it. What about my two unresolved questions?

Regards,
Ray L.

--- In DynoMotion@yahoogroups.com, Brad Murry <bradodarb@...> wrote:
>
> Ray,
>
>
>
> KM_Controller.Interpreter.SetupParams == KM_Controller.
> CoordMotion.Interpreter.SetupParams
>
>
>
> -Brad
>
>
>
> From: DynoMotion@yahoogroups.com [mailto:DynoMotion@yahoogroups.com] On
> Behalf Of himykabibble
> Sent: Sunday, February 19, 2012 6:09 PM
> To: DynoMotion@yahoogroups.com
> Subject: [DynoMotion] Re: Acceleration....
>
>
>
>
>
> Tom,
>
> I *think* I've worked through all of the changes except for the two detailed
> below, which have me stumped. The changes I found were:
>
> KM_Controller.Interpreter => KM_Controller.CoordMotion.Interpreter
> KM_Controller.Interpreter.SetupParams =>
> KM_Controller.CoordMotion.MotionParams
> KM_Controller.AxisChannels => KM_Controller.GetAxis()
> KM_Controller.IOPoints => KMController.GetIO()
>
> Is that all correct?
>
> Personally, I find it odd to use functions named "Get" to set parameters.
> Not at all intuitive.
>
> Here are the two things I don't yet have resolved:
>
> 1) KM_Controller.Connected no longer exists. Does that get replaced with the
> new error callback? How do I know a disconnect has occurred?
>
> 2) KM_Controller.ReadLineTimeout() no longer exists. What replaces it?
>
> Regards,
> Ray L.
>
> --- In DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> ,
> "himykabibble" <jagboy@> wrote:
> >
> > Tom,
> >
> > Looks like the 429z dotNet implementation has changed a lot of things and
> it has seriously broken my app - I get almost 80 errors, mostly things that
> no longer exist, like KM_Controller.Connected, KM_Controller.Interpreter,
> etc. Is there a summary of the required changes somewhere?
> >
> > Regards,
> > Ray L.
> >
> > --- In DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> ,
> Tom Kerekes <tk@> wrote:
> > >
> > > Hi Ray,
> > > Â
> > > I thought you had removed all MoveExp commands? But anyway please see
> the V4.29z Version that is now available. The MoveExp has been improved to
> avoid certain issues. The previous version you were using wasn't expecting
> the acceleration to be set so low that once it got onto the exponential
> velocity curve the allowed deceleration would not be insufficient to stay on
> the curve and avoid overshooting the target. There was also a bug where in
> some cases the MoveExp (after a combination of Jogs) would start off at a
> non-zero velocity. It should also allow mixing of Jogs/Moves/MoveExp with
> proper blending applied.
> > > Â
> > > Regards
> > > TK
> > >
> > > From: himykabibble <jagboy@>
> > > To: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com>
> > > Sent: Saturday, February 18, 2012 3:24 PM
> > > Subject: [DynoMotion] Acceleration....
> > >
> > >
> > > Â
> > > Tom,
> > >
> > > This is just strange.... In the course of trying to sort out the last
> few problems (seemingly random faults and position loss when jogging using
> MoveExp), I've discovered something which makes no sense at all. For the
> X/Y/Z axes, I have acceleration of 25 in/sec^2, and velocity of 200 IPM for
> X/Y, and 250 IPM for Z. The axis parameters are being set using those values
> multiplied by steps/inch for each axis (and divided by 60 for the Vel
> settings). I have PLENTY of reserve capability on the axes - I can double my
> acceleration up to 50 in/sec^2, and increase velocity from 200 IPM to at
> least 300 IPM with no problems whatsoever when running G-code, or jogging
> with Jog(). But, using MoveExp(), I get random faults and position loss. If
> I REDUCE the accelerations, say from 25 in/sec^2 to 5 in/sec^2, I get TONS
> of faults on all axes. In fact, on my A axis, if I reduce acceleration from
> 5 in/sec^2 to 0.05 in/sec^2, I can BARELY get the axis to move at all using
> > > MoveExp. Most of the time, it faults with a loud bang the instant I
> touch the MPG. There HAS to be either a problem in MoveExp, or something
> really stupid I'm doing wrong, but I'm out of places to look.
> > >
> > > Regards,
> > > Ray L.
> > >
> >
>
Group: DynoMotion Message: 3948 From: himykabibble Date: 2/19/2012
Subject: Re: Acceleration....
Hmmmm.... I replaced the KMController.Connected's with KMController.CheckIsReady(). The error on ReadLineTimeout went away(!) by itself. So, it now compiles, but when I try to run it, I get and exception:

An unhandled exception of type 'System.Reflection.TargetInvocationException' occurred in mscorlib.dll

Additional information: Exception has been thrown by the target of an invocation.

This did not happen before I re-flashed the board with v429z.

No clue what to do now....

Regards,
Ray L.

--- In DynoMotion@yahoogroups.com, Brad Murry <bradodarb@...> wrote:
>
> Ray,
>
>
>
> KM_Controller.Interpreter.SetupParams == KM_Controller.
> CoordMotion.Interpreter.SetupParams
>
>
>
> -Brad
>
>
>
> From: DynoMotion@yahoogroups.com [mailto:DynoMotion@yahoogroups.com] On
> Behalf Of himykabibble
> Sent: Sunday, February 19, 2012 6:09 PM
> To: DynoMotion@yahoogroups.com
> Subject: [DynoMotion] Re: Acceleration....
>
>
>
>
>
> Tom,
>
> I *think* I've worked through all of the changes except for the two detailed
> below, which have me stumped. The changes I found were:
>
> KM_Controller.Interpreter => KM_Controller.CoordMotion.Interpreter
> KM_Controller.Interpreter.SetupParams =>
> KM_Controller.CoordMotion.MotionParams
> KM_Controller.AxisChannels => KM_Controller.GetAxis()
> KM_Controller.IOPoints => KMController.GetIO()
>
> Is that all correct?
>
> Personally, I find it odd to use functions named "Get" to set parameters.
> Not at all intuitive.
>
> Here are the two things I don't yet have resolved:
>
> 1) KM_Controller.Connected no longer exists. Does that get replaced with the
> new error callback? How do I know a disconnect has occurred?
>
> 2) KM_Controller.ReadLineTimeout() no longer exists. What replaces it?
>
> Regards,
> Ray L.
>
> --- In DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> ,
> "himykabibble" <jagboy@> wrote:
> >
> > Tom,
> >
> > Looks like the 429z dotNet implementation has changed a lot of things and
> it has seriously broken my app - I get almost 80 errors, mostly things that
> no longer exist, like KM_Controller.Connected, KM_Controller.Interpreter,
> etc. Is there a summary of the required changes somewhere?
> >
> > Regards,
> > Ray L.
> >
> > --- In DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> ,
> Tom Kerekes <tk@> wrote:
> > >
> > > Hi Ray,
> > > Â
> > > I thought you had removed all MoveExp commands? But anyway please see
> the V4.29z Version that is now available. The MoveExp has been improved to
> avoid certain issues. The previous version you were using wasn't expecting
> the acceleration to be set so low that once it got onto the exponential
> velocity curve the allowed deceleration would not be insufficient to stay on
> the curve and avoid overshooting the target. There was also a bug where in
> some cases the MoveExp (after a combination of Jogs) would start off at a
> non-zero velocity. It should also allow mixing of Jogs/Moves/MoveExp with
> proper blending applied.
> > > Â
> > > Regards
> > > TK
> > >
> > > From: himykabibble <jagboy@>
> > > To: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com>
> > > Sent: Saturday, February 18, 2012 3:24 PM
> > > Subject: [DynoMotion] Acceleration....
> > >
> > >
> > > Â
> > > Tom,
> > >
> > > This is just strange.... In the course of trying to sort out the last
> few problems (seemingly random faults and position loss when jogging using
> MoveExp), I've discovered something which makes no sense at all. For the
> X/Y/Z axes, I have acceleration of 25 in/sec^2, and velocity of 200 IPM for
> X/Y, and 250 IPM for Z. The axis parameters are being set using those values
> multiplied by steps/inch for each axis (and divided by 60 for the Vel
> settings). I have PLENTY of reserve capability on the axes - I can double my
> acceleration up to 50 in/sec^2, and increase velocity from 200 IPM to at
> least 300 IPM with no problems whatsoever when running G-code, or jogging
> with Jog(). But, using MoveExp(), I get random faults and position loss. If
> I REDUCE the accelerations, say from 25 in/sec^2 to 5 in/sec^2, I get TONS
> of faults on all axes. In fact, on my A axis, if I reduce acceleration from
> 5 in/sec^2 to 0.05 in/sec^2, I can BARELY get the axis to move at all using
> > > MoveExp. Most of the time, it faults with a loud bang the instant I
> touch the MPG. There HAS to be either a problem in MoveExp, or something
> really stupid I'm doing wrong, but I'm out of places to look.
> > >
> > > Regards,
> > > Ray L.
> > >
> >
>
Group: DynoMotion Message: 3949 From: Tom Kerekes Date: 2/19/2012
Subject: Re: Acceleration....
Hi Ray,
 
Regarding #2 - just use ReadLine().  I don't think the timeout really made sense.  If you are expecting something to come back it should come back in a reasonable amount of time unless there is an error, and in that case it will return an error,
 
Regards
TK 

Group: DynoMotion Message: 3950 From: himykabibble Date: 2/19/2012
Subject: Re: Acceleration....
The exception occurs ONLY if the board is plugged in when I start my app. If I start the app, then plug in the board, I don't get the exception, but the board also never indicates "ready".

Regards,
Ray L.

--- In DynoMotion@yahoogroups.com, "himykabibble" <jagboy@...> wrote:
>
> Hmmmm.... I replaced the KMController.Connected's with KMController.CheckIsReady(). The error on ReadLineTimeout went away(!) by itself. So, it now compiles, but when I try to run it, I get and exception:
>
> An unhandled exception of type 'System.Reflection.TargetInvocationException' occurred in mscorlib.dll
>
> Additional information: Exception has been thrown by the target of an invocation.
>
> This did not happen before I re-flashed the board with v429z.
>
> No clue what to do now....
>
> Regards,
> Ray L.
>
> --- In DynoMotion@yahoogroups.com, Brad Murry <bradodarb@> wrote:
> >
> > Ray,
> >
> >
> >
> > KM_Controller.Interpreter.SetupParams == KM_Controller.
> > CoordMotion.Interpreter.SetupParams
> >
> >
> >
> > -Brad
> >
> >
> >
> > From: DynoMotion@yahoogroups.com [mailto:DynoMotion@yahoogroups.com] On
> > Behalf Of himykabibble
> > Sent: Sunday, February 19, 2012 6:09 PM
> > To: DynoMotion@yahoogroups.com
> > Subject: [DynoMotion] Re: Acceleration....
> >
> >
> >
> >
> >
> > Tom,
> >
> > I *think* I've worked through all of the changes except for the two detailed
> > below, which have me stumped. The changes I found were:
> >
> > KM_Controller.Interpreter => KM_Controller.CoordMotion.Interpreter
> > KM_Controller.Interpreter.SetupParams =>
> > KM_Controller.CoordMotion.MotionParams
> > KM_Controller.AxisChannels => KM_Controller.GetAxis()
> > KM_Controller.IOPoints => KMController.GetIO()
> >
> > Is that all correct?
> >
> > Personally, I find it odd to use functions named "Get" to set parameters.
> > Not at all intuitive.
> >
> > Here are the two things I don't yet have resolved:
> >
> > 1) KM_Controller.Connected no longer exists. Does that get replaced with the
> > new error callback? How do I know a disconnect has occurred?
> >
> > 2) KM_Controller.ReadLineTimeout() no longer exists. What replaces it?
> >
> > Regards,
> > Ray L.
> >
> > --- In DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> ,
> > "himykabibble" <jagboy@> wrote:
> > >
> > > Tom,
> > >
> > > Looks like the 429z dotNet implementation has changed a lot of things and
> > it has seriously broken my app - I get almost 80 errors, mostly things that
> > no longer exist, like KM_Controller.Connected, KM_Controller.Interpreter,
> > etc. Is there a summary of the required changes somewhere?
> > >
> > > Regards,
> > > Ray L.
> > >
> > > --- In DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> ,
> > Tom Kerekes <tk@> wrote:
> > > >
> > > > Hi Ray,
> > > > Â
> > > > I thought you had removed all MoveExp commands? But anyway please see
> > the V4.29z Version that is now available. The MoveExp has been improved to
> > avoid certain issues. The previous version you were using wasn't expecting
> > the acceleration to be set so low that once it got onto the exponential
> > velocity curve the allowed deceleration would not be insufficient to stay on
> > the curve and avoid overshooting the target. There was also a bug where in
> > some cases the MoveExp (after a combination of Jogs) would start off at a
> > non-zero velocity. It should also allow mixing of Jogs/Moves/MoveExp with
> > proper blending applied.
> > > > Â
> > > > Regards
> > > > TK
> > > >
> > > > From: himykabibble <jagboy@>
> > > > To: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com>
> > > > Sent: Saturday, February 18, 2012 3:24 PM
> > > > Subject: [DynoMotion] Acceleration....
> > > >
> > > >
> > > > Â
> > > > Tom,
> > > >
> > > > This is just strange.... In the course of trying to sort out the last
> > few problems (seemingly random faults and position loss when jogging using
> > MoveExp), I've discovered something which makes no sense at all. For the
> > X/Y/Z axes, I have acceleration of 25 in/sec^2, and velocity of 200 IPM for
> > X/Y, and 250 IPM for Z. The axis parameters are being set using those values
> > multiplied by steps/inch for each axis (and divided by 60 for the Vel
> > settings). I have PLENTY of reserve capability on the axes - I can double my
> > acceleration up to 50 in/sec^2, and increase velocity from 200 IPM to at
> > least 300 IPM with no problems whatsoever when running G-code, or jogging
> > with Jog(). But, using MoveExp(), I get random faults and position loss. If
> > I REDUCE the accelerations, say from 25 in/sec^2 to 5 in/sec^2, I get TONS
> > of faults on all axes. In fact, on my A axis, if I reduce acceleration from
> > 5 in/sec^2 to 0.05 in/sec^2, I can BARELY get the axis to move at all using
> > > > MoveExp. Most of the time, it faults with a loud bang the instant I
> > touch the MPG. There HAS to be either a problem in MoveExp, or something
> > really stupid I'm doing wrong, but I'm out of places to look.
> > > >
> > > > Regards,
> > > > Ray L.
> > > >
> > >
> >
>
Group: DynoMotion Message: 3951 From: Brad Murry Date: 2/19/2012
Subject: Re: Acceleration....

> Personally, I find it odd to use functions named "Get" to set parameters.

> Not at all intuitive.”

 

From: DynoMotion@yahoogroups.com [mailto:DynoMotion@yahoogroups.com] On Behalf Of himykabibble
Sent: Sunday, February 19, 2012 6:41 PM
To: DynoMotion@yahoogroups.com
Subject: [DynoMotion] Re: Acceleration....

 

 

Hmmmm.... I replaced the KMController.Connected's with KMController.CheckIsReady(). The error on ReadLineTimeout went away(!) by itself. So, it now compiles, but when I try to run it, I get and exception:

An unhandled exception of type 'System.Reflection.TargetInvocationException' occurred in mscorlib.dll

Additional information: Exception has been thrown by the target of an invocation.

This did not happen before I re-flashed the board with v429z.

No clue what to do now....

Regards,
Ray L.

--- In DynoMotion@yahoogroups.com, Brad Murry <bradodarb@...> wrote:
>
> Ray,
>
>
>
> KM_Controller.Interpreter.SetupParams == KM_Controller.
> CoordMotion.Interpreter.SetupParams
>
>
>
> -Brad
>
>
>
> From: DynoMotion@yahoogroups.com [mailto:DynoMotion@yahoogroups.com] On
> Behalf Of himykabibble
> Sent: Sunday, February 19, 2012 6:09 PM
> To: DynoMotion@yahoogroups.com
> Subject: [DynoMotion] Re: Acceleration....
>
>
>
>
>
> Tom,
>
> I *think* I've worked through all of the changes except for the two detailed
> below, which have me stumped. The changes I found were:
>
> KM_Controller.Interpreter => KM_Controller.CoordMotion.Interpreter
> KM_Controller.Interpreter.SetupParams =>
> KM_Controller.CoordMotion.MotionParams
> KM_Controller.AxisChannels => KM_Controller.GetAxis()
> KM_Controller.IOPoints => KMController.GetIO()
>
> Is that all correct?
>
> Personally, I find it odd to use functions named "Get" to set parameters.
> Not at all intuitive.
>
> Here are the two things I don't yet have resolved:
>
> 1) KM_Controller.Connected no longer exists. Does that get replaced with the
> new error callback? How do I know a disconnect has occurred?
>
> 2) KM_Controller.ReadLineTimeout() no longer exists. What replaces it?
>
> Regards,
> Ray L.
>
> --- In DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> ,
> "himykabibble" <jagboy@> wrote:
> >
> > Tom,
> >
> > Looks like the 429z dotNet implementation has changed a lot of things and
> it has seriously broken my app - I get almost 80 errors, mostly things that
> no longer exist, like KM_Controller.Connected, KM_Controller.Interpreter,
> etc. Is there a summary of the required changes somewhere?
> >
> > Regards,
> > Ray L.
> >
> > --- In DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> ,
> Tom Kerekes <tk@> wrote:
> > >
> > > Hi Ray,
> > > Â
> > > I thought you had removed all MoveExp commands? But anyway please see
> the V4.29z Version that is now available. The MoveExp has been improved to
> avoid certain issues. The previous version you were using wasn't expecting
> the acceleration to be set so low that once it got onto the exponential
> velocity curve the allowed deceleration would not be insufficient to stay on
> the curve and avoid overshooting the target. There was also a bug where in
> some cases the MoveExp (after a combination of Jogs) would start off at a
> non-zero velocity. It should also allow mixing of Jogs/Moves/MoveExp with
> proper blending applied.
> > > Â
> > > Regards
> > > TK
> > >
> > > From: himykabibble <jagboy@>
> > > To: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com>
> > > Sent: Saturday, February 18, 2012 3:24 PM
> > > Subject: [DynoMotion] Acceleration....
> > >
> > >
> > > Â
> > > Tom,
> > >
> > > This is just strange.... In the course of trying to sort out the last
> few problems (seemingly random faults and position loss when jogging using
> MoveExp), I've discovered something which makes no sense at all. For the
> X/Y/Z axes, I have acceleration of 25 in/sec^2, and velocity of 200 IPM for
> X/Y, and 250 IPM for Z. The axis parameters are being set using those values
> multiplied by steps/inch for each axis (and divided by 60 for the Vel
> settings). I have PLENTY of reserve capability on the axes - I can double my
> acceleration up to 50 in/sec^2, and increase velocity from 200 IPM to at
> least 300 IPM with no problems whatsoever when running G-code, or jogging
> with Jog(). But, using MoveExp(), I get random faults and position loss. If
> I REDUCE the accelerations, say from 25 in/sec^2 to 5 in/sec^2, I get TONS
> of faults on all axes. In fact, on my A axis, if I reduce acceleration from
> 5 in/sec^2 to 0.05 in/sec^2, I can BARELY get the axis to move at all using
> > > MoveExp. Most of the time, it faults with a loud bang the instant I
> touch the MPG. There HAS to be either a problem in MoveExp, or something
> really stupid I'm doing wrong, but I'm out of places to look.
> > >
> > > Regards,
> > > Ray L.
> > >
> >
>

Group: DynoMotion Message: 3952 From: Tom Kerekes Date: 2/19/2012
Subject: Re: Acceleration....
Hi Ray,
 
Not sure what is going on, but don't use CheckIsReady() that is for something else (wait for the DSP to send "Ready" after a manually typed command).
 
TK

Group: DynoMotion Message: 3953 From: Brad Murry Date: 2/19/2012
Subject: Re: Acceleration....

“> Personally, I find it odd to use functions named "Get" to set parameters.

> Not at all intuitive.”

 

You are not setting any params here.  They are object creation methods and they ‘return’ a value.  Google the Factory pattern to understand why the nomenclature is intuitive.  You could also have a look at the source to see how things actually work, since it is included; alternatively feel free to peruse the included API reference.

 

 

 

Regarding #1,

 

It is best to use the CheckConnected(params Action[]).  You can either use it as it is or optionally pass in one or more action delegates to perform while the token is obtained.

 

-Brad

 

From: DynoMotion@yahoogroups.com [mailto:DynoMotion@yahoogroups.com] On Behalf Of himykabibble
Sent: Sunday, February 19, 2012 6:41 PM
To: DynoMotion@yahoogroups.com
Subject: [DynoMotion] Re: Acceleration....

 

 

Hmmmm.... I replaced the KMController.Connected's with KMController.CheckIsReady(). The error on ReadLineTimeout went away(!) by itself. So, it now compiles, but when I try to run it, I get and exception:

An unhandled exception of type 'System.Reflection.TargetInvocationException' occurred in mscorlib.dll

Additional information: Exception has been thrown by the target of an invocation.

This did not happen before I re-flashed the board with v429z.

No clue what to do now....

Regards,
Ray L.

--- In DynoMotion@yahoogroups.com, Brad Murry <bradodarb@...> wrote:
>
> Ray,
>
>
>
> KM_Controller.Interpreter.SetupParams == KM_Controller.
> CoordMotion.Interpreter.SetupParams
>
>
>
> -Brad
>
>
>
> From: DynoMotion@yahoogroups.com [mailto:DynoMotion@yahoogroups.com] On
> Behalf Of himykabibble
> Sent: Sunday, February 19, 2012 6:09 PM
> To: DynoMotion@yahoogroups.com
> Subject: [DynoMotion] Re: Acceleration....
>
>
>
>
>
> Tom,
>
> I *think* I've worked through all of the changes except for the two detailed
> below, which have me stumped. The changes I found were:
>
> KM_Controller.Interpreter => KM_Controller.CoordMotion.Interpreter
> KM_Controller.Interpreter.SetupParams =>
> KM_Controller.CoordMotion.MotionParams
> KM_Controller.AxisChannels => KM_Controller.GetAxis()
> KM_Controller.IOPoints => KMController.GetIO()
>
> Is that all correct?
>
> Personally, I find it odd to use functions named "Get" to set parameters.
> Not at all intuitive.
>
> Here are the two things I don't yet have resolved:
>
> 1) KM_Controller.Connected no longer exists. Does that get replaced with the
> new error callback? How do I know a disconnect has occurred?
>
> 2) KM_Controller.ReadLineTimeout() no longer exists. What replaces it?
>
> Regards,
> Ray L.
>
> --- In DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> ,
> "himykabibble" <jagboy@> wrote:
> >
> > Tom,
> >
> > Looks like the 429z dotNet implementation has changed a lot of things and
> it has seriously broken my app - I get almost 80 errors, mostly things that
> no longer exist, like KM_Controller.Connected, KM_Controller.Interpreter,
> etc. Is there a summary of the required changes somewhere?
> >
> > Regards,
> > Ray L.
> >
> > --- In DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> ,
> Tom Kerekes <tk@> wrote:
> > >
> > > Hi Ray,
> > > Â
> > > I thought you had removed all MoveExp commands? But anyway please see
> the V4.29z Version that is now available. The MoveExp has been improved to
> avoid certain issues. The previous version you were using wasn't expecting
> the acceleration to be set so low that once it got onto the exponential
> velocity curve the allowed deceleration would not be insufficient to stay on
> the curve and avoid overshooting the target. There was also a bug where in
> some cases the MoveExp (after a combination of Jogs) would start off at a
> non-zero velocity. It should also allow mixing of Jogs/Moves/MoveExp with
> proper blending applied.
> > > Â
> > > Regards
> > > TK
> > >
> > > From: himykabibble <jagboy@>
> > > To: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com>
> > > Sent: Saturday, February 18, 2012 3:24 PM
> > > Subject: [DynoMotion] Acceleration....
> > >
> > >
> > > Â
> > > Tom,
> > >
> > > This is just strange.... In the course of trying to sort out the last
> few problems (seemingly random faults and position loss when jogging using
> MoveExp), I've discovered something which makes no sense at all. For the
> X/Y/Z axes, I have acceleration of 25 in/sec^2, and velocity of 200 IPM for
> X/Y, and 250 IPM for Z. The axis parameters are being set using those values
> multiplied by steps/inch for each axis (and divided by 60 for the Vel
> settings). I have PLENTY of reserve capability on the axes - I can double my
> acceleration up to 50 in/sec^2, and increase velocity from 200 IPM to at
> least 300 IPM with no problems whatsoever when running G-code, or jogging
> with Jog(). But, using MoveExp(), I get random faults and position loss. If
> I REDUCE the accelerations, say from 25 in/sec^2 to 5 in/sec^2, I get TONS
> of faults on all axes. In fact, on my A axis, if I reduce acceleration from
> 5 in/sec^2 to 0.05 in/sec^2, I can BARELY get the axis to move at all using
> > > MoveExp. Most of the time, it faults with a loud bang the instant I
> touch the MPG. There HAS to be either a problem in MoveExp, or something
> really stupid I'm doing wrong, but I'm out of places to look.
> > >
> > > Regards,
> > > Ray L.
> > >
> >
>

Group: DynoMotion Message: 3954 From: himykabibble Date: 2/19/2012
Subject: Re: Acceleration....
Brad,

I realize it is returning an object. I guess what's not clear, when comparing what was there to what is there now, is before it seemed straight-forward - I created a list of KM_IOs and a list of KM_Axis, and passed those lists to KM_Controller. All very transparent. I assume KM_Controller is now adding to the list when you do the corresponding Get, and returning a reference to the object, right? And we then configure the object (i.e. - axis.Velocity = x.x). Is that not correct?

BTW - The exception I'm getting is happening when I try to hook in my InterpreterCompleted handler. It hangs in there for several seconds, then throws the exception. I have to do a debug build of dotNet and step into it to see what's going on.

--- In DynoMotion@yahoogroups.com, Brad Murry <bradodarb@...> wrote:
>
> "> Personally, I find it odd to use functions named "Get" to set parameters.
> > Not at all intuitive."
>
>
>
> You are not setting any params here. They are object creation methods and
> they `return' a value. Google the Factory pattern to understand why the
> nomenclature is intuitive. You could also have a look at the source to see
> how things actually work, since it is included; alternatively feel free to
> peruse the included API reference.
>
>
>
>
>
>
>
> Regarding #1,
>
>
>
> It is best to use the CheckConnected(params Action[]). You can either use
> it as it is or optionally pass in one or more action delegates to perform
> while the token is obtained.
>
>
>
> -Brad
>
>
>
> From: DynoMotion@yahoogroups.com [mailto:DynoMotion@yahoogroups.com] On
> Behalf Of himykabibble
> Sent: Sunday, February 19, 2012 6:41 PM
> To: DynoMotion@yahoogroups.com
> Subject: [DynoMotion] Re: Acceleration....
>
>
>
>
>
> Hmmmm.... I replaced the KMController.Connected's with
> KMController.CheckIsReady(). The error on ReadLineTimeout went away(!) by
> itself. So, it now compiles, but when I try to run it, I get and exception:
>
> An unhandled exception of type 'System.Reflection.TargetInvocationException'
> occurred in mscorlib.dll
>
> Additional information: Exception has been thrown by the target of an
> invocation.
>
> This did not happen before I re-flashed the board with v429z.
>
> No clue what to do now....
>
> Regards,
> Ray L.
>
> --- In DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> ,
> Brad Murry <bradodarb@> wrote:
> >
> > Ray,
> >
> >
> >
> > KM_Controller.Interpreter.SetupParams == KM_Controller.
> > CoordMotion.Interpreter.SetupParams
> >
> >
> >
> > -Brad
> >
> >
> >
> > From: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com>
> [mailto:DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> ]
> On
> > Behalf Of himykabibble
> > Sent: Sunday, February 19, 2012 6:09 PM
> > To: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com>
> > Subject: [DynoMotion] Re: Acceleration....
> >
> >
> >
> >
> >
> > Tom,
> >
> > I *think* I've worked through all of the changes except for the two
> detailed
> > below, which have me stumped. The changes I found were:
> >
> > KM_Controller.Interpreter => KM_Controller.CoordMotion.Interpreter
> > KM_Controller.Interpreter.SetupParams =>
> > KM_Controller.CoordMotion.MotionParams
> > KM_Controller.AxisChannels => KM_Controller.GetAxis()
> > KM_Controller.IOPoints => KMController.GetIO()
> >
> > Is that all correct?
> >
> > Personally, I find it odd to use functions named "Get" to set parameters.
> > Not at all intuitive.
> >
> > Here are the two things I don't yet have resolved:
> >
> > 1) KM_Controller.Connected no longer exists. Does that get replaced with
> the
> > new error callback? How do I know a disconnect has occurred?
> >
> > 2) KM_Controller.ReadLineTimeout() no longer exists. What replaces it?
> >
> > Regards,
> > Ray L.
> >
> > --- In DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com>
> <mailto:DynoMotion%40yahoogroups.com> ,
> > "himykabibble" <jagboy@> wrote:
> > >
> > > Tom,
> > >
> > > Looks like the 429z dotNet implementation has changed a lot of things
> and
> > it has seriously broken my app - I get almost 80 errors, mostly things
> that
> > no longer exist, like KM_Controller.Connected, KM_Controller.Interpreter,
> > etc. Is there a summary of the required changes somewhere?
> > >
> > > Regards,
> > > Ray L.
> > >
> > > --- In DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com>
> <mailto:DynoMotion%40yahoogroups.com> ,
> > Tom Kerekes <tk@> wrote:
> > > >
> > > > Hi Ray,
> > > > Â
> > > > I thought you had removed all MoveExp commands? But anyway please see
> > the V4.29z Version that is now available. The MoveExp has been improved
> to
> > avoid certain issues. The previous version you were using wasn't
> expecting
> > the acceleration to be set so low that once it got onto the exponential
> > velocity curve the allowed deceleration would not be insufficient to stay
> on
> > the curve and avoid overshooting the target. There was also a bug where in
> > some cases the MoveExp (after a combination of Jogs) would start off at a
> > non-zero velocity. It should also allow mixing of Jogs/Moves/MoveExp with
> > proper blending applied.
> > > > Â
> > > > Regards
> > > > TK
> > > >
> > > > From: himykabibble <jagboy@>
> > > > To: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com>
> <mailto:DynoMotion%40yahoogroups.com>
> > > > Sent: Saturday, February 18, 2012 3:24 PM
> > > > Subject: [DynoMotion] Acceleration....
> > > >
> > > >
> > > > Â
> > > > Tom,
> > > >
> > > > This is just strange.... In the course of trying to sort out the last
> > few problems (seemingly random faults and position loss when jogging using
> > MoveExp), I've discovered something which makes no sense at all. For the
> > X/Y/Z axes, I have acceleration of 25 in/sec^2, and velocity of 200 IPM
> for
> > X/Y, and 250 IPM for Z. The axis parameters are being set using those
> values
> > multiplied by steps/inch for each axis (and divided by 60 for the Vel
> > settings). I have PLENTY of reserve capability on the axes - I can double
> my
> > acceleration up to 50 in/sec^2, and increase velocity from 200 IPM to at
> > least 300 IPM with no problems whatsoever when running G-code, or jogging
> > with Jog(). But, using MoveExp(), I get random faults and position loss.
> If
> > I REDUCE the accelerations, say from 25 in/sec^2 to 5 in/sec^2, I get TONS
> > of faults on all axes. In fact, on my A axis, if I reduce acceleration
> from
> > 5 in/sec^2 to 0.05 in/sec^2, I can BARELY get the axis to move at all
> using
> > > > MoveExp. Most of the time, it faults with a loud bang the instant I
> > touch the MPG. There HAS to be either a problem in MoveExp, or something
> > really stupid I'm doing wrong, but I'm out of places to look.
> > > >
> > > > Regards,
> > > > Ray L.
> > > >
> > >
> >
>
Group: DynoMotion Message: 3956 From: Brad Murry Date: 2/19/2012
Subject: Re: Acceleration....

Hello Ray,

 

  No, KM_Controller no longer maintains a list of axis or io objects.  It seems cleaner to let the user application dictate where those are kept.  Those are just convenience methods to create a new object and it automatically reference the controller it was created from so it is a safer multi-instance/multi-board object.  As it simply returns a value and nothing else I am not sure why you would think it is setting something.

 

  I cannot reproduce your interpreter complete issue with the information provided.

 

-Brad Murry

 

From: DynoMotion@yahoogroups.com [mailto:DynoMotion@yahoogroups.com] On Behalf Of himykabibble
Sent: Sunday, February 19, 2012 7:10 PM
To: DynoMotion@yahoogroups.com
Subject: [DynoMotion] Re: Acceleration....

 

 

Brad,

I realize it is returning an object. I guess what's not clear, when comparing what was there to what is there now, is before it seemed straight-forward - I created a list of KM_IOs and a list of KM_Axis, and passed those lists to KM_Controller. All very transparent. I assume KM_Controller is now adding to the list when you do the corresponding Get, and returning a reference to the object, right? And we then configure the object (i.e. - axis.Velocity = x.x). Is that not correct?

BTW - The exception I'm getting is happening when I try to hook in my InterpreterCompleted handler. It hangs in there for several seconds, then throws the exception. I have to do a debug build of dotNet and step into it to see what's going on.

--- In DynoMotion@yahoogroups.com, Brad Murry <bradodarb@...> wrote:
>
> "> Personally, I find it odd to use functions named "Get" to set parameters.
> > Not at all intuitive."
>
>
>
> You are not setting any params here. They are object creation methods and
> they `return' a value. Google the Factory pattern to understand why the
> nomenclature is intuitive. You could also have a look at the source to see
> how things actually work, since it is included; alternatively feel free to
> peruse the included API reference.
>
>
>
>
>
>
>
> Regarding #1,
>
>
>
> It is best to use the CheckConnected(params Action[]). You can either use
> it as it is or optionally pass in one or more action delegates to perform
> while the token is obtained.
>
>
>
> -Brad
>
>
>
> From: DynoMotion@yahoogroups.com [mailto:DynoMotion@yahoogroups.com] On
> Behalf Of himykabibble
> Sent: Sunday, February 19, 2012 6:41 PM
> To: DynoMotion@yahoogroups.com
> Subject: [DynoMotion] Re: Acceleration....
>
>
>
>
>
> Hmmmm.... I replaced the KMController.Connected's with
> KMController.CheckIsReady(). The error on ReadLineTimeout went away(!) by
> itself. So, it now compiles, but when I try to run it, I get and exception:
>
> An unhandled exception of type 'System.Reflection.TargetInvocationException'
> occurred in mscorlib.dll
>
> Additional information: Exception has been thrown by the target of an
> invocation.
>
> This did not happen before I re-flashed the board with v429z.
>
> No clue what to do now....
>
> Regards,
> Ray L.
>
> --- In DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> ,
> Brad Murry <bradodarb@> wrote:
> >
> > Ray,
> >
> >
> >
> > KM_Controller.Interpreter.SetupParams == KM_Controller.
> > CoordMotion.Interpreter.SetupParams
> >
> >
> >
> > -Brad
> >
> >
> >
> > From: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com>
> [mailto:DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> ]
> On
> > Behalf Of himykabibble
> > Sent: Sunday, February 19, 2012 6:09 PM
> > To: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com>
> > Subject: [DynoMotion] Re: Acceleration....
> >
> >
> >
> >
> >
> > Tom,
> >
> > I *think* I've worked through all of the changes except for the two
> detailed
> > below, which have me stumped. The changes I found were:
> >
> > KM_Controller.Interpreter => KM_Controller.CoordMotion.Interpreter
> > KM_Controller.Interpreter.SetupParams =>
> > KM_Controller.CoordMotion.MotionParams
> > KM_Controller.AxisChannels => KM_Controller.GetAxis()
> > KM_Controller.IOPoints => KMController.GetIO()
> >
> > Is that all correct?
> >
> > Personally, I find it odd to use functions named "Get" to set parameters.
> > Not at all intuitive.
> >
> > Here are the two things I don't yet have resolved:
> >
> > 1) KM_Controller.Connected no longer exists. Does that get replaced with
> the
> > new error callback? How do I know a disconnect has occurred?
> >
> > 2) KM_Controller.ReadLineTimeout() no longer exists. What replaces it?
> >
> > Regards,
> > Ray L.
> >
> > --- In DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com>
> <mailto:DynoMotion%40yahoogroups.com> ,
> > "himykabibble" <jagboy@> wrote:
> > >
> > > Tom,
> > >
> > > Looks like the 429z dotNet implementation has changed a lot of things
> and
> > it has seriously broken my app - I get almost 80 errors, mostly things
> that
> > no longer exist, like KM_Controller.Connected, KM_Controller.Interpreter,
> > etc. Is there a summary of the required changes somewhere?
> > >
> > > Regards,
> > > Ray L.
> > >
> > > --- In DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com>
> <mailto:DynoMotion%40yahoogroups.com> ,
> > Tom Kerekes <tk@> wrote:
> > > >
> > > > Hi Ray,
> > > > Â
> > > > I thought you had removed all MoveExp commands? But anyway please see
> > the V4.29z Version that is now available. The MoveExp has been improved
> to
> > avoid certain issues. The previous version you were using wasn't
> expecting
> > the acceleration to be set so low that once it got onto the exponential
> > velocity curve the allowed deceleration would not be insufficient to stay
> on
> > the curve and avoid overshooting the target. There was also a bug where in
> > some cases the MoveExp (after a combination of Jogs) would start off at a
> > non-zero velocity. It should also allow mixing of Jogs/Moves/MoveExp with
> > proper blending applied.
> > > > Â
> > > > Regards
> > > > TK
> > > >
> > > > From: himykabibble <jagboy@>
> > > > To: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com>
> <mailto:DynoMotion%40yahoogroups.com>
> > > > Sent: Saturday, February 18, 2012 3:24 PM
> > > > Subject: [DynoMotion] Acceleration....
> > > >
> > > >
> > > > Â
> > > > Tom,
> > > >
> > > > This is just strange.... In the course of trying to sort out the last
> > few problems (seemingly random faults and position loss when jogging using
> > MoveExp), I've discovered something which makes no sense at all. For the
> > X/Y/Z axes, I have acceleration of 25 in/sec^2, and velocity of 200 IPM
> for
> > X/Y, and 250 IPM for Z. The axis parameters are being set using those
> values
> > multiplied by steps/inch for each axis (and divided by 60 for the Vel
> > settings). I have PLENTY of reserve capability on the axes - I can double
> my
> > acceleration up to 50 in/sec^2, and increase velocity from 200 IPM to at
> > least 300 IPM with no problems whatsoever when running G-code, or jogging
> > with Jog(). But, using MoveExp(), I get random faults and position loss.
> If
> > I REDUCE the accelerations, say from 25 in/sec^2 to 5 in/sec^2, I get TONS
> > of faults on all axes. In fact, on my A axis, if I reduce acceleration
> from
> > 5 in/sec^2 to 0.05 in/sec^2, I can BARELY get the axis to move at all
> using
> > > > MoveExp. Most of the time, it faults with a loud bang the instant I
> > touch the MPG. There HAS to be either a problem in MoveExp, or something
> > really stupid I'm doing wrong, but I'm out of places to look.
> > > >
> > > > Regards,
> > > > Ray L.
> > > >
> > >
> >
>

Group: DynoMotion Message: 3957 From: himykabibble Date: 2/19/2012
Subject: Re: Acceleration....
Brad,

Odd, the exception was occurring every time when I tried to step over that one line in Release mode. In Debug mode, it got past it just fine, then threw up later. I found a bug in my code (a hard-coded path pointing to the no-longer-there v428 directory), and have gotten past that. It now comes up, indicates the board is connected, but when I try to come out of E-Stop, it comes partially to life, but the worker thread that updates most of the GUI controls seems not to be running. Looking into that now...

Regards,
Ray L.


--- In DynoMotion@yahoogroups.com, Brad Murry <bradodarb@...> wrote:
>
> Hello Ray,
>
>
>
> No, KM_Controller no longer maintains a list of axis or io objects. It
> seems cleaner to let the user application dictate where those are kept.
> Those are just convenience methods to create a new object and it
> automatically reference the controller it was created from so it is a safer
> multi-instance/multi-board object. As it simply returns a value and nothing
> else I am not sure why you would think it is setting something.
>
>
>
> I cannot reproduce your interpreter complete issue with the information
> provided.
>
>
>
> -Brad Murry
>
>
>
> From: DynoMotion@yahoogroups.com [mailto:DynoMotion@yahoogroups.com] On
> Behalf Of himykabibble
> Sent: Sunday, February 19, 2012 7:10 PM
> To: DynoMotion@yahoogroups.com
> Subject: [DynoMotion] Re: Acceleration....
>
>
>
>
>
> Brad,
>
> I realize it is returning an object. I guess what's not clear, when
> comparing what was there to what is there now, is before it seemed
> straight-forward - I created a list of KM_IOs and a list of KM_Axis, and
> passed those lists to KM_Controller. All very transparent. I assume
> KM_Controller is now adding to the list when you do the corresponding Get,
> and returning a reference to the object, right? And we then configure the
> object (i.e. - axis.Velocity = x.x). Is that not correct?
>
> BTW - The exception I'm getting is happening when I try to hook in my
> InterpreterCompleted handler. It hangs in there for several seconds, then
> throws the exception. I have to do a debug build of dotNet and step into it
> to see what's going on.
>
> --- In DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> ,
> Brad Murry <bradodarb@> wrote:
> >
> > "> Personally, I find it odd to use functions named "Get" to set
> parameters.
> > > Not at all intuitive."
> >
> >
> >
> > You are not setting any params here. They are object creation methods and
> > they `return' a value. Google the Factory pattern to understand why the
> > nomenclature is intuitive. You could also have a look at the source to see
> > how things actually work, since it is included; alternatively feel free to
> > peruse the included API reference.
> >
> >
> >
> >
> >
> >
> >
> > Regarding #1,
> >
> >
> >
> > It is best to use the CheckConnected(params Action[]). You can either use
> > it as it is or optionally pass in one or more action delegates to perform
> > while the token is obtained.
> >
> >
> >
> > -Brad
> >
> >
> >
> > From: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com>
> [mailto:DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> ]
> On
> > Behalf Of himykabibble
> > Sent: Sunday, February 19, 2012 6:41 PM
> > To: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com>
> > Subject: [DynoMotion] Re: Acceleration....
> >
> >
> >
> >
> >
> > Hmmmm.... I replaced the KMController.Connected's with
> > KMController.CheckIsReady(). The error on ReadLineTimeout went away(!) by
> > itself. So, it now compiles, but when I try to run it, I get and
> exception:
> >
> > An unhandled exception of type
> 'System.Reflection.TargetInvocationException'
> > occurred in mscorlib.dll
> >
> > Additional information: Exception has been thrown by the target of an
> > invocation.
> >
> > This did not happen before I re-flashed the board with v429z.
> >
> > No clue what to do now....
> >
> > Regards,
> > Ray L.
> >
> > --- In DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com>
> <mailto:DynoMotion%40yahoogroups.com> ,
> > Brad Murry <bradodarb@> wrote:
> > >
> > > Ray,
> > >
> > >
> > >
> > > KM_Controller.Interpreter.SetupParams == KM_Controller.
> > > CoordMotion.Interpreter.SetupParams
> > >
> > >
> > >
> > > -Brad
> > >
> > >
> > >
> > > From: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com>
> <mailto:DynoMotion%40yahoogroups.com>
> > [mailto:DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com>
> <mailto:DynoMotion%40yahoogroups.com> ]
> > On
> > > Behalf Of himykabibble
> > > Sent: Sunday, February 19, 2012 6:09 PM
> > > To: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com>
> <mailto:DynoMotion%40yahoogroups.com>
> > > Subject: [DynoMotion] Re: Acceleration....
> > >
> > >
> > >
> > >
> > >
> > > Tom,
> > >
> > > I *think* I've worked through all of the changes except for the two
> > detailed
> > > below, which have me stumped. The changes I found were:
> > >
> > > KM_Controller.Interpreter => KM_Controller.CoordMotion.Interpreter
> > > KM_Controller.Interpreter.SetupParams =>
> > > KM_Controller.CoordMotion.MotionParams
> > > KM_Controller.AxisChannels => KM_Controller.GetAxis()
> > > KM_Controller.IOPoints => KMController.GetIO()
> > >
> > > Is that all correct?
> > >
> > > Personally, I find it odd to use functions named "Get" to set
> parameters.
> > > Not at all intuitive.
> > >
> > > Here are the two things I don't yet have resolved:
> > >
> > > 1) KM_Controller.Connected no longer exists. Does that get replaced with
> > the
> > > new error callback? How do I know a disconnect has occurred?
> > >
> > > 2) KM_Controller.ReadLineTimeout() no longer exists. What replaces it?
> > >
> > > Regards,
> > > Ray L.
> > >
> > > --- In DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com>
> <mailto:DynoMotion%40yahoogroups.com>
> > <mailto:DynoMotion%40yahoogroups.com> ,
> > > "himykabibble" <jagboy@> wrote:
> > > >
> > > > Tom,
> > > >
> > > > Looks like the 429z dotNet implementation has changed a lot of things
> > and
> > > it has seriously broken my app - I get almost 80 errors, mostly things
> > that
> > > no longer exist, like KM_Controller.Connected,
> KM_Controller.Interpreter,
> > > etc. Is there a summary of the required changes somewhere?
> > > >
> > > > Regards,
> > > > Ray L.
> > > >
> > > > --- In DynoMotion@yahoogroups.com
> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com>
> > <mailto:DynoMotion%40yahoogroups.com> ,
> > > Tom Kerekes <tk@> wrote:
> > > > >
> > > > > Hi Ray,
> > > > > Â
> > > > > I thought you had removed all MoveExp commands? But anyway please
> see
> > > the V4.29z Version that is now available. The MoveExp has been improved
> > to
> > > avoid certain issues. The previous version you were using wasn't
> > expecting
> > > the acceleration to be set so low that once it got onto the exponential
> > > velocity curve the allowed deceleration would not be insufficient to
> stay
> > on
> > > the curve and avoid overshooting the target. There was also a bug where
> in
> > > some cases the MoveExp (after a combination of Jogs) would start off at
> a
> > > non-zero velocity. It should also allow mixing of Jogs/Moves/MoveExp
> with
> > > proper blending applied.
> > > > > Â
> > > > > Regards
> > > > > TK
> > > > >
> > > > > From: himykabibble <jagboy@>
> > > > > To: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com>
> <mailto:DynoMotion%40yahoogroups.com>
> > <mailto:DynoMotion%40yahoogroups.com>
> > > > > Sent: Saturday, February 18, 2012 3:24 PM
> > > > > Subject: [DynoMotion] Acceleration....
> > > > >
> > > > >
> > > > > Â
> > > > > Tom,
> > > > >
> > > > > This is just strange.... In the course of trying to sort out the
> last
> > > few problems (seemingly random faults and position loss when jogging
> using
> > > MoveExp), I've discovered something which makes no sense at all. For the
> > > X/Y/Z axes, I have acceleration of 25 in/sec^2, and velocity of 200 IPM
> > for
> > > X/Y, and 250 IPM for Z. The axis parameters are being set using those
> > values
> > > multiplied by steps/inch for each axis (and divided by 60 for the Vel
> > > settings). I have PLENTY of reserve capability on the axes - I can
> double
> > my
> > > acceleration up to 50 in/sec^2, and increase velocity from 200 IPM to at
> > > least 300 IPM with no problems whatsoever when running G-code, or
> jogging
> > > with Jog(). But, using MoveExp(), I get random faults and position loss.
> > If
> > > I REDUCE the accelerations, say from 25 in/sec^2 to 5 in/sec^2, I get
> TONS
> > > of faults on all axes. In fact, on my A axis, if I reduce acceleration
> > from
> > > 5 in/sec^2 to 0.05 in/sec^2, I can BARELY get the axis to move at all
> > using
> > > > > MoveExp. Most of the time, it faults with a loud bang the instant I
> > > touch the MPG. There HAS to be either a problem in MoveExp, or something
> > > really stupid I'm doing wrong, but I'm out of places to look.
> > > > >
> > > > > Regards,
> > > > > Ray L.
> > > > >
> > > >
> > >
> >
>
Group: DynoMotion Message: 3958 From: himykabibble Date: 2/19/2012
Subject: Re: Acceleration....
Damn! This seems to be a threading thing.... The worker thread starts up and seems to work OK, until I plug in the board and try to exit E-Stop. I don't understand how to use VS to debug this type of issue. Any suggestions?

--- In DynoMotion@yahoogroups.com, "himykabibble" <jagboy@...> wrote:
>
> Brad,
>
> Odd, the exception was occurring every time when I tried to step over that one line in Release mode. In Debug mode, it got past it just fine, then threw up later. I found a bug in my code (a hard-coded path pointing to the no-longer-there v428 directory), and have gotten past that. It now comes up, indicates the board is connected, but when I try to come out of E-Stop, it comes partially to life, but the worker thread that updates most of the GUI controls seems not to be running. Looking into that now...
>
> Regards,
> Ray L.
>
>
> --- In DynoMotion@yahoogroups.com, Brad Murry <bradodarb@> wrote:
> >
> > Hello Ray,
> >
> >
> >
> > No, KM_Controller no longer maintains a list of axis or io objects. It
> > seems cleaner to let the user application dictate where those are kept.
> > Those are just convenience methods to create a new object and it
> > automatically reference the controller it was created from so it is a safer
> > multi-instance/multi-board object. As it simply returns a value and nothing
> > else I am not sure why you would think it is setting something.
> >
> >
> >
> > I cannot reproduce your interpreter complete issue with the information
> > provided.
> >
> >
> >
> > -Brad Murry
> >
> >
> >
> > From: DynoMotion@yahoogroups.com [mailto:DynoMotion@yahoogroups.com] On
> > Behalf Of himykabibble
> > Sent: Sunday, February 19, 2012 7:10 PM
> > To: DynoMotion@yahoogroups.com
> > Subject: [DynoMotion] Re: Acceleration....
> >
> >
> >
> >
> >
> > Brad,
> >
> > I realize it is returning an object. I guess what's not clear, when
> > comparing what was there to what is there now, is before it seemed
> > straight-forward - I created a list of KM_IOs and a list of KM_Axis, and
> > passed those lists to KM_Controller. All very transparent. I assume
> > KM_Controller is now adding to the list when you do the corresponding Get,
> > and returning a reference to the object, right? And we then configure the
> > object (i.e. - axis.Velocity = x.x). Is that not correct?
> >
> > BTW - The exception I'm getting is happening when I try to hook in my
> > InterpreterCompleted handler. It hangs in there for several seconds, then
> > throws the exception. I have to do a debug build of dotNet and step into it
> > to see what's going on.
> >
> > --- In DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> ,
> > Brad Murry <bradodarb@> wrote:
> > >
> > > "> Personally, I find it odd to use functions named "Get" to set
> > parameters.
> > > > Not at all intuitive."
> > >
> > >
> > >
> > > You are not setting any params here. They are object creation methods and
> > > they `return' a value. Google the Factory pattern to understand why the
> > > nomenclature is intuitive. You could also have a look at the source to see
> > > how things actually work, since it is included; alternatively feel free to
> > > peruse the included API reference.
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > > Regarding #1,
> > >
> > >
> > >
> > > It is best to use the CheckConnected(params Action[]). You can either use
> > > it as it is or optionally pass in one or more action delegates to perform
> > > while the token is obtained.
> > >
> > >
> > >
> > > -Brad
> > >
> > >
> > >
> > > From: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com>
> > [mailto:DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> ]
> > On
> > > Behalf Of himykabibble
> > > Sent: Sunday, February 19, 2012 6:41 PM
> > > To: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com>
> > > Subject: [DynoMotion] Re: Acceleration....
> > >
> > >
> > >
> > >
> > >
> > > Hmmmm.... I replaced the KMController.Connected's with
> > > KMController.CheckIsReady(). The error on ReadLineTimeout went away(!) by
> > > itself. So, it now compiles, but when I try to run it, I get and
> > exception:
> > >
> > > An unhandled exception of type
> > 'System.Reflection.TargetInvocationException'
> > > occurred in mscorlib.dll
> > >
> > > Additional information: Exception has been thrown by the target of an
> > > invocation.
> > >
> > > This did not happen before I re-flashed the board with v429z.
> > >
> > > No clue what to do now....
> > >
> > > Regards,
> > > Ray L.
> > >
> > > --- In DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com>
> > <mailto:DynoMotion%40yahoogroups.com> ,
> > > Brad Murry <bradodarb@> wrote:
> > > >
> > > > Ray,
> > > >
> > > >
> > > >
> > > > KM_Controller.Interpreter.SetupParams == KM_Controller.
> > > > CoordMotion.Interpreter.SetupParams
> > > >
> > > >
> > > >
> > > > -Brad
> > > >
> > > >
> > > >
> > > > From: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com>
> > <mailto:DynoMotion%40yahoogroups.com>
> > > [mailto:DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com>
> > <mailto:DynoMotion%40yahoogroups.com> ]
> > > On
> > > > Behalf Of himykabibble
> > > > Sent: Sunday, February 19, 2012 6:09 PM
> > > > To: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com>
> > <mailto:DynoMotion%40yahoogroups.com>
> > > > Subject: [DynoMotion] Re: Acceleration....
> > > >
> > > >
> > > >
> > > >
> > > >
> > > > Tom,
> > > >
> > > > I *think* I've worked through all of the changes except for the two
> > > detailed
> > > > below, which have me stumped. The changes I found were:
> > > >
> > > > KM_Controller.Interpreter => KM_Controller.CoordMotion.Interpreter
> > > > KM_Controller.Interpreter.SetupParams =>
> > > > KM_Controller.CoordMotion.MotionParams
> > > > KM_Controller.AxisChannels => KM_Controller.GetAxis()
> > > > KM_Controller.IOPoints => KMController.GetIO()
> > > >
> > > > Is that all correct?
> > > >
> > > > Personally, I find it odd to use functions named "Get" to set
> > parameters.
> > > > Not at all intuitive.
> > > >
> > > > Here are the two things I don't yet have resolved:
> > > >
> > > > 1) KM_Controller.Connected no longer exists. Does that get replaced with
> > > the
> > > > new error callback? How do I know a disconnect has occurred?
> > > >
> > > > 2) KM_Controller.ReadLineTimeout() no longer exists. What replaces it?
> > > >
> > > > Regards,
> > > > Ray L.
> > > >
> > > > --- In DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com>
> > <mailto:DynoMotion%40yahoogroups.com>
> > > <mailto:DynoMotion%40yahoogroups.com> ,
> > > > "himykabibble" <jagboy@> wrote:
> > > > >
> > > > > Tom,
> > > > >
> > > > > Looks like the 429z dotNet implementation has changed a lot of things
> > > and
> > > > it has seriously broken my app - I get almost 80 errors, mostly things
> > > that
> > > > no longer exist, like KM_Controller.Connected,
> > KM_Controller.Interpreter,
> > > > etc. Is there a summary of the required changes somewhere?
> > > > >
> > > > > Regards,
> > > > > Ray L.
> > > > >
> > > > > --- In DynoMotion@yahoogroups.com
> > <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com>
> > > <mailto:DynoMotion%40yahoogroups.com> ,
> > > > Tom Kerekes <tk@> wrote:
> > > > > >
> > > > > > Hi Ray,
> > > > > > Â
> > > > > > I thought you had removed all MoveExp commands? But anyway please
> > see
> > > > the V4.29z Version that is now available. The MoveExp has been improved
> > > to
> > > > avoid certain issues. The previous version you were using wasn't
> > > expecting
> > > > the acceleration to be set so low that once it got onto the exponential
> > > > velocity curve the allowed deceleration would not be insufficient to
> > stay
> > > on
> > > > the curve and avoid overshooting the target. There was also a bug where
> > in
> > > > some cases the MoveExp (after a combination of Jogs) would start off at
> > a
> > > > non-zero velocity. It should also allow mixing of Jogs/Moves/MoveExp
> > with
> > > > proper blending applied.
> > > > > > Â
> > > > > > Regards
> > > > > > TK
> > > > > >
> > > > > > From: himykabibble <jagboy@>
> > > > > > To: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com>
> > <mailto:DynoMotion%40yahoogroups.com>
> > > <mailto:DynoMotion%40yahoogroups.com>
> > > > > > Sent: Saturday, February 18, 2012 3:24 PM
> > > > > > Subject: [DynoMotion] Acceleration....
> > > > > >
> > > > > >
> > > > > > Â
> > > > > > Tom,
> > > > > >
> > > > > > This is just strange.... In the course of trying to sort out the
> > last
> > > > few problems (seemingly random faults and position loss when jogging
> > using
> > > > MoveExp), I've discovered something which makes no sense at all. For the
> > > > X/Y/Z axes, I have acceleration of 25 in/sec^2, and velocity of 200 IPM
> > > for
> > > > X/Y, and 250 IPM for Z. The axis parameters are being set using those
> > > values
> > > > multiplied by steps/inch for each axis (and divided by 60 for the Vel
> > > > settings). I have PLENTY of reserve capability on the axes - I can
> > double
> > > my
> > > > acceleration up to 50 in/sec^2, and increase velocity from 200 IPM to at
> > > > least 300 IPM with no problems whatsoever when running G-code, or
> > jogging
> > > > with Jog(). But, using MoveExp(), I get random faults and position loss.
> > > If
> > > > I REDUCE the accelerations, say from 25 in/sec^2 to 5 in/sec^2, I get
> > TONS
> > > > of faults on all axes. In fact, on my A axis, if I reduce acceleration
> > > from
> > > > 5 in/sec^2 to 0.05 in/sec^2, I can BARELY get the axis to move at all
> > > using
> > > > > > MoveExp. Most of the time, it faults with a loud bang the instant I
> > > > touch the MPG. There HAS to be either a problem in MoveExp, or something
> > > > really stupid I'm doing wrong, but I'm out of places to look.
> > > > > >
> > > > > > Regards,
> > > > > > Ray L.
> > > > > >
> > > > >
> > > >
> > >
> >
>
Group: DynoMotion Message: 3959 From: himykabibble Date: 2/19/2012
Subject: Re: Acceleration....
Yeah, my guess is I'm getting into a deadlock. All the threads that talk to the KFlop seem to be hung (they're still there, just not running), all the others seem to be working OK. I don't know where to go from here.... Something in dotNet must have changed that affects this, as I haven't had this problem with v428 since we got the last deadlock issue sorted out.

--- In DynoMotion@yahoogroups.com, "himykabibble" <jagboy@...> wrote:
>
> Damn! This seems to be a threading thing.... The worker thread starts up and seems to work OK, until I plug in the board and try to exit E-Stop. I don't understand how to use VS to debug this type of issue. Any suggestions?
>
> --- In DynoMotion@yahoogroups.com, "himykabibble" <jagboy@> wrote:
> >
> > Brad,
> >
> > Odd, the exception was occurring every time when I tried to step over that one line in Release mode. In Debug mode, it got past it just fine, then threw up later. I found a bug in my code (a hard-coded path pointing to the no-longer-there v428 directory), and have gotten past that. It now comes up, indicates the board is connected, but when I try to come out of E-Stop, it comes partially to life, but the worker thread that updates most of the GUI controls seems not to be running. Looking into that now...
> >
> > Regards,
> > Ray L.
> >
> >
> > --- In DynoMotion@yahoogroups.com, Brad Murry <bradodarb@> wrote:
> > >
> > > Hello Ray,
> > >
> > >
> > >
> > > No, KM_Controller no longer maintains a list of axis or io objects. It
> > > seems cleaner to let the user application dictate where those are kept.
> > > Those are just convenience methods to create a new object and it
> > > automatically reference the controller it was created from so it is a safer
> > > multi-instance/multi-board object. As it simply returns a value and nothing
> > > else I am not sure why you would think it is setting something.
> > >
> > >
> > >
> > > I cannot reproduce your interpreter complete issue with the information
> > > provided.
> > >
> > >
> > >
> > > -Brad Murry
> > >
> > >
> > >
> > > From: DynoMotion@yahoogroups.com [mailto:DynoMotion@yahoogroups.com] On
> > > Behalf Of himykabibble
> > > Sent: Sunday, February 19, 2012 7:10 PM
> > > To: DynoMotion@yahoogroups.com
> > > Subject: [DynoMotion] Re: Acceleration....
> > >
> > >
> > >
> > >
> > >
> > > Brad,
> > >
> > > I realize it is returning an object. I guess what's not clear, when
> > > comparing what was there to what is there now, is before it seemed
> > > straight-forward - I created a list of KM_IOs and a list of KM_Axis, and
> > > passed those lists to KM_Controller. All very transparent. I assume
> > > KM_Controller is now adding to the list when you do the corresponding Get,
> > > and returning a reference to the object, right? And we then configure the
> > > object (i.e. - axis.Velocity = x.x). Is that not correct?
> > >
> > > BTW - The exception I'm getting is happening when I try to hook in my
> > > InterpreterCompleted handler. It hangs in there for several seconds, then
> > > throws the exception. I have to do a debug build of dotNet and step into it
> > > to see what's going on.
> > >
> > > --- In DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> ,
> > > Brad Murry <bradodarb@> wrote:
> > > >
> > > > "> Personally, I find it odd to use functions named "Get" to set
> > > parameters.
> > > > > Not at all intuitive."
> > > >
> > > >
> > > >
> > > > You are not setting any params here. They are object creation methods and
> > > > they `return' a value. Google the Factory pattern to understand why the
> > > > nomenclature is intuitive. You could also have a look at the source to see
> > > > how things actually work, since it is included; alternatively feel free to
> > > > peruse the included API reference.
> > > >
> > > >
> > > >
> > > >
> > > >
> > > >
> > > >
> > > > Regarding #1,
> > > >
> > > >
> > > >
> > > > It is best to use the CheckConnected(params Action[]). You can either use
> > > > it as it is or optionally pass in one or more action delegates to perform
> > > > while the token is obtained.
> > > >
> > > >
> > > >
> > > > -Brad
> > > >
> > > >
> > > >
> > > > From: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com>
> > > [mailto:DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> ]
> > > On
> > > > Behalf Of himykabibble
> > > > Sent: Sunday, February 19, 2012 6:41 PM
> > > > To: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com>
> > > > Subject: [DynoMotion] Re: Acceleration....
> > > >
> > > >
> > > >
> > > >
> > > >
> > > > Hmmmm.... I replaced the KMController.Connected's with
> > > > KMController.CheckIsReady(). The error on ReadLineTimeout went away(!) by
> > > > itself. So, it now compiles, but when I try to run it, I get and
> > > exception:
> > > >
> > > > An unhandled exception of type
> > > 'System.Reflection.TargetInvocationException'
> > > > occurred in mscorlib.dll
> > > >
> > > > Additional information: Exception has been thrown by the target of an
> > > > invocation.
> > > >
> > > > This did not happen before I re-flashed the board with v429z.
> > > >
> > > > No clue what to do now....
> > > >
> > > > Regards,
> > > > Ray L.
> > > >
> > > > --- In DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com>
> > > <mailto:DynoMotion%40yahoogroups.com> ,
> > > > Brad Murry <bradodarb@> wrote:
> > > > >
> > > > > Ray,
> > > > >
> > > > >
> > > > >
> > > > > KM_Controller.Interpreter.SetupParams == KM_Controller.
> > > > > CoordMotion.Interpreter.SetupParams
> > > > >
> > > > >
> > > > >
> > > > > -Brad
> > > > >
> > > > >
> > > > >
> > > > > From: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com>
> > > <mailto:DynoMotion%40yahoogroups.com>
> > > > [mailto:DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com>
> > > <mailto:DynoMotion%40yahoogroups.com> ]
> > > > On
> > > > > Behalf Of himykabibble
> > > > > Sent: Sunday, February 19, 2012 6:09 PM
> > > > > To: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com>
> > > <mailto:DynoMotion%40yahoogroups.com>
> > > > > Subject: [DynoMotion] Re: Acceleration....
> > > > >
> > > > >
> > > > >
> > > > >
> > > > >
> > > > > Tom,
> > > > >
> > > > > I *think* I've worked through all of the changes except for the two
> > > > detailed
> > > > > below, which have me stumped. The changes I found were:
> > > > >
> > > > > KM_Controller.Interpreter => KM_Controller.CoordMotion.Interpreter
> > > > > KM_Controller.Interpreter.SetupParams =>
> > > > > KM_Controller.CoordMotion.MotionParams
> > > > > KM_Controller.AxisChannels => KM_Controller.GetAxis()
> > > > > KM_Controller.IOPoints => KMController.GetIO()
> > > > >
> > > > > Is that all correct?
> > > > >
> > > > > Personally, I find it odd to use functions named "Get" to set
> > > parameters.
> > > > > Not at all intuitive.
> > > > >
> > > > > Here are the two things I don't yet have resolved:
> > > > >
> > > > > 1) KM_Controller.Connected no longer exists. Does that get replaced with
> > > > the
> > > > > new error callback? How do I know a disconnect has occurred?
> > > > >
> > > > > 2) KM_Controller.ReadLineTimeout() no longer exists. What replaces it?
> > > > >
> > > > > Regards,
> > > > > Ray L.
> > > > >
> > > > > --- In DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com>
> > > <mailto:DynoMotion%40yahoogroups.com>
> > > > <mailto:DynoMotion%40yahoogroups.com> ,
> > > > > "himykabibble" <jagboy@> wrote:
> > > > > >
> > > > > > Tom,
> > > > > >
> > > > > > Looks like the 429z dotNet implementation has changed a lot of things
> > > > and
> > > > > it has seriously broken my app - I get almost 80 errors, mostly things
> > > > that
> > > > > no longer exist, like KM_Controller.Connected,
> > > KM_Controller.Interpreter,
> > > > > etc. Is there a summary of the required changes somewhere?
> > > > > >
> > > > > > Regards,
> > > > > > Ray L.
> > > > > >
> > > > > > --- In DynoMotion@yahoogroups.com
> > > <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com>
> > > > <mailto:DynoMotion%40yahoogroups.com> ,
> > > > > Tom Kerekes <tk@> wrote:
> > > > > > >
> > > > > > > Hi Ray,
> > > > > > > Â
> > > > > > > I thought you had removed all MoveExp commands? But anyway please
> > > see
> > > > > the V4.29z Version that is now available. The MoveExp has been improved
> > > > to
> > > > > avoid certain issues. The previous version you were using wasn't
> > > > expecting
> > > > > the acceleration to be set so low that once it got onto the exponential
> > > > > velocity curve the allowed deceleration would not be insufficient to
> > > stay
> > > > on
> > > > > the curve and avoid overshooting the target. There was also a bug where
> > > in
> > > > > some cases the MoveExp (after a combination of Jogs) would start off at
> > > a
> > > > > non-zero velocity. It should also allow mixing of Jogs/Moves/MoveExp
> > > with
> > > > > proper blending applied.
> > > > > > > Â
> > > > > > > Regards
> > > > > > > TK
> > > > > > >
> > > > > > > From: himykabibble <jagboy@>
> > > > > > > To: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com>
> > > <mailto:DynoMotion%40yahoogroups.com>
> > > > <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > Sent: Saturday, February 18, 2012 3:24 PM
> > > > > > > Subject: [DynoMotion] Acceleration....
> > > > > > >
> > > > > > >
> > > > > > > Â
> > > > > > > Tom,
> > > > > > >
> > > > > > > This is just strange.... In the course of trying to sort out the
> > > last
> > > > > few problems (seemingly random faults and position loss when jogging
> > > using
> > > > > MoveExp), I've discovered something which makes no sense at all. For the
> > > > > X/Y/Z axes, I have acceleration of 25 in/sec^2, and velocity of 200 IPM
> > > > for
> > > > > X/Y, and 250 IPM for Z. The axis parameters are being set using those
> > > > values
> > > > > multiplied by steps/inch for each axis (and divided by 60 for the Vel
> > > > > settings). I have PLENTY of reserve capability on the axes - I can
> > > double
> > > > my
> > > > > acceleration up to 50 in/sec^2, and increase velocity from 200 IPM to at
> > > > > least 300 IPM with no problems whatsoever when running G-code, or
> > > jogging
> > > > > with Jog(). But, using MoveExp(), I get random faults and position loss.
> > > > If
> > > > > I REDUCE the accelerations, say from 25 in/sec^2 to 5 in/sec^2, I get
> > > TONS
> > > > > of faults on all axes. In fact, on my A axis, if I reduce acceleration
> > > > from
> > > > > 5 in/sec^2 to 0.05 in/sec^2, I can BARELY get the axis to move at all
> > > > using
> > > > > > > MoveExp. Most of the time, it faults with a loud bang the instant I
> > > > > touch the MPG. There HAS to be either a problem in MoveExp, or something
> > > > > really stupid I'm doing wrong, but I'm out of places to look.
> > > > > > >
> > > > > > > Regards,
> > > > > > > Ray L.
> > > > > > >
> > > > > >
> > > > >
> > > >
> > >
> >
>
Group: DynoMotion Message: 3960 From: Tom Kerekes Date: 2/19/2012
Subject: Re: Acceleration....
Hi Ray,
 
Deadlocks are usually pretty easy to figure out.  Just look at what the threads are stuck waiting on.  It also might be something simple like somebody never released the Token after receiving it.
 
Regards
TK

Group: DynoMotion Message: 3961 From: himykabibble Date: 2/19/2012
Subject: Re: Acceleration....
Tom,

How do I tell what a thread is waiting on?

Regards,
Ray L.

--- In DynoMotion@yahoogroups.com, Tom Kerekes <tk@...> wrote:
>
> Hi Ray,
>  
> Deadlocks are usually pretty easy to figure out.  Just look at what the threads are stuck waiting on.  It also might be something simple like somebody never released the Token after receiving it.
>  
> Regards
> TK
>
> From: himykabibble <jagboy@...>
> To: DynoMotion@yahoogroups.com
> Sent: Sunday, February 19, 2012 7:23 PM
> Subject: [DynoMotion] Re: Acceleration....
>
>
>  
> Yeah, my guess is I'm getting into a deadlock. All the threads that talk to the KFlop seem to be hung (they're still there, just not running), all the others seem to be working OK. I don't know where to go from here.... Something in dotNet must have changed that affects this, as I haven't had this problem with v428 since we got the last deadlock issue sorted out.
>
> --- In DynoMotion@yahoogroups.com, "himykabibble" <jagboy@> wrote:
> >
> > Damn! This seems to be a threading thing.... The worker thread starts up and seems to work OK, until I plug in the board and try to exit E-Stop. I don't understand how to use VS to debug this type of issue. Any suggestions?
> >
> > --- In DynoMotion@yahoogroups.com, "himykabibble" <jagboy@> wrote:
> > >
> > > Brad,
> > >
> > > Odd, the exception was occurring every time when I tried to step over that one line in Release mode. In Debug mode, it got past it just fine, then threw up later. I found a bug in my code (a hard-coded path pointing to the no-longer-there v428 directory), and have gotten past that. It now comes up, indicates the board is connected, but when I try to come out of E-Stop, it comes partially to life, but the worker thread that updates most of the GUI controls seems not to be running. Looking into that now...
> > >
> > > Regards,
> > > Ray L.
> > >
> > >
> > > --- In DynoMotion@yahoogroups.com, Brad Murry <bradodarb@> wrote:
> > > >
> > > > Hello Ray,
> > > >
> > > >
> > > >
> > > > No, KM_Controller no longer maintains a list of axis or io objects. It
> > > > seems cleaner to let the user application dictate where those are kept.
> > > > Those are just convenience methods to create a new object and it
> > > > automatically reference the controller it was created from so it is a safer
> > > > multi-instance/multi-board object. As it simply returns a value and nothing
> > > > else I am not sure why you would think it is setting something.
> > > >
> > > >
> > > >
> > > > I cannot reproduce your interpreter complete issue with the information
> > > > provided.
> > > >
> > > >
> > > >
> > > > -Brad Murry
> > > >
> > > >
> > > >
> > > > From: DynoMotion@yahoogroups.com [mailto:DynoMotion@yahoogroups.com] On
> > > > Behalf Of himykabibble
> > > > Sent: Sunday, February 19, 2012 7:10 PM
> > > > To: DynoMotion@yahoogroups.com
> > > > Subject: [DynoMotion] Re: Acceleration....
> > > >
> > > >
> > > >
> > > >
> > > >
> > > > Brad,
> > > >
> > > > I realize it is returning an object. I guess what's not clear, when
> > > > comparing what was there to what is there now, is before it seemed
> > > > straight-forward - I created a list of KM_IOs and a list of KM_Axis, and
> > > > passed those lists to KM_Controller. All very transparent. I assume
> > > > KM_Controller is now adding to the list when you do the corresponding Get,
> > > > and returning a reference to the object, right? And we then configure the
> > > > object (i.e. - axis.Velocity = x.x). Is that not correct?
> > > >
> > > > BTW - The exception I'm getting is happening when I try to hook in my
> > > > InterpreterCompleted handler. It hangs in there for several seconds, then
> > > > throws the exception. I have to do a debug build of dotNet and step into it
> > > > to see what's going on.
> > > >
> > > > --- In DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> ,
> > > > Brad Murry <bradodarb@> wrote:
> > > > >
> > > > > "> Personally, I find it odd to use functions named "Get" to set
> > > > parameters.
> > > > > > Not at all intuitive."
> > > > >
> > > > >
> > > > >
> > > > > You are not setting any params here. They are object creation methods and
> > > > > they `return' a value. Google the Factory pattern to understand why the
> > > > > nomenclature is intuitive. You could also have a look at the source to see
> > > > > how things actually work, since it is included; alternatively feel free to
> > > > > peruse the included API reference.
> > > > >
> > > > >
> > > > >
> > > > >
> > > > >
> > > > >
> > > > >
> > > > > Regarding #1,
> > > > >
> > > > >
> > > > >
> > > > > It is best to use the CheckConnected(params Action[]). You can either use
> > > > > it as it is or optionally pass in one or more action delegates to perform
> > > > > while the token is obtained.
> > > > >
> > > > >
> > > > >
> > > > > -Brad
> > > > >
> > > > >
> > > > >
> > > > > From: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com>
> > > > [mailto:DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> ]
> > > > On
> > > > > Behalf Of himykabibble
> > > > > Sent: Sunday, February 19, 2012 6:41 PM
> > > > > To: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com>
> > > > > Subject: [DynoMotion] Re: Acceleration....
> > > > >
> > > > >
> > > > >
> > > > >
> > > > >
> > > > > Hmmmm.... I replaced the KMController.Connected's with
> > > > > KMController.CheckIsReady(). The error on ReadLineTimeout went away(!) by
> > > > > itself. So, it now compiles, but when I try to run it, I get and
> > > > exception:
> > > > >
> > > > > An unhandled exception of type
> > > > 'System.Reflection.TargetInvocationException'
> > > > > occurred in mscorlib.dll
> > > > >
> > > > > Additional information: Exception has been thrown by the target of an
> > > > > invocation.
> > > > >
> > > > > This did not happen before I re-flashed the board with v429z.
> > > > >
> > > > > No clue what to do now....
> > > > >
> > > > > Regards,
> > > > > Ray L.
> > > > >
> > > > > --- In DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com>
> > > > <mailto:DynoMotion%40yahoogroups.com> ,
> > > > > Brad Murry <bradodarb@> wrote:
> > > > > >
> > > > > > Ray,
> > > > > >
> > > > > >
> > > > > >
> > > > > > KM_Controller.Interpreter.SetupParams == KM_Controller.
> > > > > > CoordMotion.Interpreter.SetupParams
> > > > > >
> > > > > >
> > > > > >
> > > > > > -Brad
> > > > > >
> > > > > >
> > > > > >
> > > > > > From: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com>
> > > > <mailto:DynoMotion%40yahoogroups.com>
> > > > > [mailto:DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com>
> > > > <mailto:DynoMotion%40yahoogroups.com> ]
> > > > > On
> > > > > > Behalf Of himykabibble
> > > > > > Sent: Sunday, February 19, 2012 6:09 PM
> > > > > > To: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com>
> > > > <mailto:DynoMotion%40yahoogroups.com>
> > > > > > Subject: [DynoMotion] Re: Acceleration....
> > > > > >
> > > > > >
> > > > > >
> > > > > >
> > > > > >
> > > > > > Tom,
> > > > > >
> > > > > > I *think* I've worked through all of the changes except for the two
> > > > > detailed
> > > > > > below, which have me stumped. The changes I found were:
> > > > > >
> > > > > > KM_Controller.Interpreter => KM_Controller.CoordMotion.Interpreter
> > > > > > KM_Controller.Interpreter.SetupParams =>
> > > > > > KM_Controller.CoordMotion.MotionParams
> > > > > > KM_Controller.AxisChannels => KM_Controller.GetAxis()
> > > > > > KM_Controller.IOPoints => KMController.GetIO()
> > > > > >
> > > > > > Is that all correct?
> > > > > >
> > > > > > Personally, I find it odd to use functions named "Get" to set
> > > > parameters.
> > > > > > Not at all intuitive.
> > > > > >
> > > > > > Here are the two things I don't yet have resolved:
> > > > > >
> > > > > > 1) KM_Controller.Connected no longer exists. Does that get replaced with
> > > > > the
> > > > > > new error callback? How do I know a disconnect has occurred?
> > > > > >
> > > > > > 2) KM_Controller.ReadLineTimeout() no longer exists. What replaces it?
> > > > > >
> > > > > > Regards,
> > > > > > Ray L.
> > > > > >
> > > > > > --- In DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com>
> > > > <mailto:DynoMotion%40yahoogroups.com>
> > > > > <mailto:DynoMotion%40yahoogroups.com> ,
> > > > > > "himykabibble" <jagboy@> wrote:
> > > > > > >
> > > > > > > Tom,
> > > > > > >
> > > > > > > Looks like the 429z dotNet implementation has changed a lot of things
> > > > > and
> > > > > > it has seriously broken my app - I get almost 80 errors, mostly things
> > > > > that
> > > > > > no longer exist, like KM_Controller.Connected,
> > > > KM_Controller.Interpreter,
> > > > > > etc. Is there a summary of the required changes somewhere?
> > > > > > >
> > > > > > > Regards,
> > > > > > > Ray L.
> > > > > > >
> > > > > > > --- In DynoMotion@yahoogroups.com
> > > > <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com>
> > > > > <mailto:DynoMotion%40yahoogroups.com> ,
> > > > > > Tom Kerekes <tk@> wrote:
> > > > > > > >
> > > > > > > > Hi Ray,
> > > > > > > > Â
> > > > > > > > I thought you had removed all MoveExp commands? But anyway please
> > > > see
> > > > > > the V4.29z Version that is now available. The MoveExp has been improved
> > > > > to
> > > > > > avoid certain issues. The previous version you were using wasn't
> > > > > expecting
> > > > > > the acceleration to be set so low that once it got onto the exponential
> > > > > > velocity curve the allowed deceleration would not be insufficient to
> > > > stay
> > > > > on
> > > > > > the curve and avoid overshooting the target. There was also a bug where
> > > > in
> > > > > > some cases the MoveExp (after a combination of Jogs) would start off at
> > > > a
> > > > > > non-zero velocity. It should also allow mixing of Jogs/Moves/MoveExp
> > > > with
> > > > > > proper blending applied.
> > > > > > > > Â
> > > > > > > > Regards
> > > > > > > > TK
> > > > > > > >
> > > > > > > > From: himykabibble <jagboy@>
> > > > > > > > To: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com>
> > > > <mailto:DynoMotion%40yahoogroups.com>
> > > > > <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > Sent: Saturday, February 18, 2012 3:24 PM
> > > > > > > > Subject: [DynoMotion] Acceleration....
> > > > > > > >
> > > > > > > >
> > > > > > > > Â
> > > > > > > > Tom,
> > > > > > > >
> > > > > > > > This is just strange.... In the course of trying to sort out the
> > > > last
> > > > > > few problems (seemingly random faults and position loss when jogging
> > > > using
> > > > > > MoveExp), I've discovered something which makes no sense at all. For the
> > > > > > X/Y/Z axes, I have acceleration of 25 in/sec^2, and velocity of 200 IPM
> > > > > for
> > > > > > X/Y, and 250 IPM for Z. The axis parameters are being set using those
> > > > > values
> > > > > > multiplied by steps/inch for each axis (and divided by 60 for the Vel
> > > > > > settings). I have PLENTY of reserve capability on the axes - I can
> > > > double
> > > > > my
> > > > > > acceleration up to 50 in/sec^2, and increase velocity from 200 IPM to at
> > > > > > least 300 IPM with no problems whatsoever when running G-code, or
> > > > jogging
> > > > > > with Jog(). But, using MoveExp(), I get random faults and position loss.
> > > > > If
> > > > > > I REDUCE the accelerations, say from 25 in/sec^2 to 5 in/sec^2, I get
> > > > TONS
> > > > > > of faults on all axes. In fact, on my A axis, if I reduce acceleration
> > > > > from
> > > > > > 5 in/sec^2 to 0.05 in/sec^2, I can BARELY get the axis to move at all
> > > > > using
> > > > > > > > MoveExp. Most of the time, it faults with a loud bang the instant I
> > > > > > touch the MPG. There HAS to be either a problem in MoveExp, or something
> > > > > > really stupid I'm doing wrong, but I'm out of places to look.
> > > > > > > >
> > > > > > > > Regards,
> > > > > > > > Ray L.
> > > > > > > >
> > > > > > >
> > > > > >
> > > > >
> > > >
> > >
> >
>
Group: DynoMotion Message: 3963 From: Tom Kerekes Date: 2/19/2012
Subject: Re: Acceleration....
Ray,
 
Make the Thread active by double clicking on the Thread in the Debug | Threads window.  Then the current Program Counter will point to where it is.  Often it will be down in the bowels of Windows stuff so look at the Stack and work backwards until you get to something recognizable like a Mutex Lock or a call your code made.
 
Regards
TK

Group: DynoMotion Message: 3964 From: Brad Murry Date: 2/19/2012
Subject: Re: Acceleration....

Hello Ray,

 

Pause the debugger and it will stop where it is hanging …. Usually.

 

Sometimes if you have several concurrent threads it may not stop on the part it is hung on but may instead stop inside a workerthread. 

 

In this case you’ll need to examine threads.

   If you are in a professional version of Visual Studios then you can show the threads window from the debugger-> windows menu item.

 

 

Pause the debugger and you will see some threads.  Check them all  and once you find where the thread is locking step thru each line of the hanging code section.

 

-Brad Murry

 

From: DynoMotion@yahoogroups.com [mailto:DynoMotion@yahoogroups.com] On Behalf Of himykabibble
Sent: Sunday, February 19, 2012 8:38 PM
To: DynoMotion@yahoogroups.com
Subject: [DynoMotion] Re: Acceleration....

 

 

Tom,

How do I tell what a thread is waiting on?

Regards,
Ray L.

--- In DynoMotion@yahoogroups.com, Tom Kerekes <tk@...> wrote:
>
> Hi Ray,
>  
> Deadlocks are usually pretty easy to figure out.  Just look at what the threads are stuck waiting on.  It also might be something simple like somebody never released the Token after receiving it.
>  
> Regards
> TK
>
> From: himykabibble <jagboy@...>
> To: DynoMotion@yahoogroups.com
> Sent: Sunday, February 19, 2012 7:23 PM
> Subject: [DynoMotion] Re: Acceleration....
>
>
>  
> Yeah, my guess is I'm getting into a deadlock. All the threads that talk to the KFlop seem to be hung (they're still there, just not running), all the others seem to be working OK. I don't know where to go from here.... Something in dotNet must have changed that affects this, as I haven't had this problem with v428 since we got the last deadlock issue sorted out.
>
> --- In DynoMotion@yahoogroups.com, "himykabibble" <jagboy@> wrote:
> >
> > Damn! This seems to be a threading thing.... The worker thread starts up and seems to work OK, until I plug in the board and try to exit E-Stop. I don't understand how to use VS to debug this type of issue. Any suggestions?
> >
> > --- In DynoMotion@yahoogroups.com, "himykabibble" <jagboy@> wrote:
> > >
> > > Brad,
> > >
> > > Odd, the exception was occurring every time when I tried to step over that one line in Release mode. In Debug mode, it got past it just fine, then threw up later. I found a bug in my code (a hard-coded path pointing to the no-longer-there v428 directory), and have gotten past that. It now comes up, indicates the board is connected, but when I try to come out of E-Stop, it comes partially to life, but the worker thread that updates most of the GUI controls seems not to be running. Looking into that now...
> > >
> > > Regards,
> > > Ray L.
> > >
> > >
> > > --- In DynoMotion@yahoogroups.com, Brad Murry <bradodarb@> wrote:
> > > >
> > > > Hello Ray,
> > > >
> > > >
> > > >
> > > > No, KM_Controller no longer maintains a list of axis or io objects. It
> > > > seems cleaner to let the user application dictate where those are kept.
> > > > Those are just convenience methods to create a new object and it
> > > > automatically reference the controller it was created from so it is a safer
> > > > multi-instance/multi-board object. As it simply returns a value and nothing
> > > > else I am not sure why you would think it is setting something.
> > > >
> > > >
> > > >
> > > > I cannot reproduce your interpreter complete issue with the information
> > > > provided.
> > > >
> > > >
> > > >
> > > > -Brad Murry
> > > >
> > > >
> > > >
> > > > From: DynoMotion@yahoogroups.com [mailto:DynoMotion@yahoogroups.com] On
> > > > Behalf Of himykabibble
> > > > Sent: Sunday, February 19, 2012 7:10 PM
> > > > To: DynoMotion@yahoogroups.com
> > > > Subject: [DynoMotion] Re: Acceleration....
> > > >
> > > >
> > > >
> > > >
> > > >
> > > > Brad,
> > > >
> > > > I realize it is returning an object. I guess what's not clear, when
> > > > comparing what was there to what is there now, is before it seemed
> > > > straight-forward - I created a list of KM_IOs and a list of KM_Axis, and
> > > > passed those lists to KM_Controller. All very transparent. I assume
> > > > KM_Controller is now adding to the list when you do the corresponding Get,
> > > > and returning a reference to the object, right? And we then configure the
> > > > object (i.e. - axis.Velocity = x.x). Is that not correct?
> > > >
> > > > BTW - The exception I'm getting is happening when I try to hook in my
> > > > InterpreterCompleted handler. It hangs in there for several seconds, then
> > > > throws the exception. I have to do a debug build of dotNet and step into it
> > > > to see what's going on.
> > > >
> > > > --- In DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> ,
> > > > Brad Murry <bradodarb@> wrote:
> > > > >
> > > > > "> Personally, I find it odd to use functions named "Get" to set
> > > > parameters.
> > > > > > Not at all intuitive."
> > > > >
> > > > >
> > > > >
> > > > > You are not setting any params here. They are object creation methods and
> > > > > they `return' a value. Google the Factory pattern to understand why the
> > > > > nomenclature is intuitive. You could also have a look at the source to see
> > > > > how things actually work, since it is included; alternatively feel free to
> > > > > peruse the included API reference.
> > > > >
> > > > >
> > > > >
> > > > >
> > > > >
> > > > >
> > > > >
> > > > > Regarding #1,
> > > > >
> > > > >
> > > > >
> > > > > It is best to use the CheckConnected(params Action[]). You can either use
> > > > > it as it is or optionally pass in one or more action delegates to perform
> > > > > while the token is obtained.
> > > > >
> > > > >
> > > > >
> > > > > -Brad
> > > > >
> > > > >
> > > > >
> > > > > From: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com>
> > > > [mailto:DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> ]
> > > > On
> > > > > Behalf Of himykabibble
> > > > > Sent: Sunday, February 19, 2012 6:41 PM
> > > > > To: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com>
> > > > > Subject: [DynoMotion] Re: Acceleration....
> > > > >
> > > > >
> > > > >
> > > > >
> > > > >
> > > > > Hmmmm.... I replaced the KMController.Connected's with
> > > > > KMController.CheckIsReady(). The error on ReadLineTimeout went away(!) by
> > > > > itself. So, it now compiles, but when I try to run it, I get and
> > > > exception:
> > > > >
> > > > > An unhandled exception of type
> > > > 'System.Reflection.TargetInvocationException'
> > > > > occurred in mscorlib.dll
> > > > >
> > > > > Additional information: Exception has been thrown by the target of an
> > > > > invocation.
> > > > >
> > > > > This did not happen before I re-flashed the board with v429z.
> > > > >
> > > > > No clue what to do now....
> > > > >
> > > > > Regards,
> > > > > Ray L.
> > > > >
> > > > > --- In DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com>
> > > > <mailto:DynoMotion%40yahoogroups.com> ,
> > > > > Brad Murry <bradodarb@> wrote:
> > > > > >
> > > > > > Ray,
> > > > > >
> > > > > >
> > > > > >
> > > > > > KM_Controller.Interpreter.SetupParams == KM_Controller.
> > > > > > CoordMotion.Interpreter.SetupParams
> > > > > >
> > > > > >
> > > > > >
> > > > > > -Brad
> > > > > >
> > > > > >
> > > > > >
> > > > > > From: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com>
> > > > <mailto:DynoMotion%40yahoogroups.com>
> > > > > [mailto:DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com>
> > > > <mailto:DynoMotion%40yahoogroups.com> ]
> > > > > On
> > > > > > Behalf Of himykabibble
> > > > > > Sent: Sunday, February 19, 2012 6:09 PM
> > > > > > To: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com>
> > > > <mailto:DynoMotion%40yahoogroups.com>
> > > > > > Subject: [DynoMotion] Re: Acceleration....
> > > > > >
> > > > > >
> > > > > >
> > > > > >
> > > > > >
> > > > > > Tom,
> > > > > >
> > > > > > I *think* I've worked through all of the changes except for the two
> > > > > detailed
> > > > > > below, which have me stumped. The changes I found were:
> > > > > >
> > > > > > KM_Controller.Interpreter => KM_Controller.CoordMotion.Interpreter
> > > > > > KM_Controller.Interpreter.SetupParams =>
> > > > > > KM_Controller.CoordMotion.MotionParams
> > > > > > KM_Controller.AxisChannels => KM_Controller.GetAxis()
> > > > > > KM_Controller.IOPoints => KMController.GetIO()
> > > > > >
> > > > > > Is that all correct?
> > > > > >
> > > > > > Personally, I find it odd to use functions named "Get" to set
> > > > parameters.
> > > > > > Not at all intuitive.
> > > > > >
> > > > > > Here are the two things I don't yet have resolved:
> > > > > >
> > > > > > 1) KM_Controller.Connected no longer exists. Does that get replaced with
> > > > > the
> > > > > > new error callback? How do I know a disconnect has occurred?
> > > > > >
> > > > > > 2) KM_Controller.ReadLineTimeout() no longer exists. What replaces it?
> > > > > >
> > > > > > Regards,
> > > > > > Ray L.
> > > > > >
> > > > > > --- In DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com>
> > > > <mailto:DynoMotion%40yahoogroups.com>
> > > > > <mailto:DynoMotion%40yahoogroups.com> ,
> > > > > > "himykabibble" <jagboy@> wrote:
> > > > > > >
> > > > > > > Tom,
> > > > > > >
> > > > > > > Looks like the 429z dotNet implementation has changed a lot of things
> > > > > and
> > > > > > it has seriously broken my app - I get almost 80 errors, mostly things
> > > > > that
> > > > > > no longer exist, like KM_Controller.Connected,
> > > > KM_Controller.Interpreter,
> > > > > > etc. Is there a summary of the required changes somewhere?
> > > > > > >
> > > > > > > Regards,
> > > > > > > Ray L.
> > > > > > >
> > > > > > > --- In DynoMotion@yahoogroups.com
> > > > <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com>
> > > > > <mailto:DynoMotion%40yahoogroups.com> ,
> > > > > > Tom Kerekes <tk@> wrote:
> > > > > > > >
> > > > > > > > Hi Ray,
> > > > > > > > Â
> > > > > > > > I thought you had removed all MoveExp commands? But anyway please
> > > > see
> > > > > > the V4.29z Version that is now available. The MoveExp has been improved
> > > > > to
> > > > > > avoid certain issues. The previous version you were using wasn't
> > > > > expecting
> > > > > > the acceleration to be set so low that once it got onto the exponential
> > > > > > velocity curve the allowed deceleration would not be insufficient to
> > > > stay
> > > > > on
> > > > > > the curve and avoid overshooting the target. There was also a bug where
> > > > in
> > > > > > some cases the MoveExp (after a combination of Jogs) would start off at
> > > > a
> > > > > > non-zero velocity. It should also allow mixing of Jogs/Moves/MoveExp
> > > > with
> > > > > > proper blending applied.
> > > > > > > > Â
> > > > > > > > Regards
> > > > > > > > TK
> > > > > > > >
> > > > > > > > From: himykabibble <jagboy@>
> > > > > > > > To: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com>
> > > > <mailto:DynoMotion%40yahoogroups.com>
> > > > > <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > Sent: Saturday, February 18, 2012 3:24 PM
> > > > > > > > Subject: [DynoMotion] Acceleration....
> > > > > > > >
> > > > > > > >
> > > > > > > > Â
> > > > > > > > Tom,
> > > > > > > >
> > > > > > > > This is just strange.... In the course of trying to sort out the
> > > > last
> > > > > > few problems (seemingly random faults and position loss when jogging
> > > > using
> > > > > > MoveExp), I've discovered something which makes no sense at all. For the
> > > > > > X/Y/Z axes, I have acceleration of 25 in/sec^2, and velocity of 200 IPM
> > > > > for
> > > > > > X/Y, and 250 IPM for Z. The axis parameters are being set using those
> > > > > values
> > > > > > multiplied by steps/inch for each axis (and divided by 60 for the Vel
> > > > > > settings). I have PLENTY of reserve capability on the axes - I can
> > > > double
> > > > > my
> > > > > > acceleration up to 50 in/sec^2, and increase velocity from 200 IPM to at
> > > > > > least 300 IPM with no problems whatsoever when running G-code, or
> > > > jogging
> > > > > > with Jog(). But, using MoveExp(), I get random faults and position loss.
> > > > > If
> > > > > > I REDUCE the accelerations, say from 25 in/sec^2 to 5 in/sec^2, I get
> > > > TONS
> > > > > > of faults on all axes. In fact, on my A axis, if I reduce acceleration
> > > > > from
> > > > > > 5 in/sec^2 to 0.05 in/sec^2, I can BARELY get the axis to move at all
> > > > > using
> > > > > > > > MoveExp. Most of the time, it faults with a loud bang the instant I
> > > > > > touch the MPG. There HAS to be either a problem in MoveExp, or something
> > > > > > really stupid I'm doing wrong, but I'm out of places to look.
> > > > > > > >
> > > > > > > > Regards,
> > > > > > > > Ray L.
> > > > > > > >
> > > > > > >
> > > > > >
> > > > >
> > > >
> > >
> >
>

Group: DynoMotion Message: 3966 From: himykabibble Date: 2/19/2012
Subject: Re: Acceleration....
Unfortunately, for the threads of real interest, the stack trace shows "frames below may be incorrect and/or missing. No symbols loaded for ntdll.dll", then a long list of Windows dll locations, mostly mscorworks.dll.

--- In DynoMotion@yahoogroups.com, Tom Kerekes <tk@...> wrote:
>
> Ray,
>  
> Make the Thread active by double clicking on the Thread in the Debug | Threads window.  Then the current Program Counter will point to where it is.  Often it will be down in the bowels of Windows stuff so look at the Stack and work backwards until you get to something recognizable like a Mutex Lock or a call your code made.
>  
> Regards
> TK
>
> From: himykabibble <jagboy@...>
> To: DynoMotion@yahoogroups.com
> Sent: Sunday, February 19, 2012 7:37 PM
> Subject: [DynoMotion] Re: Acceleration....
>
>
>  
> Tom,
>
> How do I tell what a thread is waiting on?
>
> Regards,
> Ray L.
>
> --- In DynoMotion@yahoogroups.com, Tom Kerekes <tk@> wrote:
> >
> > Hi Ray,
> >  
> > Deadlocks are usually pretty easy to figure out.  Just look at what the threads are stuck waiting on.  It also might be something simple like somebody never released the Token after receiving it.
> >  
> > Regards
> > TK
> >
> > From: himykabibble <jagboy@>
> > To: DynoMotion@yahoogroups.com
> > Sent: Sunday, February 19, 2012 7:23 PM
> > Subject: [DynoMotion] Re: Acceleration....
> >
> >
> >  
> > Yeah, my guess is I'm getting into a deadlock. All the threads that talk to the KFlop seem to be hung (they're still there, just not running), all the others seem to be working OK. I don't know where to go from here.... Something in dotNet must have changed that affects this, as I haven't had this problem with v428 since we got the last deadlock issue sorted out.
> >
> > --- In DynoMotion@yahoogroups.com, "himykabibble" <jagboy@> wrote:
> > >
> > > Damn! This seems to be a threading thing.... The worker thread starts up and seems to work OK, until I plug in the board and try to exit E-Stop. I don't understand how to use VS to debug this type of issue. Any suggestions?
> > >
> > > --- In DynoMotion@yahoogroups.com, "himykabibble" <jagboy@> wrote:
> > > >
> > > > Brad,
> > > >
> > > > Odd, the exception was occurring every time when I tried to step over that one line in Release mode. In Debug mode, it got past it just fine, then threw up later. I found a bug in my code (a hard-coded path pointing to the no-longer-there v428 directory), and have gotten past that. It now comes up, indicates the board is connected, but when I try to come out of E-Stop, it comes partially to life, but the worker thread that updates most of the GUI controls seems not to be running. Looking into that now...
> > > >
> > > > Regards,
> > > > Ray L.
> > > >
> > > >
> > > > --- In DynoMotion@yahoogroups.com, Brad Murry <bradodarb@> wrote:
> > > > >
> > > > > Hello Ray,
> > > > >
> > > > >
> > > > >
> > > > > No, KM_Controller no longer maintains a list of axis or io objects. It
> > > > > seems cleaner to let the user application dictate where those are kept.
> > > > > Those are just convenience methods to create a new object and it
> > > > > automatically reference the controller it was created from so it is a safer
> > > > > multi-instance/multi-board object. As it simply returns a value and nothing
> > > > > else I am not sure why you would think it is setting something.
> > > > >
> > > > >
> > > > >
> > > > > I cannot reproduce your interpreter complete issue with the information
> > > > > provided.
> > > > >
> > > > >
> > > > >
> > > > > -Brad Murry
> > > > >
> > > > >
> > > > >
> > > > > From: DynoMotion@yahoogroups.com [mailto:DynoMotion@yahoogroups.com] On
> > > > > Behalf Of himykabibble
> > > > > Sent: Sunday, February 19, 2012 7:10 PM
> > > > > To: DynoMotion@yahoogroups.com
> > > > > Subject: [DynoMotion] Re: Acceleration....
> > > > >
> > > > >
> > > > >
> > > > >
> > > > >
> > > > > Brad,
> > > > >
> > > > > I realize it is returning an object. I guess what's not clear, when
> > > > > comparing what was there to what is there now, is before it seemed
> > > > > straight-forward - I created a list of KM_IOs and a list of KM_Axis, and
> > > > > passed those lists to KM_Controller. All very transparent. I assume
> > > > > KM_Controller is now adding to the list when you do the corresponding Get,
> > > > > and returning a reference to the object, right? And we then configure the
> > > > > object (i.e. - axis.Velocity = x.x). Is that not correct?
> > > > >
> > > > > BTW - The exception I'm getting is happening when I try to hook in my
> > > > > InterpreterCompleted handler. It hangs in there for several seconds, then
> > > > > throws the exception. I have to do a debug build of dotNet and step into it
> > > > > to see what's going on.
> > > > >
> > > > > --- In DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> ,
> > > > > Brad Murry <bradodarb@> wrote:
> > > > > >
> > > > > > "> Personally, I find it odd to use functions named "Get" to set
> > > > > parameters.
> > > > > > > Not at all intuitive."
> > > > > >
> > > > > >
> > > > > >
> > > > > > You are not setting any params here. They are object creation methods and
> > > > > > they `return' a value. Google the Factory pattern to understand why the
> > > > > > nomenclature is intuitive. You could also have a look at the source to see
> > > > > > how things actually work, since it is included; alternatively feel free to
> > > > > > peruse the included API reference.
> > > > > >
> > > > > >
> > > > > >
> > > > > >
> > > > > >
> > > > > >
> > > > > >
> > > > > > Regarding #1,
> > > > > >
> > > > > >
> > > > > >
> > > > > > It is best to use the CheckConnected(params Action[]). You can either use
> > > > > > it as it is or optionally pass in one or more action delegates to perform
> > > > > > while the token is obtained.
> > > > > >
> > > > > >
> > > > > >
> > > > > > -Brad
> > > > > >
> > > > > >
> > > > > >
> > > > > > From: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com>
> > > > > [mailto:DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> ]
> > > > > On
> > > > > > Behalf Of himykabibble
> > > > > > Sent: Sunday, February 19, 2012 6:41 PM
> > > > > > To: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com>
> > > > > > Subject: [DynoMotion] Re: Acceleration....
> > > > > >
> > > > > >
> > > > > >
> > > > > >
> > > > > >
> > > > > > Hmmmm.... I replaced the KMController.Connected's with
> > > > > > KMController.CheckIsReady(). The error on ReadLineTimeout went away(!) by
> > > > > > itself. So, it now compiles, but when I try to run it, I get and
> > > > > exception:
> > > > > >
> > > > > > An unhandled exception of type
> > > > > 'System.Reflection.TargetInvocationException'
> > > > > > occurred in mscorlib.dll
> > > > > >
> > > > > > Additional information: Exception has been thrown by the target of an
> > > > > > invocation.
> > > > > >
> > > > > > This did not happen before I re-flashed the board with v429z.
> > > > > >
> > > > > > No clue what to do now....
> > > > > >
> > > > > > Regards,
> > > > > > Ray L.
> > > > > >
> > > > > > --- In DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com>
> > > > > <mailto:DynoMotion%40yahoogroups.com> ,
> > > > > > Brad Murry <bradodarb@> wrote:
> > > > > > >
> > > > > > > Ray,
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > > > KM_Controller.Interpreter.SetupParams == KM_Controller.
> > > > > > > CoordMotion.Interpreter.SetupParams
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > > > -Brad
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > > > From: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com>
> > > > > <mailto:DynoMotion%40yahoogroups.com>
> > > > > > [mailto:DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com>
> > > > > <mailto:DynoMotion%40yahoogroups.com> ]
> > > > > > On
> > > > > > > Behalf Of himykabibble
> > > > > > > Sent: Sunday, February 19, 2012 6:09 PM
> > > > > > > To: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com>
> > > > > <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > Subject: [DynoMotion] Re: Acceleration....
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > > > Tom,
> > > > > > >
> > > > > > > I *think* I've worked through all of the changes except for the two
> > > > > > detailed
> > > > > > > below, which have me stumped. The changes I found were:
> > > > > > >
> > > > > > > KM_Controller.Interpreter => KM_Controller.CoordMotion.Interpreter
> > > > > > > KM_Controller.Interpreter.SetupParams =>
> > > > > > > KM_Controller.CoordMotion.MotionParams
> > > > > > > KM_Controller.AxisChannels => KM_Controller.GetAxis()
> > > > > > > KM_Controller.IOPoints => KMController.GetIO()
> > > > > > >
> > > > > > > Is that all correct?
> > > > > > >
> > > > > > > Personally, I find it odd to use functions named "Get" to set
> > > > > parameters.
> > > > > > > Not at all intuitive.
> > > > > > >
> > > > > > > Here are the two things I don't yet have resolved:
> > > > > > >
> > > > > > > 1) KM_Controller.Connected no longer exists. Does that get replaced with
> > > > > > the
> > > > > > > new error callback? How do I know a disconnect has occurred?
> > > > > > >
> > > > > > > 2) KM_Controller.ReadLineTimeout() no longer exists. What replaces it?
> > > > > > >
> > > > > > > Regards,
> > > > > > > Ray L.
> > > > > > >
> > > > > > > --- In DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com>
> > > > > <mailto:DynoMotion%40yahoogroups.com>
> > > > > > <mailto:DynoMotion%40yahoogroups.com> ,
> > > > > > > "himykabibble" <jagboy@> wrote:
> > > > > > > >
> > > > > > > > Tom,
> > > > > > > >
> > > > > > > > Looks like the 429z dotNet implementation has changed a lot of things
> > > > > > and
> > > > > > > it has seriously broken my app - I get almost 80 errors, mostly things
> > > > > > that
> > > > > > > no longer exist, like KM_Controller.Connected,
> > > > > KM_Controller.Interpreter,
> > > > > > > etc. Is there a summary of the required changes somewhere?
> > > > > > > >
> > > > > > > > Regards,
> > > > > > > > Ray L.
> > > > > > > >
> > > > > > > > --- In DynoMotion@yahoogroups.com
> > > > > <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com>
> > > > > > <mailto:DynoMotion%40yahoogroups.com> ,
> > > > > > > Tom Kerekes <tk@> wrote:
> > > > > > > > >
> > > > > > > > > Hi Ray,
> > > > > > > > > Â
> > > > > > > > > I thought you had removed all MoveExp commands? But anyway please
> > > > > see
> > > > > > > the V4.29z Version that is now available. The MoveExp has been improved
> > > > > > to
> > > > > > > avoid certain issues. The previous version you were using wasn't
> > > > > > expecting
> > > > > > > the acceleration to be set so low that once it got onto the exponential
> > > > > > > velocity curve the allowed deceleration would not be insufficient to
> > > > > stay
> > > > > > on
> > > > > > > the curve and avoid overshooting the target. There was also a bug where
> > > > > in
> > > > > > > some cases the MoveExp (after a combination of Jogs) would start off at
> > > > > a
> > > > > > > non-zero velocity. It should also allow mixing of Jogs/Moves/MoveExp
> > > > > with
> > > > > > > proper blending applied.
> > > > > > > > > Â
> > > > > > > > > Regards
> > > > > > > > > TK
> > > > > > > > >
> > > > > > > > > From: himykabibble <jagboy@>
> > > > > > > > > To: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com>
> > > > > <mailto:DynoMotion%40yahoogroups.com>
> > > > > > <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > > Sent: Saturday, February 18, 2012 3:24 PM
> > > > > > > > > Subject: [DynoMotion] Acceleration....
> > > > > > > > >
> > > > > > > > >
> > > > > > > > > Â
> > > > > > > > > Tom,
> > > > > > > > >
> > > > > > > > > This is just strange.... In the course of trying to sort out the
> > > > > last
> > > > > > > few problems (seemingly random faults and position loss when jogging
> > > > > using
> > > > > > > MoveExp), I've discovered something which makes no sense at all. For the
> > > > > > > X/Y/Z axes, I have acceleration of 25 in/sec^2, and velocity of 200 IPM
> > > > > > for
> > > > > > > X/Y, and 250 IPM for Z. The axis parameters are being set using those
> > > > > > values
> > > > > > > multiplied by steps/inch for each axis (and divided by 60 for the Vel
> > > > > > > settings). I have PLENTY of reserve capability on the axes - I can
> > > > > double
> > > > > > my
> > > > > > > acceleration up to 50 in/sec^2, and increase velocity from 200 IPM to at
> > > > > > > least 300 IPM with no problems whatsoever when running G-code, or
> > > > > jogging
> > > > > > > with Jog(). But, using MoveExp(), I get random faults and position loss.
> > > > > > If
> > > > > > > I REDUCE the accelerations, say from 25 in/sec^2 to 5 in/sec^2, I get
> > > > > TONS
> > > > > > > of faults on all axes. In fact, on my A axis, if I reduce acceleration
> > > > > > from
> > > > > > > 5 in/sec^2 to 0.05 in/sec^2, I can BARELY get the axis to move at all
> > > > > > using
> > > > > > > > > MoveExp. Most of the time, it faults with a loud bang the instant I
> > > > > > > touch the MPG. There HAS to be either a problem in MoveExp, or something
> > > > > > > really stupid I'm doing wrong, but I'm out of places to look.
> > > > > > > > >
> > > > > > > > > Regards,
> > > > > > > > > Ray L.
> > > > > > > > >
> > > > > > > >
> > > > > > >
> > > > > >
> > > > >
> > > >
> > >
> >
>
Group: DynoMotion Message: 3967 From: Tom Kerekes Date: 2/19/2012
Subject: Re: Acceleration....
Are you running the Debug Version?
 
TK

Group: DynoMotion Message: 3968 From: himykabibble Date: 2/19/2012
Subject: Re: Acceleration....
Tom,

Yes. I get reasonable call stacks for all the other threads, including the other worker threads, but it looks like the ones that appear to be hanging I get no useful information once it gets into the bad state. Before it goes wonky, I get good call stacks on all threads. I am running Debug, and can step into the DLLs, so the build is OK.

Regards,
Ray L.

--- In DynoMotion@yahoogroups.com, Tom Kerekes <tk@...> wrote:
>
> Are you running the Debug Version?
>  
> TK
>
> From: himykabibble <jagboy@...>
> To: DynoMotion@yahoogroups.com
> Sent: Sunday, February 19, 2012 8:09 PM
> Subject: [DynoMotion] Re: Acceleration....
>
>
>  
> Unfortunately, for the threads of real interest, the stack trace shows "frames below may be incorrect and/or missing. No symbols loaded for ntdll.dll", then a long list of Windows dll locations, mostly mscorworks.dll.
>
> --- In DynoMotion@yahoogroups.com, Tom Kerekes <tk@> wrote:
> >
> > Ray,
> >  
> > Make the Thread active by double clicking on the Thread in the Debug | Threads window.  Then the current Program Counter will point to where it is.  Often it will be down in the bowels of Windows stuff so look at the Stack and work backwards until you get to something recognizable like a Mutex Lock or a call your code made.
> >  
> > Regards
> > TK
> >
> > From: himykabibble <jagboy@>
> > To: DynoMotion@yahoogroups.com
> > Sent: Sunday, February 19, 2012 7:37 PM
> > Subject: [DynoMotion] Re: Acceleration....
> >
> >
> >  
> > Tom,
> >
> > How do I tell what a thread is waiting on?
> >
> > Regards,
> > Ray L.
> >
> > --- In DynoMotion@yahoogroups.com, Tom Kerekes <tk@> wrote:
> > >
> > > Hi Ray,
> > >  
> > > Deadlocks are usually pretty easy to figure out.  Just look at what the threads are stuck waiting on.  It also might be something simple like somebody never released the Token after receiving it.
> > >  
> > > Regards
> > > TK
> > >
> > > From: himykabibble <jagboy@>
> > > To: DynoMotion@yahoogroups.com
> > > Sent: Sunday, February 19, 2012 7:23 PM
> > > Subject: [DynoMotion] Re: Acceleration....
> > >
> > >
> > >  
> > > Yeah, my guess is I'm getting into a deadlock. All the threads that talk to the KFlop seem to be hung (they're still there, just not running), all the others seem to be working OK. I don't know where to go from here.... Something in dotNet must have changed that affects this, as I haven't had this problem with v428 since we got the last deadlock issue sorted out.
> > >
> > > --- In DynoMotion@yahoogroups.com, "himykabibble" <jagboy@> wrote:
> > > >
> > > > Damn! This seems to be a threading thing.... The worker thread starts up and seems to work OK, until I plug in the board and try to exit E-Stop. I don't understand how to use VS to debug this type of issue. Any suggestions?
> > > >
> > > > --- In DynoMotion@yahoogroups.com, "himykabibble" <jagboy@> wrote:
> > > > >
> > > > > Brad,
> > > > >
> > > > > Odd, the exception was occurring every time when I tried to step over that one line in Release mode. In Debug mode, it got past it just fine, then threw up later. I found a bug in my code (a hard-coded path pointing to the no-longer-there v428 directory), and have gotten past that. It now comes up, indicates the board is connected, but when I try to come out of E-Stop, it comes partially to life, but the worker thread that updates most of the GUI controls seems not to be running. Looking into that now...
> > > > >
> > > > > Regards,
> > > > > Ray L.
> > > > >
> > > > >
> > > > > --- In DynoMotion@yahoogroups.com, Brad Murry <bradodarb@> wrote:
> > > > > >
> > > > > > Hello Ray,
> > > > > >
> > > > > >
> > > > > >
> > > > > > No, KM_Controller no longer maintains a list of axis or io objects. It
> > > > > > seems cleaner to let the user application dictate where those are kept.
> > > > > > Those are just convenience methods to create a new object and it
> > > > > > automatically reference the controller it was created from so it is a safer
> > > > > > multi-instance/multi-board object. As it simply returns a value and nothing
> > > > > > else I am not sure why you would think it is setting something.
> > > > > >
> > > > > >
> > > > > >
> > > > > > I cannot reproduce your interpreter complete issue with the information
> > > > > > provided.
> > > > > >
> > > > > >
> > > > > >
> > > > > > -Brad Murry
> > > > > >
> > > > > >
> > > > > >
> > > > > > From: DynoMotion@yahoogroups.com [mailto:DynoMotion@yahoogroups.com] On
> > > > > > Behalf Of himykabibble
> > > > > > Sent: Sunday, February 19, 2012 7:10 PM
> > > > > > To: DynoMotion@yahoogroups.com
> > > > > > Subject: [DynoMotion] Re: Acceleration....
> > > > > >
> > > > > >
> > > > > >
> > > > > >
> > > > > >
> > > > > > Brad,
> > > > > >
> > > > > > I realize it is returning an object. I guess what's not clear, when
> > > > > > comparing what was there to what is there now, is before it seemed
> > > > > > straight-forward - I created a list of KM_IOs and a list of KM_Axis, and
> > > > > > passed those lists to KM_Controller. All very transparent. I assume
> > > > > > KM_Controller is now adding to the list when you do the corresponding Get,
> > > > > > and returning a reference to the object, right? And we then configure the
> > > > > > object (i.e. - axis.Velocity = x.x). Is that not correct?
> > > > > >
> > > > > > BTW - The exception I'm getting is happening when I try to hook in my
> > > > > > InterpreterCompleted handler. It hangs in there for several seconds, then
> > > > > > throws the exception. I have to do a debug build of dotNet and step into it
> > > > > > to see what's going on.
> > > > > >
> > > > > > --- In DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> ,
> > > > > > Brad Murry <bradodarb@> wrote:
> > > > > > >
> > > > > > > "> Personally, I find it odd to use functions named "Get" to set
> > > > > > parameters.
> > > > > > > > Not at all intuitive."
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > > > You are not setting any params here. They are object creation methods and
> > > > > > > they `return' a value. Google the Factory pattern to understand why the
> > > > > > > nomenclature is intuitive. You could also have a look at the source to see
> > > > > > > how things actually work, since it is included; alternatively feel free to
> > > > > > > peruse the included API reference.
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > > > Regarding #1,
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > > > It is best to use the CheckConnected(params Action[]). You can either use
> > > > > > > it as it is or optionally pass in one or more action delegates to perform
> > > > > > > while the token is obtained.
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > > > -Brad
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > > > From: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com>
> > > > > > [mailto:DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> ]
> > > > > > On
> > > > > > > Behalf Of himykabibble
> > > > > > > Sent: Sunday, February 19, 2012 6:41 PM
> > > > > > > To: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > Subject: [DynoMotion] Re: Acceleration....
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > > > Hmmmm.... I replaced the KMController.Connected's with
> > > > > > > KMController.CheckIsReady(). The error on ReadLineTimeout went away(!) by
> > > > > > > itself. So, it now compiles, but when I try to run it, I get and
> > > > > > exception:
> > > > > > >
> > > > > > > An unhandled exception of type
> > > > > > 'System.Reflection.TargetInvocationException'
> > > > > > > occurred in mscorlib.dll
> > > > > > >
> > > > > > > Additional information: Exception has been thrown by the target of an
> > > > > > > invocation.
> > > > > > >
> > > > > > > This did not happen before I re-flashed the board with v429z.
> > > > > > >
> > > > > > > No clue what to do now....
> > > > > > >
> > > > > > > Regards,
> > > > > > > Ray L.
> > > > > > >
> > > > > > > --- In DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com>
> > > > > > <mailto:DynoMotion%40yahoogroups.com> ,
> > > > > > > Brad Murry <bradodarb@> wrote:
> > > > > > > >
> > > > > > > > Ray,
> > > > > > > >
> > > > > > > >
> > > > > > > >
> > > > > > > > KM_Controller.Interpreter.SetupParams == KM_Controller.
> > > > > > > > CoordMotion.Interpreter.SetupParams
> > > > > > > >
> > > > > > > >
> > > > > > > >
> > > > > > > > -Brad
> > > > > > > >
> > > > > > > >
> > > > > > > >
> > > > > > > > From: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com>
> > > > > > <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > [mailto:DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com>
> > > > > > <mailto:DynoMotion%40yahoogroups.com> ]
> > > > > > > On
> > > > > > > > Behalf Of himykabibble
> > > > > > > > Sent: Sunday, February 19, 2012 6:09 PM
> > > > > > > > To: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com>
> > > > > > <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > Subject: [DynoMotion] Re: Acceleration....
> > > > > > > >
> > > > > > > >
> > > > > > > >
> > > > > > > >
> > > > > > > >
> > > > > > > > Tom,
> > > > > > > >
> > > > > > > > I *think* I've worked through all of the changes except for the two
> > > > > > > detailed
> > > > > > > > below, which have me stumped. The changes I found were:
> > > > > > > >
> > > > > > > > KM_Controller.Interpreter => KM_Controller.CoordMotion.Interpreter
> > > > > > > > KM_Controller.Interpreter.SetupParams =>
> > > > > > > > KM_Controller.CoordMotion.MotionParams
> > > > > > > > KM_Controller.AxisChannels => KM_Controller.GetAxis()
> > > > > > > > KM_Controller.IOPoints => KMController.GetIO()
> > > > > > > >
> > > > > > > > Is that all correct?
> > > > > > > >
> > > > > > > > Personally, I find it odd to use functions named "Get" to set
> > > > > > parameters.
> > > > > > > > Not at all intuitive.
> > > > > > > >
> > > > > > > > Here are the two things I don't yet have resolved:
> > > > > > > >
> > > > > > > > 1) KM_Controller.Connected no longer exists. Does that get replaced with
> > > > > > > the
> > > > > > > > new error callback? How do I know a disconnect has occurred?
> > > > > > > >
> > > > > > > > 2) KM_Controller.ReadLineTimeout() no longer exists. What replaces it?
> > > > > > > >
> > > > > > > > Regards,
> > > > > > > > Ray L.
> > > > > > > >
> > > > > > > > --- In DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com>
> > > > > > <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > <mailto:DynoMotion%40yahoogroups.com> ,
> > > > > > > > "himykabibble" <jagboy@> wrote:
> > > > > > > > >
> > > > > > > > > Tom,
> > > > > > > > >
> > > > > > > > > Looks like the 429z dotNet implementation has changed a lot of things
> > > > > > > and
> > > > > > > > it has seriously broken my app - I get almost 80 errors, mostly things
> > > > > > > that
> > > > > > > > no longer exist, like KM_Controller.Connected,
> > > > > > KM_Controller.Interpreter,
> > > > > > > > etc. Is there a summary of the required changes somewhere?
> > > > > > > > >
> > > > > > > > > Regards,
> > > > > > > > > Ray L.
> > > > > > > > >
> > > > > > > > > --- In DynoMotion@yahoogroups.com
> > > > > > <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > <mailto:DynoMotion%40yahoogroups.com> ,
> > > > > > > > Tom Kerekes <tk@> wrote:
> > > > > > > > > >
> > > > > > > > > > Hi Ray,
> > > > > > > > > > ÃÆ'‚
> > > > > > > > > > I thought you had removed all MoveExp commands?ÃÆ'‚ But anyway please
> > > > > > see
> > > > > > > > the V4.29z Version that is now available.ÃÆ'‚ The MoveExp has been improved
> > > > > > > to
> > > > > > > > avoid certain issues.ÃÆ'‚ The previous version you were using wasn't
> > > > > > > expecting
> > > > > > > > the acceleration to be set so low that once it got onto the exponential
> > > > > > > > velocity curve the allowed deceleration would not be insufficient to
> > > > > > stay
> > > > > > > on
> > > > > > > > the curve and avoid overshooting the target. There was also a bug where
> > > > > > in
> > > > > > > > some cases the MoveExp (after a combination of Jogs) would start off at
> > > > > > a
> > > > > > > > non-zero velocity.ÃÆ'‚ It should also allow mixing of Jogs/Moves/MoveExp
> > > > > > with
> > > > > > > > proper blending applied.
> > > > > > > > > > ÃÆ'‚
> > > > > > > > > > Regards
> > > > > > > > > > TK
> > > > > > > > > >
> > > > > > > > > > From: himykabibble <jagboy@>
> > > > > > > > > > To: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com>
> > > > > > <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > > > Sent: Saturday, February 18, 2012 3:24 PM
> > > > > > > > > > Subject: [DynoMotion] Acceleration....
> > > > > > > > > >
> > > > > > > > > >
> > > > > > > > > > ÃÆ'‚
> > > > > > > > > > Tom,
> > > > > > > > > >
> > > > > > > > > > This is just strange.... In the course of trying to sort out the
> > > > > > last
> > > > > > > > few problems (seemingly random faults and position loss when jogging
> > > > > > using
> > > > > > > > MoveExp), I've discovered something which makes no sense at all. For the
> > > > > > > > X/Y/Z axes, I have acceleration of 25 in/sec^2, and velocity of 200 IPM
> > > > > > > for
> > > > > > > > X/Y, and 250 IPM for Z. The axis parameters are being set using those
> > > > > > > values
> > > > > > > > multiplied by steps/inch for each axis (and divided by 60 for the Vel
> > > > > > > > settings). I have PLENTY of reserve capability on the axes - I can
> > > > > > double
> > > > > > > my
> > > > > > > > acceleration up to 50 in/sec^2, and increase velocity from 200 IPM to at
> > > > > > > > least 300 IPM with no problems whatsoever when running G-code, or
> > > > > > jogging
> > > > > > > > with Jog(). But, using MoveExp(), I get random faults and position loss.
> > > > > > > If
> > > > > > > > I REDUCE the accelerations, say from 25 in/sec^2 to 5 in/sec^2, I get
> > > > > > TONS
> > > > > > > > of faults on all axes. In fact, on my A axis, if I reduce acceleration
> > > > > > > from
> > > > > > > > 5 in/sec^2 to 0.05 in/sec^2, I can BARELY get the axis to move at all
> > > > > > > using
> > > > > > > > > > MoveExp. Most of the time, it faults with a loud bang the instant I
> > > > > > > > touch the MPG. There HAS to be either a problem in MoveExp, or something
> > > > > > > > really stupid I'm doing wrong, but I'm out of places to look.
> > > > > > > > > >
> > > > > > > > > > Regards,
> > > > > > > > > > Ray L.
> > > > > > > > > >
> > > > > > > > >
> > > > > > > >
> > > > > > >
> > > > > >
> > > > >
> > > >
> > >
> >
>
Group: DynoMotion Message: 3969 From: Brad Murry Date: 2/19/2012
Subject: Re: Acceleration....

Check for begininvokes where there should be invokes and vice versa.

 

-Brad

 

From: DynoMotion@yahoogroups.com [mailto:DynoMotion@yahoogroups.com] On Behalf Of himykabibble
Sent: Sunday, February 19, 2012 10:33 PM
To: DynoMotion@yahoogroups.com
Subject: [DynoMotion] Re: Acceleration....

 

 

Tom,

Yes. I get reasonable call stacks for all the other threads, including the other worker threads, but it looks like the ones that appear to be hanging I get no useful information once it gets into the bad state. Before it goes wonky, I get good call stacks on all threads. I am running Debug, and can step into the DLLs, so the build is OK.

Regards,
Ray L.

--- In DynoMotion@yahoogroups.com, Tom Kerekes <tk@...> wrote:
>
> Are you running the Debug Version?
>  
> TK
>
> From: himykabibble <jagboy@...>
> To: DynoMotion@yahoogroups.com
> Sent: Sunday, February 19, 2012 8:09 PM
> Subject: [DynoMotion] Re: Acceleration....
>
>
>  
> Unfortunately, for the threads of real interest, the stack trace shows "frames below may be incorrect and/or missing. No symbols loaded for ntdll.dll", then a long list of Windows dll locations, mostly mscorworks.dll.
>
> --- In DynoMotion@yahoogroups.com, Tom Kerekes <tk@> wrote:
> >
> > Ray,
> >  
> > Make the Thread active by double clicking on the Thread in the Debug | Threads window.  Then the current Program Counter will point to where it is.  Often it will be down in the bowels of Windows stuff so look at the Stack and work backwards until you get to something recognizable like a Mutex Lock or a call your code made.
> >  
> > Regards
> > TK
> >
> > From: himykabibble <jagboy@>
> > To: DynoMotion@yahoogroups.com
> > Sent: Sunday, February 19, 2012 7:37 PM
> > Subject: [DynoMotion] Re: Acceleration....
> >
> >
> >  
> > Tom,
> >
> > How do I tell what a thread is waiting on?
> >
> > Regards,
> > Ray L.
> >
> > --- In DynoMotion@yahoogroups.com, Tom Kerekes <tk@> wrote:
> > >
> > > Hi Ray,
> > >  
> > > Deadlocks are usually pretty easy to figure out.  Just look at what the threads are stuck waiting on.  It also might be something simple like somebody never released the Token after receiving it.
> > >  
> > > Regards
> > > TK
> > >
> > > From: himykabibble <jagboy@>
> > > To: DynoMotion@yahoogroups.com
> > > Sent: Sunday, February 19, 2012 7:23 PM
> > > Subject: [DynoMotion] Re: Acceleration....
> > >
> > >
> > >  
> > > Yeah, my guess is I'm getting into a deadlock. All the threads that talk to the KFlop seem to be hung (they're still there, just not running), all the others seem to be working OK. I don't know where to go from here.... Something in dotNet must have changed that affects this, as I haven't had this problem with v428 since we got the last deadlock issue sorted out.
> > >
> > > --- In DynoMotion@yahoogroups.com, "himykabibble" <jagboy@> wrote:
> > > >
> > > > Damn! This seems to be a threading thing.... The worker thread starts up and seems to work OK, until I plug in the board and try to exit E-Stop. I don't understand how to use VS to debug this type of issue. Any suggestions?
> > > >
> > > > --- In DynoMotion@yahoogroups.com, "himykabibble" <jagboy@> wrote:
> > > > >
> > > > > Brad,
> > > > >
> > > > > Odd, the exception was occurring every time when I tried to step over that one line in Release mode. In Debug mode, it got past it just fine, then threw up later. I found a bug in my code (a hard-coded path pointing to the no-longer-there v428 directory), and have gotten past that. It now comes up, indicates the board is connected, but when I try to come out of E-Stop, it comes partially to life, but the worker thread that updates most of the GUI controls seems not to be running. Looking into that now...
> > > > >
> > > > > Regards,
> > > > > Ray L.
> > > > >
> > > > >
> > > > > --- In DynoMotion@yahoogroups.com, Brad Murry <bradodarb@> wrote:
> > > > > >
> > > > > > Hello Ray,
> > > > > >
> > > > > >
> > > > > >
> > > > > > No, KM_Controller no longer maintains a list of axis or io objects. It
> > > > > > seems cleaner to let the user application dictate where those are kept.
> > > > > > Those are just convenience methods to create a new object and it
> > > > > > automatically reference the controller it was created from so it is a safer
> > > > > > multi-instance/multi-board object. As it simply returns a value and nothing
> > > > > > else I am not sure why you would think it is setting something.
> > > > > >
> > > > > >
> > > > > >
> > > > > > I cannot reproduce your interpreter complete issue with the information
> > > > > > provided.
> > > > > >
> > > > > >
> > > > > >
> > > > > > -Brad Murry
> > > > > >
> > > > > >
> > > > > >
> > > > > > From: DynoMotion@yahoogroups.com [mailto:DynoMotion@yahoogroups.com] On
> > > > > > Behalf Of himykabibble
> > > > > > Sent: Sunday, February 19, 2012 7:10 PM
> > > > > > To: DynoMotion@yahoogroups.com
> > > > > > Subject: [DynoMotion] Re: Acceleration....
> > > > > >
> > > > > >
> > > > > >
> > > > > >
> > > > > >
> > > > > > Brad,
> > > > > >
> > > > > > I realize it is returning an object. I guess what's not clear, when
> > > > > > comparing what was there to what is there now, is before it seemed
> > > > > > straight-forward - I created a list of KM_IOs and a list of KM_Axis, and
> > > > > > passed those lists to KM_Controller. All very transparent. I assume
> > > > > > KM_Controller is now adding to the list when you do the corresponding Get,
> > > > > > and returning a reference to the object, right? And we then configure the
> > > > > > object (i.e. - axis.Velocity = x.x). Is that not correct?
> > > > > >
> > > > > > BTW - The exception I'm getting is happening when I try to hook in my
> > > > > > InterpreterCompleted handler. It hangs in there for several seconds, then
> > > > > > throws the exception. I have to do a debug build of dotNet and step into it
> > > > > > to see what's going on.
> > > > > >
> > > > > > --- In DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> ,
> > > > > > Brad Murry <bradodarb@> wrote:
> > > > > > >
> > > > > > > "> Personally, I find it odd to use functions named "Get" to set
> > > > > > parameters.
> > > > > > > > Not at all intuitive."
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > > > You are not setting any params here. They are object creation methods and
> > > > > > > they `return' a value. Google the Factory pattern to understand why the
> > > > > > > nomenclature is intuitive. You could also have a look at the source to see
> > > > > > > how things actually work, since it is included; alternatively feel free to
> > > > > > > peruse the included API reference.
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > > > Regarding #1,
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > > > It is best to use the CheckConnected(params Action[]). You can either use
> > > > > > > it as it is or optionally pass in one or more action delegates to perform
> > > > > > > while the token is obtained.
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > > > -Brad
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > > > From: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com>
> > > > > > [mailto:DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> ]
> > > > > > On
> > > > > > > Behalf Of himykabibble
> > > > > > > Sent: Sunday, February 19, 2012 6:41 PM
> > > > > > > To: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > Subject: [DynoMotion] Re: Acceleration....
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > > > Hmmmm.... I replaced the KMController.Connected's with
> > > > > > > KMController.CheckIsReady(). The error on ReadLineTimeout went away(!) by
> > > > > > > itself. So, it now compiles, but when I try to run it, I get and
> > > > > > exception:
> > > > > > >
> > > > > > > An unhandled exception of type
> > > > > > 'System.Reflection.TargetInvocationException'
> > > > > > > occurred in mscorlib.dll
> > > > > > >
> > > > > > > Additional information: Exception has been thrown by the target of an
> > > > > > > invocation.
> > > > > > >
> > > > > > > This did not happen before I re-flashed the board with v429z.
> > > > > > >
> > > > > > > No clue what to do now....
> > > > > > >
> > > > > > > Regards,
> > > > > > > Ray L.
> > > > > > >
> > > > > > > --- In DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com>
> > > > > > <mailto:DynoMotion%40yahoogroups.com> ,
> > > > > > > Brad Murry <bradodarb@> wrote:
> > > > > > > >
> > > > > > > > Ray,
> > > > > > > >
> > > > > > > >
> > > > > > > >
> > > > > > > > KM_Controller.Interpreter.SetupParams == KM_Controller.
> > > > > > > > CoordMotion.Interpreter.SetupParams
> > > > > > > >
> > > > > > > >
> > > > > > > >
> > > > > > > > -Brad
> > > > > > > >
> > > > > > > >
> > > > > > > >
> > > > > > > > From: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com>
> > > > > > <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > [mailto:DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com>
> > > > > > <mailto:DynoMotion%40yahoogroups.com> ]
> > > > > > > On
> > > > > > > > Behalf Of himykabibble
> > > > > > > > Sent: Sunday, February 19, 2012 6:09 PM
> > > > > > > > To: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com>
> > > > > > <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > Subject: [DynoMotion] Re: Acceleration....
> > > > > > > >
> > > > > > > >
> > > > > > > >
> > > > > > > >
> > > > > > > >
> > > > > > > > Tom,
> > > > > > > >
> > > > > > > > I *think* I've worked through all of the changes except for the two
> > > > > > > detailed
> > > > > > > > below, which have me stumped. The changes I found were:
> > > > > > > >
> > > > > > > > KM_Controller.Interpreter => KM_Controller.CoordMotion.Interpreter
> > > > > > > > KM_Controller.Interpreter.SetupParams =>
> > > > > > > > KM_Controller.CoordMotion.MotionParams
> > > > > > > > KM_Controller.AxisChannels => KM_Controller.GetAxis()
> > > > > > > > KM_Controller.IOPoints => KMController.GetIO()
> > > > > > > >
> > > > > > > > Is that all correct?
> > > > > > > >
> > > > > > > > Personally, I find it odd to use functions named "Get" to set
> > > > > > parameters.
> > > > > > > > Not at all intuitive.
> > > > > > > >
> > > > > > > > Here are the two things I don't yet have resolved:
> > > > > > > >
> > > > > > > > 1) KM_Controller.Connected no longer exists. Does that get replaced with
> > > > > > > the
> > > > > > > > new error callback? How do I know a disconnect has occurred?
> > > > > > > >
> > > > > > > > 2) KM_Controller.ReadLineTimeout() no longer exists. What replaces it?
> > > > > > > >
> > > > > > > > Regards,
> > > > > > > > Ray L.
> > > > > > > >
> > > > > > > > --- In DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com>
> > > > > > <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > <mailto:DynoMotion%40yahoogroups.com> ,
> > > > > > > > "himykabibble" <jagboy@> wrote:
> > > > > > > > >
> > > > > > > > > Tom,
> > > > > > > > >
> > > > > > > > > Looks like the 429z dotNet implementation has changed a lot of things
> > > > > > > and
> > > > > > > > it has seriously broken my app - I get almost 80 errors, mostly things
> > > > > > > that
> > > > > > > > no longer exist, like KM_Controller.Connected,
> > > > > > KM_Controller.Interpreter,
> > > > > > > > etc. Is there a summary of the required changes somewhere?
> > > > > > > > >
> > > > > > > > > Regards,
> > > > > > > > > Ray L.
> > > > > > > > >
> > > > > > > > > --- In DynoMotion@yahoogroups.com
> > > > > > <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > <mailto:DynoMotion%40yahoogroups.com> ,
> > > > > > > > Tom Kerekes <tk@> wrote:
> > > > > > > > > >
> > > > > > > > > > Hi Ray,
> > > > > > > > > > ÃÆ'‚
> > > > > > > > > > I thought you had removed all MoveExp commands?ÃÆ'‚ But anyway please
> > > > > > see
> > > > > > > > the V4.29z Version that is now available.ÃÆ'‚ The MoveExp has been improved
> > > > > > > to
> > > > > > > > avoid certain issues.ÃÆ'‚ The previous version you were using wasn't
> > > > > > > expecting
> > > > > > > > the acceleration to be set so low that once it got onto the exponential
> > > > > > > > velocity curve the allowed deceleration would not be insufficient to
> > > > > > stay
> > > > > > > on
> > > > > > > > the curve and avoid overshooting the target. There was also a bug where
> > > > > > in
> > > > > > > > some cases the MoveExp (after a combination of Jogs) would start off at
> > > > > > a
> > > > > > > > non-zero velocity.ÃÆ'‚ It should also allow mixing of Jogs/Moves/MoveExp
> > > > > > with
> > > > > > > > proper blending applied.
> > > > > > > > > > ÃÆ'‚
> > > > > > > > > > Regards
> > > > > > > > > > TK
> > > > > > > > > >
> > > > > > > > > > From: himykabibble <jagboy@>
> > > > > > > > > > To: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com>
> > > > > > <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > > > Sent: Saturday, February 18, 2012 3:24 PM
> > > > > > > > > > Subject: [DynoMotion] Acceleration....
> > > > > > > > > >
> > > > > > > > > >
> > > > > > > > > > ÃÆ'‚
> > > > > > > > > > Tom,
> > > > > > > > > >
> > > > > > > > > > This is just strange.... In the course of trying to sort out the
> > > > > > last
> > > > > > > > few problems (seemingly random faults and position loss when jogging
> > > > > > using
> > > > > > > > MoveExp), I've discovered something which makes no sense at all. For the
> > > > > > > > X/Y/Z axes, I have acceleration of 25 in/sec^2, and velocity of 200 IPM
> > > > > > > for
> > > > > > > > X/Y, and 250 IPM for Z. The axis parameters are being set using those
> > > > > > > values
> > > > > > > > multiplied by steps/inch for each axis (and divided by 60 for the Vel
> > > > > > > > settings). I have PLENTY of reserve capability on the axes - I can
> > > > > > double
> > > > > > > my
> > > > > > > > acceleration up to 50 in/sec^2, and increase velocity from 200 IPM to at
> > > > > > > > least 300 IPM with no problems whatsoever when running G-code, or
> > > > > > jogging
> > > > > > > > with Jog(). But, using MoveExp(), I get random faults and position loss.
> > > > > > > If
> > > > > > > > I REDUCE the accelerations, say from 25 in/sec^2 to 5 in/sec^2, I get
> > > > > > TONS
> > > > > > > > of faults on all axes. In fact, on my A axis, if I reduce acceleration
> > > > > > > from
> > > > > > > > 5 in/sec^2 to 0.05 in/sec^2, I can BARELY get the axis to move at all
> > > > > > > using
> > > > > > > > > > MoveExp. Most of the time, it faults with a loud bang the instant I
> > > > > > > > touch the MPG. There HAS to be either a problem in MoveExp, or something
> > > > > > > > really stupid I'm doing wrong, but I'm out of places to look.
> > > > > > > > > >
> > > > > > > > > > Regards,
> > > > > > > > > > Ray L.
> > > > > > > > > >
> > > > > > > > >
> > > > > > > >
> > > > > > >
> > > > > >
> > > > >
> > > >
> > >
> >
>

Group: DynoMotion Message: 3970 From: himykabibble Date: 2/19/2012
Subject: Re: Acceleration....
Brad,

I think there is a problem in dotNet. CheckConnected is returning true looooooong after I've pulled the cable. I think that's what's putting my app into a wierd state.

Regards,
Ray L.

--- In DynoMotion@yahoogroups.com, Brad Murry <bradodarb@...> wrote:
>
> Check for begininvokes where there should be invokes and vice versa.
>
>
>
> -Brad
>
>
>
> From: DynoMotion@yahoogroups.com [mailto:DynoMotion@yahoogroups.com] On Behalf Of himykabibble
> Sent: Sunday, February 19, 2012 10:33 PM
> To: DynoMotion@yahoogroups.com
> Subject: [DynoMotion] Re: Acceleration....
>
>
>
>
>
> Tom,
>
> Yes. I get reasonable call stacks for all the other threads, including the other worker threads, but it looks like the ones that appear to be hanging I get no useful information once it gets into the bad state. Before it goes wonky, I get good call stacks on all threads. I am running Debug, and can step into the DLLs, so the build is OK.
>
> Regards,
> Ray L.
>
> --- In DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> , Tom Kerekes <tk@> wrote:
> >
> > Are you running the Debug Version?
> > Â
> > TK
> >
> > From: himykabibble <jagboy@>
> > To: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com>
> > Sent: Sunday, February 19, 2012 8:09 PM
> > Subject: [DynoMotion] Re: Acceleration....
> >
> >
> > Â
> > Unfortunately, for the threads of real interest, the stack trace shows "frames below may be incorrect and/or missing. No symbols loaded for ntdll.dll", then a long list of Windows dll locations, mostly mscorworks.dll.
> >
> > --- In DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> , Tom Kerekes <tk@> wrote:
> > >
> > > Ray,
> > > ÂÂ
> > > Make the Thread active by double clicking on the Thread in the Debug | Threads window. Then the current Program Counter will point to where it is. Often it will be down in the bowels of Windows stuff so look at the Stack and work backwards until you get to something recognizable like a Mutex Lock or a call your code made.
> > > ÂÂ
> > > Regards
> > > TK
> > >
> > > From: himykabibble <jagboy@>
> > > To: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com>
> > > Sent: Sunday, February 19, 2012 7:37 PM
> > > Subject: [DynoMotion] Re: Acceleration....
> > >
> > >
> > > ÂÂ
> > > Tom,
> > >
> > > How do I tell what a thread is waiting on?
> > >
> > > Regards,
> > > Ray L.
> > >
> > > --- In DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> , Tom Kerekes <tk@> wrote:
> > > >
> > > > Hi Ray,
> > > > ÃÆ'‚ÂÂ
> > > > Deadlocks are usually pretty easy to figure out.ÃÆ'‚ÂÂ Just look at what the threads are stuck waiting on.ÃÆ'‚ÂÂ It also might be something simple like somebody never released the Token after receiving it.
> > > > ÃÆ'‚ÂÂ
> > > > Regards
> > > > TK
> > > >
> > > > From: himykabibble <jagboy@>
> > > > To: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com>
> > > > Sent: Sunday, February 19, 2012 7:23 PM
> > > > Subject: [DynoMotion] Re: Acceleration....
> > > >
> > > >
> > > > ÃÆ'‚ÂÂ
> > > > Yeah, my guess is I'm getting into a deadlock. All the threads that talk to the KFlop seem to be hung (they're still there, just not running), all the others seem to be working OK. I don't know where to go from here.... Something in dotNet must have changed that affects this, as I haven't had this problem with v428 since we got the last deadlock issue sorted out.
> > > >
> > > > --- In DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> , "himykabibble" <jagboy@> wrote:
> > > > >
> > > > > Damn! This seems to be a threading thing.... The worker thread starts up and seems to work OK, until I plug in the board and try to exit E-Stop. I don't understand how to use VS to debug this type of issue. Any suggestions?
> > > > >
> > > > > --- In DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> , "himykabibble" <jagboy@> wrote:
> > > > > >
> > > > > > Brad,
> > > > > >
> > > > > > Odd, the exception was occurring every time when I tried to step over that one line in Release mode. In Debug mode, it got past it just fine, then threw up later. I found a bug in my code (a hard-coded path pointing to the no-longer-there v428 directory), and have gotten past that. It now comes up, indicates the board is connected, but when I try to come out of E-Stop, it comes partially to life, but the worker thread that updates most of the GUI controls seems not to be running. Looking into that now...
> > > > > >
> > > > > > Regards,
> > > > > > Ray L.
> > > > > >
> > > > > >
> > > > > > --- In DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> , Brad Murry <bradodarb@> wrote:
> > > > > > >
> > > > > > > Hello Ray,
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > > > No, KM_Controller no longer maintains a list of axis or io objects. It
> > > > > > > seems cleaner to let the user application dictate where those are kept.
> > > > > > > Those are just convenience methods to create a new object and it
> > > > > > > automatically reference the controller it was created from so it is a safer
> > > > > > > multi-instance/multi-board object. As it simply returns a value and nothing
> > > > > > > else I am not sure why you would think it is setting something.
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > > > I cannot reproduce your interpreter complete issue with the information
> > > > > > > provided.
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > > > -Brad Murry
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > > > From: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> [mailto:DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> ] On
> > > > > > > Behalf Of himykabibble
> > > > > > > Sent: Sunday, February 19, 2012 7:10 PM
> > > > > > > To: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > Subject: [DynoMotion] Re: Acceleration....
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > > > Brad,
> > > > > > >
> > > > > > > I realize it is returning an object. I guess what's not clear, when
> > > > > > > comparing what was there to what is there now, is before it seemed
> > > > > > > straight-forward - I created a list of KM_IOs and a list of KM_Axis, and
> > > > > > > passed those lists to KM_Controller. All very transparent. I assume
> > > > > > > KM_Controller is now adding to the list when you do the corresponding Get,
> > > > > > > and returning a reference to the object, right? And we then configure the
> > > > > > > object (i.e. - axis.Velocity = x.x). Is that not correct?
> > > > > > >
> > > > > > > BTW - The exception I'm getting is happening when I try to hook in my
> > > > > > > InterpreterCompleted handler. It hangs in there for several seconds, then
> > > > > > > throws the exception. I have to do a debug build of dotNet and step into it
> > > > > > > to see what's going on.
> > > > > > >
> > > > > > > --- In DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> ,
> > > > > > > Brad Murry <bradodarb@> wrote:
> > > > > > > >
> > > > > > > > "> Personally, I find it odd to use functions named "Get" to set
> > > > > > > parameters.
> > > > > > > > > Not at all intuitive."
> > > > > > > >
> > > > > > > >
> > > > > > > >
> > > > > > > > You are not setting any params here. They are object creation methods and
> > > > > > > > they `return' a value. Google the Factory pattern to understand why the
> > > > > > > > nomenclature is intuitive. You could also have a look at the source to see
> > > > > > > > how things actually work, since it is included; alternatively feel free to
> > > > > > > > peruse the included API reference.
> > > > > > > >
> > > > > > > >
> > > > > > > >
> > > > > > > >
> > > > > > > >
> > > > > > > >
> > > > > > > >
> > > > > > > > Regarding #1,
> > > > > > > >
> > > > > > > >
> > > > > > > >
> > > > > > > > It is best to use the CheckConnected(params Action[]). You can either use
> > > > > > > > it as it is or optionally pass in one or more action delegates to perform
> > > > > > > > while the token is obtained.
> > > > > > > >
> > > > > > > >
> > > > > > > >
> > > > > > > > -Brad
> > > > > > > >
> > > > > > > >
> > > > > > > >
> > > > > > > > From: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > [mailto:DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> ]
> > > > > > > On
> > > > > > > > Behalf Of himykabibble
> > > > > > > > Sent: Sunday, February 19, 2012 6:41 PM
> > > > > > > > To: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > Subject: [DynoMotion] Re: Acceleration....
> > > > > > > >
> > > > > > > >
> > > > > > > >
> > > > > > > >
> > > > > > > >
> > > > > > > > Hmmmm.... I replaced the KMController.Connected's with
> > > > > > > > KMController.CheckIsReady(). The error on ReadLineTimeout went away(!) by
> > > > > > > > itself. So, it now compiles, but when I try to run it, I get and
> > > > > > > exception:
> > > > > > > >
> > > > > > > > An unhandled exception of type
> > > > > > > 'System.Reflection.TargetInvocationException'
> > > > > > > > occurred in mscorlib.dll
> > > > > > > >
> > > > > > > > Additional information: Exception has been thrown by the target of an
> > > > > > > > invocation.
> > > > > > > >
> > > > > > > > This did not happen before I re-flashed the board with v429z.
> > > > > > > >
> > > > > > > > No clue what to do now....
> > > > > > > >
> > > > > > > > Regards,
> > > > > > > > Ray L.
> > > > > > > >
> > > > > > > > --- In DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > <mailto:DynoMotion%40yahoogroups.com> ,
> > > > > > > > Brad Murry <bradodarb@> wrote:
> > > > > > > > >
> > > > > > > > > Ray,
> > > > > > > > >
> > > > > > > > >
> > > > > > > > >
> > > > > > > > > KM_Controller.Interpreter.SetupParams == KM_Controller.
> > > > > > > > > CoordMotion.Interpreter.SetupParams
> > > > > > > > >
> > > > > > > > >
> > > > > > > > >
> > > > > > > > > -Brad
> > > > > > > > >
> > > > > > > > >
> > > > > > > > >
> > > > > > > > > From: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > [mailto:DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > <mailto:DynoMotion%40yahoogroups.com> ]
> > > > > > > > On
> > > > > > > > > Behalf Of himykabibble
> > > > > > > > > Sent: Sunday, February 19, 2012 6:09 PM
> > > > > > > > > To: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > > Subject: [DynoMotion] Re: Acceleration....
> > > > > > > > >
> > > > > > > > >
> > > > > > > > >
> > > > > > > > >
> > > > > > > > >
> > > > > > > > > Tom,
> > > > > > > > >
> > > > > > > > > I *think* I've worked through all of the changes except for the two
> > > > > > > > detailed
> > > > > > > > > below, which have me stumped. The changes I found were:
> > > > > > > > >
> > > > > > > > > KM_Controller.Interpreter => KM_Controller.CoordMotion.Interpreter
> > > > > > > > > KM_Controller.Interpreter.SetupParams =>
> > > > > > > > > KM_Controller.CoordMotion.MotionParams
> > > > > > > > > KM_Controller.AxisChannels => KM_Controller.GetAxis()
> > > > > > > > > KM_Controller.IOPoints => KMController.GetIO()
> > > > > > > > >
> > > > > > > > > Is that all correct?
> > > > > > > > >
> > > > > > > > > Personally, I find it odd to use functions named "Get" to set
> > > > > > > parameters.
> > > > > > > > > Not at all intuitive.
> > > > > > > > >
> > > > > > > > > Here are the two things I don't yet have resolved:
> > > > > > > > >
> > > > > > > > > 1) KM_Controller.Connected no longer exists. Does that get replaced with
> > > > > > > > the
> > > > > > > > > new error callback? How do I know a disconnect has occurred?
> > > > > > > > >
> > > > > > > > > 2) KM_Controller.ReadLineTimeout() no longer exists. What replaces it?
> > > > > > > > >
> > > > > > > > > Regards,
> > > > > > > > > Ray L.
> > > > > > > > >
> > > > > > > > > --- In DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > <mailto:DynoMotion%40yahoogroups.com> ,
> > > > > > > > > "himykabibble" <jagboy@> wrote:
> > > > > > > > > >
> > > > > > > > > > Tom,
> > > > > > > > > >
> > > > > > > > > > Looks like the 429z dotNet implementation has changed a lot of things
> > > > > > > > and
> > > > > > > > > it has seriously broken my app - I get almost 80 errors, mostly things
> > > > > > > > that
> > > > > > > > > no longer exist, like KM_Controller.Connected,
> > > > > > > KM_Controller.Interpreter,
> > > > > > > > > etc. Is there a summary of the required changes somewhere?
> > > > > > > > > >
> > > > > > > > > > Regards,
> > > > > > > > > > Ray L.
> > > > > > > > > >
> > > > > > > > > > --- In DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > <mailto:DynoMotion%40yahoogroups.com> ,
> > > > > > > > > Tom Kerekes <tk@> wrote:
> > > > > > > > > > >
> > > > > > > > > > > Hi Ray,
> > > > > > > > > > > ÃÆ'Æ'‚
> > > > > > > > > > > I thought you had removed all MoveExp commands?ÃÆ'Æ'‚ But anyway please
> > > > > > > see
> > > > > > > > > the V4.29z Version that is now available.ÃÆ'Æ'‚ The MoveExp has been improved
> > > > > > > > to
> > > > > > > > > avoid certain issues.ÃÆ'Æ'‚ The previous version you were using wasn't
> > > > > > > > expecting
> > > > > > > > > the acceleration to be set so low that once it got onto the exponential
> > > > > > > > > velocity curve the allowed deceleration would not be insufficient to
> > > > > > > stay
> > > > > > > > on
> > > > > > > > > the curve and avoid overshooting the target. There was also a bug where
> > > > > > > in
> > > > > > > > > some cases the MoveExp (after a combination of Jogs) would start off at
> > > > > > > a
> > > > > > > > > non-zero velocity.ÃÆ'Æ'‚ It should also allow mixing of Jogs/Moves/MoveExp
> > > > > > > with
> > > > > > > > > proper blending applied.
> > > > > > > > > > > ÃÆ'Æ'‚
> > > > > > > > > > > Regards
> > > > > > > > > > > TK
> > > > > > > > > > >
> > > > > > > > > > > From: himykabibble <jagboy@>
> > > > > > > > > > > To: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > > > > Sent: Saturday, February 18, 2012 3:24 PM
> > > > > > > > > > > Subject: [DynoMotion] Acceleration....
> > > > > > > > > > >
> > > > > > > > > > >
> > > > > > > > > > > ÃÆ'Æ'‚
> > > > > > > > > > > Tom,
> > > > > > > > > > >
> > > > > > > > > > > This is just strange.... In the course of trying to sort out the
> > > > > > > last
> > > > > > > > > few problems (seemingly random faults and position loss when jogging
> > > > > > > using
> > > > > > > > > MoveExp), I've discovered something which makes no sense at all. For the
> > > > > > > > > X/Y/Z axes, I have acceleration of 25 in/sec^2, and velocity of 200 IPM
> > > > > > > > for
> > > > > > > > > X/Y, and 250 IPM for Z. The axis parameters are being set using those
> > > > > > > > values
> > > > > > > > > multiplied by steps/inch for each axis (and divided by 60 for the Vel
> > > > > > > > > settings). I have PLENTY of reserve capability on the axes - I can
> > > > > > > double
> > > > > > > > my
> > > > > > > > > acceleration up to 50 in/sec^2, and increase velocity from 200 IPM to at
> > > > > > > > > least 300 IPM with no problems whatsoever when running G-code, or
> > > > > > > jogging
> > > > > > > > > with Jog(). But, using MoveExp(), I get random faults and position loss.
> > > > > > > > If
> > > > > > > > > I REDUCE the accelerations, say from 25 in/sec^2 to 5 in/sec^2, I get
> > > > > > > TONS
> > > > > > > > > of faults on all axes. In fact, on my A axis, if I reduce acceleration
> > > > > > > > from
> > > > > > > > > 5 in/sec^2 to 0.05 in/sec^2, I can BARELY get the axis to move at all
> > > > > > > > using
> > > > > > > > > > > MoveExp. Most of the time, it faults with a loud bang the instant I
> > > > > > > > > touch the MPG. There HAS to be either a problem in MoveExp, or something
> > > > > > > > > really stupid I'm doing wrong, but I'm out of places to look.
> > > > > > > > > > >
> > > > > > > > > > > Regards,
> > > > > > > > > > > Ray L.
> > > > > > > > > > >
> > > > > > > > > >
> > > > > > > > >
> > > > > > > >
> > > > > > >
> > > > > >
> > > > >
> > > >
> > >
> >
>
Group: DynoMotion Message: 3971 From: himykabibble Date: 2/19/2012
Subject: Re: Acceleration....
Yeah, CheckConnected is definitely not reliably reporting the connection state - I can easily get it stuck in either state.

Regards,
Ray L.

--- In DynoMotion@yahoogroups.com, "himykabibble" <jagboy@...> wrote:
>
> Brad,
>
> I think there is a problem in dotNet. CheckConnected is returning true looooooong after I've pulled the cable. I think that's what's putting my app into a wierd state.
>
> Regards,
> Ray L.
>
> --- In DynoMotion@yahoogroups.com, Brad Murry <bradodarb@> wrote:
> >
> > Check for begininvokes where there should be invokes and vice versa.
> >
> >
> >
> > -Brad
> >
> >
> >
> > From: DynoMotion@yahoogroups.com [mailto:DynoMotion@yahoogroups.com] On Behalf Of himykabibble
> > Sent: Sunday, February 19, 2012 10:33 PM
> > To: DynoMotion@yahoogroups.com
> > Subject: [DynoMotion] Re: Acceleration....
> >
> >
> >
> >
> >
> > Tom,
> >
> > Yes. I get reasonable call stacks for all the other threads, including the other worker threads, but it looks like the ones that appear to be hanging I get no useful information once it gets into the bad state. Before it goes wonky, I get good call stacks on all threads. I am running Debug, and can step into the DLLs, so the build is OK.
> >
> > Regards,
> > Ray L.
> >
> > --- In DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> , Tom Kerekes <tk@> wrote:
> > >
> > > Are you running the Debug Version?
> > > Â
> > > TK
> > >
> > > From: himykabibble <jagboy@>
> > > To: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com>
> > > Sent: Sunday, February 19, 2012 8:09 PM
> > > Subject: [DynoMotion] Re: Acceleration....
> > >
> > >
> > > Â
> > > Unfortunately, for the threads of real interest, the stack trace shows "frames below may be incorrect and/or missing. No symbols loaded for ntdll.dll", then a long list of Windows dll locations, mostly mscorworks.dll.
> > >
> > > --- In DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> , Tom Kerekes <tk@> wrote:
> > > >
> > > > Ray,
> > > > ÂÂ
> > > > Make the Thread active by double clicking on the Thread in the Debug | Threads window. Then the current Program Counter will point to where it is. Often it will be down in the bowels of Windows stuff so look at the Stack and work backwards until you get to something recognizable like a Mutex Lock or a call your code made.
> > > > ÂÂ
> > > > Regards
> > > > TK
> > > >
> > > > From: himykabibble <jagboy@>
> > > > To: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com>
> > > > Sent: Sunday, February 19, 2012 7:37 PM
> > > > Subject: [DynoMotion] Re: Acceleration....
> > > >
> > > >
> > > > ÂÂ
> > > > Tom,
> > > >
> > > > How do I tell what a thread is waiting on?
> > > >
> > > > Regards,
> > > > Ray L.
> > > >
> > > > --- In DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> , Tom Kerekes <tk@> wrote:
> > > > >
> > > > > Hi Ray,
> > > > > ÃÆ'‚ÂÂ
> > > > > Deadlocks are usually pretty easy to figure out.ÃÆ'‚ÂÂ Just look at what the threads are stuck waiting on.ÃÆ'‚ÂÂ It also might be something simple like somebody never released the Token after receiving it.
> > > > > ÃÆ'‚ÂÂ
> > > > > Regards
> > > > > TK
> > > > >
> > > > > From: himykabibble <jagboy@>
> > > > > To: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com>
> > > > > Sent: Sunday, February 19, 2012 7:23 PM
> > > > > Subject: [DynoMotion] Re: Acceleration....
> > > > >
> > > > >
> > > > > ÃÆ'‚ÂÂ
> > > > > Yeah, my guess is I'm getting into a deadlock. All the threads that talk to the KFlop seem to be hung (they're still there, just not running), all the others seem to be working OK. I don't know where to go from here.... Something in dotNet must have changed that affects this, as I haven't had this problem with v428 since we got the last deadlock issue sorted out.
> > > > >
> > > > > --- In DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> , "himykabibble" <jagboy@> wrote:
> > > > > >
> > > > > > Damn! This seems to be a threading thing.... The worker thread starts up and seems to work OK, until I plug in the board and try to exit E-Stop. I don't understand how to use VS to debug this type of issue. Any suggestions?
> > > > > >
> > > > > > --- In DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> , "himykabibble" <jagboy@> wrote:
> > > > > > >
> > > > > > > Brad,
> > > > > > >
> > > > > > > Odd, the exception was occurring every time when I tried to step over that one line in Release mode. In Debug mode, it got past it just fine, then threw up later. I found a bug in my code (a hard-coded path pointing to the no-longer-there v428 directory), and have gotten past that. It now comes up, indicates the board is connected, but when I try to come out of E-Stop, it comes partially to life, but the worker thread that updates most of the GUI controls seems not to be running. Looking into that now...
> > > > > > >
> > > > > > > Regards,
> > > > > > > Ray L.
> > > > > > >
> > > > > > >
> > > > > > > --- In DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> , Brad Murry <bradodarb@> wrote:
> > > > > > > >
> > > > > > > > Hello Ray,
> > > > > > > >
> > > > > > > >
> > > > > > > >
> > > > > > > > No, KM_Controller no longer maintains a list of axis or io objects. It
> > > > > > > > seems cleaner to let the user application dictate where those are kept.
> > > > > > > > Those are just convenience methods to create a new object and it
> > > > > > > > automatically reference the controller it was created from so it is a safer
> > > > > > > > multi-instance/multi-board object. As it simply returns a value and nothing
> > > > > > > > else I am not sure why you would think it is setting something.
> > > > > > > >
> > > > > > > >
> > > > > > > >
> > > > > > > > I cannot reproduce your interpreter complete issue with the information
> > > > > > > > provided.
> > > > > > > >
> > > > > > > >
> > > > > > > >
> > > > > > > > -Brad Murry
> > > > > > > >
> > > > > > > >
> > > > > > > >
> > > > > > > > From: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> [mailto:DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> ] On
> > > > > > > > Behalf Of himykabibble
> > > > > > > > Sent: Sunday, February 19, 2012 7:10 PM
> > > > > > > > To: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > Subject: [DynoMotion] Re: Acceleration....
> > > > > > > >
> > > > > > > >
> > > > > > > >
> > > > > > > >
> > > > > > > >
> > > > > > > > Brad,
> > > > > > > >
> > > > > > > > I realize it is returning an object. I guess what's not clear, when
> > > > > > > > comparing what was there to what is there now, is before it seemed
> > > > > > > > straight-forward - I created a list of KM_IOs and a list of KM_Axis, and
> > > > > > > > passed those lists to KM_Controller. All very transparent. I assume
> > > > > > > > KM_Controller is now adding to the list when you do the corresponding Get,
> > > > > > > > and returning a reference to the object, right? And we then configure the
> > > > > > > > object (i.e. - axis.Velocity = x.x). Is that not correct?
> > > > > > > >
> > > > > > > > BTW - The exception I'm getting is happening when I try to hook in my
> > > > > > > > InterpreterCompleted handler. It hangs in there for several seconds, then
> > > > > > > > throws the exception. I have to do a debug build of dotNet and step into it
> > > > > > > > to see what's going on.
> > > > > > > >
> > > > > > > > --- In DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> ,
> > > > > > > > Brad Murry <bradodarb@> wrote:
> > > > > > > > >
> > > > > > > > > "> Personally, I find it odd to use functions named "Get" to set
> > > > > > > > parameters.
> > > > > > > > > > Not at all intuitive."
> > > > > > > > >
> > > > > > > > >
> > > > > > > > >
> > > > > > > > > You are not setting any params here. They are object creation methods and
> > > > > > > > > they `return' a value. Google the Factory pattern to understand why the
> > > > > > > > > nomenclature is intuitive. You could also have a look at the source to see
> > > > > > > > > how things actually work, since it is included; alternatively feel free to
> > > > > > > > > peruse the included API reference.
> > > > > > > > >
> > > > > > > > >
> > > > > > > > >
> > > > > > > > >
> > > > > > > > >
> > > > > > > > >
> > > > > > > > >
> > > > > > > > > Regarding #1,
> > > > > > > > >
> > > > > > > > >
> > > > > > > > >
> > > > > > > > > It is best to use the CheckConnected(params Action[]). You can either use
> > > > > > > > > it as it is or optionally pass in one or more action delegates to perform
> > > > > > > > > while the token is obtained.
> > > > > > > > >
> > > > > > > > >
> > > > > > > > >
> > > > > > > > > -Brad
> > > > > > > > >
> > > > > > > > >
> > > > > > > > >
> > > > > > > > > From: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > [mailto:DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> ]
> > > > > > > > On
> > > > > > > > > Behalf Of himykabibble
> > > > > > > > > Sent: Sunday, February 19, 2012 6:41 PM
> > > > > > > > > To: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > > Subject: [DynoMotion] Re: Acceleration....
> > > > > > > > >
> > > > > > > > >
> > > > > > > > >
> > > > > > > > >
> > > > > > > > >
> > > > > > > > > Hmmmm.... I replaced the KMController.Connected's with
> > > > > > > > > KMController.CheckIsReady(). The error on ReadLineTimeout went away(!) by
> > > > > > > > > itself. So, it now compiles, but when I try to run it, I get and
> > > > > > > > exception:
> > > > > > > > >
> > > > > > > > > An unhandled exception of type
> > > > > > > > 'System.Reflection.TargetInvocationException'
> > > > > > > > > occurred in mscorlib.dll
> > > > > > > > >
> > > > > > > > > Additional information: Exception has been thrown by the target of an
> > > > > > > > > invocation.
> > > > > > > > >
> > > > > > > > > This did not happen before I re-flashed the board with v429z.
> > > > > > > > >
> > > > > > > > > No clue what to do now....
> > > > > > > > >
> > > > > > > > > Regards,
> > > > > > > > > Ray L.
> > > > > > > > >
> > > > > > > > > --- In DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > <mailto:DynoMotion%40yahoogroups.com> ,
> > > > > > > > > Brad Murry <bradodarb@> wrote:
> > > > > > > > > >
> > > > > > > > > > Ray,
> > > > > > > > > >
> > > > > > > > > >
> > > > > > > > > >
> > > > > > > > > > KM_Controller.Interpreter.SetupParams == KM_Controller.
> > > > > > > > > > CoordMotion.Interpreter.SetupParams
> > > > > > > > > >
> > > > > > > > > >
> > > > > > > > > >
> > > > > > > > > > -Brad
> > > > > > > > > >
> > > > > > > > > >
> > > > > > > > > >
> > > > > > > > > > From: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > > [mailto:DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > <mailto:DynoMotion%40yahoogroups.com> ]
> > > > > > > > > On
> > > > > > > > > > Behalf Of himykabibble
> > > > > > > > > > Sent: Sunday, February 19, 2012 6:09 PM
> > > > > > > > > > To: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > > > Subject: [DynoMotion] Re: Acceleration....
> > > > > > > > > >
> > > > > > > > > >
> > > > > > > > > >
> > > > > > > > > >
> > > > > > > > > >
> > > > > > > > > > Tom,
> > > > > > > > > >
> > > > > > > > > > I *think* I've worked through all of the changes except for the two
> > > > > > > > > detailed
> > > > > > > > > > below, which have me stumped. The changes I found were:
> > > > > > > > > >
> > > > > > > > > > KM_Controller.Interpreter => KM_Controller.CoordMotion.Interpreter
> > > > > > > > > > KM_Controller.Interpreter.SetupParams =>
> > > > > > > > > > KM_Controller.CoordMotion.MotionParams
> > > > > > > > > > KM_Controller.AxisChannels => KM_Controller.GetAxis()
> > > > > > > > > > KM_Controller.IOPoints => KMController.GetIO()
> > > > > > > > > >
> > > > > > > > > > Is that all correct?
> > > > > > > > > >
> > > > > > > > > > Personally, I find it odd to use functions named "Get" to set
> > > > > > > > parameters.
> > > > > > > > > > Not at all intuitive.
> > > > > > > > > >
> > > > > > > > > > Here are the two things I don't yet have resolved:
> > > > > > > > > >
> > > > > > > > > > 1) KM_Controller.Connected no longer exists. Does that get replaced with
> > > > > > > > > the
> > > > > > > > > > new error callback? How do I know a disconnect has occurred?
> > > > > > > > > >
> > > > > > > > > > 2) KM_Controller.ReadLineTimeout() no longer exists. What replaces it?
> > > > > > > > > >
> > > > > > > > > > Regards,
> > > > > > > > > > Ray L.
> > > > > > > > > >
> > > > > > > > > > --- In DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > > <mailto:DynoMotion%40yahoogroups.com> ,
> > > > > > > > > > "himykabibble" <jagboy@> wrote:
> > > > > > > > > > >
> > > > > > > > > > > Tom,
> > > > > > > > > > >
> > > > > > > > > > > Looks like the 429z dotNet implementation has changed a lot of things
> > > > > > > > > and
> > > > > > > > > > it has seriously broken my app - I get almost 80 errors, mostly things
> > > > > > > > > that
> > > > > > > > > > no longer exist, like KM_Controller.Connected,
> > > > > > > > KM_Controller.Interpreter,
> > > > > > > > > > etc. Is there a summary of the required changes somewhere?
> > > > > > > > > > >
> > > > > > > > > > > Regards,
> > > > > > > > > > > Ray L.
> > > > > > > > > > >
> > > > > > > > > > > --- In DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > > <mailto:DynoMotion%40yahoogroups.com> ,
> > > > > > > > > > Tom Kerekes <tk@> wrote:
> > > > > > > > > > > >
> > > > > > > > > > > > Hi Ray,
> > > > > > > > > > > > ÃÆ'Æ'‚
> > > > > > > > > > > > I thought you had removed all MoveExp commands?ÃÆ'Æ'‚ But anyway please
> > > > > > > > see
> > > > > > > > > > the V4.29z Version that is now available.ÃÆ'Æ'‚ The MoveExp has been improved
> > > > > > > > > to
> > > > > > > > > > avoid certain issues.ÃÆ'Æ'‚ The previous version you were using wasn't
> > > > > > > > > expecting
> > > > > > > > > > the acceleration to be set so low that once it got onto the exponential
> > > > > > > > > > velocity curve the allowed deceleration would not be insufficient to
> > > > > > > > stay
> > > > > > > > > on
> > > > > > > > > > the curve and avoid overshooting the target. There was also a bug where
> > > > > > > > in
> > > > > > > > > > some cases the MoveExp (after a combination of Jogs) would start off at
> > > > > > > > a
> > > > > > > > > > non-zero velocity.ÃÆ'Æ'‚ It should also allow mixing of Jogs/Moves/MoveExp
> > > > > > > > with
> > > > > > > > > > proper blending applied.
> > > > > > > > > > > > ÃÆ'Æ'‚
> > > > > > > > > > > > Regards
> > > > > > > > > > > > TK
> > > > > > > > > > > >
> > > > > > > > > > > > From: himykabibble <jagboy@>
> > > > > > > > > > > > To: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > > <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > > > > > Sent: Saturday, February 18, 2012 3:24 PM
> > > > > > > > > > > > Subject: [DynoMotion] Acceleration....
> > > > > > > > > > > >
> > > > > > > > > > > >
> > > > > > > > > > > > ÃÆ'Æ'‚
> > > > > > > > > > > > Tom,
> > > > > > > > > > > >
> > > > > > > > > > > > This is just strange.... In the course of trying to sort out the
> > > > > > > > last
> > > > > > > > > > few problems (seemingly random faults and position loss when jogging
> > > > > > > > using
> > > > > > > > > > MoveExp), I've discovered something which makes no sense at all. For the
> > > > > > > > > > X/Y/Z axes, I have acceleration of 25 in/sec^2, and velocity of 200 IPM
> > > > > > > > > for
> > > > > > > > > > X/Y, and 250 IPM for Z. The axis parameters are being set using those
> > > > > > > > > values
> > > > > > > > > > multiplied by steps/inch for each axis (and divided by 60 for the Vel
> > > > > > > > > > settings). I have PLENTY of reserve capability on the axes - I can
> > > > > > > > double
> > > > > > > > > my
> > > > > > > > > > acceleration up to 50 in/sec^2, and increase velocity from 200 IPM to at
> > > > > > > > > > least 300 IPM with no problems whatsoever when running G-code, or
> > > > > > > > jogging
> > > > > > > > > > with Jog(). But, using MoveExp(), I get random faults and position loss.
> > > > > > > > > If
> > > > > > > > > > I REDUCE the accelerations, say from 25 in/sec^2 to 5 in/sec^2, I get
> > > > > > > > TONS
> > > > > > > > > > of faults on all axes. In fact, on my A axis, if I reduce acceleration
> > > > > > > > > from
> > > > > > > > > > 5 in/sec^2 to 0.05 in/sec^2, I can BARELY get the axis to move at all
> > > > > > > > > using
> > > > > > > > > > > > MoveExp. Most of the time, it faults with a loud bang the instant I
> > > > > > > > > > touch the MPG. There HAS to be either a problem in MoveExp, or something
> > > > > > > > > > really stupid I'm doing wrong, but I'm out of places to look.
> > > > > > > > > > > >
> > > > > > > > > > > > Regards,
> > > > > > > > > > > > Ray L.
> > > > > > > > > > > >
> > > > > > > > > > >
> > > > > > > > > >
> > > > > > > > >
> > > > > > > >
> > > > > > >
> > > > > >
> > > > >
> > > >
> > >
> >
>
Group: DynoMotion Message: 3972 From: Brad Murry Date: 2/19/2012
Subject: Re: Acceleration....

No chance it could possibly be the code calling CheckConnected() eh?

 

That feature was there in the last version as well and I have used it with success.

-Brad

From: DynoMotion@yahoogroups.com [mailto:DynoMotion@yahoogroups.com] On Behalf Of himykabibble
Sent: Sunday, February 19, 2012 10:48 PM
To: DynoMotion@yahoogroups.com
Subject: [DynoMotion] Re: Acceleration....

 

 

Brad,

I think there is a problem in dotNet. CheckConnected is returning true looooooong after I've pulled the cable. I think that's what's putting my app into a wierd state.

Regards,
Ray L.

--- In DynoMotion@yahoogroups.com, Brad Murry <bradodarb@...> wrote:
>
> Check for begininvokes where there should be invokes and vice versa.
>
>
>
> -Brad
>
>
>
> From: DynoMotion@yahoogroups.com [mailto:DynoMotion@yahoogroups.com] On Behalf Of himykabibble
> Sent: Sunday, February 19, 2012 10:33 PM
> To: DynoMotion@yahoogroups.com
> Subject: [DynoMotion] Re: Acceleration....
>
>
>
>
>
> Tom,
>
> Yes. I get reasonable call stacks for all the other threads, including the other worker threads, but it looks like the ones that appear to be hanging I get no useful information once it gets into the bad state. Before it goes wonky, I get good call stacks on all threads. I am running Debug, and can step into the DLLs, so the build is OK.
>
> Regards,
> Ray L.
>
> --- In DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> , Tom Kerekes <tk@> wrote:
> >
> > Are you running the Debug Version?
> > Â
> > TK
> >
> > From: himykabibble <jagboy@>
> > To: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com>
> > Sent: Sunday, February 19, 2012 8:09 PM
> > Subject: [DynoMotion] Re: Acceleration....
> >
> >
> > Â
> > Unfortunately, for the threads of real interest, the stack trace shows "frames below may be incorrect and/or missing. No symbols loaded for ntdll.dll", then a long list of Windows dll locations, mostly mscorworks.dll.
> >
> > --- In DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> , Tom Kerekes <tk@> wrote:
> > >
> > > Ray,
> > > ÂÂ
> > > Make the Thread active by double clicking on the Thread in the Debug | Threads window. Then the current Program Counter will point to where it is. Often it will be down in the bowels of Windows stuff so look at the Stack and work backwards until you get to something recognizable like a Mutex Lock or a call your code made.
> > > ÂÂ
> > > Regards
> > > TK
> > >
> > > From: himykabibble <jagboy@>
> > > To: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com>
> > > Sent: Sunday, February 19, 2012 7:37 PM
> > > Subject: [DynoMotion] Re: Acceleration....
> > >
> > >
> > > ÂÂ
> > > Tom,
> > >
> > > How do I tell what a thread is waiting on?
> > >
> > > Regards,
> > > Ray L.
> > >
> > > --- In DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> , Tom Kerekes <tk@> wrote:
> > > >
> > > > Hi Ray,
> > > > ÃÆ'‚ÂÂ
> > > > Deadlocks are usually pretty easy to figure out.ÃÆ'‚ÂÂ Just look at what the threads are stuck waiting on.ÃÆ'‚ÂÂ It also might be something simple like somebody never released the Token after receiving it.
> > > > ÃÆ'‚ÂÂ
> > > > Regards
> > > > TK
> > > >
> > > > From: himykabibble <jagboy@>
> > > > To: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com>
> > > > Sent: Sunday, February 19, 2012 7:23 PM
> > > > Subject: [DynoMotion] Re: Acceleration....
> > > >
> > > >
> > > > ÃÆ'‚ÂÂ
> > > > Yeah, my guess is I'm getting into a deadlock. All the threads that talk to the KFlop seem to be hung (they're still there, just not running), all the others seem to be working OK. I don't know where to go from here.... Something in dotNet must have changed that affects this, as I haven't had this problem with v428 since we got the last deadlock issue sorted out.
> > > >
> > > > --- In DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> , "himykabibble" <jagboy@> wrote:
> > > > >
> > > > > Damn! This seems to be a threading thing.... The worker thread starts up and seems to work OK, until I plug in the board and try to exit E-Stop. I don't understand how to use VS to debug this type of issue. Any suggestions?
> > > > >
> > > > > --- In DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> , "himykabibble" <jagboy@> wrote:
> > > > > >
> > > > > > Brad,
> > > > > >
> > > > > > Odd, the exception was occurring every time when I tried to step over that one line in Release mode. In Debug mode, it got past it just fine, then threw up later. I found a bug in my code (a hard-coded path pointing to the no-longer-there v428 directory), and have gotten past that. It now comes up, indicates the board is connected, but when I try to come out of E-Stop, it comes partially to life, but the worker thread that updates most of the GUI controls seems not to be running. Looking into that now...
> > > > > >
> > > > > > Regards,
> > > > > > Ray L.
> > > > > >
> > > > > >
> > > > > > --- In DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> , Brad Murry <bradodarb@> wrote:
> > > > > > >
> > > > > > > Hello Ray,
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > > > No, KM_Controller no longer maintains a list of axis or io objects. It
> > > > > > > seems cleaner to let the user application dictate where those are kept.
> > > > > > > Those are just convenience methods to create a new object and it
> > > > > > > automatically reference the controller it was created from so it is a safer
> > > > > > > multi-instance/multi-board object. As it simply returns a value and nothing
> > > > > > > else I am not sure why you would think it is setting something.
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > > > I cannot reproduce your interpreter complete issue with the information
> > > > > > > provided.
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > > > -Brad Murry
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > > > From: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> [mailto:DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> ] On
> > > > > > > Behalf Of himykabibble
> > > > > > > Sent: Sunday, February 19, 2012 7:10 PM
> > > > > > > To: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > Subject: [DynoMotion] Re: Acceleration....
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > > > Brad,
> > > > > > >
> > > > > > > I realize it is returning an object. I guess what's not clear, when
> > > > > > > comparing what was there to what is there now, is before it seemed
> > > > > > > straight-forward - I created a list of KM_IOs and a list of KM_Axis, and
> > > > > > > passed those lists to KM_Controller. All very transparent. I assume
> > > > > > > KM_Controller is now adding to the list when you do the corresponding Get,
> > > > > > > and returning a reference to the object, right? And we then configure the
> > > > > > > object (i.e. - axis.Velocity = x.x). Is that not correct?
> > > > > > >
> > > > > > > BTW - The exception I'm getting is happening when I try to hook in my
> > > > > > > InterpreterCompleted handler. It hangs in there for several seconds, then
> > > > > > > throws the exception. I have to do a debug build of dotNet and step into it
> > > > > > > to see what's going on.
> > > > > > >
> > > > > > > --- In DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> ,
> > > > > > > Brad Murry <bradodarb@> wrote:
> > > > > > > >
> > > > > > > > "> Personally, I find it odd to use functions named "Get" to set
> > > > > > > parameters.
> > > > > > > > > Not at all intuitive."
> > > > > > > >
> > > > > > > >
> > > > > > > >
> > > > > > > > You are not setting any params here. They are object creation methods and
> > > > > > > > they `return' a value. Google the Factory pattern to understand why the
> > > > > > > > nomenclature is intuitive. You could also have a look at the source to see
> > > > > > > > how things actually work, since it is included; alternatively feel free to
> > > > > > > > peruse the included API reference.
> > > > > > > >
> > > > > > > >
> > > > > > > >
> > > > > > > >
> > > > > > > >
> > > > > > > >
> > > > > > > >
> > > > > > > > Regarding #1,
> > > > > > > >
> > > > > > > >
> > > > > > > >
> > > > > > > > It is best to use the CheckConnected(params Action[]). You can either use
> > > > > > > > it as it is or optionally pass in one or more action delegates to perform
> > > > > > > > while the token is obtained.
> > > > > > > >
> > > > > > > >
> > > > > > > >
> > > > > > > > -Brad
> > > > > > > >
> > > > > > > >
> > > > > > > >
> > > > > > > > From: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > [mailto:DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> ]
> > > > > > > On
> > > > > > > > Behalf Of himykabibble
> > > > > > > > Sent: Sunday, February 19, 2012 6:41 PM
> > > > > > > > To: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > Subject: [DynoMotion] Re: Acceleration....
> > > > > > > >
> > > > > > > >
> > > > > > > >
> > > > > > > >
> > > > > > > >
> > > > > > > > Hmmmm.... I replaced the KMController.Connected's with
> > > > > > > > KMController.CheckIsReady(). The error on ReadLineTimeout went away(!) by
> > > > > > > > itself. So, it now compiles, but when I try to run it, I get and
> > > > > > > exception:
> > > > > > > >
> > > > > > > > An unhandled exception of type
> > > > > > > 'System.Reflection.TargetInvocationException'
> > > > > > > > occurred in mscorlib.dll
> > > > > > > >
> > > > > > > > Additional information: Exception has been thrown by the target of an
> > > > > > > > invocation.
> > > > > > > >
> > > > > > > > This did not happen before I re-flashed the board with v429z.
> > > > > > > >
> > > > > > > > No clue what to do now....
> > > > > > > >
> > > > > > > > Regards,
> > > > > > > > Ray L.
> > > > > > > >
> > > > > > > > --- In DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > <mailto:DynoMotion%40yahoogroups.com> ,
> > > > > > > > Brad Murry <bradodarb@> wrote:
> > > > > > > > >
> > > > > > > > > Ray,
> > > > > > > > >
> > > > > > > > >
> > > > > > > > >
> > > > > > > > > KM_Controller.Interpreter.SetupParams == KM_Controller.
> > > > > > > > > CoordMotion.Interpreter.SetupParams
> > > > > > > > >
> > > > > > > > >
> > > > > > > > >
> > > > > > > > > -Brad
> > > > > > > > >
> > > > > > > > >
> > > > > > > > >
> > > > > > > > > From: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > [mailto:DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > <mailto:DynoMotion%40yahoogroups.com> ]
> > > > > > > > On
> > > > > > > > > Behalf Of himykabibble
> > > > > > > > > Sent: Sunday, February 19, 2012 6:09 PM
> > > > > > > > > To: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > > Subject: [DynoMotion] Re: Acceleration....
> > > > > > > > >
> > > > > > > > >
> > > > > > > > >
> > > > > > > > >
> > > > > > > > >
> > > > > > > > > Tom,
> > > > > > > > >
> > > > > > > > > I *think* I've worked through all of the changes except for the two
> > > > > > > > detailed
> > > > > > > > > below, which have me stumped. The changes I found were:
> > > > > > > > >
> > > > > > > > > KM_Controller.Interpreter => KM_Controller.CoordMotion.Interpreter
> > > > > > > > > KM_Controller.Interpreter.SetupParams =>
> > > > > > > > > KM_Controller.CoordMotion.MotionParams
> > > > > > > > > KM_Controller.AxisChannels => KM_Controller.GetAxis()
> > > > > > > > > KM_Controller.IOPoints => KMController.GetIO()
> > > > > > > > >
> > > > > > > > > Is that all correct?
> > > > > > > > >
> > > > > > > > > Personally, I find it odd to use functions named "Get" to set
> > > > > > > parameters.
> > > > > > > > > Not at all intuitive.
> > > > > > > > >
> > > > > > > > > Here are the two things I don't yet have resolved:
> > > > > > > > >
> > > > > > > > > 1) KM_Controller.Connected no longer exists. Does that get replaced with
> > > > > > > > the
> > > > > > > > > new error callback? How do I know a disconnect has occurred?
> > > > > > > > >
> > > > > > > > > 2) KM_Controller.ReadLineTimeout() no longer exists. What replaces it?
> > > > > > > > >
> > > > > > > > > Regards,
> > > > > > > > > Ray L.
> > > > > > > > >
> > > > > > > > > --- In DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > <mailto:DynoMotion%40yahoogroups.com> ,
> > > > > > > > > "himykabibble" <jagboy@> wrote:
> > > > > > > > > >
> > > > > > > > > > Tom,
> > > > > > > > > >
> > > > > > > > > > Looks like the 429z dotNet implementation has changed a lot of things
> > > > > > > > and
> > > > > > > > > it has seriously broken my app - I get almost 80 errors, mostly things
> > > > > > > > that
> > > > > > > > > no longer exist, like KM_Controller.Connected,
> > > > > > > KM_Controller.Interpreter,
> > > > > > > > > etc. Is there a summary of the required changes somewhere?
> > > > > > > > > >
> > > > > > > > > > Regards,
> > > > > > > > > > Ray L.
> > > > > > > > > >
> > > > > > > > > > --- In DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > <mailto:DynoMotion%40yahoogroups.com> ,
> > > > > > > > > Tom Kerekes <tk@> wrote:
> > > > > > > > > > >
> > > > > > > > > > > Hi Ray,
> > > > > > > > > > > ÃÆ'Æ'‚
> > > > > > > > > > > I thought you had removed all MoveExp commands?ÃÆ'Æ'‚ But anyway please
> > > > > > > see
> > > > > > > > > the V4.29z Version that is now available.ÃÆ'Æ'‚ The MoveExp has been improved
> > > > > > > > to
> > > > > > > > > avoid certain issues.ÃÆ'Æ'‚ The previous version you were using wasn't
> > > > > > > > expecting
> > > > > > > > > the acceleration to be set so low that once it got onto the exponential
> > > > > > > > > velocity curve the allowed deceleration would not be insufficient to
> > > > > > > stay
> > > > > > > > on
> > > > > > > > > the curve and avoid overshooting the target. There was also a bug where
> > > > > > > in
> > > > > > > > > some cases the MoveExp (after a combination of Jogs) would start off at
> > > > > > > a
> > > > > > > > > non-zero velocity.ÃÆ'Æ'‚ It should also allow mixing of Jogs/Moves/MoveExp
> > > > > > > with
> > > > > > > > > proper blending applied.
> > > > > > > > > > > ÃÆ'Æ'‚
> > > > > > > > > > > Regards
> > > > > > > > > > > TK
> > > > > > > > > > >
> > > > > > > > > > > From: himykabibble <jagboy@>
> > > > > > > > > > > To: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > > > > Sent: Saturday, February 18, 2012 3:24 PM
> > > > > > > > > > > Subject: [DynoMotion] Acceleration....
> > > > > > > > > > >
> > > > > > > > > > >
> > > > > > > > > > > ÃÆ'Æ'‚
> > > > > > > > > > > Tom,
> > > > > > > > > > >
> > > > > > > > > > > This is just strange.... In the course of trying to sort out the
> > > > > > > last
> > > > > > > > > few problems (seemingly random faults and position loss when jogging
> > > > > > > using
> > > > > > > > > MoveExp), I've discovered something which makes no sense at all. For the
> > > > > > > > > X/Y/Z axes, I have acceleration of 25 in/sec^2, and velocity of 200 IPM
> > > > > > > > for
> > > > > > > > > X/Y, and 250 IPM for Z. The axis parameters are being set using those
> > > > > > > > values
> > > > > > > > > multiplied by steps/inch for each axis (and divided by 60 for the Vel
> > > > > > > > > settings). I have PLENTY of reserve capability on the axes - I can
> > > > > > > double
> > > > > > > > my
> > > > > > > > > acceleration up to 50 in/sec^2, and increase velocity from 200 IPM to at
> > > > > > > > > least 300 IPM with no problems whatsoever when running G-code, or
> > > > > > > jogging
> > > > > > > > > with Jog(). But, using MoveExp(), I get random faults and position loss.
> > > > > > > > If
> > > > > > > > > I REDUCE the accelerations, say from 25 in/sec^2 to 5 in/sec^2, I get
> > > > > > > TONS
> > > > > > > > > of faults on all axes. In fact, on my A axis, if I reduce acceleration
> > > > > > > > from
> > > > > > > > > 5 in/sec^2 to 0.05 in/sec^2, I can BARELY get the axis to move at all
> > > > > > > > using
> > > > > > > > > > > MoveExp. Most of the time, it faults with a loud bang the instant I
> > > > > > > > > touch the MPG. There HAS to be either a problem in MoveExp, or something
> > > > > > > > > really stupid I'm doing wrong, but I'm out of places to look.
> > > > > > > > > > >
> > > > > > > > > > > Regards,
> > > > > > > > > > > Ray L.
> > > > > > > > > > >
> > > > > > > > > >
> > > > > > > > >
> > > > > > > >
> > > > > > >
> > > > > >
> > > > >
> > > >
> > >
> >
>

Group: DynoMotion Message: 3973 From: himykabibble Date: 2/19/2012
Subject: Re: Acceleration....
Brad,

It's basically polling the connection state. I am seeing regular calls to CheckConnected(), but, like I said, I can easily get it to consistently return true when the board is not there, or false when it is there. How could my code could be causing that?

Regards,
Ray L.

--- In DynoMotion@yahoogroups.com, Brad Murry <bradodarb@...> wrote:
>
> No chance it could possibly be the code calling CheckConnected() eh?
>
>
>
> That feature was there in the last version as well and I have used it with success.
>
> -Brad
>
> From: DynoMotion@yahoogroups.com [mailto:DynoMotion@yahoogroups.com] On Behalf Of himykabibble
> Sent: Sunday, February 19, 2012 10:48 PM
> To: DynoMotion@yahoogroups.com
> Subject: [DynoMotion] Re: Acceleration....
>
>
>
>
>
> Brad,
>
> I think there is a problem in dotNet. CheckConnected is returning true looooooong after I've pulled the cable. I think that's what's putting my app into a wierd state.
>
> Regards,
> Ray L.
>
> --- In DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> , Brad Murry <bradodarb@> wrote:
> >
> > Check for begininvokes where there should be invokes and vice versa.
> >
> >
> >
> > -Brad
> >
> >
> >
> > From: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> [mailto:DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> ] On Behalf Of himykabibble
> > Sent: Sunday, February 19, 2012 10:33 PM
> > To: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com>
> > Subject: [DynoMotion] Re: Acceleration....
> >
> >
> >
> >
> >
> > Tom,
> >
> > Yes. I get reasonable call stacks for all the other threads, including the other worker threads, but it looks like the ones that appear to be hanging I get no useful information once it gets into the bad state. Before it goes wonky, I get good call stacks on all threads. I am running Debug, and can step into the DLLs, so the build is OK.
> >
> > Regards,
> > Ray L.
> >
> > --- In DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> , Tom Kerekes <tk@> wrote:
> > >
> > > Are you running the Debug Version?
> > > Â
> > > TK
> > >
> > > From: himykabibble <jagboy@>
> > > To: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com>
> > > Sent: Sunday, February 19, 2012 8:09 PM
> > > Subject: [DynoMotion] Re: Acceleration....
> > >
> > >
> > > Â
> > > Unfortunately, for the threads of real interest, the stack trace shows "frames below may be incorrect and/or missing. No symbols loaded for ntdll.dll", then a long list of Windows dll locations, mostly mscorworks.dll.
> > >
> > > --- In DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> , Tom Kerekes <tk@> wrote:
> > > >
> > > > Ray,
> > > > ÃÆ'‚Â
> > > > Make the Thread active by double clicking on the Thread in the Debug | Threads window.ÃÆ'‚Â Then the current Program Counter will point to where it is.ÃÆ'‚Â Often it will be down in the bowels of Windows stuff so look at the Stack and work backwards until you get to something recognizable like a Mutex Lock or a call your code made.
> > > > ÃÆ'‚Â
> > > > Regards
> > > > TK
> > > >
> > > > From: himykabibble <jagboy@>
> > > > To: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com>
> > > > Sent: Sunday, February 19, 2012 7:37 PM
> > > > Subject: [DynoMotion] Re: Acceleration....
> > > >
> > > >
> > > > ÃÆ'‚Â
> > > > Tom,
> > > >
> > > > How do I tell what a thread is waiting on?
> > > >
> > > > Regards,
> > > > Ray L.
> > > >
> > > > --- In DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> , Tom Kerekes <tk@> wrote:
> > > > >
> > > > > Hi Ray,
> > > > > ÃÆ'Æ'‚ÃÆ'‚Â
> > > > > Deadlocks are usually pretty easy to figure out.ÃÆ'Æ'‚ÃÆ'‚Â Just look at what the threads are stuck waiting on.ÃÆ'Æ'‚ÃÆ'‚Â It also might be something simple like somebody never released the Token after receiving it.
> > > > > ÃÆ'Æ'‚ÃÆ'‚Â
> > > > > Regards
> > > > > TK
> > > > >
> > > > > From: himykabibble <jagboy@>
> > > > > To: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com>
> > > > > Sent: Sunday, February 19, 2012 7:23 PM
> > > > > Subject: [DynoMotion] Re: Acceleration....
> > > > >
> > > > >
> > > > > ÃÆ'Æ'‚ÃÆ'‚Â
> > > > > Yeah, my guess is I'm getting into a deadlock. All the threads that talk to the KFlop seem to be hung (they're still there, just not running), all the others seem to be working OK. I don't know where to go from here.... Something in dotNet must have changed that affects this, as I haven't had this problem with v428 since we got the last deadlock issue sorted out.
> > > > >
> > > > > --- In DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> , "himykabibble" <jagboy@> wrote:
> > > > > >
> > > > > > Damn! This seems to be a threading thing.... The worker thread starts up and seems to work OK, until I plug in the board and try to exit E-Stop. I don't understand how to use VS to debug this type of issue. Any suggestions?
> > > > > >
> > > > > > --- In DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> , "himykabibble" <jagboy@> wrote:
> > > > > > >
> > > > > > > Brad,
> > > > > > >
> > > > > > > Odd, the exception was occurring every time when I tried to step over that one line in Release mode. In Debug mode, it got past it just fine, then threw up later. I found a bug in my code (a hard-coded path pointing to the no-longer-there v428 directory), and have gotten past that. It now comes up, indicates the board is connected, but when I try to come out of E-Stop, it comes partially to life, but the worker thread that updates most of the GUI controls seems not to be running. Looking into that now...
> > > > > > >
> > > > > > > Regards,
> > > > > > > Ray L.
> > > > > > >
> > > > > > >
> > > > > > > --- In DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> , Brad Murry <bradodarb@> wrote:
> > > > > > > >
> > > > > > > > Hello Ray,
> > > > > > > >
> > > > > > > >
> > > > > > > >
> > > > > > > > No, KM_Controller no longer maintains a list of axis or io objects. It
> > > > > > > > seems cleaner to let the user application dictate where those are kept.
> > > > > > > > Those are just convenience methods to create a new object and it
> > > > > > > > automatically reference the controller it was created from so it is a safer
> > > > > > > > multi-instance/multi-board object. As it simply returns a value and nothing
> > > > > > > > else I am not sure why you would think it is setting something.
> > > > > > > >
> > > > > > > >
> > > > > > > >
> > > > > > > > I cannot reproduce your interpreter complete issue with the information
> > > > > > > > provided.
> > > > > > > >
> > > > > > > >
> > > > > > > >
> > > > > > > > -Brad Murry
> > > > > > > >
> > > > > > > >
> > > > > > > >
> > > > > > > > From: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> [mailto:DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> ] On
> > > > > > > > Behalf Of himykabibble
> > > > > > > > Sent: Sunday, February 19, 2012 7:10 PM
> > > > > > > > To: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > Subject: [DynoMotion] Re: Acceleration....
> > > > > > > >
> > > > > > > >
> > > > > > > >
> > > > > > > >
> > > > > > > >
> > > > > > > > Brad,
> > > > > > > >
> > > > > > > > I realize it is returning an object. I guess what's not clear, when
> > > > > > > > comparing what was there to what is there now, is before it seemed
> > > > > > > > straight-forward - I created a list of KM_IOs and a list of KM_Axis, and
> > > > > > > > passed those lists to KM_Controller. All very transparent. I assume
> > > > > > > > KM_Controller is now adding to the list when you do the corresponding Get,
> > > > > > > > and returning a reference to the object, right? And we then configure the
> > > > > > > > object (i.e. - axis.Velocity = x.x). Is that not correct?
> > > > > > > >
> > > > > > > > BTW - The exception I'm getting is happening when I try to hook in my
> > > > > > > > InterpreterCompleted handler. It hangs in there for several seconds, then
> > > > > > > > throws the exception. I have to do a debug build of dotNet and step into it
> > > > > > > > to see what's going on.
> > > > > > > >
> > > > > > > > --- In DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> ,
> > > > > > > > Brad Murry <bradodarb@> wrote:
> > > > > > > > >
> > > > > > > > > "> Personally, I find it odd to use functions named "Get" to set
> > > > > > > > parameters.
> > > > > > > > > > Not at all intuitive."
> > > > > > > > >
> > > > > > > > >
> > > > > > > > >
> > > > > > > > > You are not setting any params here. They are object creation methods and
> > > > > > > > > they `return' a value. Google the Factory pattern to understand why the
> > > > > > > > > nomenclature is intuitive. You could also have a look at the source to see
> > > > > > > > > how things actually work, since it is included; alternatively feel free to
> > > > > > > > > peruse the included API reference.
> > > > > > > > >
> > > > > > > > >
> > > > > > > > >
> > > > > > > > >
> > > > > > > > >
> > > > > > > > >
> > > > > > > > >
> > > > > > > > > Regarding #1,
> > > > > > > > >
> > > > > > > > >
> > > > > > > > >
> > > > > > > > > It is best to use the CheckConnected(params Action[]). You can either use
> > > > > > > > > it as it is or optionally pass in one or more action delegates to perform
> > > > > > > > > while the token is obtained.
> > > > > > > > >
> > > > > > > > >
> > > > > > > > >
> > > > > > > > > -Brad
> > > > > > > > >
> > > > > > > > >
> > > > > > > > >
> > > > > > > > > From: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > [mailto:DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> ]
> > > > > > > > On
> > > > > > > > > Behalf Of himykabibble
> > > > > > > > > Sent: Sunday, February 19, 2012 6:41 PM
> > > > > > > > > To: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > > Subject: [DynoMotion] Re: Acceleration....
> > > > > > > > >
> > > > > > > > >
> > > > > > > > >
> > > > > > > > >
> > > > > > > > >
> > > > > > > > > Hmmmm.... I replaced the KMController.Connected's with
> > > > > > > > > KMController.CheckIsReady(). The error on ReadLineTimeout went away(!) by
> > > > > > > > > itself. So, it now compiles, but when I try to run it, I get and
> > > > > > > > exception:
> > > > > > > > >
> > > > > > > > > An unhandled exception of type
> > > > > > > > 'System.Reflection.TargetInvocationException'
> > > > > > > > > occurred in mscorlib.dll
> > > > > > > > >
> > > > > > > > > Additional information: Exception has been thrown by the target of an
> > > > > > > > > invocation.
> > > > > > > > >
> > > > > > > > > This did not happen before I re-flashed the board with v429z.
> > > > > > > > >
> > > > > > > > > No clue what to do now....
> > > > > > > > >
> > > > > > > > > Regards,
> > > > > > > > > Ray L.
> > > > > > > > >
> > > > > > > > > --- In DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > <mailto:DynoMotion%40yahoogroups.com> ,
> > > > > > > > > Brad Murry <bradodarb@> wrote:
> > > > > > > > > >
> > > > > > > > > > Ray,
> > > > > > > > > >
> > > > > > > > > >
> > > > > > > > > >
> > > > > > > > > > KM_Controller.Interpreter.SetupParams == KM_Controller.
> > > > > > > > > > CoordMotion.Interpreter.SetupParams
> > > > > > > > > >
> > > > > > > > > >
> > > > > > > > > >
> > > > > > > > > > -Brad
> > > > > > > > > >
> > > > > > > > > >
> > > > > > > > > >
> > > > > > > > > > From: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > > [mailto:DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > <mailto:DynoMotion%40yahoogroups.com> ]
> > > > > > > > > On
> > > > > > > > > > Behalf Of himykabibble
> > > > > > > > > > Sent: Sunday, February 19, 2012 6:09 PM
> > > > > > > > > > To: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > > > Subject: [DynoMotion] Re: Acceleration....
> > > > > > > > > >
> > > > > > > > > >
> > > > > > > > > >
> > > > > > > > > >
> > > > > > > > > >
> > > > > > > > > > Tom,
> > > > > > > > > >
> > > > > > > > > > I *think* I've worked through all of the changes except for the two
> > > > > > > > > detailed
> > > > > > > > > > below, which have me stumped. The changes I found were:
> > > > > > > > > >
> > > > > > > > > > KM_Controller.Interpreter => KM_Controller.CoordMotion.Interpreter
> > > > > > > > > > KM_Controller.Interpreter.SetupParams =>
> > > > > > > > > > KM_Controller.CoordMotion.MotionParams
> > > > > > > > > > KM_Controller.AxisChannels => KM_Controller.GetAxis()
> > > > > > > > > > KM_Controller.IOPoints => KMController.GetIO()
> > > > > > > > > >
> > > > > > > > > > Is that all correct?
> > > > > > > > > >
> > > > > > > > > > Personally, I find it odd to use functions named "Get" to set
> > > > > > > > parameters.
> > > > > > > > > > Not at all intuitive.
> > > > > > > > > >
> > > > > > > > > > Here are the two things I don't yet have resolved:
> > > > > > > > > >
> > > > > > > > > > 1) KM_Controller.Connected no longer exists. Does that get replaced with
> > > > > > > > > the
> > > > > > > > > > new error callback? How do I know a disconnect has occurred?
> > > > > > > > > >
> > > > > > > > > > 2) KM_Controller.ReadLineTimeout() no longer exists. What replaces it?
> > > > > > > > > >
> > > > > > > > > > Regards,
> > > > > > > > > > Ray L.
> > > > > > > > > >
> > > > > > > > > > --- In DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > > <mailto:DynoMotion%40yahoogroups.com> ,
> > > > > > > > > > "himykabibble" <jagboy@> wrote:
> > > > > > > > > > >
> > > > > > > > > > > Tom,
> > > > > > > > > > >
> > > > > > > > > > > Looks like the 429z dotNet implementation has changed a lot of things
> > > > > > > > > and
> > > > > > > > > > it has seriously broken my app - I get almost 80 errors, mostly things
> > > > > > > > > that
> > > > > > > > > > no longer exist, like KM_Controller.Connected,
> > > > > > > > KM_Controller.Interpreter,
> > > > > > > > > > etc. Is there a summary of the required changes somewhere?
> > > > > > > > > > >
> > > > > > > > > > > Regards,
> > > > > > > > > > > Ray L.
> > > > > > > > > > >
> > > > > > > > > > > --- In DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > > <mailto:DynoMotion%40yahoogroups.com> ,
> > > > > > > > > > Tom Kerekes <tk@> wrote:
> > > > > > > > > > > >
> > > > > > > > > > > > Hi Ray,
> > > > > > > > > > > > ÃÆ'Æ'Æ'ÃÆ'¢â‚¬Å¡
> > > > > > > > > > > > I thought you had removed all MoveExp commands?ÃÆ'Æ'Æ'ÃÆ'¢â‚¬Å¡ But anyway please
> > > > > > > > see
> > > > > > > > > > the V4.29z Version that is now available.ÃÆ'Æ'Æ'ÃÆ'¢â‚¬Å¡ The MoveExp has been improved
> > > > > > > > > to
> > > > > > > > > > avoid certain issues.ÃÆ'Æ'Æ'ÃÆ'¢â‚¬Å¡ The previous version you were using wasn't
> > > > > > > > > expecting
> > > > > > > > > > the acceleration to be set so low that once it got onto the exponential
> > > > > > > > > > velocity curve the allowed deceleration would not be insufficient to
> > > > > > > > stay
> > > > > > > > > on
> > > > > > > > > > the curve and avoid overshooting the target. There was also a bug where
> > > > > > > > in
> > > > > > > > > > some cases the MoveExp (after a combination of Jogs) would start off at
> > > > > > > > a
> > > > > > > > > > non-zero velocity.ÃÆ'Æ'Æ'ÃÆ'¢â‚¬Å¡ It should also allow mixing of Jogs/Moves/MoveExp
> > > > > > > > with
> > > > > > > > > > proper blending applied.
> > > > > > > > > > > > ÃÆ'Æ'Æ'ÃÆ'¢â‚¬Å¡
> > > > > > > > > > > > Regards
> > > > > > > > > > > > TK
> > > > > > > > > > > >
> > > > > > > > > > > > From: himykabibble <jagboy@>
> > > > > > > > > > > > To: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > > <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > > > > > Sent: Saturday, February 18, 2012 3:24 PM
> > > > > > > > > > > > Subject: [DynoMotion] Acceleration....
> > > > > > > > > > > >
> > > > > > > > > > > >
> > > > > > > > > > > > ÃÆ'Æ'Æ'ÃÆ'¢â‚¬Å¡
> > > > > > > > > > > > Tom,
> > > > > > > > > > > >
> > > > > > > > > > > > This is just strange.... In the course of trying to sort out the
> > > > > > > > last
> > > > > > > > > > few problems (seemingly random faults and position loss when jogging
> > > > > > > > using
> > > > > > > > > > MoveExp), I've discovered something which makes no sense at all. For the
> > > > > > > > > > X/Y/Z axes, I have acceleration of 25 in/sec^2, and velocity of 200 IPM
> > > > > > > > > for
> > > > > > > > > > X/Y, and 250 IPM for Z. The axis parameters are being set using those
> > > > > > > > > values
> > > > > > > > > > multiplied by steps/inch for each axis (and divided by 60 for the Vel
> > > > > > > > > > settings). I have PLENTY of reserve capability on the axes - I can
> > > > > > > > double
> > > > > > > > > my
> > > > > > > > > > acceleration up to 50 in/sec^2, and increase velocity from 200 IPM to at
> > > > > > > > > > least 300 IPM with no problems whatsoever when running G-code, or
> > > > > > > > jogging
> > > > > > > > > > with Jog(). But, using MoveExp(), I get random faults and position loss.
> > > > > > > > > If
> > > > > > > > > > I REDUCE the accelerations, say from 25 in/sec^2 to 5 in/sec^2, I get
> > > > > > > > TONS
> > > > > > > > > > of faults on all axes. In fact, on my A axis, if I reduce acceleration
> > > > > > > > > from
> > > > > > > > > > 5 in/sec^2 to 0.05 in/sec^2, I can BARELY get the axis to move at all
> > > > > > > > > using
> > > > > > > > > > > > MoveExp. Most of the time, it faults with a loud bang the instant I
> > > > > > > > > > touch the MPG. There HAS to be either a problem in MoveExp, or something
> > > > > > > > > > really stupid I'm doing wrong, but I'm out of places to look.
> > > > > > > > > > > >
> > > > > > > > > > > > Regards,
> > > > > > > > > > > > Ray L.
> > > > > > > > > > > >
> > > > > > > > > > >
> > > > > > > > > >
> > > > > > > > >
> > > > > > > >
> > > > > > >
> > > > > >
> > > > >
> > > >
> > >
> >
>
Group: DynoMotion Message: 3974 From: Brad Murry Date: 2/19/2012
Subject: Re: Acceleration....

I misread your question.  I thought we were still on the deadlock problem.

 

I will try your scenario.

 

-Brad Murry

From: DynoMotion@yahoogroups.com [mailto:DynoMotion@yahoogroups.com] On Behalf Of himykabibble
Sent: Sunday, February 19, 2012 11:00 PM
To: DynoMotion@yahoogroups.com
Subject: [DynoMotion] Re: Acceleration....

 

 

Brad,

It's basically polling the connection state. I am seeing regular calls to CheckConnected(), but, like I said, I can easily get it to consistently return true when the board is not there, or false when it is there. How could my code could be causing that?

Regards,
Ray L.

--- In DynoMotion@yahoogroups.com, Brad Murry <bradodarb@...> wrote:
>
> No chance it could possibly be the code calling CheckConnected() eh?
>
>
>
> That feature was there in the last version as well and I have used it with success.
>
> -Brad
>
> From: DynoMotion@yahoogroups.com [mailto:DynoMotion@yahoogroups.com] On Behalf Of himykabibble
> Sent: Sunday, February 19, 2012 10:48 PM
> To: DynoMotion@yahoogroups.com
> Subject: [DynoMotion] Re: Acceleration....
>
>
>
>
>
> Brad,
>
> I think there is a problem in dotNet. CheckConnected is returning true looooooong after I've pulled the cable. I think that's what's putting my app into a wierd state.
>
> Regards,
> Ray L.
>
> --- In DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> , Brad Murry <bradodarb@> wrote:
> >
> > Check for begininvokes where there should be invokes and vice versa.
> >
> >
> >
> > -Brad
> >
> >
> >
> > From: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> [mailto:DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> ] On Behalf Of himykabibble
> > Sent: Sunday, February 19, 2012 10:33 PM
> > To: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com>
> > Subject: [DynoMotion] Re: Acceleration....
> >
> >
> >
> >
> >
> > Tom,
> >
> > Yes. I get reasonable call stacks for all the other threads, including the other worker threads, but it looks like the ones that appear to be hanging I get no useful information once it gets into the bad state. Before it goes wonky, I get good call stacks on all threads. I am running Debug, and can step into the DLLs, so the build is OK.
> >
> > Regards,
> > Ray L.
> >
> > --- In DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> , Tom Kerekes <tk@> wrote:
> > >
> > > Are you running the Debug Version?
> > > Â
> > > TK
> > >
> > > From: himykabibble <jagboy@>
> > > To: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com>
> > > Sent: Sunday, February 19, 2012 8:09 PM
> > > Subject: [DynoMotion] Re: Acceleration....
> > >
> > >
> > > Â
> > > Unfortunately, for the threads of real interest, the stack trace shows "frames below may be incorrect and/or missing. No symbols loaded for ntdll.dll", then a long list of Windows dll locations, mostly mscorworks.dll.
> > >
> > > --- In DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> , Tom Kerekes <tk@> wrote:
> > > >
> > > > Ray,
> > > > ÃÆ'‚Â
> > > > Make the Thread active by double clicking on the Thread in the Debug | Threads window.ÃÆ'‚Â Then the current Program Counter will point to where it is.ÃÆ'‚Â Often it will be down in the bowels of Windows stuff so look at the Stack and work backwards until you get to something recognizable like a Mutex Lock or a call your code made.
> > > > ÃÆ'‚Â
> > > > Regards
> > > > TK
> > > >
> > > > From: himykabibble <jagboy@>
> > > > To: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com>
> > > > Sent: Sunday, February 19, 2012 7:37 PM
> > > > Subject: [DynoMotion] Re: Acceleration....
> > > >
> > > >
> > > > ÃÆ'‚Â
> > > > Tom,
> > > >
> > > > How do I tell what a thread is waiting on?
> > > >
> > > > Regards,
> > > > Ray L.
> > > >
> > > > --- In DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> , Tom Kerekes <tk@> wrote:
> > > > >
> > > > > Hi Ray,
> > > > > ÃÆ'Æ'‚ÃÆ'‚Â
> > > > > Deadlocks are usually pretty easy to figure out.ÃÆ'Æ'‚ÃÆ'‚Â Just look at what the threads are stuck waiting on.ÃÆ'Æ'‚ÃÆ'‚Â It also might be something simple like somebody never released the Token after receiving it.
> > > > > ÃÆ'Æ'‚ÃÆ'‚Â
> > > > > Regards
> > > > > TK
> > > > >
> > > > > From: himykabibble <jagboy@>
> > > > > To: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com>
> > > > > Sent: Sunday, February 19, 2012 7:23 PM
> > > > > Subject: [DynoMotion] Re: Acceleration....
> > > > >
> > > > >
> > > > > ÃÆ'Æ'‚ÃÆ'‚Â
> > > > > Yeah, my guess is I'm getting into a deadlock. All the threads that talk to the KFlop seem to be hung (they're still there, just not running), all the others seem to be working OK. I don't know where to go from here.... Something in dotNet must have changed that affects this, as I haven't had this problem with v428 since we got the last deadlock issue sorted out.
> > > > >
> > > > > --- In DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> , "himykabibble" <jagboy@> wrote:
> > > > > >
> > > > > > Damn! This seems to be a threading thing.... The worker thread starts up and seems to work OK, until I plug in the board and try to exit E-Stop. I don't understand how to use VS to debug this type of issue. Any suggestions?
> > > > > >
> > > > > > --- In DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> , "himykabibble" <jagboy@> wrote:
> > > > > > >
> > > > > > > Brad,
> > > > > > >
> > > > > > > Odd, the exception was occurring every time when I tried to step over that one line in Release mode. In Debug mode, it got past it just fine, then threw up later. I found a bug in my code (a hard-coded path pointing to the no-longer-there v428 directory), and have gotten past that. It now comes up, indicates the board is connected, but when I try to come out of E-Stop, it comes partially to life, but the worker thread that updates most of the GUI controls seems not to be running. Looking into that now...
> > > > > > >
> > > > > > > Regards,
> > > > > > > Ray L.
> > > > > > >
> > > > > > >
> > > > > > > --- In DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> , Brad Murry <bradodarb@> wrote:
> > > > > > > >
> > > > > > > > Hello Ray,
> > > > > > > >
> > > > > > > >
> > > > > > > >
> > > > > > > > No, KM_Controller no longer maintains a list of axis or io objects. It
> > > > > > > > seems cleaner to let the user application dictate where those are kept.
> > > > > > > > Those are just convenience methods to create a new object and it
> > > > > > > > automatically reference the controller it was created from so it is a safer
> > > > > > > > multi-instance/multi-board object. As it simply returns a value and nothing
> > > > > > > > else I am not sure why you would think it is setting something.
> > > > > > > >
> > > > > > > >
> > > > > > > >
> > > > > > > > I cannot reproduce your interpreter complete issue with the information
> > > > > > > > provided.
> > > > > > > >
> > > > > > > >
> > > > > > > >
> > > > > > > > -Brad Murry
> > > > > > > >
> > > > > > > >
> > > > > > > >
> > > > > > > > From: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> [mailto:DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> ] On
> > > > > > > > Behalf Of himykabibble
> > > > > > > > Sent: Sunday, February 19, 2012 7:10 PM
> > > > > > > > To: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > Subject: [DynoMotion] Re: Acceleration....
> > > > > > > >
> > > > > > > >
> > > > > > > >
> > > > > > > >
> > > > > > > >
> > > > > > > > Brad,
> > > > > > > >
> > > > > > > > I realize it is returning an object. I guess what's not clear, when
> > > > > > > > comparing what was there to what is there now, is before it seemed
> > > > > > > > straight-forward - I created a list of KM_IOs and a list of KM_Axis, and
> > > > > > > > passed those lists to KM_Controller. All very transparent. I assume
> > > > > > > > KM_Controller is now adding to the list when you do the corresponding Get,
> > > > > > > > and returning a reference to the object, right? And we then configure the
> > > > > > > > object (i.e. - axis.Velocity = x.x). Is that not correct?
> > > > > > > >
> > > > > > > > BTW - The exception I'm getting is happening when I try to hook in my
> > > > > > > > InterpreterCompleted handler. It hangs in there for several seconds, then
> > > > > > > > throws the exception. I have to do a debug build of dotNet and step into it
> > > > > > > > to see what's going on.
> > > > > > > >
> > > > > > > > --- In DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> ,
> > > > > > > > Brad Murry <bradodarb@> wrote:
> > > > > > > > >
> > > > > > > > > "> Personally, I find it odd to use functions named "Get" to set
> > > > > > > > parameters.
> > > > > > > > > > Not at all intuitive."
> > > > > > > > >
> > > > > > > > >
> > > > > > > > >
> > > > > > > > > You are not setting any params here. They are object creation methods and
> > > > > > > > > they `return' a value. Google the Factory pattern to understand why the
> > > > > > > > > nomenclature is intuitive. You could also have a look at the source to see
> > > > > > > > > how things actually work, since it is included; alternatively feel free to
> > > > > > > > > peruse the included API reference.
> > > > > > > > >
> > > > > > > > >
> > > > > > > > >
> > > > > > > > >
> > > > > > > > >
> > > > > > > > >
> > > > > > > > >
> > > > > > > > > Regarding #1,
> > > > > > > > >
> > > > > > > > >
> > > > > > > > >
> > > > > > > > > It is best to use the CheckConnected(params Action[]). You can either use
> > > > > > > > > it as it is or optionally pass in one or more action delegates to perform
> > > > > > > > > while the token is obtained.
> > > > > > > > >
> > > > > > > > >
> > > > > > > > >
> > > > > > > > > -Brad
> > > > > > > > >
> > > > > > > > >
> > > > > > > > >
> > > > > > > > > From: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > [mailto:DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> ]
> > > > > > > > On
> > > > > > > > > Behalf Of himykabibble
> > > > > > > > > Sent: Sunday, February 19, 2012 6:41 PM
> > > > > > > > > To: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > > Subject: [DynoMotion] Re: Acceleration....
> > > > > > > > >
> > > > > > > > >
> > > > > > > > >
> > > > > > > > >
> > > > > > > > >
> > > > > > > > > Hmmmm.... I replaced the KMController.Connected's with
> > > > > > > > > KMController.CheckIsReady(). The error on ReadLineTimeout went away(!) by
> > > > > > > > > itself. So, it now compiles, but when I try to run it, I get and
> > > > > > > > exception:
> > > > > > > > >
> > > > > > > > > An unhandled exception of type
> > > > > > > > 'System.Reflection.TargetInvocationException'
> > > > > > > > > occurred in mscorlib.dll
> > > > > > > > >
> > > > > > > > > Additional information: Exception has been thrown by the target of an
> > > > > > > > > invocation.
> > > > > > > > >
> > > > > > > > > This did not happen before I re-flashed the board with v429z.
> > > > > > > > >
> > > > > > > > > No clue what to do now....
> > > > > > > > >
> > > > > > > > > Regards,
> > > > > > > > > Ray L.
> > > > > > > > >
> > > > > > > > > --- In DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > <mailto:DynoMotion%40yahoogroups.com> ,
> > > > > > > > > Brad Murry <bradodarb@> wrote:
> > > > > > > > > >
> > > > > > > > > > Ray,
> > > > > > > > > >
> > > > > > > > > >
> > > > > > > > > >
> > > > > > > > > > KM_Controller.Interpreter.SetupParams == KM_Controller.
> > > > > > > > > > CoordMotion.Interpreter.SetupParams
> > > > > > > > > >
> > > > > > > > > >
> > > > > > > > > >
> > > > > > > > > > -Brad
> > > > > > > > > >
> > > > > > > > > >
> > > > > > > > > >
> > > > > > > > > > From: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > > [mailto:DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > <mailto:DynoMotion%40yahoogroups.com> ]
> > > > > > > > > On
> > > > > > > > > > Behalf Of himykabibble
> > > > > > > > > > Sent: Sunday, February 19, 2012 6:09 PM
> > > > > > > > > > To: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > > > Subject: [DynoMotion] Re: Acceleration....
> > > > > > > > > >
> > > > > > > > > >
> > > > > > > > > >
> > > > > > > > > >
> > > > > > > > > >
> > > > > > > > > > Tom,
> > > > > > > > > >
> > > > > > > > > > I *think* I've worked through all of the changes except for the two
> > > > > > > > > detailed
> > > > > > > > > > below, which have me stumped. The changes I found were:
> > > > > > > > > >
> > > > > > > > > > KM_Controller.Interpreter => KM_Controller.CoordMotion.Interpreter
> > > > > > > > > > KM_Controller.Interpreter.SetupParams =>
> > > > > > > > > > KM_Controller.CoordMotion.MotionParams
> > > > > > > > > > KM_Controller.AxisChannels => KM_Controller.GetAxis()
> > > > > > > > > > KM_Controller.IOPoints => KMController.GetIO()
> > > > > > > > > >
> > > > > > > > > > Is that all correct?
> > > > > > > > > >
> > > > > > > > > > Personally, I find it odd to use functions named "Get" to set
> > > > > > > > parameters.
> > > > > > > > > > Not at all intuitive.
> > > > > > > > > >
> > > > > > > > > > Here are the two things I don't yet have resolved:
> > > > > > > > > >
> > > > > > > > > > 1) KM_Controller.Connected no longer exists. Does that get replaced with
> > > > > > > > > the
> > > > > > > > > > new error callback? How do I know a disconnect has occurred?
> > > > > > > > > >
> > > > > > > > > > 2) KM_Controller.ReadLineTimeout() no longer exists. What replaces it?
> > > > > > > > > >
> > > > > > > > > > Regards,
> > > > > > > > > > Ray L.
> > > > > > > > > >
> > > > > > > > > > --- In DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > > <mailto:DynoMotion%40yahoogroups.com> ,
> > > > > > > > > > "himykabibble" <jagboy@> wrote:
> > > > > > > > > > >
> > > > > > > > > > > Tom,
> > > > > > > > > > >
> > > > > > > > > > > Looks like the 429z dotNet implementation has changed a lot of things
> > > > > > > > > and
> > > > > > > > > > it has seriously broken my app - I get almost 80 errors, mostly things
> > > > > > > > > that
> > > > > > > > > > no longer exist, like KM_Controller.Connected,
> > > > > > > > KM_Controller.Interpreter,
> > > > > > > > > > etc. Is there a summary of the required changes somewhere?
> > > > > > > > > > >
> > > > > > > > > > > Regards,
> > > > > > > > > > > Ray L.
> > > > > > > > > > >
> > > > > > > > > > > --- In DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > > <mailto:DynoMotion%40yahoogroups.com> ,
> > > > > > > > > > Tom Kerekes <tk@> wrote:
> > > > > > > > > > > >
> > > > > > > > > > > > Hi Ray,
> > > > > > > > > > > > ÃÆ'Æ'Æ'ÃÆ'¢â‚¬Å¡
> > > > > > > > > > > > I thought you had removed all MoveExp commands?ÃÆ'Æ'Æ'ÃÆ'¢â‚¬Å¡ But anyway please
> > > > > > > > see
> > > > > > > > > > the V4.29z Version that is now available.ÃÆ'Æ'Æ'ÃÆ'¢â‚¬Å¡ The MoveExp has been improved
> > > > > > > > > to
> > > > > > > > > > avoid certain issues.ÃÆ'Æ'Æ'ÃÆ'¢â‚¬Å¡ The previous version you were using wasn't
> > > > > > > > > expecting
> > > > > > > > > > the acceleration to be set so low that once it got onto the exponential
> > > > > > > > > > velocity curve the allowed deceleration would not be insufficient to
> > > > > > > > stay
> > > > > > > > > on
> > > > > > > > > > the curve and avoid overshooting the target. There was also a bug where
> > > > > > > > in
> > > > > > > > > > some cases the MoveExp (after a combination of Jogs) would start off at
> > > > > > > > a
> > > > > > > > > > non-zero velocity.ÃÆ'Æ'Æ'ÃÆ'¢â‚¬Å¡ It should also allow mixing of Jogs/Moves/MoveExp
> > > > > > > > with
> > > > > > > > > > proper blending applied.
> > > > > > > > > > > > ÃÆ'Æ'Æ'ÃÆ'¢â‚¬Å¡
> > > > > > > > > > > > Regards
> > > > > > > > > > > > TK
> > > > > > > > > > > >
> > > > > > > > > > > > From: himykabibble <jagboy@>
> > > > > > > > > > > > To: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > > <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > > > > > Sent: Saturday, February 18, 2012 3:24 PM
> > > > > > > > > > > > Subject: [DynoMotion] Acceleration....
> > > > > > > > > > > >
> > > > > > > > > > > >
> > > > > > > > > > > > ÃÆ'Æ'Æ'ÃÆ'¢â‚¬Å¡
> > > > > > > > > > > > Tom,
> > > > > > > > > > > >
> > > > > > > > > > > > This is just strange.... In the course of trying to sort out the
> > > > > > > > last
> > > > > > > > > > few problems (seemingly random faults and position loss when jogging
> > > > > > > > using
> > > > > > > > > > MoveExp), I've discovered something which makes no sense at all. For the
> > > > > > > > > > X/Y/Z axes, I have acceleration of 25 in/sec^2, and velocity of 200 IPM
> > > > > > > > > for
> > > > > > > > > > X/Y, and 250 IPM for Z. The axis parameters are being set using those
> > > > > > > > > values
> > > > > > > > > > multiplied by steps/inch for each axis (and divided by 60 for the Vel
> > > > > > > > > > settings). I have PLENTY of reserve capability on the axes - I can
> > > > > > > > double
> > > > > > > > > my
> > > > > > > > > > acceleration up to 50 in/sec^2, and increase velocity from 200 IPM to at
> > > > > > > > > > least 300 IPM with no problems whatsoever when running G-code, or
> > > > > > > > jogging
> > > > > > > > > > with Jog(). But, using MoveExp(), I get random faults and position loss.
> > > > > > > > > If
> > > > > > > > > > I REDUCE the accelerations, say from 25 in/sec^2 to 5 in/sec^2, I get
> > > > > > > > TONS
> > > > > > > > > > of faults on all axes. In fact, on my A axis, if I reduce acceleration
> > > > > > > > > from
> > > > > > > > > > 5 in/sec^2 to 0.05 in/sec^2, I can BARELY get the axis to move at all
> > > > > > > > > using
> > > > > > > > > > > > MoveExp. Most of the time, it faults with a loud bang the instant I
> > > > > > > > > > touch the MPG. There HAS to be either a problem in MoveExp, or something
> > > > > > > > > > really stupid I'm doing wrong, but I'm out of places to look.
> > > > > > > > > > > >
> > > > > > > > > > > > Regards,
> > > > > > > > > > > > Ray L.
> > > > > > > > > > > >
> > > > > > > > > > >
> > > > > > > > > >
> > > > > > > > >
> > > > > > > >
> > > > > > >
> > > > > >
> > > > >
> > > >
> > >
> >
>

Group: DynoMotion Message: 3975 From: Brad Murry Date: 2/19/2012
Subject: Re: Acceleration....

 

I traced it back to the CKMotionDLL.cpp::

 

KMotionLock() firing off  PipeCmd(ENUM_KMotionLock) is constantly returning 0.

 

 

Does everyone else get the same results?

 

-Brad

 

 

From: DynoMotion@yahoogroups.com [mailto:DynoMotion@yahoogroups.com] On Behalf Of Brad Murry
Sent: Sunday, February 19, 2012 11:29 PM
To: DynoMotion@yahoogroups.com
Subject: RE: [DynoMotion] Re: Acceleration....

 

 

I misread your question.  I thought we were still on the deadlock problem.

 

I will try your scenario.

 

-Brad Murry

From: DynoMotion@yahoogroups.com [mailto:DynoMotion@yahoogroups.com] On Behalf Of himykabibble
Sent: Sunday, February 19, 2012 11:00 PM
To: DynoMotion@yahoogroups.com
Subject: [DynoMotion] Re: Acceleration....

 

 

Brad,

It's basically polling the connection state. I am seeing regular calls to CheckConnected(), but, like I said, I can easily get it to consistently return true when the board is not there, or false when it is there. How could my code could be causing that?

Regards,
Ray L.

--- In DynoMotion@yahoogroups.com, Brad Murry <bradodarb@...> wrote:
>
> No chance it could possibly be the code calling CheckConnected() eh?
>
>
>
> That feature was there in the last version as well and I have used it with success.
>
> -Brad
>
> From: DynoMotion@yahoogroups.com [mailto:DynoMotion@yahoogroups.com] On Behalf Of himykabibble
> Sent: Sunday, February 19, 2012 10:48 PM
> To: DynoMotion@yahoogroups.com
> Subject: [DynoMotion] Re: Acceleration....
>
>
>
>
>
> Brad,
>
> I think there is a problem in dotNet. CheckConnected is returning true looooooong after I've pulled the cable. I think that's what's putting my app into a wierd state.
>
> Regards,
> Ray L.
>
> --- In DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> , Brad Murry <bradodarb@> wrote:
> >
> > Check for begininvokes where there should be invokes and vice versa.
> >
> >
> >
> > -Brad
> >
> >
> >
> > From: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> [mailto:DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> ] On Behalf Of himykabibble
> > Sent: Sunday, February 19, 2012 10:33 PM
> > To: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com>
> > Subject: [DynoMotion] Re: Acceleration....
> >
> >
> >
> >
> >
> > Tom,
> >
> > Yes. I get reasonable call stacks for all the other threads, including the other worker threads, but it looks like the ones that appear to be hanging I get no useful information once it gets into the bad state. Before it goes wonky, I get good call stacks on all threads. I am running Debug, and can step into the DLLs, so the build is OK.
> >
> > Regards,
> > Ray L.
> >
> > --- In DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> , Tom Kerekes <tk@> wrote:
> > >
> > > Are you running the Debug Version?
> > > Â
> > > TK
> > >
> > > From: himykabibble <jagboy@>
> > > To: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com>
> > > Sent: Sunday, February 19, 2012 8:09 PM
> > > Subject: [DynoMotion] Re: Acceleration....
> > >
> > >
> > > Â
> > > Unfortunately, for the threads of real interest, the stack trace shows "frames below may be incorrect and/or missing. No symbols loaded for ntdll.dll", then a long list of Windows dll locations, mostly mscorworks.dll.
> > >
> > > --- In DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> , Tom Kerekes <tk@> wrote:
> > > >
> > > > Ray,
> > > > ÃÆ'‚Â
> > > > Make the Thread active by double clicking on the Thread in the Debug | Threads window.ÃÆ'‚Â Then the current Program Counter will point to where it is.ÃÆ'‚Â Often it will be down in the bowels of Windows stuff so look at the Stack and work backwards until you get to something recognizable like a Mutex Lock or a call your code made.
> > > > ÃÆ'‚Â
> > > > Regards
> > > > TK
> > > >
> > > > From: himykabibble <jagboy@>
> > > > To: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com>
> > > > Sent: Sunday, February 19, 2012 7:37 PM
> > > > Subject: [DynoMotion] Re: Acceleration....
> > > >
> > > >
> > > > ÃÆ'‚Â
> > > > Tom,
> > > >
> > > > How do I tell what a thread is waiting on?
> > > >
> > > > Regards,
> > > > Ray L.
> > > >
> > > > --- In DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> , Tom Kerekes <tk@> wrote:
> > > > >
> > > > > Hi Ray,
> > > > > ÃÆ'Æ'‚ÃÆ'‚Â
> > > > > Deadlocks are usually pretty easy to figure out.ÃÆ'Æ'‚ÃÆ'‚Â Just look at what the threads are stuck waiting on.ÃÆ'Æ'‚ÃÆ'‚Â It also might be something simple like somebody never released the Token after receiving it.
> > > > > ÃÆ'Æ'‚ÃÆ'‚Â
> > > > > Regards
> > > > > TK
> > > > >
> > > > > From: himykabibble <jagboy@>
> > > > > To: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com>
> > > > > Sent: Sunday, February 19, 2012 7:23 PM
> > > > > Subject: [DynoMotion] Re: Acceleration....
> > > > >
> > > > >
> > > > > ÃÆ'Æ'‚ÃÆ'‚Â
> > > > > Yeah, my guess is I'm getting into a deadlock. All the threads that talk to the KFlop seem to be hung (they're still there, just not running), all the others seem to be working OK. I don't know where to go from here.... Something in dotNet must have changed that affects this, as I haven't had this problem with v428 since we got the last deadlock issue sorted out.
> > > > >
> > > > > --- In DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> , "himykabibble" <jagboy@> wrote:
> > > > > >
> > > > > > Damn! This seems to be a threading thing.... The worker thread starts up and seems to work OK, until I plug in the board and try to exit E-Stop. I don't understand how to use VS to debug this type of issue. Any suggestions?
> > > > > >
> > > > > > --- In DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> , "himykabibble" <jagboy@> wrote:
> > > > > > >
> > > > > > > Brad,
> > > > > > >
> > > > > > > Odd, the exception was occurring every time when I tried to step over that one line in Release mode. In Debug mode, it got past it just fine, then threw up later. I found a bug in my code (a hard-coded path pointing to the no-longer-there v428 directory), and have gotten past that. It now comes up, indicates the board is connected, but when I try to come out of E-Stop, it comes partially to life, but the worker thread that updates most of the GUI controls seems not to be running. Looking into that now...
> > > > > > >
> > > > > > > Regards,
> > > > > > > Ray L.
> > > > > > >
> > > > > > >
> > > > > > > --- In DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> , Brad Murry <bradodarb@> wrote:
> > > > > > > >
> > > > > > > > Hello Ray,
> > > > > > > >
> > > > > > > >
> > > > > > > >
> > > > > > > > No, KM_Controller no longer maintains a list of axis or io objects. It
> > > > > > > > seems cleaner to let the user application dictate where those are kept.
> > > > > > > > Those are just convenience methods to create a new object and it
> > > > > > > > automatically reference the controller it was created from so it is a safer
> > > > > > > > multi-instance/multi-board object. As it simply returns a value and nothing
> > > > > > > > else I am not sure why you would think it is setting something.
> > > > > > > >
> > > > > > > >
> > > > > > > >
> > > > > > > > I cannot reproduce your interpreter complete issue with the information
> > > > > > > > provided.
> > > > > > > >
> > > > > > > >
> > > > > > > >
> > > > > > > > -Brad Murry
> > > > > > > >
> > > > > > > >
> > > > > > > >
> > > > > > > > From: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> [mailto:DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> ] On
> > > > > > > > Behalf Of himykabibble
> > > > > > > > Sent: Sunday, February 19, 2012 7:10 PM
> > > > > > > > To: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > Subject: [DynoMotion] Re: Acceleration....
> > > > > > > >
> > > > > > > >
> > > > > > > >
> > > > > > > >
> > > > > > > >
> > > > > > > > Brad,
> > > > > > > >
> > > > > > > > I realize it is returning an object. I guess what's not clear, when
> > > > > > > > comparing what was there to what is there now, is before it seemed
> > > > > > > > straight-forward - I created a list of KM_IOs and a list of KM_Axis, and
> > > > > > > > passed those lists to KM_Controller. All very transparent. I assume
> > > > > > > > KM_Controller is now adding to the list when you do the corresponding Get,
> > > > > > > > and returning a reference to the object, right? And we then configure the
> > > > > > > > object (i.e. - axis.Velocity = x.x). Is that not correct?
> > > > > > > >
> > > > > > > > BTW - The exception I'm getting is happening when I try to hook in my
> > > > > > > > InterpreterCompleted handler. It hangs in there for several seconds, then
> > > > > > > > throws the exception. I have to do a debug build of dotNet and step into it
> > > > > > > > to see what's going on.
> > > > > > > >
> > > > > > > > --- In DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> ,
> > > > > > > > Brad Murry <bradodarb@> wrote:
> > > > > > > > >
> > > > > > > > > "> Personally, I find it odd to use functions named "Get" to set
> > > > > > > > parameters.
> > > > > > > > > > Not at all intuitive."
> > > > > > > > >
> > > > > > > > >
> > > > > > > > >
> > > > > > > > > You are not setting any params here. They are object creation methods and
> > > > > > > > > they `return' a value. Google the Factory pattern to understand why the
> > > > > > > > > nomenclature is intuitive. You could also have a look at the source to see
> > > > > > > > > how things actually work, since it is included; alternatively feel free to
> > > > > > > > > peruse the included API reference.
> > > > > > > > >
> > > > > > > > >
> > > > > > > > >
> > > > > > > > >
> > > > > > > > >
> > > > > > > > >
> > > > > > > > >
> > > > > > > > > Regarding #1,
> > > > > > > > >
> > > > > > > > >
> > > > > > > > >
> > > > > > > > > It is best to use the CheckConnected(params Action[]). You can either use
> > > > > > > > > it as it is or optionally pass in one or more action delegates to perform
> > > > > > > > > while the token is obtained.
> > > > > > > > >
> > > > > > > > >
> > > > > > > > >
> > > > > > > > > -Brad
> > > > > > > > >
> > > > > > > > >
> > > > > > > > >
> > > > > > > > > From: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > [mailto:DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> ]
> > > > > > > > On
> > > > > > > > > Behalf Of himykabibble
> > > > > > > > > Sent: Sunday, February 19, 2012 6:41 PM
> > > > > > > > > To: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > > Subject: [DynoMotion] Re: Acceleration....
> > > > > > > > >
> > > > > > > > >
> > > > > > > > >
> > > > > > > > >
> > > > > > > > >
> > > > > > > > > Hmmmm.... I replaced the KMController.Connected's with
> > > > > > > > > KMController.CheckIsReady(). The error on ReadLineTimeout went away(!) by
> > > > > > > > > itself. So, it now compiles, but when I try to run it, I get and
> > > > > > > > exception:
> > > > > > > > >
> > > > > > > > > An unhandled exception of type
> > > > > > > > 'System.Reflection.TargetInvocationException'
> > > > > > > > > occurred in mscorlib.dll
> > > > > > > > >
> > > > > > > > > Additional information: Exception has been thrown by the target of an
> > > > > > > > > invocation.
> > > > > > > > >
> > > > > > > > > This did not happen before I re-flashed the board with v429z.
> > > > > > > > >
> > > > > > > > > No clue what to do now....
> > > > > > > > >
> > > > > > > > > Regards,
> > > > > > > > > Ray L.
> > > > > > > > >
> > > > > > > > > --- In DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > <mailto:DynoMotion%40yahoogroups.com> ,
> > > > > > > > > Brad Murry <bradodarb@> wrote:
> > > > > > > > > >
> > > > > > > > > > Ray,
> > > > > > > > > >
> > > > > > > > > >
> > > > > > > > > >
> > > > > > > > > > KM_Controller.Interpreter.SetupParams == KM_Controller.
> > > > > > > > > > CoordMotion.Interpreter.SetupParams
> > > > > > > > > >
> > > > > > > > > >
> > > > > > > > > >
> > > > > > > > > > -Brad
> > > > > > > > > >
> > > > > > > > > >
> > > > > > > > > >
> > > > > > > > > > From: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > > [mailto:DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > <mailto:DynoMotion%40yahoogroups.com> ]
> > > > > > > > > On
> > > > > > > > > > Behalf Of himykabibble
> > > > > > > > > > Sent: Sunday, February 19, 2012 6:09 PM
> > > > > > > > > > To: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > > > Subject: [DynoMotion] Re: Acceleration....
> > > > > > > > > >
> > > > > > > > > >
> > > > > > > > > >
> > > > > > > > > >
> > > > > > > > > >
> > > > > > > > > > Tom,
> > > > > > > > > >
> > > > > > > > > > I *think* I've worked through all of the changes except for the two
> > > > > > > > > detailed
> > > > > > > > > > below, which have me stumped. The changes I found were:
> > > > > > > > > >
> > > > > > > > > > KM_Controller.Interpreter => KM_Controller.CoordMotion.Interpreter
> > > > > > > > > > KM_Controller.Interpreter.SetupParams =>
> > > > > > > > > > KM_Controller.CoordMotion.MotionParams
> > > > > > > > > > KM_Controller.AxisChannels => KM_Controller.GetAxis()
> > > > > > > > > > KM_Controller.IOPoints => KMController.GetIO()
> > > > > > > > > >
> > > > > > > > > > Is that all correct?
> > > > > > > > > >
> > > > > > > > > > Personally, I find it odd to use functions named "Get" to set
> > > > > > > > parameters.
> > > > > > > > > > Not at all intuitive.
> > > > > > > > > >
> > > > > > > > > > Here are the two things I don't yet have resolved:
> > > > > > > > > >
> > > > > > > > > > 1) KM_Controller.Connected no longer exists. Does that get replaced with
> > > > > > > > > the
> > > > > > > > > > new error callback? How do I know a disconnect has occurred?
> > > > > > > > > >
> > > > > > > > > > 2) KM_Controller.ReadLineTimeout() no longer exists. What replaces it?
> > > > > > > > > >
> > > > > > > > > > Regards,
> > > > > > > > > > Ray L.
> > > > > > > > > >
> > > > > > > > > > --- In DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > > <mailto:DynoMotion%40yahoogroups.com> ,
> > > > > > > > > > "himykabibble" <jagboy@> wrote:
> > > > > > > > > > >
> > > > > > > > > > > Tom,
> > > > > > > > > > >
> > > > > > > > > > > Looks like the 429z dotNet implementation has changed a lot of things
> > > > > > > > > and
> > > > > > > > > > it has seriously broken my app - I get almost 80 errors, mostly things
> > > > > > > > > that
> > > > > > > > > > no longer exist, like KM_Controller.Connected,
> > > > > > > > KM_Controller.Interpreter,
> > > > > > > > > > etc. Is there a summary of the required changes somewhere?
> > > > > > > > > > >
> > > > > > > > > > > Regards,
> > > > > > > > > > > Ray L.
> > > > > > > > > > >
> > > > > > > > > > > --- In DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > > <mailto:DynoMotion%40yahoogroups.com> ,
> > > > > > > > > > Tom Kerekes <tk@> wrote:
> > > > > > > > > > > >
> > > > > > > > > > > > Hi Ray,
> > > > > > > > > > > > ÃÆ'Æ'Æ'ÃÆ'¢â‚¬Å¡
> > > > > > > > > > > > I thought you had removed all MoveExp commands?ÃÆ'Æ'Æ'ÃÆ'¢â‚¬Å¡ But anyway please
> > > > > > > > see
> > > > > > > > > > the V4.29z Version that is now available.ÃÆ'Æ'Æ'ÃÆ'¢â‚¬Å¡ The MoveExp has been improved
> > > > > > > > > to
> > > > > > > > > > avoid certain issues.ÃÆ'Æ'Æ'ÃÆ'¢â‚¬Å¡ The previous version you were using wasn't
> > > > > > > > > expecting
> > > > > > > > > > the acceleration to be set so low that once it got onto the exponential
> > > > > > > > > > velocity curve the allowed deceleration would not be insufficient to
> > > > > > > > stay
> > > > > > > > > on
> > > > > > > > > > the curve and avoid overshooting the target. There was also a bug where
> > > > > > > > in
> > > > > > > > > > some cases the MoveExp (after a combination of Jogs) would start off at
> > > > > > > > a
> > > > > > > > > > non-zero velocity.ÃÆ'Æ'Æ'ÃÆ'¢â‚¬Å¡ It should also allow mixing of Jogs/Moves/MoveExp
> > > > > > > > with
> > > > > > > > > > proper blending applied.
> > > > > > > > > > > > ÃÆ'Æ'Æ'ÃÆ'¢â‚¬Å¡
> > > > > > > > > > > > Regards
> > > > > > > > > > > > TK
> > > > > > > > > > > >
> > > > > > > > > > > > From: himykabibble <jagboy@>
> > > > > > > > > > > > To: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > > <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > > > > > Sent: Saturday, February 18, 2012 3:24 PM
> > > > > > > > > > > > Subject: [DynoMotion] Acceleration....
> > > > > > > > > > > >
> > > > > > > > > > > >
> > > > > > > > > > > > ÃÆ'Æ'Æ'ÃÆ'¢â‚¬Å¡
> > > > > > > > > > > > Tom,
> > > > > > > > > > > >
> > > > > > > > > > > > This is just strange.... In the course of trying to sort out the
> > > > > > > > last
> > > > > > > > > > few problems (seemingly random faults and position loss when jogging
> > > > > > > > using
> > > > > > > > > > MoveExp), I've discovered something which makes no sense at all. For the
> > > > > > > > > > X/Y/Z axes, I have acceleration of 25 in/sec^2, and velocity of 200 IPM
> > > > > > > > > for
> > > > > > > > > > X/Y, and 250 IPM for Z. The axis parameters are being set using those
> > > > > > > > > values
> > > > > > > > > > multiplied by steps/inch for each axis (and divided by 60 for the Vel
> > > > > > > > > > settings). I have PLENTY of reserve capability on the axes - I can
> > > > > > > > double
> > > > > > > > > my
> > > > > > > > > > acceleration up to 50 in/sec^2, and increase velocity from 200 IPM to at
> > > > > > > > > > least 300 IPM with no problems whatsoever when running G-code, or
> > > > > > > > jogging
> > > > > > > > > > with Jog(). But, using MoveExp(), I get random faults and position loss.
> > > > > > > > > If
> > > > > > > > > > I REDUCE the accelerations, say from 25 in/sec^2 to 5 in/sec^2, I get
> > > > > > > > TONS
> > > > > > > > > > of faults on all axes. In fact, on my A axis, if I reduce acceleration
> > > > > > > > > from
> > > > > > > > > > 5 in/sec^2 to 0.05 in/sec^2, I can BARELY get the axis to move at all
> > > > > > > > > using
> > > > > > > > > > > > MoveExp. Most of the time, it faults with a loud bang the instant I
> > > > > > > > > > touch the MPG. There HAS to be either a problem in MoveExp, or something
> > > > > > > > > > really stupid I'm doing wrong, but I'm out of places to look.
> > > > > > > > > > > >
> > > > > > > > > > > > Regards,
> > > > > > > > > > > > Ray L.
> > > > > > > > > > > >
> > > > > > > > > > >
> > > > > > > > > >
> > > > > > > > >
> > > > > > > >
> > > > > > >
> > > > > >
> > > > >
> > > >
> > >
> >
>

Group: DynoMotion Message: 3976 From: himykabibble Date: 2/19/2012
Subject: Re: Acceleration....
Brad,

That doesn't seem to be what I'm seeing here. CheckConnected doesn't even seem to call KMotionLock - just WaitToken, which seems to return the wrong value. But I'm really not clear on what that code is really doing....

Regards,
Ray L.

--- In DynoMotion@yahoogroups.com, Brad Murry <bradodarb@...> wrote:
>
>
>
> I traced it back to the CKMotionDLL.cpp::
>
>
>
> KMotionLock() firing off PipeCmd(ENUM_KMotionLock) is constantly returning 0.
>
>
>
>
>
> Does everyone else get the same results?
>
>
>
> -Brad
>
>
>
>
>
> From: DynoMotion@yahoogroups.com [mailto:DynoMotion@yahoogroups.com] On Behalf Of Brad Murry
> Sent: Sunday, February 19, 2012 11:29 PM
> To: DynoMotion@yahoogroups.com
> Subject: RE: [DynoMotion] Re: Acceleration....
>
>
>
>
>
> I misread your question. I thought we were still on the deadlock problem.
>
>
>
> I will try your scenario.
>
>
>
> -Brad Murry
>
> From: DynoMotion@yahoogroups.com [mailto:DynoMotion@yahoogroups.com] On Behalf Of himykabibble
> Sent: Sunday, February 19, 2012 11:00 PM
> To: DynoMotion@yahoogroups.com
> Subject: [DynoMotion] Re: Acceleration....
>
>
>
>
>
> Brad,
>
> It's basically polling the connection state. I am seeing regular calls to CheckConnected(), but, like I said, I can easily get it to consistently return true when the board is not there, or false when it is there. How could my code could be causing that?
>
> Regards,
> Ray L.
>
> --- In DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> , Brad Murry <bradodarb@> wrote:
> >
> > No chance it could possibly be the code calling CheckConnected() eh?
> >
> >
> >
> > That feature was there in the last version as well and I have used it with success.
> >
> > -Brad
> >
> > From: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> [mailto:DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> ] On Behalf Of himykabibble
> > Sent: Sunday, February 19, 2012 10:48 PM
> > To: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com>
> > Subject: [DynoMotion] Re: Acceleration....
> >
> >
> >
> >
> >
> > Brad,
> >
> > I think there is a problem in dotNet. CheckConnected is returning true looooooong after I've pulled the cable. I think that's what's putting my app into a wierd state.
> >
> > Regards,
> > Ray L.
> >
> > --- In DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> , Brad Murry <bradodarb@> wrote:
> > >
> > > Check for begininvokes where there should be invokes and vice versa.
> > >
> > >
> > >
> > > -Brad
> > >
> > >
> > >
> > > From: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> [mailto:DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> ] On Behalf Of himykabibble
> > > Sent: Sunday, February 19, 2012 10:33 PM
> > > To: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com>
> > > Subject: [DynoMotion] Re: Acceleration....
> > >
> > >
> > >
> > >
> > >
> > > Tom,
> > >
> > > Yes. I get reasonable call stacks for all the other threads, including the other worker threads, but it looks like the ones that appear to be hanging I get no useful information once it gets into the bad state. Before it goes wonky, I get good call stacks on all threads. I am running Debug, and can step into the DLLs, so the build is OK.
> > >
> > > Regards,
> > > Ray L.
> > >
> > > --- In DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> , Tom Kerekes <tk@> wrote:
> > > >
> > > > Are you running the Debug Version?
> > > > ÃÆ'‚
> > > > TK
> > > >
> > > > From: himykabibble <jagboy@>
> > > > To: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com>
> > > > Sent: Sunday, February 19, 2012 8:09 PM
> > > > Subject: [DynoMotion] Re: Acceleration....
> > > >
> > > >
> > > > ÃÆ'‚
> > > > Unfortunately, for the threads of real interest, the stack trace shows "frames below may be incorrect and/or missing. No symbols loaded for ntdll.dll", then a long list of Windows dll locations, mostly mscorworks.dll.
> > > >
> > > > --- In DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> , Tom Kerekes <tk@> wrote:
> > > > >
> > > > > Ray,
> > > > > ÃÆ'Æ'‚ÃÆ'‚
> > > > > Make the Thread active by double clicking on the Thread in the Debug | Threads window.ÃÆ'Æ'‚ÃÆ'‚ Then the current Program Counter will point to where it is.ÃÆ'Æ'‚ÃÆ'‚ Often it will be down in the bowels of Windows stuff so look at the Stack and work backwards until you get to something recognizable like a Mutex Lock or a call your code made.
> > > > > ÃÆ'Æ'‚ÃÆ'‚
> > > > > Regards
> > > > > TK
> > > > >
> > > > > From: himykabibble <jagboy@>
> > > > > To: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com>
> > > > > Sent: Sunday, February 19, 2012 7:37 PM
> > > > > Subject: [DynoMotion] Re: Acceleration....
> > > > >
> > > > >
> > > > > ÃÆ'Æ'‚ÃÆ'‚
> > > > > Tom,
> > > > >
> > > > > How do I tell what a thread is waiting on?
> > > > >
> > > > > Regards,
> > > > > Ray L.
> > > > >
> > > > > --- In DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> , Tom Kerekes <tk@> wrote:
> > > > > >
> > > > > > Hi Ray,
> > > > > > ÃÆ'Æ'Æ'ÃÆ'¢â‚¬Å¡ÃÆ'Æ'‚ÃÆ'‚
> > > > > > Deadlocks are usually pretty easy to figure out.ÃÆ'Æ'Æ'ÃÆ'¢â‚¬Å¡ÃÆ'Æ'‚ÃÆ'‚ Just look at what the threads are stuck waiting on.ÃÆ'Æ'Æ'ÃÆ'¢â‚¬Å¡ÃÆ'Æ'‚ÃÆ'‚ It also might be something simple like somebody never released the Token after receiving it.
> > > > > > ÃÆ'Æ'Æ'ÃÆ'¢â‚¬Å¡ÃÆ'Æ'‚ÃÆ'‚
> > > > > > Regards
> > > > > > TK
> > > > > >
> > > > > > From: himykabibble <jagboy@>
> > > > > > To: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com>
> > > > > > Sent: Sunday, February 19, 2012 7:23 PM
> > > > > > Subject: [DynoMotion] Re: Acceleration....
> > > > > >
> > > > > >
> > > > > > ÃÆ'Æ'Æ'ÃÆ'¢â‚¬Å¡ÃÆ'Æ'‚ÃÆ'‚
> > > > > > Yeah, my guess is I'm getting into a deadlock. All the threads that talk to the KFlop seem to be hung (they're still there, just not running), all the others seem to be working OK. I don't know where to go from here.... Something in dotNet must have changed that affects this, as I haven't had this problem with v428 since we got the last deadlock issue sorted out.
> > > > > >
> > > > > > --- In DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> , "himykabibble" <jagboy@> wrote:
> > > > > > >
> > > > > > > Damn! This seems to be a threading thing.... The worker thread starts up and seems to work OK, until I plug in the board and try to exit E-Stop. I don't understand how to use VS to debug this type of issue. Any suggestions?
> > > > > > >
> > > > > > > --- In DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> , "himykabibble" <jagboy@> wrote:
> > > > > > > >
> > > > > > > > Brad,
> > > > > > > >
> > > > > > > > Odd, the exception was occurring every time when I tried to step over that one line in Release mode. In Debug mode, it got past it just fine, then threw up later. I found a bug in my code (a hard-coded path pointing to the no-longer-there v428 directory), and have gotten past that. It now comes up, indicates the board is connected, but when I try to come out of E-Stop, it comes partially to life, but the worker thread that updates most of the GUI controls seems not to be running. Looking into that now...
> > > > > > > >
> > > > > > > > Regards,
> > > > > > > > Ray L.
> > > > > > > >
> > > > > > > >
> > > > > > > > --- In DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> , Brad Murry <bradodarb@> wrote:
> > > > > > > > >
> > > > > > > > > Hello Ray,
> > > > > > > > >
> > > > > > > > >
> > > > > > > > >
> > > > > > > > > No, KM_Controller no longer maintains a list of axis or io objects. It
> > > > > > > > > seems cleaner to let the user application dictate where those are kept.
> > > > > > > > > Those are just convenience methods to create a new object and it
> > > > > > > > > automatically reference the controller it was created from so it is a safer
> > > > > > > > > multi-instance/multi-board object. As it simply returns a value and nothing
> > > > > > > > > else I am not sure why you would think it is setting something.
> > > > > > > > >
> > > > > > > > >
> > > > > > > > >
> > > > > > > > > I cannot reproduce your interpreter complete issue with the information
> > > > > > > > > provided.
> > > > > > > > >
> > > > > > > > >
> > > > > > > > >
> > > > > > > > > -Brad Murry
> > > > > > > > >
> > > > > > > > >
> > > > > > > > >
> > > > > > > > > From: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> [mailto:DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> ] On
> > > > > > > > > Behalf Of himykabibble
> > > > > > > > > Sent: Sunday, February 19, 2012 7:10 PM
> > > > > > > > > To: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > > Subject: [DynoMotion] Re: Acceleration....
> > > > > > > > >
> > > > > > > > >
> > > > > > > > >
> > > > > > > > >
> > > > > > > > >
> > > > > > > > > Brad,
> > > > > > > > >
> > > > > > > > > I realize it is returning an object. I guess what's not clear, when
> > > > > > > > > comparing what was there to what is there now, is before it seemed
> > > > > > > > > straight-forward - I created a list of KM_IOs and a list of KM_Axis, and
> > > > > > > > > passed those lists to KM_Controller. All very transparent. I assume
> > > > > > > > > KM_Controller is now adding to the list when you do the corresponding Get,
> > > > > > > > > and returning a reference to the object, right? And we then configure the
> > > > > > > > > object (i.e. - axis.Velocity = x.x). Is that not correct?
> > > > > > > > >
> > > > > > > > > BTW - The exception I'm getting is happening when I try to hook in my
> > > > > > > > > InterpreterCompleted handler. It hangs in there for several seconds, then
> > > > > > > > > throws the exception. I have to do a debug build of dotNet and step into it
> > > > > > > > > to see what's going on.
> > > > > > > > >
> > > > > > > > > --- In DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> ,
> > > > > > > > > Brad Murry <bradodarb@> wrote:
> > > > > > > > > >
> > > > > > > > > > "> Personally, I find it odd to use functions named "Get" to set
> > > > > > > > > parameters.
> > > > > > > > > > > Not at all intuitive."
> > > > > > > > > >
> > > > > > > > > >
> > > > > > > > > >
> > > > > > > > > > You are not setting any params here. They are object creation methods and
> > > > > > > > > > they `return' a value. Google the Factory pattern to understand why the
> > > > > > > > > > nomenclature is intuitive. You could also have a look at the source to see
> > > > > > > > > > how things actually work, since it is included; alternatively feel free to
> > > > > > > > > > peruse the included API reference.
> > > > > > > > > >
> > > > > > > > > >
> > > > > > > > > >
> > > > > > > > > >
> > > > > > > > > >
> > > > > > > > > >
> > > > > > > > > >
> > > > > > > > > > Regarding #1,
> > > > > > > > > >
> > > > > > > > > >
> > > > > > > > > >
> > > > > > > > > > It is best to use the CheckConnected(params Action[]). You can either use
> > > > > > > > > > it as it is or optionally pass in one or more action delegates to perform
> > > > > > > > > > while the token is obtained.
> > > > > > > > > >
> > > > > > > > > >
> > > > > > > > > >
> > > > > > > > > > -Brad
> > > > > > > > > >
> > > > > > > > > >
> > > > > > > > > >
> > > > > > > > > > From: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > > [mailto:DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> ]
> > > > > > > > > On
> > > > > > > > > > Behalf Of himykabibble
> > > > > > > > > > Sent: Sunday, February 19, 2012 6:41 PM
> > > > > > > > > > To: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > > > Subject: [DynoMotion] Re: Acceleration....
> > > > > > > > > >
> > > > > > > > > >
> > > > > > > > > >
> > > > > > > > > >
> > > > > > > > > >
> > > > > > > > > > Hmmmm.... I replaced the KMController.Connected's with
> > > > > > > > > > KMController.CheckIsReady(). The error on ReadLineTimeout went away(!) by
> > > > > > > > > > itself. So, it now compiles, but when I try to run it, I get and
> > > > > > > > > exception:
> > > > > > > > > >
> > > > > > > > > > An unhandled exception of type
> > > > > > > > > 'System.Reflection.TargetInvocationException'
> > > > > > > > > > occurred in mscorlib.dll
> > > > > > > > > >
> > > > > > > > > > Additional information: Exception has been thrown by the target of an
> > > > > > > > > > invocation.
> > > > > > > > > >
> > > > > > > > > > This did not happen before I re-flashed the board with v429z.
> > > > > > > > > >
> > > > > > > > > > No clue what to do now....
> > > > > > > > > >
> > > > > > > > > > Regards,
> > > > > > > > > > Ray L.
> > > > > > > > > >
> > > > > > > > > > --- In DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > > <mailto:DynoMotion%40yahoogroups.com> ,
> > > > > > > > > > Brad Murry <bradodarb@> wrote:
> > > > > > > > > > >
> > > > > > > > > > > Ray,
> > > > > > > > > > >
> > > > > > > > > > >
> > > > > > > > > > >
> > > > > > > > > > > KM_Controller.Interpreter.SetupParams == KM_Controller.
> > > > > > > > > > > CoordMotion.Interpreter.SetupParams
> > > > > > > > > > >
> > > > > > > > > > >
> > > > > > > > > > >
> > > > > > > > > > > -Brad
> > > > > > > > > > >
> > > > > > > > > > >
> > > > > > > > > > >
> > > > > > > > > > > From: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > > <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > > > [mailto:DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > > <mailto:DynoMotion%40yahoogroups.com> ]
> > > > > > > > > > On
> > > > > > > > > > > Behalf Of himykabibble
> > > > > > > > > > > Sent: Sunday, February 19, 2012 6:09 PM
> > > > > > > > > > > To: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > > <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > > > > Subject: [DynoMotion] Re: Acceleration....
> > > > > > > > > > >
> > > > > > > > > > >
> > > > > > > > > > >
> > > > > > > > > > >
> > > > > > > > > > >
> > > > > > > > > > > Tom,
> > > > > > > > > > >
> > > > > > > > > > > I *think* I've worked through all of the changes except for the two
> > > > > > > > > > detailed
> > > > > > > > > > > below, which have me stumped. The changes I found were:
> > > > > > > > > > >
> > > > > > > > > > > KM_Controller.Interpreter => KM_Controller.CoordMotion.Interpreter
> > > > > > > > > > > KM_Controller.Interpreter.SetupParams =>
> > > > > > > > > > > KM_Controller.CoordMotion.MotionParams
> > > > > > > > > > > KM_Controller.AxisChannels => KM_Controller.GetAxis()
> > > > > > > > > > > KM_Controller.IOPoints => KMController.GetIO()
> > > > > > > > > > >
> > > > > > > > > > > Is that all correct?
> > > > > > > > > > >
> > > > > > > > > > > Personally, I find it odd to use functions named "Get" to set
> > > > > > > > > parameters.
> > > > > > > > > > > Not at all intuitive.
> > > > > > > > > > >
> > > > > > > > > > > Here are the two things I don't yet have resolved:
> > > > > > > > > > >
> > > > > > > > > > > 1) KM_Controller.Connected no longer exists. Does that get replaced with
> > > > > > > > > > the
> > > > > > > > > > > new error callback? How do I know a disconnect has occurred?
> > > > > > > > > > >
> > > > > > > > > > > 2) KM_Controller.ReadLineTimeout() no longer exists. What replaces it?
> > > > > > > > > > >
> > > > > > > > > > > Regards,
> > > > > > > > > > > Ray L.
> > > > > > > > > > >
> > > > > > > > > > > --- In DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > > <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > > > <mailto:DynoMotion%40yahoogroups.com> ,
> > > > > > > > > > > "himykabibble" <jagboy@> wrote:
> > > > > > > > > > > >
> > > > > > > > > > > > Tom,
> > > > > > > > > > > >
> > > > > > > > > > > > Looks like the 429z dotNet implementation has changed a lot of things
> > > > > > > > > > and
> > > > > > > > > > > it has seriously broken my app - I get almost 80 errors, mostly things
> > > > > > > > > > that
> > > > > > > > > > > no longer exist, like KM_Controller.Connected,
> > > > > > > > > KM_Controller.Interpreter,
> > > > > > > > > > > etc. Is there a summary of the required changes somewhere?
> > > > > > > > > > > >
> > > > > > > > > > > > Regards,
> > > > > > > > > > > > Ray L.
> > > > > > > > > > > >
> > > > > > > > > > > > --- In DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > > <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > > > <mailto:DynoMotion%40yahoogroups.com> ,
> > > > > > > > > > > Tom Kerekes <tk@> wrote:
> > > > > > > > > > > > >
> > > > > > > > > > > > > Hi Ray,
> > > > > > > > > > > > > ÃÆ'Æ'Æ'ÃÆ'†'ÃÆ'Æ'¢ÃÆ'¢â€šÂ¬ÃÆ'…¡
> > > > > > > > > > > > > I thought you had removed all MoveExp commands?ÃÆ'Æ'Æ'ÃÆ'†'ÃÆ'Æ'¢ÃÆ'¢â€šÂ¬ÃÆ'…¡ But anyway please
> > > > > > > > > see
> > > > > > > > > > > the V4.29z Version that is now available.ÃÆ'Æ'Æ'ÃÆ'†'ÃÆ'Æ'¢ÃÆ'¢â€šÂ¬ÃÆ'…¡ The MoveExp has been improved
> > > > > > > > > > to
> > > > > > > > > > > avoid certain issues.ÃÆ'Æ'Æ'ÃÆ'†'ÃÆ'Æ'¢ÃÆ'¢â€šÂ¬ÃÆ'…¡ The previous version you were using wasn't
> > > > > > > > > > expecting
> > > > > > > > > > > the acceleration to be set so low that once it got onto the exponential
> > > > > > > > > > > velocity curve the allowed deceleration would not be insufficient to
> > > > > > > > > stay
> > > > > > > > > > on
> > > > > > > > > > > the curve and avoid overshooting the target. There was also a bug where
> > > > > > > > > in
> > > > > > > > > > > some cases the MoveExp (after a combination of Jogs) would start off at
> > > > > > > > > a
> > > > > > > > > > > non-zero velocity.ÃÆ'Æ'Æ'ÃÆ'†'ÃÆ'Æ'¢ÃÆ'¢â€šÂ¬ÃÆ'…¡ It should also allow mixing of Jogs/Moves/MoveExp
> > > > > > > > > with
> > > > > > > > > > > proper blending applied.
> > > > > > > > > > > > > ÃÆ'Æ'Æ'ÃÆ'†'ÃÆ'Æ'¢ÃÆ'¢â€šÂ¬ÃÆ'…¡
> > > > > > > > > > > > > Regards
> > > > > > > > > > > > > TK
> > > > > > > > > > > > >
> > > > > > > > > > > > > From: himykabibble <jagboy@>
> > > > > > > > > > > > > To: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > > <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > > > <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > > > > > > Sent: Saturday, February 18, 2012 3:24 PM
> > > > > > > > > > > > > Subject: [DynoMotion] Acceleration....
> > > > > > > > > > > > >
> > > > > > > > > > > > >
> > > > > > > > > > > > > ÃÆ'Æ'Æ'ÃÆ'†'ÃÆ'Æ'¢ÃÆ'¢â€šÂ¬ÃÆ'…¡
> > > > > > > > > > > > > Tom,
> > > > > > > > > > > > >
> > > > > > > > > > > > > This is just strange.... In the course of trying to sort out the
> > > > > > > > > last
> > > > > > > > > > > few problems (seemingly random faults and position loss when jogging
> > > > > > > > > using
> > > > > > > > > > > MoveExp), I've discovered something which makes no sense at all. For the
> > > > > > > > > > > X/Y/Z axes, I have acceleration of 25 in/sec^2, and velocity of 200 IPM
> > > > > > > > > > for
> > > > > > > > > > > X/Y, and 250 IPM for Z. The axis parameters are being set using those
> > > > > > > > > > values
> > > > > > > > > > > multiplied by steps/inch for each axis (and divided by 60 for the Vel
> > > > > > > > > > > settings). I have PLENTY of reserve capability on the axes - I can
> > > > > > > > > double
> > > > > > > > > > my
> > > > > > > > > > > acceleration up to 50 in/sec^2, and increase velocity from 200 IPM to at
> > > > > > > > > > > least 300 IPM with no problems whatsoever when running G-code, or
> > > > > > > > > jogging
> > > > > > > > > > > with Jog(). But, using MoveExp(), I get random faults and position loss.
> > > > > > > > > > If
> > > > > > > > > > > I REDUCE the accelerations, say from 25 in/sec^2 to 5 in/sec^2, I get
> > > > > > > > > TONS
> > > > > > > > > > > of faults on all axes. In fact, on my A axis, if I reduce acceleration
> > > > > > > > > > from
> > > > > > > > > > > 5 in/sec^2 to 0.05 in/sec^2, I can BARELY get the axis to move at all
> > > > > > > > > > using
> > > > > > > > > > > > > MoveExp. Most of the time, it faults with a loud bang the instant I
> > > > > > > > > > > touch the MPG. There HAS to be either a problem in MoveExp, or something
> > > > > > > > > > > really stupid I'm doing wrong, but I'm out of places to look.
> > > > > > > > > > > > >
> > > > > > > > > > > > > Regards,
> > > > > > > > > > > > > Ray L.
> > > > > > > > > > > > >
> > > > > > > > > > > >
> > > > > > > > > > >
> > > > > > > > > >
> > > > > > > > >
> > > > > > > >
> > > > > > >
> > > > > >
> > > > >
> > > >
> > >
> >
>
Group: DynoMotion Message: 3977 From: Brad Murry Date: 2/19/2012
Subject: Re: Acceleration....

Hello Ray,

 

WaitToken goest to the InteropDLL and calls the CKMotion.DLL’s WaitToken which internally calls the KMotionLock and finally calss the PipeCmd(ENUM_KMotionLock) which seems to always return 0.

 

 

This bubbles back up to KMOTION_LOCKED in the KMOTION_TOKEN enum.

 

CheckConnected(params…) returns true as long as it did not receive KMOTION_NOT_CONNECTED (2).

 

-Brad Murry

 

From: DynoMotion@yahoogroups.com [mailto:DynoMotion@yahoogroups.com] On Behalf Of himykabibble
Sent: Monday, February 20, 2012 12:06 AM
To: DynoMotion@yahoogroups.com
Subject: [DynoMotion] Re: Acceleration....

 

 

Brad,

That doesn't seem to be what I'm seeing here. CheckConnected doesn't even seem to call KMotionLock - just WaitToken, which seems to return the wrong value. But I'm really not clear on what that code is really doing....

Regards,
Ray L.

--- In DynoMotion@yahoogroups.com, Brad Murry <bradodarb@...> wrote:
>
>
>
> I traced it back to the CKMotionDLL.cpp::
>
>
>
> KMotionLock() firing off PipeCmd(ENUM_KMotionLock) is constantly returning 0.
>
>
>
>
>
> Does everyone else get the same results?
>
>
>
> -Brad
>
>
>
>
>
> From: DynoMotion@yahoogroups.com [mailto:DynoMotion@yahoogroups.com] On Behalf Of Brad Murry
> Sent: Sunday, February 19, 2012 11:29 PM
> To: DynoMotion@yahoogroups.com
> Subject: RE: [DynoMotion] Re: Acceleration....
>
>
>
>
>
> I misread your question. I thought we were still on the deadlock problem.
>
>
>
> I will try your scenario.
>
>
>
> -Brad Murry
>
> From: DynoMotion@yahoogroups.com [mailto:DynoMotion@yahoogroups.com] On Behalf Of himykabibble
> Sent: Sunday, February 19, 2012 11:00 PM
> To: DynoMotion@yahoogroups.com
> Subject: [DynoMotion] Re: Acceleration....
>
>
>
>
>
> Brad,
>
> It's basically polling the connection state. I am seeing regular calls to CheckConnected(), but, like I said, I can easily get it to consistently return true when the board is not there, or false when it is there. How could my code could be causing that?
>
> Regards,
> Ray L.
>
> --- In DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> , Brad Murry <bradodarb@> wrote:
> >
> > No chance it could possibly be the code calling CheckConnected() eh?
> >
> >
> >
> > That feature was there in the last version as well and I have used it with success.
> >
> > -Brad
> >
> > From: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> [mailto:DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> ] On Behalf Of himykabibble
> > Sent: Sunday, February 19, 2012 10:48 PM
> > To: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com>
> > Subject: [DynoMotion] Re: Acceleration....
> >
> >
> >
> >
> >
> > Brad,
> >
> > I think there is a problem in dotNet. CheckConnected is returning true looooooong after I've pulled the cable. I think that's what's putting my app into a wierd state.
> >
> > Regards,
> > Ray L.
> >
> > --- In DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> , Brad Murry <bradodarb@> wrote:
> > >
> > > Check for begininvokes where there should be invokes and vice versa.
> > >
> > >
> > >
> > > -Brad
> > >
> > >
> > >
> > > From: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> [mailto:DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> ] On Behalf Of himykabibble
> > > Sent: Sunday, February 19, 2012 10:33 PM
> > > To: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com>
> > > Subject: [DynoMotion] Re: Acceleration....
> > >
> > >
> > >
> > >
> > >
> > > Tom,
> > >
> > > Yes. I get reasonable call stacks for all the other threads, including the other worker threads, but it looks like the ones that appear to be hanging I get no useful information once it gets into the bad state. Before it goes wonky, I get good call stacks on all threads. I am running Debug, and can step into the DLLs, so the build is OK.
> > >
> > > Regards,
> > > Ray L.
> > >
> > > --- In DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> , Tom Kerekes <tk@> wrote:
> > > >
> > > > Are you running the Debug Version?
> > > > ÃÆ'‚
> > > > TK
> > > >
> > > > From: himykabibble <jagboy@>
> > > > To: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com>
> > > > Sent: Sunday, February 19, 2012 8:09 PM
> > > > Subject: [DynoMotion] Re: Acceleration....
> > > >
> > > >
> > > > ÃÆ'‚
> > > > Unfortunately, for the threads of real interest, the stack trace shows "frames below may be incorrect and/or missing. No symbols loaded for ntdll.dll", then a long list of Windows dll locations, mostly mscorworks.dll.
> > > >
> > > > --- In DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> , Tom Kerekes <tk@> wrote:
> > > > >
> > > > > Ray,
> > > > > ÃÆ'Æ'‚ÃÆ'‚
> > > > > Make the Thread active by double clicking on the Thread in the Debug | Threads window.ÃÆ'Æ'‚ÃÆ'‚ Then the current Program Counter will point to where it is.ÃÆ'Æ'‚ÃÆ'‚ Often it will be down in the bowels of Windows stuff so look at the Stack and work backwards until you get to something recognizable like a Mutex Lock or a call your code made.
> > > > > ÃÆ'Æ'‚ÃÆ'‚
> > > > > Regards
> > > > > TK
> > > > >
> > > > > From: himykabibble <jagboy@>
> > > > > To: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com>
> > > > > Sent: Sunday, February 19, 2012 7:37 PM
> > > > > Subject: [DynoMotion] Re: Acceleration....
> > > > >
> > > > >
> > > > > ÃÆ'Æ'‚ÃÆ'‚
> > > > > Tom,
> > > > >
> > > > > How do I tell what a thread is waiting on?
> > > > >
> > > > > Regards,
> > > > > Ray L.
> > > > >
> > > > > --- In DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> , Tom Kerekes <tk@> wrote:
> > > > > >
> > > > > > Hi Ray,
> > > > > > ÃÆ'Æ'Æ'ÃÆ'¢â‚¬Å¡ÃÆ'Æ'‚ÃÆ'‚
> > > > > > Deadlocks are usually pretty easy to figure out.ÃÆ'Æ'Æ'ÃÆ'¢â‚¬Å¡ÃÆ'Æ'‚ÃÆ'‚ Just look at what the threads are stuck waiting on.ÃÆ'Æ'Æ'ÃÆ'¢â‚¬Å¡ÃÆ'Æ'‚ÃÆ'‚ It also might be something simple like somebody never released the Token after receiving it.
> > > > > > ÃÆ'Æ'Æ'ÃÆ'¢â‚¬Å¡ÃÆ'Æ'‚ÃÆ'‚
> > > > > > Regards
> > > > > > TK
> > > > > >
> > > > > > From: himykabibble <jagboy@>
> > > > > > To: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com>
> > > > > > Sent: Sunday, February 19, 2012 7:23 PM
> > > > > > Subject: [DynoMotion] Re: Acceleration....
> > > > > >
> > > > > >
> > > > > > ÃÆ'Æ'Æ'ÃÆ'¢â‚¬Å¡ÃÆ'Æ'‚ÃÆ'‚
> > > > > > Yeah, my guess is I'm getting into a deadlock. All the threads that talk to the KFlop seem to be hung (they're still there, just not running), all the others seem to be working OK. I don't know where to go from here.... Something in dotNet must have changed that affects this, as I haven't had this problem with v428 since we got the last deadlock issue sorted out.
> > > > > >
> > > > > > --- In DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> , "himykabibble" <jagboy@> wrote:
> > > > > > >
> > > > > > > Damn! This seems to be a threading thing.... The worker thread starts up and seems to work OK, until I plug in the board and try to exit E-Stop. I don't understand how to use VS to debug this type of issue. Any suggestions?
> > > > > > >
> > > > > > > --- In DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> , "himykabibble" <jagboy@> wrote:
> > > > > > > >
> > > > > > > > Brad,
> > > > > > > >
> > > > > > > > Odd, the exception was occurring every time when I tried to step over that one line in Release mode. In Debug mode, it got past it just fine, then threw up later. I found a bug in my code (a hard-coded path pointing to the no-longer-there v428 directory), and have gotten past that. It now comes up, indicates the board is connected, but when I try to come out of E-Stop, it comes partially to life, but the worker thread that updates most of the GUI controls seems not to be running. Looking into that now...
> > > > > > > >
> > > > > > > > Regards,
> > > > > > > > Ray L.
> > > > > > > >
> > > > > > > >
> > > > > > > > --- In DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> , Brad Murry <bradodarb@> wrote:
> > > > > > > > >
> > > > > > > > > Hello Ray,
> > > > > > > > >
> > > > > > > > >
> > > > > > > > >
> > > > > > > > > No, KM_Controller no longer maintains a list of axis or io objects. It
> > > > > > > > > seems cleaner to let the user application dictate where those are kept.
> > > > > > > > > Those are just convenience methods to create a new object and it
> > > > > > > > > automatically reference the controller it was created from so it is a safer
> > > > > > > > > multi-instance/multi-board object. As it simply returns a value and nothing
> > > > > > > > > else I am not sure why you would think it is setting something.
> > > > > > > > >
> > > > > > > > >
> > > > > > > > >
> > > > > > > > > I cannot reproduce your interpreter complete issue with the information
> > > > > > > > > provided.
> > > > > > > > >
> > > > > > > > >
> > > > > > > > >
> > > > > > > > > -Brad Murry
> > > > > > > > >
> > > > > > > > >
> > > > > > > > >
> > > > > > > > > From: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> [mailto:DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> ] On
> > > > > > > > > Behalf Of himykabibble
> > > > > > > > > Sent: Sunday, February 19, 2012 7:10 PM
> > > > > > > > > To: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > > Subject: [DynoMotion] Re: Acceleration....
> > > > > > > > >
> > > > > > > > >
> > > > > > > > >
> > > > > > > > >
> > > > > > > > >
> > > > > > > > > Brad,
> > > > > > > > >
> > > > > > > > > I realize it is returning an object. I guess what's not clear, when
> > > > > > > > > comparing what was there to what is there now, is before it seemed
> > > > > > > > > straight-forward - I created a list of KM_IOs and a list of KM_Axis, and
> > > > > > > > > passed those lists to KM_Controller. All very transparent. I assume
> > > > > > > > > KM_Controller is now adding to the list when you do the corresponding Get,
> > > > > > > > > and returning a reference to the object, right? And we then configure the
> > > > > > > > > object (i.e. - axis.Velocity = x.x). Is that not correct?
> > > > > > > > >
> > > > > > > > > BTW - The exception I'm getting is happening when I try to hook in my
> > > > > > > > > InterpreterCompleted handler. It hangs in there for several seconds, then
> > > > > > > > > throws the exception. I have to do a debug build of dotNet and step into it
> > > > > > > > > to see what's going on.
> > > > > > > > >
> > > > > > > > > --- In DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> ,
> > > > > > > > > Brad Murry <bradodarb@> wrote:
> > > > > > > > > >
> > > > > > > > > > "> Personally, I find it odd to use functions named "Get" to set
> > > > > > > > > parameters.
> > > > > > > > > > > Not at all intuitive."
> > > > > > > > > >
> > > > > > > > > >
> > > > > > > > > >
> > > > > > > > > > You are not setting any params here. They are object creation methods and
> > > > > > > > > > they `return' a value. Google the Factory pattern to understand why the
> > > > > > > > > > nomenclature is intuitive. You could also have a look at the source to see
> > > > > > > > > > how things actually work, since it is included; alternatively feel free to
> > > > > > > > > > peruse the included API reference.
> > > > > > > > > >
> > > > > > > > > >
> > > > > > > > > >
> > > > > > > > > >
> > > > > > > > > >
> > > > > > > > > >
> > > > > > > > > >
> > > > > > > > > > Regarding #1,
> > > > > > > > > >
> > > > > > > > > >
> > > > > > > > > >
> > > > > > > > > > It is best to use the CheckConnected(params Action[]). You can either use
> > > > > > > > > > it as it is or optionally pass in one or more action delegates to perform
> > > > > > > > > > while the token is obtained.
> > > > > > > > > >
> > > > > > > > > >
> > > > > > > > > >
> > > > > > > > > > -Brad
> > > > > > > > > >
> > > > > > > > > >
> > > > > > > > > >
> > > > > > > > > > From: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > > [mailto:DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> ]
> > > > > > > > > On
> > > > > > > > > > Behalf Of himykabibble
> > > > > > > > > > Sent: Sunday, February 19, 2012 6:41 PM
> > > > > > > > > > To: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > > > Subject: [DynoMotion] Re: Acceleration....
> > > > > > > > > >
> > > > > > > > > >
> > > > > > > > > >
> > > > > > > > > >
> > > > > > > > > >
> > > > > > > > > > Hmmmm.... I replaced the KMController.Connected's with
> > > > > > > > > > KMController.CheckIsReady(). The error on ReadLineTimeout went away(!) by
> > > > > > > > > > itself. So, it now compiles, but when I try to run it, I get and
> > > > > > > > > exception:
> > > > > > > > > >
> > > > > > > > > > An unhandled exception of type
> > > > > > > > > 'System.Reflection.TargetInvocationException'
> > > > > > > > > > occurred in mscorlib.dll
> > > > > > > > > >
> > > > > > > > > > Additional information: Exception has been thrown by the target of an
> > > > > > > > > > invocation.
> > > > > > > > > >
> > > > > > > > > > This did not happen before I re-flashed the board with v429z.
> > > > > > > > > >
> > > > > > > > > > No clue what to do now....
> > > > > > > > > >
> > > > > > > > > > Regards,
> > > > > > > > > > Ray L.
> > > > > > > > > >
> > > > > > > > > > --- In DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > > <mailto:DynoMotion%40yahoogroups.com> ,
> > > > > > > > > > Brad Murry <bradodarb@> wrote:
> > > > > > > > > > >
> > > > > > > > > > > Ray,
> > > > > > > > > > >
> > > > > > > > > > >
> > > > > > > > > > >
> > > > > > > > > > > KM_Controller.Interpreter.SetupParams == KM_Controller.
> > > > > > > > > > > CoordMotion.Interpreter.SetupParams
> > > > > > > > > > >
> > > > > > > > > > >
> > > > > > > > > > >
> > > > > > > > > > > -Brad
> > > > > > > > > > >
> > > > > > > > > > >
> > > > > > > > > > >
> > > > > > > > > > > From: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > > <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > > > [mailto:DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > > <mailto:DynoMotion%40yahoogroups.com> ]
> > > > > > > > > > On
> > > > > > > > > > > Behalf Of himykabibble
> > > > > > > > > > > Sent: Sunday, February 19, 2012 6:09 PM
> > > > > > > > > > > To: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > > <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > > > > Subject: [DynoMotion] Re: Acceleration....
> > > > > > > > > > >
> > > > > > > > > > >
> > > > > > > > > > >
> > > > > > > > > > >
> > > > > > > > > > >
> > > > > > > > > > > Tom,
> > > > > > > > > > >
> > > > > > > > > > > I *think* I've worked through all of the changes except for the two
> > > > > > > > > > detailed
> > > > > > > > > > > below, which have me stumped. The changes I found were:
> > > > > > > > > > >
> > > > > > > > > > > KM_Controller.Interpreter => KM_Controller.CoordMotion.Interpreter
> > > > > > > > > > > KM_Controller.Interpreter.SetupParams =>
> > > > > > > > > > > KM_Controller.CoordMotion.MotionParams
> > > > > > > > > > > KM_Controller.AxisChannels => KM_Controller.GetAxis()
> > > > > > > > > > > KM_Controller.IOPoints => KMController.GetIO()
> > > > > > > > > > >
> > > > > > > > > > > Is that all correct?
> > > > > > > > > > >
> > > > > > > > > > > Personally, I find it odd to use functions named "Get" to set
> > > > > > > > > parameters.
> > > > > > > > > > > Not at all intuitive.
> > > > > > > > > > >
> > > > > > > > > > > Here are the two things I don't yet have resolved:
> > > > > > > > > > >
> > > > > > > > > > > 1) KM_Controller.Connected no longer exists. Does that get replaced with
> > > > > > > > > > the
> > > > > > > > > > > new error callback? How do I know a disconnect has occurred?
> > > > > > > > > > >
> > > > > > > > > > > 2) KM_Controller.ReadLineTimeout() no longer exists. What replaces it?
> > > > > > > > > > >
> > > > > > > > > > > Regards,
> > > > > > > > > > > Ray L.
> > > > > > > > > > >
> > > > > > > > > > > --- In DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > > <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > > > <mailto:DynoMotion%40yahoogroups.com> ,
> > > > > > > > > > > "himykabibble" <jagboy@> wrote:
> > > > > > > > > > > >
> > > > > > > > > > > > Tom,
> > > > > > > > > > > >
> > > > > > > > > > > > Looks like the 429z dotNet implementation has changed a lot of things
> > > > > > > > > > and
> > > > > > > > > > > it has seriously broken my app - I get almost 80 errors, mostly things
> > > > > > > > > > that
> > > > > > > > > > > no longer exist, like KM_Controller.Connected,
> > > > > > > > > KM_Controller.Interpreter,
> > > > > > > > > > > etc. Is there a summary of the required changes somewhere?
> > > > > > > > > > > >
> > > > > > > > > > > > Regards,
> > > > > > > > > > > > Ray L.
> > > > > > > > > > > >
> > > > > > > > > > > > --- In DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > > <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > > > <mailto:DynoMotion%40yahoogroups.com> ,
> > > > > > > > > > > Tom Kerekes <tk@> wrote:
> > > > > > > > > > > > >
> > > > > > > > > > > > > Hi Ray,
> > > > > > > > > > > > > ÃÆ'Æ'Æ'ÃÆ'†'ÃÆ'Æ'¢ÃÆ'¢â€šÂ¬ÃÆ'…¡
> > > > > > > > > > > > > I thought you had removed all MoveExp commands?ÃÆ'Æ'Æ'ÃÆ'†'ÃÆ'Æ'¢ÃÆ'¢â€šÂ¬ÃÆ'…¡ But anyway please
> > > > > > > > > see
> > > > > > > > > > > the V4.29z Version that is now available.ÃÆ'Æ'Æ'ÃÆ'†'ÃÆ'Æ'¢ÃÆ'¢â€šÂ¬ÃÆ'…¡ The MoveExp has been improved
> > > > > > > > > > to
> > > > > > > > > > > avoid certain issues.ÃÆ'Æ'Æ'ÃÆ'†'ÃÆ'Æ'¢ÃÆ'¢â€šÂ¬ÃÆ'…¡ The previous version you were using wasn't
> > > > > > > > > > expecting
> > > > > > > > > > > the acceleration to be set so low that once it got onto the exponential
> > > > > > > > > > > velocity curve the allowed deceleration would not be insufficient to
> > > > > > > > > stay
> > > > > > > > > > on
> > > > > > > > > > > the curve and avoid overshooting the target. There was also a bug where
> > > > > > > > > in
> > > > > > > > > > > some cases the MoveExp (after a combination of Jogs) would start off at
> > > > > > > > > a
> > > > > > > > > > > non-zero velocity.ÃÆ'Æ'Æ'ÃÆ'†'ÃÆ'Æ'¢ÃÆ'¢â€šÂ¬ÃÆ'…¡ It should also allow mixing of Jogs/Moves/MoveExp
> > > > > > > > > with
> > > > > > > > > > > proper blending applied.
> > > > > > > > > > > > > ÃÆ'Æ'Æ'ÃÆ'†'ÃÆ'Æ'¢ÃÆ'¢â€šÂ¬ÃÆ'…¡
> > > > > > > > > > > > > Regards
> > > > > > > > > > > > > TK
> > > > > > > > > > > > >
> > > > > > > > > > > > > From: himykabibble <jagboy@>
> > > > > > > > > > > > > To: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > > <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > > > <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > > > > > > Sent: Saturday, February 18, 2012 3:24 PM
> > > > > > > > > > > > > Subject: [DynoMotion] Acceleration....
> > > > > > > > > > > > >
> > > > > > > > > > > > >
> > > > > > > > > > > > > ÃÆ'Æ'Æ'ÃÆ'†'ÃÆ'Æ'¢ÃÆ'¢â€šÂ¬ÃÆ'…¡
> > > > > > > > > > > > > Tom,
> > > > > > > > > > > > >
> > > > > > > > > > > > > This is just strange.... In the course of trying to sort out the
> > > > > > > > > last
> > > > > > > > > > > few problems (seemingly random faults and position loss when jogging
> > > > > > > > > using
> > > > > > > > > > > MoveExp), I've discovered something which makes no sense at all. For the
> > > > > > > > > > > X/Y/Z axes, I have acceleration of 25 in/sec^2, and velocity of 200 IPM
> > > > > > > > > > for
> > > > > > > > > > > X/Y, and 250 IPM for Z. The axis parameters are being set using those
> > > > > > > > > > values
> > > > > > > > > > > multiplied by steps/inch for each axis (and divided by 60 for the Vel
> > > > > > > > > > > settings). I have PLENTY of reserve capability on the axes - I can
> > > > > > > > > double
> > > > > > > > > > my
> > > > > > > > > > > acceleration up to 50 in/sec^2, and increase velocity from 200 IPM to at
> > > > > > > > > > > least 300 IPM with no problems whatsoever when running G-code, or
> > > > > > > > > jogging
> > > > > > > > > > > with Jog(). But, using MoveExp(), I get random faults and position loss.
> > > > > > > > > > If
> > > > > > > > > > > I REDUCE the accelerations, say from 25 in/sec^2 to 5 in/sec^2, I get
> > > > > > > > > TONS
> > > > > > > > > > > of faults on all axes. In fact, on my A axis, if I reduce acceleration
> > > > > > > > > > from
> > > > > > > > > > > 5 in/sec^2 to 0.05 in/sec^2, I can BARELY get the axis to move at all
> > > > > > > > > > using
> > > > > > > > > > > > > MoveExp. Most of the time, it faults with a loud bang the instant I
> > > > > > > > > > > touch the MPG. There HAS to be either a problem in MoveExp, or something
> > > > > > > > > > > really stupid I'm doing wrong, but I'm out of places to look.
> > > > > > > > > > > > >
> > > > > > > > > > > > > Regards,
> > > > > > > > > > > > > Ray L.
> > > > > > > > > > > > >
> > > > > > > > > > > >
> > > > > > > > > > >
> > > > > > > > > >
> > > > > > > > >
> > > > > > > >
> > > > > > >
> > > > > >
> > > > >
> > > >
> > >
> >
>

Group: DynoMotion Message: 3980 From: himykabibble Date: 2/20/2012
Subject: Re: Acceleration....
Interestingly, if you precede the CheckConnected() call with a WriteLineReadLine(), then CheckConnected() works perfectly.

--- In DynoMotion@yahoogroups.com, Brad Murry <bradodarb@...> wrote:
>
> Hello Ray,
>
>
>
> WaitToken goest to the InteropDLL and calls the CKMotion.DLL’s WaitToken which internally calls the KMotionLock and finally calss the PipeCmd(ENUM_KMotionLock) which seems to always return 0.
>
>
>
>
>
> This bubbles back up to KMOTION_LOCKED in the KMOTION_TOKEN enum.
>
>
>
> CheckConnected(params…) returns true as long as it did not receive KMOTION_NOT_CONNECTED (2).
>
>
>
> -Brad Murry
>
>
>
> From: DynoMotion@yahoogroups.com [mailto:DynoMotion@yahoogroups.com] On Behalf Of himykabibble
> Sent: Monday, February 20, 2012 12:06 AM
> To: DynoMotion@yahoogroups.com
> Subject: [DynoMotion] Re: Acceleration....
>
>
>
>
>
> Brad,
>
> That doesn't seem to be what I'm seeing here. CheckConnected doesn't even seem to call KMotionLock - just WaitToken, which seems to return the wrong value. But I'm really not clear on what that code is really doing....
>
> Regards,
> Ray L.
>
> --- In DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> , Brad Murry <bradodarb@> wrote:
> >
> >
> >
> > I traced it back to the CKMotionDLL.cpp::
> >
> >
> >
> > KMotionLock() firing off PipeCmd(ENUM_KMotionLock) is constantly returning 0.
> >
> >
> >
> >
> >
> > Does everyone else get the same results?
> >
> >
> >
> > -Brad
> >
> >
> >
> >
> >
> > From: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> [mailto:DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> ] On Behalf Of Brad Murry
> > Sent: Sunday, February 19, 2012 11:29 PM
> > To: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com>
> > Subject: RE: [DynoMotion] Re: Acceleration....
> >
> >
> >
> >
> >
> > I misread your question. I thought we were still on the deadlock problem.
> >
> >
> >
> > I will try your scenario.
> >
> >
> >
> > -Brad Murry
> >
> > From: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> [mailto:DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> ] On Behalf Of himykabibble
> > Sent: Sunday, February 19, 2012 11:00 PM
> > To: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com>
> > Subject: [DynoMotion] Re: Acceleration....
> >
> >
> >
> >
> >
> > Brad,
> >
> > It's basically polling the connection state. I am seeing regular calls to CheckConnected(), but, like I said, I can easily get it to consistently return true when the board is not there, or false when it is there. How could my code could be causing that?
> >
> > Regards,
> > Ray L.
> >
> > --- In DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> , Brad Murry <bradodarb@> wrote:
> > >
> > > No chance it could possibly be the code calling CheckConnected() eh?
> > >
> > >
> > >
> > > That feature was there in the last version as well and I have used it with success.
> > >
> > > -Brad
> > >
> > > From: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> [mailto:DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> ] On Behalf Of himykabibble
> > > Sent: Sunday, February 19, 2012 10:48 PM
> > > To: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com>
> > > Subject: [DynoMotion] Re: Acceleration....
> > >
> > >
> > >
> > >
> > >
> > > Brad,
> > >
> > > I think there is a problem in dotNet. CheckConnected is returning true looooooong after I've pulled the cable. I think that's what's putting my app into a wierd state.
> > >
> > > Regards,
> > > Ray L.
> > >
> > > --- In DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> , Brad Murry <bradodarb@> wrote:
> > > >
> > > > Check for begininvokes where there should be invokes and vice versa.
> > > >
> > > >
> > > >
> > > > -Brad
> > > >
> > > >
> > > >
> > > > From: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> [mailto:DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> ] On Behalf Of himykabibble
> > > > Sent: Sunday, February 19, 2012 10:33 PM
> > > > To: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com>
> > > > Subject: [DynoMotion] Re: Acceleration....
> > > >
> > > >
> > > >
> > > >
> > > >
> > > > Tom,
> > > >
> > > > Yes. I get reasonable call stacks for all the other threads, including the other worker threads, but it looks like the ones that appear to be hanging I get no useful information once it gets into the bad state. Before it goes wonky, I get good call stacks on all threads. I am running Debug, and can step into the DLLs, so the build is OK.
> > > >
> > > > Regards,
> > > > Ray L.
> > > >
> > > > --- In DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> , Tom Kerekes <tk@> wrote:
> > > > >
> > > > > Are you running the Debug Version?
> > > > > ÃÆ'Æ'‚
> > > > > TK
> > > > >
> > > > > From: himykabibble <jagboy@>
> > > > > To: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com>
> > > > > Sent: Sunday, February 19, 2012 8:09 PM
> > > > > Subject: [DynoMotion] Re: Acceleration....
> > > > >
> > > > >
> > > > > ÃÆ'Æ'‚
> > > > > Unfortunately, for the threads of real interest, the stack trace shows "frames below may be incorrect and/or missing. No symbols loaded for ntdll.dll", then a long list of Windows dll locations, mostly mscorworks.dll.
> > > > >
> > > > > --- In DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> , Tom Kerekes <tk@> wrote:
> > > > > >
> > > > > > Ray,
> > > > > > ÃÆ'Æ'Æ'ÃÆ'¢â‚¬Å¡ÃÆ'Æ'‚
> > > > > > Make the Thread active by double clicking on the Thread in the Debug | Threads window.ÃÆ'Æ'Æ'ÃÆ'¢â‚¬Å¡ÃÆ'Æ'‚ Then the current Program Counter will point to where it is.ÃÆ'Æ'Æ'ÃÆ'¢â‚¬Å¡ÃÆ'Æ'‚ Often it will be down in the bowels of Windows stuff so look at the Stack and work backwards until you get to something recognizable like a Mutex Lock or a call your code made.
> > > > > > ÃÆ'Æ'Æ'ÃÆ'¢â‚¬Å¡ÃÆ'Æ'‚
> > > > > > Regards
> > > > > > TK
> > > > > >
> > > > > > From: himykabibble <jagboy@>
> > > > > > To: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com>
> > > > > > Sent: Sunday, February 19, 2012 7:37 PM
> > > > > > Subject: [DynoMotion] Re: Acceleration....
> > > > > >
> > > > > >
> > > > > > ÃÆ'Æ'Æ'ÃÆ'¢â‚¬Å¡ÃÆ'Æ'‚
> > > > > > Tom,
> > > > > >
> > > > > > How do I tell what a thread is waiting on?
> > > > > >
> > > > > > Regards,
> > > > > > Ray L.
> > > > > >
> > > > > > --- In DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> , Tom Kerekes <tk@> wrote:
> > > > > > >
> > > > > > > Hi Ray,
> > > > > > > ÃÆ'Æ'Æ'ÃÆ'†'ÃÆ'Æ'¢ÃÆ'¢â€šÂ¬ÃÆ'…¡ÃÆ'Æ'Æ'ÃÆ'¢â‚¬Å¡ÃÆ'Æ'‚
> > > > > > > Deadlocks are usually pretty easy to figure out.ÃÆ'Æ'Æ'ÃÆ'†'ÃÆ'Æ'¢ÃÆ'¢â€šÂ¬ÃÆ'…¡ÃÆ'Æ'Æ'ÃÆ'¢â‚¬Å¡ÃÆ'Æ'‚ Just look at what the threads are stuck waiting on.ÃÆ'Æ'Æ'ÃÆ'†'ÃÆ'Æ'¢ÃÆ'¢â€šÂ¬ÃÆ'…¡ÃÆ'Æ'Æ'ÃÆ'¢â‚¬Å¡ÃÆ'Æ'‚ It also might be something simple like somebody never released the Token after receiving it.
> > > > > > > ÃÆ'Æ'Æ'ÃÆ'†'ÃÆ'Æ'¢ÃÆ'¢â€šÂ¬ÃÆ'…¡ÃÆ'Æ'Æ'ÃÆ'¢â‚¬Å¡ÃÆ'Æ'‚
> > > > > > > Regards
> > > > > > > TK
> > > > > > >
> > > > > > > From: himykabibble <jagboy@>
> > > > > > > To: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > Sent: Sunday, February 19, 2012 7:23 PM
> > > > > > > Subject: [DynoMotion] Re: Acceleration....
> > > > > > >
> > > > > > >
> > > > > > > ÃÆ'Æ'Æ'ÃÆ'†'ÃÆ'Æ'¢ÃÆ'¢â€šÂ¬ÃÆ'…¡ÃÆ'Æ'Æ'ÃÆ'¢â‚¬Å¡ÃÆ'Æ'‚
> > > > > > > Yeah, my guess is I'm getting into a deadlock. All the threads that talk to the KFlop seem to be hung (they're still there, just not running), all the others seem to be working OK. I don't know where to go from here.... Something in dotNet must have changed that affects this, as I haven't had this problem with v428 since we got the last deadlock issue sorted out.
> > > > > > >
> > > > > > > --- In DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> , "himykabibble" <jagboy@> wrote:
> > > > > > > >
> > > > > > > > Damn! This seems to be a threading thing.... The worker thread starts up and seems to work OK, until I plug in the board and try to exit E-Stop. I don't understand how to use VS to debug this type of issue. Any suggestions?
> > > > > > > >
> > > > > > > > --- In DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> , "himykabibble" <jagboy@> wrote:
> > > > > > > > >
> > > > > > > > > Brad,
> > > > > > > > >
> > > > > > > > > Odd, the exception was occurring every time when I tried to step over that one line in Release mode. In Debug mode, it got past it just fine, then threw up later. I found a bug in my code (a hard-coded path pointing to the no-longer-there v428 directory), and have gotten past that. It now comes up, indicates the board is connected, but when I try to come out of E-Stop, it comes partially to life, but the worker thread that updates most of the GUI controls seems not to be running. Looking into that now...
> > > > > > > > >
> > > > > > > > > Regards,
> > > > > > > > > Ray L.
> > > > > > > > >
> > > > > > > > >
> > > > > > > > > --- In DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> , Brad Murry <bradodarb@> wrote:
> > > > > > > > > >
> > > > > > > > > > Hello Ray,
> > > > > > > > > >
> > > > > > > > > >
> > > > > > > > > >
> > > > > > > > > > No, KM_Controller no longer maintains a list of axis or io objects. It
> > > > > > > > > > seems cleaner to let the user application dictate where those are kept.
> > > > > > > > > > Those are just convenience methods to create a new object and it
> > > > > > > > > > automatically reference the controller it was created from so it is a safer
> > > > > > > > > > multi-instance/multi-board object. As it simply returns a value and nothing
> > > > > > > > > > else I am not sure why you would think it is setting something.
> > > > > > > > > >
> > > > > > > > > >
> > > > > > > > > >
> > > > > > > > > > I cannot reproduce your interpreter complete issue with the information
> > > > > > > > > > provided.
> > > > > > > > > >
> > > > > > > > > >
> > > > > > > > > >
> > > > > > > > > > -Brad Murry
> > > > > > > > > >
> > > > > > > > > >
> > > > > > > > > >
> > > > > > > > > > From: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> [mailto:DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> ] On
> > > > > > > > > > Behalf Of himykabibble
> > > > > > > > > > Sent: Sunday, February 19, 2012 7:10 PM
> > > > > > > > > > To: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > > > Subject: [DynoMotion] Re: Acceleration....
> > > > > > > > > >
> > > > > > > > > >
> > > > > > > > > >
> > > > > > > > > >
> > > > > > > > > >
> > > > > > > > > > Brad,
> > > > > > > > > >
> > > > > > > > > > I realize it is returning an object. I guess what's not clear, when
> > > > > > > > > > comparing what was there to what is there now, is before it seemed
> > > > > > > > > > straight-forward - I created a list of KM_IOs and a list of KM_Axis, and
> > > > > > > > > > passed those lists to KM_Controller. All very transparent. I assume
> > > > > > > > > > KM_Controller is now adding to the list when you do the corresponding Get,
> > > > > > > > > > and returning a reference to the object, right? And we then configure the
> > > > > > > > > > object (i.e. - axis.Velocity = x.x). Is that not correct?
> > > > > > > > > >
> > > > > > > > > > BTW - The exception I'm getting is happening when I try to hook in my
> > > > > > > > > > InterpreterCompleted handler. It hangs in there for several seconds, then
> > > > > > > > > > throws the exception. I have to do a debug build of dotNet and step into it
> > > > > > > > > > to see what's going on.
> > > > > > > > > >
> > > > > > > > > > --- In DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> ,
> > > > > > > > > > Brad Murry <bradodarb@> wrote:
> > > > > > > > > > >
> > > > > > > > > > > "> Personally, I find it odd to use functions named "Get" to set
> > > > > > > > > > parameters.
> > > > > > > > > > > > Not at all intuitive."
> > > > > > > > > > >
> > > > > > > > > > >
> > > > > > > > > > >
> > > > > > > > > > > You are not setting any params here. They are object creation methods and
> > > > > > > > > > > they `return' a value. Google the Factory pattern to understand why the
> > > > > > > > > > > nomenclature is intuitive. You could also have a look at the source to see
> > > > > > > > > > > how things actually work, since it is included; alternatively feel free to
> > > > > > > > > > > peruse the included API reference.
> > > > > > > > > > >
> > > > > > > > > > >
> > > > > > > > > > >
> > > > > > > > > > >
> > > > > > > > > > >
> > > > > > > > > > >
> > > > > > > > > > >
> > > > > > > > > > > Regarding #1,
> > > > > > > > > > >
> > > > > > > > > > >
> > > > > > > > > > >
> > > > > > > > > > > It is best to use the CheckConnected(params Action[]). You can either use
> > > > > > > > > > > it as it is or optionally pass in one or more action delegates to perform
> > > > > > > > > > > while the token is obtained.
> > > > > > > > > > >
> > > > > > > > > > >
> > > > > > > > > > >
> > > > > > > > > > > -Brad
> > > > > > > > > > >
> > > > > > > > > > >
> > > > > > > > > > >
> > > > > > > > > > > From: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > > > [mailto:DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> ]
> > > > > > > > > > On
> > > > > > > > > > > Behalf Of himykabibble
> > > > > > > > > > > Sent: Sunday, February 19, 2012 6:41 PM
> > > > > > > > > > > To: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > > > > Subject: [DynoMotion] Re: Acceleration....
> > > > > > > > > > >
> > > > > > > > > > >
> > > > > > > > > > >
> > > > > > > > > > >
> > > > > > > > > > >
> > > > > > > > > > > Hmmmm.... I replaced the KMController.Connected's with
> > > > > > > > > > > KMController.CheckIsReady(). The error on ReadLineTimeout went away(!) by
> > > > > > > > > > > itself. So, it now compiles, but when I try to run it, I get and
> > > > > > > > > > exception:
> > > > > > > > > > >
> > > > > > > > > > > An unhandled exception of type
> > > > > > > > > > 'System.Reflection.TargetInvocationException'
> > > > > > > > > > > occurred in mscorlib.dll
> > > > > > > > > > >
> > > > > > > > > > > Additional information: Exception has been thrown by the target of an
> > > > > > > > > > > invocation.
> > > > > > > > > > >
> > > > > > > > > > > This did not happen before I re-flashed the board with v429z.
> > > > > > > > > > >
> > > > > > > > > > > No clue what to do now....
> > > > > > > > > > >
> > > > > > > > > > > Regards,
> > > > > > > > > > > Ray L.
> > > > > > > > > > >
> > > > > > > > > > > --- In DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > > > <mailto:DynoMotion%40yahoogroups.com> ,
> > > > > > > > > > > Brad Murry <bradodarb@> wrote:
> > > > > > > > > > > >
> > > > > > > > > > > > Ray,
> > > > > > > > > > > >
> > > > > > > > > > > >
> > > > > > > > > > > >
> > > > > > > > > > > > KM_Controller.Interpreter.SetupParams == KM_Controller.
> > > > > > > > > > > > CoordMotion.Interpreter.SetupParams
> > > > > > > > > > > >
> > > > > > > > > > > >
> > > > > > > > > > > >
> > > > > > > > > > > > -Brad
> > > > > > > > > > > >
> > > > > > > > > > > >
> > > > > > > > > > > >
> > > > > > > > > > > > From: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > > > <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > > > > [mailto:DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > > > <mailto:DynoMotion%40yahoogroups.com> ]
> > > > > > > > > > > On
> > > > > > > > > > > > Behalf Of himykabibble
> > > > > > > > > > > > Sent: Sunday, February 19, 2012 6:09 PM
> > > > > > > > > > > > To: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > > > <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > > > > > Subject: [DynoMotion] Re: Acceleration....
> > > > > > > > > > > >
> > > > > > > > > > > >
> > > > > > > > > > > >
> > > > > > > > > > > >
> > > > > > > > > > > >
> > > > > > > > > > > > Tom,
> > > > > > > > > > > >
> > > > > > > > > > > > I *think* I've worked through all of the changes except for the two
> > > > > > > > > > > detailed
> > > > > > > > > > > > below, which have me stumped. The changes I found were:
> > > > > > > > > > > >
> > > > > > > > > > > > KM_Controller.Interpreter => KM_Controller.CoordMotion.Interpreter
> > > > > > > > > > > > KM_Controller.Interpreter.SetupParams =>
> > > > > > > > > > > > KM_Controller.CoordMotion.MotionParams
> > > > > > > > > > > > KM_Controller.AxisChannels => KM_Controller.GetAxis()
> > > > > > > > > > > > KM_Controller.IOPoints => KMController.GetIO()
> > > > > > > > > > > >
> > > > > > > > > > > > Is that all correct?
> > > > > > > > > > > >
> > > > > > > > > > > > Personally, I find it odd to use functions named "Get" to set
> > > > > > > > > > parameters.
> > > > > > > > > > > > Not at all intuitive.
> > > > > > > > > > > >
> > > > > > > > > > > > Here are the two things I don't yet have resolved:
> > > > > > > > > > > >
> > > > > > > > > > > > 1) KM_Controller.Connected no longer exists. Does that get replaced with
> > > > > > > > > > > the
> > > > > > > > > > > > new error callback? How do I know a disconnect has occurred?
> > > > > > > > > > > >
> > > > > > > > > > > > 2) KM_Controller.ReadLineTimeout() no longer exists. What replaces it?
> > > > > > > > > > > >
> > > > > > > > > > > > Regards,
> > > > > > > > > > > > Ray L.
> > > > > > > > > > > >
> > > > > > > > > > > > --- In DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > > > <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > > > > <mailto:DynoMotion%40yahoogroups.com> ,
> > > > > > > > > > > > "himykabibble" <jagboy@> wrote:
> > > > > > > > > > > > >
> > > > > > > > > > > > > Tom,
> > > > > > > > > > > > >
> > > > > > > > > > > > > Looks like the 429z dotNet implementation has changed a lot of things
> > > > > > > > > > > and
> > > > > > > > > > > > it has seriously broken my app - I get almost 80 errors, mostly things
> > > > > > > > > > > that
> > > > > > > > > > > > no longer exist, like KM_Controller.Connected,
> > > > > > > > > > KM_Controller.Interpreter,
> > > > > > > > > > > > etc. Is there a summary of the required changes somewhere?
> > > > > > > > > > > > >
> > > > > > > > > > > > > Regards,
> > > > > > > > > > > > > Ray L.
> > > > > > > > > > > > >
> > > > > > > > > > > > > --- In DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > > > <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > > > > <mailto:DynoMotion%40yahoogroups.com> ,
> > > > > > > > > > > > Tom Kerekes <tk@> wrote:
> > > > > > > > > > > > > >
> > > > > > > > > > > > > > Hi Ray,
> > > > > > > > > > > > > > ÃÆ'Æ'Æ'ÃÆ'†'ÃÆ'Æ'†'ÃÆ'Æ'Æ'ÃÆ'‚¢ÃÆ'Æ'¢ÃÆ'¢â‚¬Å¡ÃÆ'‚¬ÃÆ'Æ'…ÃÆ'‚¡
> > > > > > > > > > > > > > I thought you had removed all MoveExp commands?ÃÆ'Æ'Æ'ÃÆ'†'ÃÆ'Æ'†'ÃÆ'Æ'Æ'ÃÆ'‚¢ÃÆ'Æ'¢ÃÆ'¢â‚¬Å¡ÃÆ'‚¬ÃÆ'Æ'…ÃÆ'‚¡ But anyway please
> > > > > > > > > > see
> > > > > > > > > > > > the V4.29z Version that is now available.ÃÆ'Æ'Æ'ÃÆ'†'ÃÆ'Æ'†'ÃÆ'Æ'Æ'ÃÆ'‚¢ÃÆ'Æ'¢ÃÆ'¢â‚¬Å¡ÃÆ'‚¬ÃÆ'Æ'…ÃÆ'‚¡ The MoveExp has been improved
> > > > > > > > > > > to
> > > > > > > > > > > > avoid certain issues.ÃÆ'Æ'Æ'ÃÆ'†'ÃÆ'Æ'†'ÃÆ'Æ'Æ'ÃÆ'‚¢ÃÆ'Æ'¢ÃÆ'¢â‚¬Å¡ÃÆ'‚¬ÃÆ'Æ'…ÃÆ'‚¡ The previous version you were using wasn't
> > > > > > > > > > > expecting
> > > > > > > > > > > > the acceleration to be set so low that once it got onto the exponential
> > > > > > > > > > > > velocity curve the allowed deceleration would not be insufficient to
> > > > > > > > > > stay
> > > > > > > > > > > on
> > > > > > > > > > > > the curve and avoid overshooting the target. There was also a bug where
> > > > > > > > > > in
> > > > > > > > > > > > some cases the MoveExp (after a combination of Jogs) would start off at
> > > > > > > > > > a
> > > > > > > > > > > > non-zero velocity.ÃÆ'Æ'Æ'ÃÆ'†'ÃÆ'Æ'†'ÃÆ'Æ'Æ'ÃÆ'‚¢ÃÆ'Æ'¢ÃÆ'¢â‚¬Å¡ÃÆ'‚¬ÃÆ'Æ'…ÃÆ'‚¡ It should also allow mixing of Jogs/Moves/MoveExp
> > > > > > > > > > with
> > > > > > > > > > > > proper blending applied.
> > > > > > > > > > > > > > ÃÆ'Æ'Æ'ÃÆ'†'ÃÆ'Æ'†'ÃÆ'Æ'Æ'ÃÆ'‚¢ÃÆ'Æ'¢ÃÆ'¢â‚¬Å¡ÃÆ'‚¬ÃÆ'Æ'…ÃÆ'‚¡
> > > > > > > > > > > > > > Regards
> > > > > > > > > > > > > > TK
> > > > > > > > > > > > > >
> > > > > > > > > > > > > > From: himykabibble <jagboy@>
> > > > > > > > > > > > > > To: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > > > <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > > > > <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > > > > > > > Sent: Saturday, February 18, 2012 3:24 PM
> > > > > > > > > > > > > > Subject: [DynoMotion] Acceleration....
> > > > > > > > > > > > > >
> > > > > > > > > > > > > >
> > > > > > > > > > > > > > ÃÆ'Æ'Æ'ÃÆ'†'ÃÆ'Æ'†'ÃÆ'Æ'Æ'ÃÆ'‚¢ÃÆ'Æ'¢ÃÆ'¢â‚¬Å¡ÃÆ'‚¬ÃÆ'Æ'…ÃÆ'‚¡
> > > > > > > > > > > > > > Tom,
> > > > > > > > > > > > > >
> > > > > > > > > > > > > > This is just strange.... In the course of trying to sort out the
> > > > > > > > > > last
> > > > > > > > > > > > few problems (seemingly random faults and position loss when jogging
> > > > > > > > > > using
> > > > > > > > > > > > MoveExp), I've discovered something which makes no sense at all. For the
> > > > > > > > > > > > X/Y/Z axes, I have acceleration of 25 in/sec^2, and velocity of 200 IPM
> > > > > > > > > > > for
> > > > > > > > > > > > X/Y, and 250 IPM for Z. The axis parameters are being set using those
> > > > > > > > > > > values
> > > > > > > > > > > > multiplied by steps/inch for each axis (and divided by 60 for the Vel
> > > > > > > > > > > > settings). I have PLENTY of reserve capability on the axes - I can
> > > > > > > > > > double
> > > > > > > > > > > my
> > > > > > > > > > > > acceleration up to 50 in/sec^2, and increase velocity from 200 IPM to at
> > > > > > > > > > > > least 300 IPM with no problems whatsoever when running G-code, or
> > > > > > > > > > jogging
> > > > > > > > > > > > with Jog(). But, using MoveExp(), I get random faults and position loss.
> > > > > > > > > > > If
> > > > > > > > > > > > I REDUCE the accelerations, say from 25 in/sec^2 to 5 in/sec^2, I get
> > > > > > > > > > TONS
> > > > > > > > > > > > of faults on all axes. In fact, on my A axis, if I reduce acceleration
> > > > > > > > > > > from
> > > > > > > > > > > > 5 in/sec^2 to 0.05 in/sec^2, I can BARELY get the axis to move at all
> > > > > > > > > > > using
> > > > > > > > > > > > > > MoveExp. Most of the time, it faults with a loud bang the instant I
> > > > > > > > > > > > touch the MPG. There HAS to be either a problem in MoveExp, or something
> > > > > > > > > > > > really stupid I'm doing wrong, but I'm out of places to look.
> > > > > > > > > > > > > >
> > > > > > > > > > > > > > Regards,
> > > > > > > > > > > > > > Ray L.
> > > > > > > > > > > > > >
> > > > > > > > > > > > >
> > > > > > > > > > > >
> > > > > > > > > > >
> > > > > > > > > >
> > > > > > > > >
> > > > > > > >
> > > > > > >
> > > > > >
> > > > >
> > > >
> > >
> >
>
Group: DynoMotion Message: 3981 From: himykabibble Date: 2/20/2012
Subject: Re: Acceleration....
Brad/Tom,

I've got my app working.... sort of. I had some bugs in the conversion on the IOs, now sorted out, so it no longer hangs coming out of E-Stop, and all the controls are enabling and updating correctly. But right now it's flagging all axes as disabled, so I'm looking into that.

--- In DynoMotion@yahoogroups.com, "himykabibble" <jagboy@...> wrote:
>
> Interestingly, if you precede the CheckConnected() call with a WriteLineReadLine(), then CheckConnected() works perfectly.
>
> --- In DynoMotion@yahoogroups.com, Brad Murry <bradodarb@> wrote:
> >
> > Hello Ray,
> >
> >
> >
> > WaitToken goest to the InteropDLL and calls the CKMotion.DLL’s WaitToken which internally calls the KMotionLock and finally calss the PipeCmd(ENUM_KMotionLock) which seems to always return 0.
> >
> >
> >
> >
> >
> > This bubbles back up to KMOTION_LOCKED in the KMOTION_TOKEN enum.
> >
> >
> >
> > CheckConnected(params…) returns true as long as it did not receive KMOTION_NOT_CONNECTED (2).
> >
> >
> >
> > -Brad Murry
> >
> >
> >
> > From: DynoMotion@yahoogroups.com [mailto:DynoMotion@yahoogroups.com] On Behalf Of himykabibble
> > Sent: Monday, February 20, 2012 12:06 AM
> > To: DynoMotion@yahoogroups.com
> > Subject: [DynoMotion] Re: Acceleration....
> >
> >
> >
> >
> >
> > Brad,
> >
> > That doesn't seem to be what I'm seeing here. CheckConnected doesn't even seem to call KMotionLock - just WaitToken, which seems to return the wrong value. But I'm really not clear on what that code is really doing....
> >
> > Regards,
> > Ray L.
> >
> > --- In DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> , Brad Murry <bradodarb@> wrote:
> > >
> > >
> > >
> > > I traced it back to the CKMotionDLL.cpp::
> > >
> > >
> > >
> > > KMotionLock() firing off PipeCmd(ENUM_KMotionLock) is constantly returning 0.
> > >
> > >
> > >
> > >
> > >
> > > Does everyone else get the same results?
> > >
> > >
> > >
> > > -Brad
> > >
> > >
> > >
> > >
> > >
> > > From: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> [mailto:DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> ] On Behalf Of Brad Murry
> > > Sent: Sunday, February 19, 2012 11:29 PM
> > > To: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com>
> > > Subject: RE: [DynoMotion] Re: Acceleration....
> > >
> > >
> > >
> > >
> > >
> > > I misread your question. I thought we were still on the deadlock problem.
> > >
> > >
> > >
> > > I will try your scenario.
> > >
> > >
> > >
> > > -Brad Murry
> > >
> > > From: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> [mailto:DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> ] On Behalf Of himykabibble
> > > Sent: Sunday, February 19, 2012 11:00 PM
> > > To: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com>
> > > Subject: [DynoMotion] Re: Acceleration....
> > >
> > >
> > >
> > >
> > >
> > > Brad,
> > >
> > > It's basically polling the connection state. I am seeing regular calls to CheckConnected(), but, like I said, I can easily get it to consistently return true when the board is not there, or false when it is there. How could my code could be causing that?
> > >
> > > Regards,
> > > Ray L.
> > >
> > > --- In DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> , Brad Murry <bradodarb@> wrote:
> > > >
> > > > No chance it could possibly be the code calling CheckConnected() eh?
> > > >
> > > >
> > > >
> > > > That feature was there in the last version as well and I have used it with success.
> > > >
> > > > -Brad
> > > >
> > > > From: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> [mailto:DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> ] On Behalf Of himykabibble
> > > > Sent: Sunday, February 19, 2012 10:48 PM
> > > > To: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com>
> > > > Subject: [DynoMotion] Re: Acceleration....
> > > >
> > > >
> > > >
> > > >
> > > >
> > > > Brad,
> > > >
> > > > I think there is a problem in dotNet. CheckConnected is returning true looooooong after I've pulled the cable. I think that's what's putting my app into a wierd state.
> > > >
> > > > Regards,
> > > > Ray L.
> > > >
> > > > --- In DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> , Brad Murry <bradodarb@> wrote:
> > > > >
> > > > > Check for begininvokes where there should be invokes and vice versa.
> > > > >
> > > > >
> > > > >
> > > > > -Brad
> > > > >
> > > > >
> > > > >
> > > > > From: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> [mailto:DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> ] On Behalf Of himykabibble
> > > > > Sent: Sunday, February 19, 2012 10:33 PM
> > > > > To: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com>
> > > > > Subject: [DynoMotion] Re: Acceleration....
> > > > >
> > > > >
> > > > >
> > > > >
> > > > >
> > > > > Tom,
> > > > >
> > > > > Yes. I get reasonable call stacks for all the other threads, including the other worker threads, but it looks like the ones that appear to be hanging I get no useful information once it gets into the bad state. Before it goes wonky, I get good call stacks on all threads. I am running Debug, and can step into the DLLs, so the build is OK.
> > > > >
> > > > > Regards,
> > > > > Ray L.
> > > > >
> > > > > --- In DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> , Tom Kerekes <tk@> wrote:
> > > > > >
> > > > > > Are you running the Debug Version?
> > > > > > ÃÆ'Æ'‚
> > > > > > TK
> > > > > >
> > > > > > From: himykabibble <jagboy@>
> > > > > > To: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com>
> > > > > > Sent: Sunday, February 19, 2012 8:09 PM
> > > > > > Subject: [DynoMotion] Re: Acceleration....
> > > > > >
> > > > > >
> > > > > > ÃÆ'Æ'‚
> > > > > > Unfortunately, for the threads of real interest, the stack trace shows "frames below may be incorrect and/or missing. No symbols loaded for ntdll.dll", then a long list of Windows dll locations, mostly mscorworks.dll.
> > > > > >
> > > > > > --- In DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> , Tom Kerekes <tk@> wrote:
> > > > > > >
> > > > > > > Ray,
> > > > > > > ÃÆ'Æ'Æ'ÃÆ'¢â‚¬Å¡ÃÆ'Æ'‚
> > > > > > > Make the Thread active by double clicking on the Thread in the Debug | Threads window.ÃÆ'Æ'Æ'ÃÆ'¢â‚¬Å¡ÃÆ'Æ'‚ Then the current Program Counter will point to where it is.ÃÆ'Æ'Æ'ÃÆ'¢â‚¬Å¡ÃÆ'Æ'‚ Often it will be down in the bowels of Windows stuff so look at the Stack and work backwards until you get to something recognizable like a Mutex Lock or a call your code made.
> > > > > > > ÃÆ'Æ'Æ'ÃÆ'¢â‚¬Å¡ÃÆ'Æ'‚
> > > > > > > Regards
> > > > > > > TK
> > > > > > >
> > > > > > > From: himykabibble <jagboy@>
> > > > > > > To: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > Sent: Sunday, February 19, 2012 7:37 PM
> > > > > > > Subject: [DynoMotion] Re: Acceleration....
> > > > > > >
> > > > > > >
> > > > > > > ÃÆ'Æ'Æ'ÃÆ'¢â‚¬Å¡ÃÆ'Æ'‚
> > > > > > > Tom,
> > > > > > >
> > > > > > > How do I tell what a thread is waiting on?
> > > > > > >
> > > > > > > Regards,
> > > > > > > Ray L.
> > > > > > >
> > > > > > > --- In DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> , Tom Kerekes <tk@> wrote:
> > > > > > > >
> > > > > > > > Hi Ray,
> > > > > > > > ÃÆ'Æ'Æ'ÃÆ'†'ÃÆ'Æ'¢ÃÆ'¢â€šÂ¬ÃÆ'…¡ÃÆ'Æ'Æ'ÃÆ'¢â‚¬Å¡ÃÆ'Æ'‚
> > > > > > > > Deadlocks are usually pretty easy to figure out.ÃÆ'Æ'Æ'ÃÆ'†'ÃÆ'Æ'¢ÃÆ'¢â€šÂ¬ÃÆ'…¡ÃÆ'Æ'Æ'ÃÆ'¢â‚¬Å¡ÃÆ'Æ'‚ Just look at what the threads are stuck waiting on.ÃÆ'Æ'Æ'ÃÆ'†'ÃÆ'Æ'¢ÃÆ'¢â€šÂ¬ÃÆ'…¡ÃÆ'Æ'Æ'ÃÆ'¢â‚¬Å¡ÃÆ'Æ'‚ It also might be something simple like somebody never released the Token after receiving it.
> > > > > > > > ÃÆ'Æ'Æ'ÃÆ'†'ÃÆ'Æ'¢ÃÆ'¢â€šÂ¬ÃÆ'…¡ÃÆ'Æ'Æ'ÃÆ'¢â‚¬Å¡ÃÆ'Æ'‚
> > > > > > > > Regards
> > > > > > > > TK
> > > > > > > >
> > > > > > > > From: himykabibble <jagboy@>
> > > > > > > > To: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > Sent: Sunday, February 19, 2012 7:23 PM
> > > > > > > > Subject: [DynoMotion] Re: Acceleration....
> > > > > > > >
> > > > > > > >
> > > > > > > > ÃÆ'Æ'Æ'ÃÆ'†'ÃÆ'Æ'¢ÃÆ'¢â€šÂ¬ÃÆ'…¡ÃÆ'Æ'Æ'ÃÆ'¢â‚¬Å¡ÃÆ'Æ'‚
> > > > > > > > Yeah, my guess is I'm getting into a deadlock. All the threads that talk to the KFlop seem to be hung (they're still there, just not running), all the others seem to be working OK. I don't know where to go from here.... Something in dotNet must have changed that affects this, as I haven't had this problem with v428 since we got the last deadlock issue sorted out.
> > > > > > > >
> > > > > > > > --- In DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> , "himykabibble" <jagboy@> wrote:
> > > > > > > > >
> > > > > > > > > Damn! This seems to be a threading thing.... The worker thread starts up and seems to work OK, until I plug in the board and try to exit E-Stop. I don't understand how to use VS to debug this type of issue. Any suggestions?
> > > > > > > > >
> > > > > > > > > --- In DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> , "himykabibble" <jagboy@> wrote:
> > > > > > > > > >
> > > > > > > > > > Brad,
> > > > > > > > > >
> > > > > > > > > > Odd, the exception was occurring every time when I tried to step over that one line in Release mode. In Debug mode, it got past it just fine, then threw up later. I found a bug in my code (a hard-coded path pointing to the no-longer-there v428 directory), and have gotten past that. It now comes up, indicates the board is connected, but when I try to come out of E-Stop, it comes partially to life, but the worker thread that updates most of the GUI controls seems not to be running. Looking into that now...
> > > > > > > > > >
> > > > > > > > > > Regards,
> > > > > > > > > > Ray L.
> > > > > > > > > >
> > > > > > > > > >
> > > > > > > > > > --- In DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> , Brad Murry <bradodarb@> wrote:
> > > > > > > > > > >
> > > > > > > > > > > Hello Ray,
> > > > > > > > > > >
> > > > > > > > > > >
> > > > > > > > > > >
> > > > > > > > > > > No, KM_Controller no longer maintains a list of axis or io objects. It
> > > > > > > > > > > seems cleaner to let the user application dictate where those are kept.
> > > > > > > > > > > Those are just convenience methods to create a new object and it
> > > > > > > > > > > automatically reference the controller it was created from so it is a safer
> > > > > > > > > > > multi-instance/multi-board object. As it simply returns a value and nothing
> > > > > > > > > > > else I am not sure why you would think it is setting something.
> > > > > > > > > > >
> > > > > > > > > > >
> > > > > > > > > > >
> > > > > > > > > > > I cannot reproduce your interpreter complete issue with the information
> > > > > > > > > > > provided.
> > > > > > > > > > >
> > > > > > > > > > >
> > > > > > > > > > >
> > > > > > > > > > > -Brad Murry
> > > > > > > > > > >
> > > > > > > > > > >
> > > > > > > > > > >
> > > > > > > > > > > From: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> [mailto:DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> ] On
> > > > > > > > > > > Behalf Of himykabibble
> > > > > > > > > > > Sent: Sunday, February 19, 2012 7:10 PM
> > > > > > > > > > > To: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > > > > Subject: [DynoMotion] Re: Acceleration....
> > > > > > > > > > >
> > > > > > > > > > >
> > > > > > > > > > >
> > > > > > > > > > >
> > > > > > > > > > >
> > > > > > > > > > > Brad,
> > > > > > > > > > >
> > > > > > > > > > > I realize it is returning an object. I guess what's not clear, when
> > > > > > > > > > > comparing what was there to what is there now, is before it seemed
> > > > > > > > > > > straight-forward - I created a list of KM_IOs and a list of KM_Axis, and
> > > > > > > > > > > passed those lists to KM_Controller. All very transparent. I assume
> > > > > > > > > > > KM_Controller is now adding to the list when you do the corresponding Get,
> > > > > > > > > > > and returning a reference to the object, right? And we then configure the
> > > > > > > > > > > object (i.e. - axis.Velocity = x.x). Is that not correct?
> > > > > > > > > > >
> > > > > > > > > > > BTW - The exception I'm getting is happening when I try to hook in my
> > > > > > > > > > > InterpreterCompleted handler. It hangs in there for several seconds, then
> > > > > > > > > > > throws the exception. I have to do a debug build of dotNet and step into it
> > > > > > > > > > > to see what's going on.
> > > > > > > > > > >
> > > > > > > > > > > --- In DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> ,
> > > > > > > > > > > Brad Murry <bradodarb@> wrote:
> > > > > > > > > > > >
> > > > > > > > > > > > "> Personally, I find it odd to use functions named "Get" to set
> > > > > > > > > > > parameters.
> > > > > > > > > > > > > Not at all intuitive."
> > > > > > > > > > > >
> > > > > > > > > > > >
> > > > > > > > > > > >
> > > > > > > > > > > > You are not setting any params here. They are object creation methods and
> > > > > > > > > > > > they `return' a value. Google the Factory pattern to understand why the
> > > > > > > > > > > > nomenclature is intuitive. You could also have a look at the source to see
> > > > > > > > > > > > how things actually work, since it is included; alternatively feel free to
> > > > > > > > > > > > peruse the included API reference.
> > > > > > > > > > > >
> > > > > > > > > > > >
> > > > > > > > > > > >
> > > > > > > > > > > >
> > > > > > > > > > > >
> > > > > > > > > > > >
> > > > > > > > > > > >
> > > > > > > > > > > > Regarding #1,
> > > > > > > > > > > >
> > > > > > > > > > > >
> > > > > > > > > > > >
> > > > > > > > > > > > It is best to use the CheckConnected(params Action[]). You can either use
> > > > > > > > > > > > it as it is or optionally pass in one or more action delegates to perform
> > > > > > > > > > > > while the token is obtained.
> > > > > > > > > > > >
> > > > > > > > > > > >
> > > > > > > > > > > >
> > > > > > > > > > > > -Brad
> > > > > > > > > > > >
> > > > > > > > > > > >
> > > > > > > > > > > >
> > > > > > > > > > > > From: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > > > > [mailto:DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> ]
> > > > > > > > > > > On
> > > > > > > > > > > > Behalf Of himykabibble
> > > > > > > > > > > > Sent: Sunday, February 19, 2012 6:41 PM
> > > > > > > > > > > > To: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > > > > > Subject: [DynoMotion] Re: Acceleration....
> > > > > > > > > > > >
> > > > > > > > > > > >
> > > > > > > > > > > >
> > > > > > > > > > > >
> > > > > > > > > > > >
> > > > > > > > > > > > Hmmmm.... I replaced the KMController.Connected's with
> > > > > > > > > > > > KMController.CheckIsReady(). The error on ReadLineTimeout went away(!) by
> > > > > > > > > > > > itself. So, it now compiles, but when I try to run it, I get and
> > > > > > > > > > > exception:
> > > > > > > > > > > >
> > > > > > > > > > > > An unhandled exception of type
> > > > > > > > > > > 'System.Reflection.TargetInvocationException'
> > > > > > > > > > > > occurred in mscorlib.dll
> > > > > > > > > > > >
> > > > > > > > > > > > Additional information: Exception has been thrown by the target of an
> > > > > > > > > > > > invocation.
> > > > > > > > > > > >
> > > > > > > > > > > > This did not happen before I re-flashed the board with v429z.
> > > > > > > > > > > >
> > > > > > > > > > > > No clue what to do now....
> > > > > > > > > > > >
> > > > > > > > > > > > Regards,
> > > > > > > > > > > > Ray L.
> > > > > > > > > > > >
> > > > > > > > > > > > --- In DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > > > > <mailto:DynoMotion%40yahoogroups.com> ,
> > > > > > > > > > > > Brad Murry <bradodarb@> wrote:
> > > > > > > > > > > > >
> > > > > > > > > > > > > Ray,
> > > > > > > > > > > > >
> > > > > > > > > > > > >
> > > > > > > > > > > > >
> > > > > > > > > > > > > KM_Controller.Interpreter.SetupParams == KM_Controller.
> > > > > > > > > > > > > CoordMotion.Interpreter.SetupParams
> > > > > > > > > > > > >
> > > > > > > > > > > > >
> > > > > > > > > > > > >
> > > > > > > > > > > > > -Brad
> > > > > > > > > > > > >
> > > > > > > > > > > > >
> > > > > > > > > > > > >
> > > > > > > > > > > > > From: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > > > > <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > > > > > [mailto:DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > > > > <mailto:DynoMotion%40yahoogroups.com> ]
> > > > > > > > > > > > On
> > > > > > > > > > > > > Behalf Of himykabibble
> > > > > > > > > > > > > Sent: Sunday, February 19, 2012 6:09 PM
> > > > > > > > > > > > > To: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > > > > <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > > > > > > Subject: [DynoMotion] Re: Acceleration....
> > > > > > > > > > > > >
> > > > > > > > > > > > >
> > > > > > > > > > > > >
> > > > > > > > > > > > >
> > > > > > > > > > > > >
> > > > > > > > > > > > > Tom,
> > > > > > > > > > > > >
> > > > > > > > > > > > > I *think* I've worked through all of the changes except for the two
> > > > > > > > > > > > detailed
> > > > > > > > > > > > > below, which have me stumped. The changes I found were:
> > > > > > > > > > > > >
> > > > > > > > > > > > > KM_Controller.Interpreter => KM_Controller.CoordMotion.Interpreter
> > > > > > > > > > > > > KM_Controller.Interpreter.SetupParams =>
> > > > > > > > > > > > > KM_Controller.CoordMotion.MotionParams
> > > > > > > > > > > > > KM_Controller.AxisChannels => KM_Controller.GetAxis()
> > > > > > > > > > > > > KM_Controller.IOPoints => KMController.GetIO()
> > > > > > > > > > > > >
> > > > > > > > > > > > > Is that all correct?
> > > > > > > > > > > > >
> > > > > > > > > > > > > Personally, I find it odd to use functions named "Get" to set
> > > > > > > > > > > parameters.
> > > > > > > > > > > > > Not at all intuitive.
> > > > > > > > > > > > >
> > > > > > > > > > > > > Here are the two things I don't yet have resolved:
> > > > > > > > > > > > >
> > > > > > > > > > > > > 1) KM_Controller.Connected no longer exists. Does that get replaced with
> > > > > > > > > > > > the
> > > > > > > > > > > > > new error callback? How do I know a disconnect has occurred?
> > > > > > > > > > > > >
> > > > > > > > > > > > > 2) KM_Controller.ReadLineTimeout() no longer exists. What replaces it?
> > > > > > > > > > > > >
> > > > > > > > > > > > > Regards,
> > > > > > > > > > > > > Ray L.
> > > > > > > > > > > > >
> > > > > > > > > > > > > --- In DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > > > > <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > > > > > <mailto:DynoMotion%40yahoogroups.com> ,
> > > > > > > > > > > > > "himykabibble" <jagboy@> wrote:
> > > > > > > > > > > > > >
> > > > > > > > > > > > > > Tom,
> > > > > > > > > > > > > >
> > > > > > > > > > > > > > Looks like the 429z dotNet implementation has changed a lot of things
> > > > > > > > > > > > and
> > > > > > > > > > > > > it has seriously broken my app - I get almost 80 errors, mostly things
> > > > > > > > > > > > that
> > > > > > > > > > > > > no longer exist, like KM_Controller.Connected,
> > > > > > > > > > > KM_Controller.Interpreter,
> > > > > > > > > > > > > etc. Is there a summary of the required changes somewhere?
> > > > > > > > > > > > > >
> > > > > > > > > > > > > > Regards,
> > > > > > > > > > > > > > Ray L.
> > > > > > > > > > > > > >
> > > > > > > > > > > > > > --- In DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > > > > <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > > > > > <mailto:DynoMotion%40yahoogroups.com> ,
> > > > > > > > > > > > > Tom Kerekes <tk@> wrote:
> > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > Hi Ray,
> > > > > > > > > > > > > > > ÃÆ'Æ'Æ'ÃÆ'†'ÃÆ'Æ'†'ÃÆ'Æ'Æ'ÃÆ'‚¢ÃÆ'Æ'¢ÃÆ'¢â‚¬Å¡ÃÆ'‚¬ÃÆ'Æ'…ÃÆ'‚¡
> > > > > > > > > > > > > > > I thought you had removed all MoveExp commands?ÃÆ'Æ'Æ'ÃÆ'†'ÃÆ'Æ'†'ÃÆ'Æ'Æ'ÃÆ'‚¢ÃÆ'Æ'¢ÃÆ'¢â‚¬Å¡ÃÆ'‚¬ÃÆ'Æ'…ÃÆ'‚¡ But anyway please
> > > > > > > > > > > see
> > > > > > > > > > > > > the V4.29z Version that is now available.ÃÆ'Æ'Æ'ÃÆ'†'ÃÆ'Æ'†'ÃÆ'Æ'Æ'ÃÆ'‚¢ÃÆ'Æ'¢ÃÆ'¢â‚¬Å¡ÃÆ'‚¬ÃÆ'Æ'…ÃÆ'‚¡ The MoveExp has been improved
> > > > > > > > > > > > to
> > > > > > > > > > > > > avoid certain issues.ÃÆ'Æ'Æ'ÃÆ'†'ÃÆ'Æ'†'ÃÆ'Æ'Æ'ÃÆ'‚¢ÃÆ'Æ'¢ÃÆ'¢â‚¬Å¡ÃÆ'‚¬ÃÆ'Æ'…ÃÆ'‚¡ The previous version you were using wasn't
> > > > > > > > > > > > expecting
> > > > > > > > > > > > > the acceleration to be set so low that once it got onto the exponential
> > > > > > > > > > > > > velocity curve the allowed deceleration would not be insufficient to
> > > > > > > > > > > stay
> > > > > > > > > > > > on
> > > > > > > > > > > > > the curve and avoid overshooting the target. There was also a bug where
> > > > > > > > > > > in
> > > > > > > > > > > > > some cases the MoveExp (after a combination of Jogs) would start off at
> > > > > > > > > > > a
> > > > > > > > > > > > > non-zero velocity.ÃÆ'Æ'Æ'ÃÆ'†'ÃÆ'Æ'†'ÃÆ'Æ'Æ'ÃÆ'‚¢ÃÆ'Æ'¢ÃÆ'¢â‚¬Å¡ÃÆ'‚¬ÃÆ'Æ'…ÃÆ'‚¡ It should also allow mixing of Jogs/Moves/MoveExp
> > > > > > > > > > > with
> > > > > > > > > > > > > proper blending applied.
> > > > > > > > > > > > > > > ÃÆ'Æ'Æ'ÃÆ'†'ÃÆ'Æ'†'ÃÆ'Æ'Æ'ÃÆ'‚¢ÃÆ'Æ'¢ÃÆ'¢â‚¬Å¡ÃÆ'‚¬ÃÆ'Æ'…ÃÆ'‚¡
> > > > > > > > > > > > > > > Regards
> > > > > > > > > > > > > > > TK
> > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > From: himykabibble <jagboy@>
> > > > > > > > > > > > > > > To: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > > > > <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > > > > > <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > > > > > > > > Sent: Saturday, February 18, 2012 3:24 PM
> > > > > > > > > > > > > > > Subject: [DynoMotion] Acceleration....
> > > > > > > > > > > > > > >
> > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > ÃÆ'Æ'Æ'ÃÆ'†'ÃÆ'Æ'†'ÃÆ'Æ'Æ'ÃÆ'‚¢ÃÆ'Æ'¢ÃÆ'¢â‚¬Å¡ÃÆ'‚¬ÃÆ'Æ'…ÃÆ'‚¡
> > > > > > > > > > > > > > > Tom,
> > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > This is just strange.... In the course of trying to sort out the
> > > > > > > > > > > last
> > > > > > > > > > > > > few problems (seemingly random faults and position loss when jogging
> > > > > > > > > > > using
> > > > > > > > > > > > > MoveExp), I've discovered something which makes no sense at all. For the
> > > > > > > > > > > > > X/Y/Z axes, I have acceleration of 25 in/sec^2, and velocity of 200 IPM
> > > > > > > > > > > > for
> > > > > > > > > > > > > X/Y, and 250 IPM for Z. The axis parameters are being set using those
> > > > > > > > > > > > values
> > > > > > > > > > > > > multiplied by steps/inch for each axis (and divided by 60 for the Vel
> > > > > > > > > > > > > settings). I have PLENTY of reserve capability on the axes - I can
> > > > > > > > > > > double
> > > > > > > > > > > > my
> > > > > > > > > > > > > acceleration up to 50 in/sec^2, and increase velocity from 200 IPM to at
> > > > > > > > > > > > > least 300 IPM with no problems whatsoever when running G-code, or
> > > > > > > > > > > jogging
> > > > > > > > > > > > > with Jog(). But, using MoveExp(), I get random faults and position loss.
> > > > > > > > > > > > If
> > > > > > > > > > > > > I REDUCE the accelerations, say from 25 in/sec^2 to 5 in/sec^2, I get
> > > > > > > > > > > TONS
> > > > > > > > > > > > > of faults on all axes. In fact, on my A axis, if I reduce acceleration
> > > > > > > > > > > > from
> > > > > > > > > > > > > 5 in/sec^2 to 0.05 in/sec^2, I can BARELY get the axis to move at all
> > > > > > > > > > > > using
> > > > > > > > > > > > > > > MoveExp. Most of the time, it faults with a loud bang the instant I
> > > > > > > > > > > > > touch the MPG. There HAS to be either a problem in MoveExp, or something
> > > > > > > > > > > > > really stupid I'm doing wrong, but I'm out of places to look.
> > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > Regards,
> > > > > > > > > > > > > > > Ray L.
> > > > > > > > > > > > > > >
> > > > > > > > > > > > > >
> > > > > > > > > > > > >
> > > > > > > > > > > >
> > > > > > > > > > >
> > > > > > > > > >
> > > > > > > > >
> > > > > > > >
> > > > > > >
> > > > > >
> > > > >
> > > >
> > >
> >
>
Group: DynoMotion Message: 3982 From: himykabibble Date: 2/20/2012
Subject: Re: Acceleration....
OK, I seem to be up and running with v429z, as long as the board never disconnects. If it does, then the app goes out to lunch right after the error callback. I am assuming, for now, that will go away once CheckConnected() is fixed. I'll try it out on the machine shortly.

Re: the new Error callback - would it not be helpful to provide, in addition to the string error message, an integer error "type", to facilitate error handling/recovery? I'm assuming this will, eventually, be capable of throwing a number of different kinds of errors, and a string is less than ideal for writing a multi-function handler, no?

Regards,
Ray L.

--- In DynoMotion@yahoogroups.com, "himykabibble" <jagboy@...> wrote:
>
> Brad/Tom,
>
> I've got my app working.... sort of. I had some bugs in the conversion on the IOs, now sorted out, so it no longer hangs coming out of E-Stop, and all the controls are enabling and updating correctly. But right now it's flagging all axes as disabled, so I'm looking into that.
>
> --- In DynoMotion@yahoogroups.com, "himykabibble" <jagboy@> wrote:
> >
> > Interestingly, if you precede the CheckConnected() call with a WriteLineReadLine(), then CheckConnected() works perfectly.
> >
> > --- In DynoMotion@yahoogroups.com, Brad Murry <bradodarb@> wrote:
> > >
> > > Hello Ray,
> > >
> > >
> > >
> > > WaitToken goest to the InteropDLL and calls the CKMotion.DLL’s WaitToken which internally calls the KMotionLock and finally calss the PipeCmd(ENUM_KMotionLock) which seems to always return 0.
> > >
> > >
> > >
> > >
> > >
> > > This bubbles back up to KMOTION_LOCKED in the KMOTION_TOKEN enum.
> > >
> > >
> > >
> > > CheckConnected(params…) returns true as long as it did not receive KMOTION_NOT_CONNECTED (2).
> > >
> > >
> > >
> > > -Brad Murry
> > >
> > >
> > >
> > > From: DynoMotion@yahoogroups.com [mailto:DynoMotion@yahoogroups.com] On Behalf Of himykabibble
> > > Sent: Monday, February 20, 2012 12:06 AM
> > > To: DynoMotion@yahoogroups.com
> > > Subject: [DynoMotion] Re: Acceleration....
> > >
> > >
> > >
> > >
> > >
> > > Brad,
> > >
> > > That doesn't seem to be what I'm seeing here. CheckConnected doesn't even seem to call KMotionLock - just WaitToken, which seems to return the wrong value. But I'm really not clear on what that code is really doing....
> > >
> > > Regards,
> > > Ray L.
> > >
> > > --- In DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> , Brad Murry <bradodarb@> wrote:
> > > >
> > > >
> > > >
> > > > I traced it back to the CKMotionDLL.cpp::
> > > >
> > > >
> > > >
> > > > KMotionLock() firing off PipeCmd(ENUM_KMotionLock) is constantly returning 0.
> > > >
> > > >
> > > >
> > > >
> > > >
> > > > Does everyone else get the same results?
> > > >
> > > >
> > > >
> > > > -Brad
> > > >
> > > >
> > > >
> > > >
> > > >
> > > > From: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> [mailto:DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> ] On Behalf Of Brad Murry
> > > > Sent: Sunday, February 19, 2012 11:29 PM
> > > > To: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com>
> > > > Subject: RE: [DynoMotion] Re: Acceleration....
> > > >
> > > >
> > > >
> > > >
> > > >
> > > > I misread your question. I thought we were still on the deadlock problem.
> > > >
> > > >
> > > >
> > > > I will try your scenario.
> > > >
> > > >
> > > >
> > > > -Brad Murry
> > > >
> > > > From: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> [mailto:DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> ] On Behalf Of himykabibble
> > > > Sent: Sunday, February 19, 2012 11:00 PM
> > > > To: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com>
> > > > Subject: [DynoMotion] Re: Acceleration....
> > > >
> > > >
> > > >
> > > >
> > > >
> > > > Brad,
> > > >
> > > > It's basically polling the connection state. I am seeing regular calls to CheckConnected(), but, like I said, I can easily get it to consistently return true when the board is not there, or false when it is there. How could my code could be causing that?
> > > >
> > > > Regards,
> > > > Ray L.
> > > >
> > > > --- In DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> , Brad Murry <bradodarb@> wrote:
> > > > >
> > > > > No chance it could possibly be the code calling CheckConnected() eh?
> > > > >
> > > > >
> > > > >
> > > > > That feature was there in the last version as well and I have used it with success.
> > > > >
> > > > > -Brad
> > > > >
> > > > > From: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> [mailto:DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> ] On Behalf Of himykabibble
> > > > > Sent: Sunday, February 19, 2012 10:48 PM
> > > > > To: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com>
> > > > > Subject: [DynoMotion] Re: Acceleration....
> > > > >
> > > > >
> > > > >
> > > > >
> > > > >
> > > > > Brad,
> > > > >
> > > > > I think there is a problem in dotNet. CheckConnected is returning true looooooong after I've pulled the cable. I think that's what's putting my app into a wierd state.
> > > > >
> > > > > Regards,
> > > > > Ray L.
> > > > >
> > > > > --- In DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> , Brad Murry <bradodarb@> wrote:
> > > > > >
> > > > > > Check for begininvokes where there should be invokes and vice versa.
> > > > > >
> > > > > >
> > > > > >
> > > > > > -Brad
> > > > > >
> > > > > >
> > > > > >
> > > > > > From: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> [mailto:DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> ] On Behalf Of himykabibble
> > > > > > Sent: Sunday, February 19, 2012 10:33 PM
> > > > > > To: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com>
> > > > > > Subject: [DynoMotion] Re: Acceleration....
> > > > > >
> > > > > >
> > > > > >
> > > > > >
> > > > > >
> > > > > > Tom,
> > > > > >
> > > > > > Yes. I get reasonable call stacks for all the other threads, including the other worker threads, but it looks like the ones that appear to be hanging I get no useful information once it gets into the bad state. Before it goes wonky, I get good call stacks on all threads. I am running Debug, and can step into the DLLs, so the build is OK.
> > > > > >
> > > > > > Regards,
> > > > > > Ray L.
> > > > > >
> > > > > > --- In DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> , Tom Kerekes <tk@> wrote:
> > > > > > >
> > > > > > > Are you running the Debug Version?
> > > > > > > ÃÆ'Æ'‚
> > > > > > > TK
> > > > > > >
> > > > > > > From: himykabibble <jagboy@>
> > > > > > > To: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > Sent: Sunday, February 19, 2012 8:09 PM
> > > > > > > Subject: [DynoMotion] Re: Acceleration....
> > > > > > >
> > > > > > >
> > > > > > > ÃÆ'Æ'‚
> > > > > > > Unfortunately, for the threads of real interest, the stack trace shows "frames below may be incorrect and/or missing. No symbols loaded for ntdll.dll", then a long list of Windows dll locations, mostly mscorworks.dll.
> > > > > > >
> > > > > > > --- In DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> , Tom Kerekes <tk@> wrote:
> > > > > > > >
> > > > > > > > Ray,
> > > > > > > > ÃÆ'Æ'Æ'ÃÆ'¢â‚¬Å¡ÃÆ'Æ'‚
> > > > > > > > Make the Thread active by double clicking on the Thread in the Debug | Threads window.ÃÆ'Æ'Æ'ÃÆ'¢â‚¬Å¡ÃÆ'Æ'‚ Then the current Program Counter will point to where it is.ÃÆ'Æ'Æ'ÃÆ'¢â‚¬Å¡ÃÆ'Æ'‚ Often it will be down in the bowels of Windows stuff so look at the Stack and work backwards until you get to something recognizable like a Mutex Lock or a call your code made.
> > > > > > > > ÃÆ'Æ'Æ'ÃÆ'¢â‚¬Å¡ÃÆ'Æ'‚
> > > > > > > > Regards
> > > > > > > > TK
> > > > > > > >
> > > > > > > > From: himykabibble <jagboy@>
> > > > > > > > To: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > Sent: Sunday, February 19, 2012 7:37 PM
> > > > > > > > Subject: [DynoMotion] Re: Acceleration....
> > > > > > > >
> > > > > > > >
> > > > > > > > ÃÆ'Æ'Æ'ÃÆ'¢â‚¬Å¡ÃÆ'Æ'‚
> > > > > > > > Tom,
> > > > > > > >
> > > > > > > > How do I tell what a thread is waiting on?
> > > > > > > >
> > > > > > > > Regards,
> > > > > > > > Ray L.
> > > > > > > >
> > > > > > > > --- In DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> , Tom Kerekes <tk@> wrote:
> > > > > > > > >
> > > > > > > > > Hi Ray,
> > > > > > > > > ÃÆ'Æ'Æ'ÃÆ'†'ÃÆ'Æ'¢ÃÆ'¢â€šÂ¬ÃÆ'…¡ÃÆ'Æ'Æ'ÃÆ'¢â‚¬Å¡ÃÆ'Æ'‚
> > > > > > > > > Deadlocks are usually pretty easy to figure out.ÃÆ'Æ'Æ'ÃÆ'†'ÃÆ'Æ'¢ÃÆ'¢â€šÂ¬ÃÆ'…¡ÃÆ'Æ'Æ'ÃÆ'¢â‚¬Å¡ÃÆ'Æ'‚ Just look at what the threads are stuck waiting on.ÃÆ'Æ'Æ'ÃÆ'†'ÃÆ'Æ'¢ÃÆ'¢â€šÂ¬ÃÆ'…¡ÃÆ'Æ'Æ'ÃÆ'¢â‚¬Å¡ÃÆ'Æ'‚ It also might be something simple like somebody never released the Token after receiving it.
> > > > > > > > > ÃÆ'Æ'Æ'ÃÆ'†'ÃÆ'Æ'¢ÃÆ'¢â€šÂ¬ÃÆ'…¡ÃÆ'Æ'Æ'ÃÆ'¢â‚¬Å¡ÃÆ'Æ'‚
> > > > > > > > > Regards
> > > > > > > > > TK
> > > > > > > > >
> > > > > > > > > From: himykabibble <jagboy@>
> > > > > > > > > To: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > > Sent: Sunday, February 19, 2012 7:23 PM
> > > > > > > > > Subject: [DynoMotion] Re: Acceleration....
> > > > > > > > >
> > > > > > > > >
> > > > > > > > > ÃÆ'Æ'Æ'ÃÆ'†'ÃÆ'Æ'¢ÃÆ'¢â€šÂ¬ÃÆ'…¡ÃÆ'Æ'Æ'ÃÆ'¢â‚¬Å¡ÃÆ'Æ'‚
> > > > > > > > > Yeah, my guess is I'm getting into a deadlock. All the threads that talk to the KFlop seem to be hung (they're still there, just not running), all the others seem to be working OK. I don't know where to go from here.... Something in dotNet must have changed that affects this, as I haven't had this problem with v428 since we got the last deadlock issue sorted out.
> > > > > > > > >
> > > > > > > > > --- In DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> , "himykabibble" <jagboy@> wrote:
> > > > > > > > > >
> > > > > > > > > > Damn! This seems to be a threading thing.... The worker thread starts up and seems to work OK, until I plug in the board and try to exit E-Stop. I don't understand how to use VS to debug this type of issue. Any suggestions?
> > > > > > > > > >
> > > > > > > > > > --- In DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> , "himykabibble" <jagboy@> wrote:
> > > > > > > > > > >
> > > > > > > > > > > Brad,
> > > > > > > > > > >
> > > > > > > > > > > Odd, the exception was occurring every time when I tried to step over that one line in Release mode. In Debug mode, it got past it just fine, then threw up later. I found a bug in my code (a hard-coded path pointing to the no-longer-there v428 directory), and have gotten past that. It now comes up, indicates the board is connected, but when I try to come out of E-Stop, it comes partially to life, but the worker thread that updates most of the GUI controls seems not to be running. Looking into that now...
> > > > > > > > > > >
> > > > > > > > > > > Regards,
> > > > > > > > > > > Ray L.
> > > > > > > > > > >
> > > > > > > > > > >
> > > > > > > > > > > --- In DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> , Brad Murry <bradodarb@> wrote:
> > > > > > > > > > > >
> > > > > > > > > > > > Hello Ray,
> > > > > > > > > > > >
> > > > > > > > > > > >
> > > > > > > > > > > >
> > > > > > > > > > > > No, KM_Controller no longer maintains a list of axis or io objects. It
> > > > > > > > > > > > seems cleaner to let the user application dictate where those are kept.
> > > > > > > > > > > > Those are just convenience methods to create a new object and it
> > > > > > > > > > > > automatically reference the controller it was created from so it is a safer
> > > > > > > > > > > > multi-instance/multi-board object. As it simply returns a value and nothing
> > > > > > > > > > > > else I am not sure why you would think it is setting something.
> > > > > > > > > > > >
> > > > > > > > > > > >
> > > > > > > > > > > >
> > > > > > > > > > > > I cannot reproduce your interpreter complete issue with the information
> > > > > > > > > > > > provided.
> > > > > > > > > > > >
> > > > > > > > > > > >
> > > > > > > > > > > >
> > > > > > > > > > > > -Brad Murry
> > > > > > > > > > > >
> > > > > > > > > > > >
> > > > > > > > > > > >
> > > > > > > > > > > > From: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> [mailto:DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> ] On
> > > > > > > > > > > > Behalf Of himykabibble
> > > > > > > > > > > > Sent: Sunday, February 19, 2012 7:10 PM
> > > > > > > > > > > > To: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > > > > > Subject: [DynoMotion] Re: Acceleration....
> > > > > > > > > > > >
> > > > > > > > > > > >
> > > > > > > > > > > >
> > > > > > > > > > > >
> > > > > > > > > > > >
> > > > > > > > > > > > Brad,
> > > > > > > > > > > >
> > > > > > > > > > > > I realize it is returning an object. I guess what's not clear, when
> > > > > > > > > > > > comparing what was there to what is there now, is before it seemed
> > > > > > > > > > > > straight-forward - I created a list of KM_IOs and a list of KM_Axis, and
> > > > > > > > > > > > passed those lists to KM_Controller. All very transparent. I assume
> > > > > > > > > > > > KM_Controller is now adding to the list when you do the corresponding Get,
> > > > > > > > > > > > and returning a reference to the object, right? And we then configure the
> > > > > > > > > > > > object (i.e. - axis.Velocity = x.x). Is that not correct?
> > > > > > > > > > > >
> > > > > > > > > > > > BTW - The exception I'm getting is happening when I try to hook in my
> > > > > > > > > > > > InterpreterCompleted handler. It hangs in there for several seconds, then
> > > > > > > > > > > > throws the exception. I have to do a debug build of dotNet and step into it
> > > > > > > > > > > > to see what's going on.
> > > > > > > > > > > >
> > > > > > > > > > > > --- In DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> ,
> > > > > > > > > > > > Brad Murry <bradodarb@> wrote:
> > > > > > > > > > > > >
> > > > > > > > > > > > > "> Personally, I find it odd to use functions named "Get" to set
> > > > > > > > > > > > parameters.
> > > > > > > > > > > > > > Not at all intuitive."
> > > > > > > > > > > > >
> > > > > > > > > > > > >
> > > > > > > > > > > > >
> > > > > > > > > > > > > You are not setting any params here. They are object creation methods and
> > > > > > > > > > > > > they `return' a value. Google the Factory pattern to understand why the
> > > > > > > > > > > > > nomenclature is intuitive. You could also have a look at the source to see
> > > > > > > > > > > > > how things actually work, since it is included; alternatively feel free to
> > > > > > > > > > > > > peruse the included API reference.
> > > > > > > > > > > > >
> > > > > > > > > > > > >
> > > > > > > > > > > > >
> > > > > > > > > > > > >
> > > > > > > > > > > > >
> > > > > > > > > > > > >
> > > > > > > > > > > > >
> > > > > > > > > > > > > Regarding #1,
> > > > > > > > > > > > >
> > > > > > > > > > > > >
> > > > > > > > > > > > >
> > > > > > > > > > > > > It is best to use the CheckConnected(params Action[]). You can either use
> > > > > > > > > > > > > it as it is or optionally pass in one or more action delegates to perform
> > > > > > > > > > > > > while the token is obtained.
> > > > > > > > > > > > >
> > > > > > > > > > > > >
> > > > > > > > > > > > >
> > > > > > > > > > > > > -Brad
> > > > > > > > > > > > >
> > > > > > > > > > > > >
> > > > > > > > > > > > >
> > > > > > > > > > > > > From: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > > > > > [mailto:DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> ]
> > > > > > > > > > > > On
> > > > > > > > > > > > > Behalf Of himykabibble
> > > > > > > > > > > > > Sent: Sunday, February 19, 2012 6:41 PM
> > > > > > > > > > > > > To: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > > > > > > Subject: [DynoMotion] Re: Acceleration....
> > > > > > > > > > > > >
> > > > > > > > > > > > >
> > > > > > > > > > > > >
> > > > > > > > > > > > >
> > > > > > > > > > > > >
> > > > > > > > > > > > > Hmmmm.... I replaced the KMController.Connected's with
> > > > > > > > > > > > > KMController.CheckIsReady(). The error on ReadLineTimeout went away(!) by
> > > > > > > > > > > > > itself. So, it now compiles, but when I try to run it, I get and
> > > > > > > > > > > > exception:
> > > > > > > > > > > > >
> > > > > > > > > > > > > An unhandled exception of type
> > > > > > > > > > > > 'System.Reflection.TargetInvocationException'
> > > > > > > > > > > > > occurred in mscorlib.dll
> > > > > > > > > > > > >
> > > > > > > > > > > > > Additional information: Exception has been thrown by the target of an
> > > > > > > > > > > > > invocation.
> > > > > > > > > > > > >
> > > > > > > > > > > > > This did not happen before I re-flashed the board with v429z.
> > > > > > > > > > > > >
> > > > > > > > > > > > > No clue what to do now....
> > > > > > > > > > > > >
> > > > > > > > > > > > > Regards,
> > > > > > > > > > > > > Ray L.
> > > > > > > > > > > > >
> > > > > > > > > > > > > --- In DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > > > > > <mailto:DynoMotion%40yahoogroups.com> ,
> > > > > > > > > > > > > Brad Murry <bradodarb@> wrote:
> > > > > > > > > > > > > >
> > > > > > > > > > > > > > Ray,
> > > > > > > > > > > > > >
> > > > > > > > > > > > > >
> > > > > > > > > > > > > >
> > > > > > > > > > > > > > KM_Controller.Interpreter.SetupParams == KM_Controller.
> > > > > > > > > > > > > > CoordMotion.Interpreter.SetupParams
> > > > > > > > > > > > > >
> > > > > > > > > > > > > >
> > > > > > > > > > > > > >
> > > > > > > > > > > > > > -Brad
> > > > > > > > > > > > > >
> > > > > > > > > > > > > >
> > > > > > > > > > > > > >
> > > > > > > > > > > > > > From: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > > > > > <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > > > > > > [mailto:DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > > > > > <mailto:DynoMotion%40yahoogroups.com> ]
> > > > > > > > > > > > > On
> > > > > > > > > > > > > > Behalf Of himykabibble
> > > > > > > > > > > > > > Sent: Sunday, February 19, 2012 6:09 PM
> > > > > > > > > > > > > > To: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > > > > > <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > > > > > > > Subject: [DynoMotion] Re: Acceleration....
> > > > > > > > > > > > > >
> > > > > > > > > > > > > >
> > > > > > > > > > > > > >
> > > > > > > > > > > > > >
> > > > > > > > > > > > > >
> > > > > > > > > > > > > > Tom,
> > > > > > > > > > > > > >
> > > > > > > > > > > > > > I *think* I've worked through all of the changes except for the two
> > > > > > > > > > > > > detailed
> > > > > > > > > > > > > > below, which have me stumped. The changes I found were:
> > > > > > > > > > > > > >
> > > > > > > > > > > > > > KM_Controller.Interpreter => KM_Controller.CoordMotion.Interpreter
> > > > > > > > > > > > > > KM_Controller.Interpreter.SetupParams =>
> > > > > > > > > > > > > > KM_Controller.CoordMotion.MotionParams
> > > > > > > > > > > > > > KM_Controller.AxisChannels => KM_Controller.GetAxis()
> > > > > > > > > > > > > > KM_Controller.IOPoints => KMController.GetIO()
> > > > > > > > > > > > > >
> > > > > > > > > > > > > > Is that all correct?
> > > > > > > > > > > > > >
> > > > > > > > > > > > > > Personally, I find it odd to use functions named "Get" to set
> > > > > > > > > > > > parameters.
> > > > > > > > > > > > > > Not at all intuitive.
> > > > > > > > > > > > > >
> > > > > > > > > > > > > > Here are the two things I don't yet have resolved:
> > > > > > > > > > > > > >
> > > > > > > > > > > > > > 1) KM_Controller.Connected no longer exists. Does that get replaced with
> > > > > > > > > > > > > the
> > > > > > > > > > > > > > new error callback? How do I know a disconnect has occurred?
> > > > > > > > > > > > > >
> > > > > > > > > > > > > > 2) KM_Controller.ReadLineTimeout() no longer exists. What replaces it?
> > > > > > > > > > > > > >
> > > > > > > > > > > > > > Regards,
> > > > > > > > > > > > > > Ray L.
> > > > > > > > > > > > > >
> > > > > > > > > > > > > > --- In DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > > > > > <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > > > > > > <mailto:DynoMotion%40yahoogroups.com> ,
> > > > > > > > > > > > > > "himykabibble" <jagboy@> wrote:
> > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > Tom,
> > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > Looks like the 429z dotNet implementation has changed a lot of things
> > > > > > > > > > > > > and
> > > > > > > > > > > > > > it has seriously broken my app - I get almost 80 errors, mostly things
> > > > > > > > > > > > > that
> > > > > > > > > > > > > > no longer exist, like KM_Controller.Connected,
> > > > > > > > > > > > KM_Controller.Interpreter,
> > > > > > > > > > > > > > etc. Is there a summary of the required changes somewhere?
> > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > Regards,
> > > > > > > > > > > > > > > Ray L.
> > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > --- In DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > > > > > <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > > > > > > <mailto:DynoMotion%40yahoogroups.com> ,
> > > > > > > > > > > > > > Tom Kerekes <tk@> wrote:
> > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > Hi Ray,
> > > > > > > > > > > > > > > > ÃÆ'Æ'Æ'ÃÆ'†'ÃÆ'Æ'†'ÃÆ'Æ'Æ'ÃÆ'‚¢ÃÆ'Æ'¢ÃÆ'¢â‚¬Å¡ÃÆ'‚¬ÃÆ'Æ'…ÃÆ'‚¡
> > > > > > > > > > > > > > > > I thought you had removed all MoveExp commands?ÃÆ'Æ'Æ'ÃÆ'†'ÃÆ'Æ'†'ÃÆ'Æ'Æ'ÃÆ'‚¢ÃÆ'Æ'¢ÃÆ'¢â‚¬Å¡ÃÆ'‚¬ÃÆ'Æ'…ÃÆ'‚¡ But anyway please
> > > > > > > > > > > > see
> > > > > > > > > > > > > > the V4.29z Version that is now available.ÃÆ'Æ'Æ'ÃÆ'†'ÃÆ'Æ'†'ÃÆ'Æ'Æ'ÃÆ'‚¢ÃÆ'Æ'¢ÃÆ'¢â‚¬Å¡ÃÆ'‚¬ÃÆ'Æ'…ÃÆ'‚¡ The MoveExp has been improved
> > > > > > > > > > > > > to
> > > > > > > > > > > > > > avoid certain issues.ÃÆ'Æ'Æ'ÃÆ'†'ÃÆ'Æ'†'ÃÆ'Æ'Æ'ÃÆ'‚¢ÃÆ'Æ'¢ÃÆ'¢â‚¬Å¡ÃÆ'‚¬ÃÆ'Æ'…ÃÆ'‚¡ The previous version you were using wasn't
> > > > > > > > > > > > > expecting
> > > > > > > > > > > > > > the acceleration to be set so low that once it got onto the exponential
> > > > > > > > > > > > > > velocity curve the allowed deceleration would not be insufficient to
> > > > > > > > > > > > stay
> > > > > > > > > > > > > on
> > > > > > > > > > > > > > the curve and avoid overshooting the target. There was also a bug where
> > > > > > > > > > > > in
> > > > > > > > > > > > > > some cases the MoveExp (after a combination of Jogs) would start off at
> > > > > > > > > > > > a
> > > > > > > > > > > > > > non-zero velocity.ÃÆ'Æ'Æ'ÃÆ'†'ÃÆ'Æ'†'ÃÆ'Æ'Æ'ÃÆ'‚¢ÃÆ'Æ'¢ÃÆ'¢â‚¬Å¡ÃÆ'‚¬ÃÆ'Æ'…ÃÆ'‚¡ It should also allow mixing of Jogs/Moves/MoveExp
> > > > > > > > > > > > with
> > > > > > > > > > > > > > proper blending applied.
> > > > > > > > > > > > > > > > ÃÆ'Æ'Æ'ÃÆ'†'ÃÆ'Æ'†'ÃÆ'Æ'Æ'ÃÆ'‚¢ÃÆ'Æ'¢ÃÆ'¢â‚¬Å¡ÃÆ'‚¬ÃÆ'Æ'…ÃÆ'‚¡
> > > > > > > > > > > > > > > > Regards
> > > > > > > > > > > > > > > > TK
> > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > From: himykabibble <jagboy@>
> > > > > > > > > > > > > > > > To: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > > > > > <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > > > > > > <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > > > > > > > > > Sent: Saturday, February 18, 2012 3:24 PM
> > > > > > > > > > > > > > > > Subject: [DynoMotion] Acceleration....
> > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > ÃÆ'Æ'Æ'ÃÆ'†'ÃÆ'Æ'†'ÃÆ'Æ'Æ'ÃÆ'‚¢ÃÆ'Æ'¢ÃÆ'¢â‚¬Å¡ÃÆ'‚¬ÃÆ'Æ'…ÃÆ'‚¡
> > > > > > > > > > > > > > > > Tom,
> > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > This is just strange.... In the course of trying to sort out the
> > > > > > > > > > > > last
> > > > > > > > > > > > > > few problems (seemingly random faults and position loss when jogging
> > > > > > > > > > > > using
> > > > > > > > > > > > > > MoveExp), I've discovered something which makes no sense at all. For the
> > > > > > > > > > > > > > X/Y/Z axes, I have acceleration of 25 in/sec^2, and velocity of 200 IPM
> > > > > > > > > > > > > for
> > > > > > > > > > > > > > X/Y, and 250 IPM for Z. The axis parameters are being set using those
> > > > > > > > > > > > > values
> > > > > > > > > > > > > > multiplied by steps/inch for each axis (and divided by 60 for the Vel
> > > > > > > > > > > > > > settings). I have PLENTY of reserve capability on the axes - I can
> > > > > > > > > > > > double
> > > > > > > > > > > > > my
> > > > > > > > > > > > > > acceleration up to 50 in/sec^2, and increase velocity from 200 IPM to at
> > > > > > > > > > > > > > least 300 IPM with no problems whatsoever when running G-code, or
> > > > > > > > > > > > jogging
> > > > > > > > > > > > > > with Jog(). But, using MoveExp(), I get random faults and position loss.
> > > > > > > > > > > > > If
> > > > > > > > > > > > > > I REDUCE the accelerations, say from 25 in/sec^2 to 5 in/sec^2, I get
> > > > > > > > > > > > TONS
> > > > > > > > > > > > > > of faults on all axes. In fact, on my A axis, if I reduce acceleration
> > > > > > > > > > > > > from
> > > > > > > > > > > > > > 5 in/sec^2 to 0.05 in/sec^2, I can BARELY get the axis to move at all
> > > > > > > > > > > > > using
> > > > > > > > > > > > > > > > MoveExp. Most of the time, it faults with a loud bang the instant I
> > > > > > > > > > > > > > touch the MPG. There HAS to be either a problem in MoveExp, or something
> > > > > > > > > > > > > > really stupid I'm doing wrong, but I'm out of places to look.
> > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > Regards,
> > > > > > > > > > > > > > > > Ray L.
> > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > >
> > > > > > > > > > > > > >
> > > > > > > > > > > > >
> > > > > > > > > > > >
> > > > > > > > > > >
> > > > > > > > > >
> > > > > > > > >
> > > > > > > >
> > > > > > >
> > > > > >
> > > > >
> > > >
> > >
> >
>
Group: DynoMotion Message: 3984 From: Brad Murry Date: 2/20/2012
Subject: Re: Acceleration....

Tom just used the same messages he was displaying in a messagebox and pumping them to the callback instead.  As strings are immutable and therefore may be used in switch statements the strings are great.

 

-Brad

 

From: DynoMotion@yahoogroups.com [mailto:DynoMotion@yahoogroups.com] On Behalf Of himykabibble
Sent: Monday, February 20, 2012 10:23 AM
To: DynoMotion@yahoogroups.com
Subject: [DynoMotion] Re: Acceleration....

 

 

OK, I seem to be up and running with v429z, as long as the board never disconnects. If it does, then the app goes out to lunch right after the error callback. I am assuming, for now, that will go away once CheckConnected() is fixed. I'll try it out on the machine shortly.

Re: the new Error callback - would it not be helpful to provide, in addition to the string error message, an integer error "type", to facilitate error handling/recovery? I'm assuming this will, eventually, be capable of throwing a number of different kinds of errors, and a string is less than ideal for writing a multi-function handler, no?

Regards,
Ray L.

--- In DynoMotion@yahoogroups.com, "himykabibble" <jagboy@...> wrote:
>
> Brad/Tom,
>
> I've got my app working.... sort of. I had some bugs in the conversion on the IOs, now sorted out, so it no longer hangs coming out of E-Stop, and all the controls are enabling and updating correctly. But right now it's flagging all axes as disabled, so I'm looking into that.
>
> --- In DynoMotion@yahoogroups.com, "himykabibble" <jagboy@> wrote:
> >
> > Interestingly, if you precede the CheckConnected() call with a WriteLineReadLine(), then CheckConnected() works perfectly.
> >
> > --- In DynoMotion@yahoogroups.com, Brad Murry <bradodarb@> wrote:
> > >
> > > Hello Ray,
> > >
> > >
> > >
> > > WaitToken goest to the InteropDLL and calls the CKMotion.DLL’s WaitToken which internally calls the KMotionLock and finally calss the PipeCmd(ENUM_KMotionLock) which seems to always return 0.
> > >
> > >
> > >
> > >
> > >
> > > This bubbles back up to KMOTION_LOCKED in the KMOTION_TOKEN enum.
> > >
> > >
> > >
> > > CheckConnected(params…) returns true as long as it did not receive KMOTION_NOT_CONNECTED (2).
> > >
> > >
> > >
> > > -Brad Murry
> > >
> > >
> > >
> > > From: DynoMotion@yahoogroups.com [mailto:DynoMotion@yahoogroups.com] On Behalf Of himykabibble
> > > Sent: Monday, February 20, 2012 12:06 AM
> > > To: DynoMotion@yahoogroups.com
> > > Subject: [DynoMotion] Re: Acceleration....
> > >
> > >
> > >
> > >
> > >
> > > Brad,
> > >
> > > That doesn't seem to be what I'm seeing here. CheckConnected doesn't even seem to call KMotionLock - just WaitToken, which seems to return the wrong value. But I'm really not clear on what that code is really doing....
> > >
> > > Regards,
> > > Ray L.
> > >
> > > --- In DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> , Brad Murry <bradodarb@> wrote:
> > > >
> > > >
> > > >
> > > > I traced it back to the CKMotionDLL.cpp::
> > > >
> > > >
> > > >
> > > > KMotionLock() firing off PipeCmd(ENUM_KMotionLock) is constantly returning 0.
> > > >
> > > >
> > > >
> > > >
> > > >
> > > > Does everyone else get the same results?
> > > >
> > > >
> > > >
> > > > -Brad
> > > >
> > > >
> > > >
> > > >
> > > >
> > > > From: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> [mailto:DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> ] On Behalf Of Brad Murry
> > > > Sent: Sunday, February 19, 2012 11:29 PM
> > > > To: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com>
> > > > Subject: RE: [DynoMotion] Re: Acceleration....
> > > >
> > > >
> > > >
> > > >
> > > >
> > > > I misread your question. I thought we were still on the deadlock problem.
> > > >
> > > >
> > > >
> > > > I will try your scenario.
> > > >
> > > >
> > > >
> > > > -Brad Murry
> > > >
> > > > From: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> [mailto:DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> ] On Behalf Of himykabibble
> > > > Sent: Sunday, February 19, 2012 11:00 PM
> > > > To: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com>
> > > > Subject: [DynoMotion] Re: Acceleration....
> > > >
> > > >
> > > >
> > > >
> > > >
> > > > Brad,
> > > >
> > > > It's basically polling the connection state. I am seeing regular calls to CheckConnected(), but, like I said, I can easily get it to consistently return true when the board is not there, or false when it is there. How could my code could be causing that?
> > > >
> > > > Regards,
> > > > Ray L.
> > > >
> > > > --- In DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> , Brad Murry <bradodarb@> wrote:
> > > > >
> > > > > No chance it could possibly be the code calling CheckConnected() eh?
> > > > >
> > > > >
> > > > >
> > > > > That feature was there in the last version as well and I have used it with success.
> > > > >
> > > > > -Brad
> > > > >
> > > > > From: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> [mailto:DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> ] On Behalf Of himykabibble
> > > > > Sent: Sunday, February 19, 2012 10:48 PM
> > > > > To: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com>
> > > > > Subject: [DynoMotion] Re: Acceleration....
> > > > >
> > > > >
> > > > >
> > > > >
> > > > >
> > > > > Brad,
> > > > >
> > > > > I think there is a problem in dotNet. CheckConnected is returning true looooooong after I've pulled the cable. I think that's what's putting my app into a wierd state.
> > > > >
> > > > > Regards,
> > > > > Ray L.
> > > > >
> > > > > --- In DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> , Brad Murry <bradodarb@> wrote:
> > > > > >
> > > > > > Check for begininvokes where there should be invokes and vice versa.
> > > > > >
> > > > > >
> > > > > >
> > > > > > -Brad
> > > > > >
> > > > > >
> > > > > >
> > > > > > From: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> [mailto:DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> ] On Behalf Of himykabibble
> > > > > > Sent: Sunday, February 19, 2012 10:33 PM
> > > > > > To: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com>
> > > > > > Subject: [DynoMotion] Re: Acceleration....
> > > > > >
> > > > > >
> > > > > >
> > > > > >
> > > > > >
> > > > > > Tom,
> > > > > >
> > > > > > Yes. I get reasonable call stacks for all the other threads, including the other worker threads, but it looks like the ones that appear to be hanging I get no useful information once it gets into the bad state. Before it goes wonky, I get good call stacks on all threads. I am running Debug, and can step into the DLLs, so the build is OK.
> > > > > >
> > > > > > Regards,
> > > > > > Ray L.
> > > > > >
> > > > > > --- In DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> , Tom Kerekes <tk@> wrote:
> > > > > > >
> > > > > > > Are you running the Debug Version?
> > > > > > > ÃÆ'Æ'‚
> > > > > > > TK
> > > > > > >
> > > > > > > From: himykabibble <jagboy@>
> > > > > > > To: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > Sent: Sunday, February 19, 2012 8:09 PM
> > > > > > > Subject: [DynoMotion] Re: Acceleration....
> > > > > > >
> > > > > > >
> > > > > > > ÃÆ'Æ'‚
> > > > > > > Unfortunately, for the threads of real interest, the stack trace shows "frames below may be incorrect and/or missing. No symbols loaded for ntdll.dll", then a long list of Windows dll locations, mostly mscorworks.dll.
> > > > > > >
> > > > > > > --- In DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> , Tom Kerekes <tk@> wrote:
> > > > > > > >
> > > > > > > > Ray,
> > > > > > > > ÃÆ'Æ'Æ'ÃÆ'¢â‚¬Å¡ÃÆ'Æ'‚
> > > > > > > > Make the Thread active by double clicking on the Thread in the Debug | Threads window.ÃÆ'Æ'Æ'ÃÆ'¢â‚¬Å¡ÃÆ'Æ'‚ Then the current Program Counter will point to where it is.ÃÆ'Æ'Æ'ÃÆ'¢â‚¬Å¡ÃÆ'Æ'‚ Often it will be down in the bowels of Windows stuff so look at the Stack and work backwards until you get to something recognizable like a Mutex Lock or a call your code made.
> > > > > > > > ÃÆ'Æ'Æ'ÃÆ'¢â‚¬Å¡ÃÆ'Æ'‚
> > > > > > > > Regards
> > > > > > > > TK
> > > > > > > >
> > > > > > > > From: himykabibble <jagboy@>
> > > > > > > > To: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > Sent: Sunday, February 19, 2012 7:37 PM
> > > > > > > > Subject: [DynoMotion] Re: Acceleration....
> > > > > > > >
> > > > > > > >
> > > > > > > > ÃÆ'Æ'Æ'ÃÆ'¢â‚¬Å¡ÃÆ'Æ'‚
> > > > > > > > Tom,
> > > > > > > >
> > > > > > > > How do I tell what a thread is waiting on?
> > > > > > > >
> > > > > > > > Regards,
> > > > > > > > Ray L.
> > > > > > > >
> > > > > > > > --- In DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> , Tom Kerekes <tk@> wrote:
> > > > > > > > >
> > > > > > > > > Hi Ray,
> > > > > > > > > ÃÆ'Æ'Æ'ÃÆ'†'ÃÆ'Æ'¢ÃÆ'¢â€šÂ¬ÃÆ'…¡ÃÆ'Æ'Æ'ÃÆ'¢â‚¬Å¡ÃÆ'Æ'‚
> > > > > > > > > Deadlocks are usually pretty easy to figure out.ÃÆ'Æ'Æ'ÃÆ'†'ÃÆ'Æ'¢ÃÆ'¢â€šÂ¬ÃÆ'…¡ÃÆ'Æ'Æ'ÃÆ'¢â‚¬Å¡ÃÆ'Æ'‚ Just look at what the threads are stuck waiting on.ÃÆ'Æ'Æ'ÃÆ'†'ÃÆ'Æ'¢ÃÆ'¢â€šÂ¬ÃÆ'…¡ÃÆ'Æ'Æ'ÃÆ'¢â‚¬Å¡ÃÆ'Æ'‚ It also might be something simple like somebody never released the Token after receiving it.
> > > > > > > > > ÃÆ'Æ'Æ'ÃÆ'†'ÃÆ'Æ'¢ÃÆ'¢â€šÂ¬ÃÆ'…¡ÃÆ'Æ'Æ'ÃÆ'¢â‚¬Å¡ÃÆ'Æ'‚
> > > > > > > > > Regards
> > > > > > > > > TK
> > > > > > > > >
> > > > > > > > > From: himykabibble <jagboy@>
> > > > > > > > > To: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > > Sent: Sunday, February 19, 2012 7:23 PM
> > > > > > > > > Subject: [DynoMotion] Re: Acceleration....
> > > > > > > > >
> > > > > > > > >
> > > > > > > > > ÃÆ'Æ'Æ'ÃÆ'†'ÃÆ'Æ'¢ÃÆ'¢â€šÂ¬ÃÆ'…¡ÃÆ'Æ'Æ'ÃÆ'¢â‚¬Å¡ÃÆ'Æ'‚
> > > > > > > > > Yeah, my guess is I'm getting into a deadlock. All the threads that talk to the KFlop seem to be hung (they're still there, just not running), all the others seem to be working OK. I don't know where to go from here.... Something in dotNet must have changed that affects this, as I haven't had this problem with v428 since we got the last deadlock issue sorted out.
> > > > > > > > >
> > > > > > > > > --- In DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> , "himykabibble" <jagboy@> wrote:
> > > > > > > > > >
> > > > > > > > > > Damn! This seems to be a threading thing.... The worker thread starts up and seems to work OK, until I plug in the board and try to exit E-Stop. I don't understand how to use VS to debug this type of issue. Any suggestions?
> > > > > > > > > >
> > > > > > > > > > --- In DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> , "himykabibble" <jagboy@> wrote:
> > > > > > > > > > >
> > > > > > > > > > > Brad,
> > > > > > > > > > >
> > > > > > > > > > > Odd, the exception was occurring every time when I tried to step over that one line in Release mode. In Debug mode, it got past it just fine, then threw up later. I found a bug in my code (a hard-coded path pointing to the no-longer-there v428 directory), and have gotten past that. It now comes up, indicates the board is connected, but when I try to come out of E-Stop, it comes partially to life, but the worker thread that updates most of the GUI controls seems not to be running. Looking into that now...
> > > > > > > > > > >
> > > > > > > > > > > Regards,
> > > > > > > > > > > Ray L.
> > > > > > > > > > >
> > > > > > > > > > >
> > > > > > > > > > > --- In DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> , Brad Murry <bradodarb@> wrote:
> > > > > > > > > > > >
> > > > > > > > > > > > Hello Ray,
> > > > > > > > > > > >
> > > > > > > > > > > >
> > > > > > > > > > > >
> > > > > > > > > > > > No, KM_Controller no longer maintains a list of axis or io objects. It
> > > > > > > > > > > > seems cleaner to let the user application dictate where those are kept.
> > > > > > > > > > > > Those are just convenience methods to create a new object and it
> > > > > > > > > > > > automatically reference the controller it was created from so it is a safer
> > > > > > > > > > > > multi-instance/multi-board object. As it simply returns a value and nothing
> > > > > > > > > > > > else I am not sure why you would think it is setting something.
> > > > > > > > > > > >
> > > > > > > > > > > >
> > > > > > > > > > > >
> > > > > > > > > > > > I cannot reproduce your interpreter complete issue with the information
> > > > > > > > > > > > provided.
> > > > > > > > > > > >
> > > > > > > > > > > >
> > > > > > > > > > > >
> > > > > > > > > > > > -Brad Murry
> > > > > > > > > > > >
> > > > > > > > > > > >
> > > > > > > > > > > >
> > > > > > > > > > > > From: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> [mailto:DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> ] On
> > > > > > > > > > > > Behalf Of himykabibble
> > > > > > > > > > > > Sent: Sunday, February 19, 2012 7:10 PM
> > > > > > > > > > > > To: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > > > > > Subject: [DynoMotion] Re: Acceleration....
> > > > > > > > > > > >
> > > > > > > > > > > >
> > > > > > > > > > > >
> > > > > > > > > > > >
> > > > > > > > > > > >
> > > > > > > > > > > > Brad,
> > > > > > > > > > > >
> > > > > > > > > > > > I realize it is returning an object. I guess what's not clear, when
> > > > > > > > > > > > comparing what was there to what is there now, is before it seemed
> > > > > > > > > > > > straight-forward - I created a list of KM_IOs and a list of KM_Axis, and
> > > > > > > > > > > > passed those lists to KM_Controller. All very transparent. I assume
> > > > > > > > > > > > KM_Controller is now adding to the list when you do the corresponding Get,
> > > > > > > > > > > > and returning a reference to the object, right? And we then configure the
> > > > > > > > > > > > object (i.e. - axis.Velocity = x.x). Is that not correct?
> > > > > > > > > > > >
> > > > > > > > > > > > BTW - The exception I'm getting is happening when I try to hook in my
> > > > > > > > > > > > InterpreterCompleted handler. It hangs in there for several seconds, then
> > > > > > > > > > > > throws the exception. I have to do a debug build of dotNet and step into it
> > > > > > > > > > > > to see what's going on.
> > > > > > > > > > > >
> > > > > > > > > > > > --- In DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> ,
> > > > > > > > > > > > Brad Murry <bradodarb@> wrote:
> > > > > > > > > > > > >
> > > > > > > > > > > > > "> Personally, I find it odd to use functions named "Get" to set
> > > > > > > > > > > > parameters.
> > > > > > > > > > > > > > Not at all intuitive."
> > > > > > > > > > > > >
> > > > > > > > > > > > >
> > > > > > > > > > > > >
> > > > > > > > > > > > > You are not setting any params here. They are object creation methods and
> > > > > > > > > > > > > they `return' a value. Google the Factory pattern to understand why the
> > > > > > > > > > > > > nomenclature is intuitive. You could also have a look at the source to see
> > > > > > > > > > > > > how things actually work, since it is included; alternatively feel free to
> > > > > > > > > > > > > peruse the included API reference.
> > > > > > > > > > > > >
> > > > > > > > > > > > >
> > > > > > > > > > > > >
> > > > > > > > > > > > >
> > > > > > > > > > > > >
> > > > > > > > > > > > >
> > > > > > > > > > > > >
> > > > > > > > > > > > > Regarding #1,
> > > > > > > > > > > > >
> > > > > > > > > > > > >
> > > > > > > > > > > > >
> > > > > > > > > > > > > It is best to use the CheckConnected(params Action[]). You can either use
> > > > > > > > > > > > > it as it is or optionally pass in one or more action delegates to perform
> > > > > > > > > > > > > while the token is obtained.
> > > > > > > > > > > > >
> > > > > > > > > > > > >
> > > > > > > > > > > > >
> > > > > > > > > > > > > -Brad
> > > > > > > > > > > > >
> > > > > > > > > > > > >
> > > > > > > > > > > > >
> > > > > > > > > > > > > From: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > > > > > [mailto:DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> ]
> > > > > > > > > > > > On
> > > > > > > > > > > > > Behalf Of himykabibble
> > > > > > > > > > > > > Sent: Sunday, February 19, 2012 6:41 PM
> > > > > > > > > > > > > To: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > > > > > > Subject: [DynoMotion] Re: Acceleration....
> > > > > > > > > > > > >
> > > > > > > > > > > > >
> > > > > > > > > > > > >
> > > > > > > > > > > > >
> > > > > > > > > > > > >
> > > > > > > > > > > > > Hmmmm.... I replaced the KMController.Connected's with
> > > > > > > > > > > > > KMController.CheckIsReady(). The error on ReadLineTimeout went away(!) by
> > > > > > > > > > > > > itself. So, it now compiles, but when I try to run it, I get and
> > > > > > > > > > > > exception:
> > > > > > > > > > > > >
> > > > > > > > > > > > > An unhandled exception of type
> > > > > > > > > > > > 'System.Reflection.TargetInvocationException'
> > > > > > > > > > > > > occurred in mscorlib.dll
> > > > > > > > > > > > >
> > > > > > > > > > > > > Additional information: Exception has been thrown by the target of an
> > > > > > > > > > > > > invocation.
> > > > > > > > > > > > >
> > > > > > > > > > > > > This did not happen before I re-flashed the board with v429z.
> > > > > > > > > > > > >
> > > > > > > > > > > > > No clue what to do now....
> > > > > > > > > > > > >
> > > > > > > > > > > > > Regards,
> > > > > > > > > > > > > Ray L.
> > > > > > > > > > > > >
> > > > > > > > > > > > > --- In DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > > > > > <mailto:DynoMotion%40yahoogroups.com> ,
> > > > > > > > > > > > > Brad Murry <bradodarb@> wrote:
> > > > > > > > > > > > > >
> > > > > > > > > > > > > > Ray,
> > > > > > > > > > > > > >
> > > > > > > > > > > > > >
> > > > > > > > > > > > > >
> > > > > > > > > > > > > > KM_Controller.Interpreter.SetupParams == KM_Controller.
> > > > > > > > > > > > > > CoordMotion.Interpreter.SetupParams
> > > > > > > > > > > > > >
> > > > > > > > > > > > > >
> > > > > > > > > > > > > >
> > > > > > > > > > > > > > -Brad
> > > > > > > > > > > > > >
> > > > > > > > > > > > > >
> > > > > > > > > > > > > >
> > > > > > > > > > > > > > From: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > > > > > <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > > > > > > [mailto:DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > > > > > <mailto:DynoMotion%40yahoogroups.com> ]
> > > > > > > > > > > > > On
> > > > > > > > > > > > > > Behalf Of himykabibble
> > > > > > > > > > > > > > Sent: Sunday, February 19, 2012 6:09 PM
> > > > > > > > > > > > > > To: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > > > > > <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > > > > > > > Subject: [DynoMotion] Re: Acceleration....
> > > > > > > > > > > > > >
> > > > > > > > > > > > > >
> > > > > > > > > > > > > >
> > > > > > > > > > > > > >
> > > > > > > > > > > > > >
> > > > > > > > > > > > > > Tom,
> > > > > > > > > > > > > >
> > > > > > > > > > > > > > I *think* I've worked through all of the changes except for the two
> > > > > > > > > > > > > detailed
> > > > > > > > > > > > > > below, which have me stumped. The changes I found were:
> > > > > > > > > > > > > >
> > > > > > > > > > > > > > KM_Controller.Interpreter => KM_Controller.CoordMotion.Interpreter
> > > > > > > > > > > > > > KM_Controller.Interpreter.SetupParams =>
> > > > > > > > > > > > > > KM_Controller.CoordMotion.MotionParams
> > > > > > > > > > > > > > KM_Controller.AxisChannels => KM_Controller.GetAxis()
> > > > > > > > > > > > > > KM_Controller.IOPoints => KMController.GetIO()
> > > > > > > > > > > > > >
> > > > > > > > > > > > > > Is that all correct?
> > > > > > > > > > > > > >
> > > > > > > > > > > > > > Personally, I find it odd to use functions named "Get" to set
> > > > > > > > > > > > parameters.
> > > > > > > > > > > > > > Not at all intuitive.
> > > > > > > > > > > > > >
> > > > > > > > > > > > > > Here are the two things I don't yet have resolved:
> > > > > > > > > > > > > >
> > > > > > > > > > > > > > 1) KM_Controller.Connected no longer exists. Does that get replaced with
> > > > > > > > > > > > > the
> > > > > > > > > > > > > > new error callback? How do I know a disconnect has occurred?
> > > > > > > > > > > > > >
> > > > > > > > > > > > > > 2) KM_Controller.ReadLineTimeout() no longer exists. What replaces it?
> > > > > > > > > > > > > >
> > > > > > > > > > > > > > Regards,
> > > > > > > > > > > > > > Ray L.
> > > > > > > > > > > > > >
> > > > > > > > > > > > > > --- In DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > > > > > <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > > > > > > <mailto:DynoMotion%40yahoogroups.com> ,
> > > > > > > > > > > > > > "himykabibble" <jagboy@> wrote:
> > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > Tom,
> > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > Looks like the 429z dotNet implementation has changed a lot of things
> > > > > > > > > > > > > and
> > > > > > > > > > > > > > it has seriously broken my app - I get almost 80 errors, mostly things
> > > > > > > > > > > > > that
> > > > > > > > > > > > > > no longer exist, like KM_Controller.Connected,
> > > > > > > > > > > > KM_Controller.Interpreter,
> > > > > > > > > > > > > > etc. Is there a summary of the required changes somewhere?
> > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > Regards,
> > > > > > > > > > > > > > > Ray L.
> > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > --- In DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > > > > > <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > > > > > > <mailto:DynoMotion%40yahoogroups.com> ,
> > > > > > > > > > > > > > Tom Kerekes <tk@> wrote:
> > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > Hi Ray,
> > > > > > > > > > > > > > > > ÃÆ'Æ'Æ'ÃÆ'†'ÃÆ'Æ'†'ÃÆ'Æ'Æ'ÃÆ'‚¢ÃÆ'Æ'¢ÃÆ'¢â‚¬Å¡ÃÆ'‚¬ÃÆ'Æ'…ÃÆ'‚¡
> > > > > > > > > > > > > > > > I thought you had removed all MoveExp commands?ÃÆ'Æ'Æ'ÃÆ'†'ÃÆ'Æ'†'ÃÆ'Æ'Æ'ÃÆ'‚¢ÃÆ'Æ'¢ÃÆ'¢â‚¬Å¡ÃÆ'‚¬ÃÆ'Æ'…ÃÆ'‚¡ But anyway please
> > > > > > > > > > > > see
> > > > > > > > > > > > > > the V4.29z Version that is now available.ÃÆ'Æ'Æ'ÃÆ'†'ÃÆ'Æ'†'ÃÆ'Æ'Æ'ÃÆ'‚¢ÃÆ'Æ'¢ÃÆ'¢â‚¬Å¡ÃÆ'‚¬ÃÆ'Æ'…ÃÆ'‚¡ The MoveExp has been improved
> > > > > > > > > > > > > to
> > > > > > > > > > > > > > avoid certain issues.ÃÆ'Æ'Æ'ÃÆ'†'ÃÆ'Æ'†'ÃÆ'Æ'Æ'ÃÆ'‚¢ÃÆ'Æ'¢ÃÆ'¢â‚¬Å¡ÃÆ'‚¬ÃÆ'Æ'…ÃÆ'‚¡ The previous version you were using wasn't
> > > > > > > > > > > > > expecting
> > > > > > > > > > > > > > the acceleration to be set so low that once it got onto the exponential
> > > > > > > > > > > > > > velocity curve the allowed deceleration would not be insufficient to
> > > > > > > > > > > > stay
> > > > > > > > > > > > > on
> > > > > > > > > > > > > > the curve and avoid overshooting the target. There was also a bug where
> > > > > > > > > > > > in
> > > > > > > > > > > > > > some cases the MoveExp (after a combination of Jogs) would start off at
> > > > > > > > > > > > a
> > > > > > > > > > > > > > non-zero velocity.ÃÆ'Æ'Æ'ÃÆ'†'ÃÆ'Æ'†'ÃÆ'Æ'Æ'ÃÆ'‚¢ÃÆ'Æ'¢ÃÆ'¢â‚¬Å¡ÃÆ'‚¬ÃÆ'Æ'…ÃÆ'‚¡ It should also allow mixing of Jogs/Moves/MoveExp
> > > > > > > > > > > > with
> > > > > > > > > > > > > > proper blending applied.
> > > > > > > > > > > > > > > > ÃÆ'Æ'Æ'ÃÆ'†'ÃÆ'Æ'†'ÃÆ'Æ'Æ'ÃÆ'‚¢ÃÆ'Æ'¢ÃÆ'¢â‚¬Å¡ÃÆ'‚¬ÃÆ'Æ'…ÃÆ'‚¡
> > > > > > > > > > > > > > > > Regards
> > > > > > > > > > > > > > > > TK
> > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > From: himykabibble <jagboy@>
> > > > > > > > > > > > > > > > To: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > > > > > <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > > > > > > <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > > > > > > > > > Sent: Saturday, February 18, 2012 3:24 PM
> > > > > > > > > > > > > > > > Subject: [DynoMotion] Acceleration....
> > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > ÃÆ'Æ'Æ'ÃÆ'†'ÃÆ'Æ'†'ÃÆ'Æ'Æ'ÃÆ'‚¢ÃÆ'Æ'¢ÃÆ'¢â‚¬Å¡ÃÆ'‚¬ÃÆ'Æ'…ÃÆ'‚¡
> > > > > > > > > > > > > > > > Tom,
> > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > This is just strange.... In the course of trying to sort out the
> > > > > > > > > > > > last
> > > > > > > > > > > > > > few problems (seemingly random faults and position loss when jogging
> > > > > > > > > > > > using
> > > > > > > > > > > > > > MoveExp), I've discovered something which makes no sense at all. For the
> > > > > > > > > > > > > > X/Y/Z axes, I have acceleration of 25 in/sec^2, and velocity of 200 IPM
> > > > > > > > > > > > > for
> > > > > > > > > > > > > > X/Y, and 250 IPM for Z. The axis parameters are being set using those
> > > > > > > > > > > > > values
> > > > > > > > > > > > > > multiplied by steps/inch for each axis (and divided by 60 for the Vel
> > > > > > > > > > > > > > settings). I have PLENTY of reserve capability on the axes - I can
> > > > > > > > > > > > double
> > > > > > > > > > > > > my
> > > > > > > > > > > > > > acceleration up to 50 in/sec^2, and increase velocity from 200 IPM to at
> > > > > > > > > > > > > > least 300 IPM with no problems whatsoever when running G-code, or
> > > > > > > > > > > > jogging
> > &

(Message over 64 KB, truncated)
Group: DynoMotion Message: 3987 From: himykabibble Date: 2/20/2012
Subject: Re: Acceleration....
Brad,

OK, so for now it really only indicates disconnect, correct?

Just tried 429z on the machine. The good news is, it seems to have resolved my many issues with jogging. MoveExp now appears to work correctly, with no banging, no servo faults, and no position loss, even with very low acceleration values. I may be seeing a difference in the responsiveness, but I was running these tests using my laptop, not the machines PC. So I will move v429z over to the machine, and see how it looks. With the laptop, MoveExp moves seemed considerably less smooth - unless the axis was moving very slowly, or very quickly. In between it sounded like it was constantly modulating velocity, resulting in a very "crunchy" sound. There also seemed to be a lot more "activity" around direction reversals - a number of rapid "clicks" from the servo motors, like it was dithering back and forth a few times before settling down and moving off in one direction. Never did that before. Hopefully it's a laptop "feature".

Regards,
Ray L.

--- In DynoMotion@yahoogroups.com, Brad Murry <bradodarb@...> wrote:
>
> Tom just used the same messages he was displaying in a messagebox and pumping them to the callback instead. As strings are immutable and therefore may be used in switch statements the strings are great.
>
>
>
> -Brad
>
>
>
> From: DynoMotion@yahoogroups.com [mailto:DynoMotion@yahoogroups.com] On Behalf Of himykabibble
> Sent: Monday, February 20, 2012 10:23 AM
> To: DynoMotion@yahoogroups.com
> Subject: [DynoMotion] Re: Acceleration....
>
>
>
>
>
> OK, I seem to be up and running with v429z, as long as the board never disconnects. If it does, then the app goes out to lunch right after the error callback. I am assuming, for now, that will go away once CheckConnected() is fixed. I'll try it out on the machine shortly.
>
> Re: the new Error callback - would it not be helpful to provide, in addition to the string error message, an integer error "type", to facilitate error handling/recovery? I'm assuming this will, eventually, be capable of throwing a number of different kinds of errors, and a string is less than ideal for writing a multi-function handler, no?
>
> Regards,
> Ray L.
>
> --- In DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> , "himykabibble" <jagboy@> wrote:
> >
> > Brad/Tom,
> >
> > I've got my app working.... sort of. I had some bugs in the conversion on the IOs, now sorted out, so it no longer hangs coming out of E-Stop, and all the controls are enabling and updating correctly. But right now it's flagging all axes as disabled, so I'm looking into that.
> >
> > --- In DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> , "himykabibble" <jagboy@> wrote:
> > >
> > > Interestingly, if you precede the CheckConnected() call with a WriteLineReadLine(), then CheckConnected() works perfectly.
> > >
> > > --- In DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> , Brad Murry <bradodarb@> wrote:
> > > >
> > > > Hello Ray,
> > > >
> > > >
> > > >
> > > > WaitToken goest to the InteropDLL and calls the CKMotion.DLL’s WaitToken which internally calls the KMotionLock and finally calss the PipeCmd(ENUM_KMotionLock) which seems to always return 0.
> > > >
> > > >
> > > >
> > > >
> > > >
> > > > This bubbles back up to KMOTION_LOCKED in the KMOTION_TOKEN enum.
> > > >
> > > >
> > > >
> > > > CheckConnected(params…) returns true as long as it did not receive KMOTION_NOT_CONNECTED (2).
> > > >
> > > >
> > > >
> > > > -Brad Murry
> > > >
> > > >
> > > >
> > > > From: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> [mailto:DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> ] On Behalf Of himykabibble
> > > > Sent: Monday, February 20, 2012 12:06 AM
> > > > To: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com>
> > > > Subject: [DynoMotion] Re: Acceleration....
> > > >
> > > >
> > > >
> > > >
> > > >
> > > > Brad,
> > > >
> > > > That doesn't seem to be what I'm seeing here. CheckConnected doesn't even seem to call KMotionLock - just WaitToken, which seems to return the wrong value. But I'm really not clear on what that code is really doing....
> > > >
> > > > Regards,
> > > > Ray L.
> > > >
> > > > --- In DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> , Brad Murry <bradodarb@> wrote:
> > > > >
> > > > >
> > > > >
> > > > > I traced it back to the CKMotionDLL.cpp::
> > > > >
> > > > >
> > > > >
> > > > > KMotionLock() firing off PipeCmd(ENUM_KMotionLock) is constantly returning 0.
> > > > >
> > > > >
> > > > >
> > > > >
> > > > >
> > > > > Does everyone else get the same results?
> > > > >
> > > > >
> > > > >
> > > > > -Brad
> > > > >
> > > > >
> > > > >
> > > > >
> > > > >
> > > > > From: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> [mailto:DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> ] On Behalf Of Brad Murry
> > > > > Sent: Sunday, February 19, 2012 11:29 PM
> > > > > To: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com>
> > > > > Subject: RE: [DynoMotion] Re: Acceleration....
> > > > >
> > > > >
> > > > >
> > > > >
> > > > >
> > > > > I misread your question. I thought we were still on the deadlock problem.
> > > > >
> > > > >
> > > > >
> > > > > I will try your scenario.
> > > > >
> > > > >
> > > > >
> > > > > -Brad Murry
> > > > >
> > > > > From: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> [mailto:DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> ] On Behalf Of himykabibble
> > > > > Sent: Sunday, February 19, 2012 11:00 PM
> > > > > To: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com>
> > > > > Subject: [DynoMotion] Re: Acceleration....
> > > > >
> > > > >
> > > > >
> > > > >
> > > > >
> > > > > Brad,
> > > > >
> > > > > It's basically polling the connection state. I am seeing regular calls to CheckConnected(), but, like I said, I can easily get it to consistently return true when the board is not there, or false when it is there. How could my code could be causing that?
> > > > >
> > > > > Regards,
> > > > > Ray L.
> > > > >
> > > > > --- In DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> , Brad Murry <bradodarb@> wrote:
> > > > > >
> > > > > > No chance it could possibly be the code calling CheckConnected() eh?
> > > > > >
> > > > > >
> > > > > >
> > > > > > That feature was there in the last version as well and I have used it with success.
> > > > > >
> > > > > > -Brad
> > > > > >
> > > > > > From: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> [mailto:DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> ] On Behalf Of himykabibble
> > > > > > Sent: Sunday, February 19, 2012 10:48 PM
> > > > > > To: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com>
> > > > > > Subject: [DynoMotion] Re: Acceleration....
> > > > > >
> > > > > >
> > > > > >
> > > > > >
> > > > > >
> > > > > > Brad,
> > > > > >
> > > > > > I think there is a problem in dotNet. CheckConnected is returning true looooooong after I've pulled the cable. I think that's what's putting my app into a wierd state.
> > > > > >
> > > > > > Regards,
> > > > > > Ray L.
> > > > > >
> > > > > > --- In DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> , Brad Murry <bradodarb@> wrote:
> > > > > > >
> > > > > > > Check for begininvokes where there should be invokes and vice versa.
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > > > -Brad
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > > > From: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> [mailto:DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> ] On Behalf Of himykabibble
> > > > > > > Sent: Sunday, February 19, 2012 10:33 PM
> > > > > > > To: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > Subject: [DynoMotion] Re: Acceleration....
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > > > Tom,
> > > > > > >
> > > > > > > Yes. I get reasonable call stacks for all the other threads, including the other worker threads, but it looks like the ones that appear to be hanging I get no useful information once it gets into the bad state. Before it goes wonky, I get good call stacks on all threads. I am running Debug, and can step into the DLLs, so the build is OK.
> > > > > > >
> > > > > > > Regards,
> > > > > > > Ray L.
> > > > > > >
> > > > > > > --- In DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> , Tom Kerekes <tk@> wrote:
> > > > > > > >
> > > > > > > > Are you running the Debug Version?
> > > > > > > > ÃÆ'Æ'Æ'ÃÆ'¢â‚¬Å¡
> > > > > > > > TK
> > > > > > > >
> > > > > > > > From: himykabibble <jagboy@>
> > > > > > > > To: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > Sent: Sunday, February 19, 2012 8:09 PM
> > > > > > > > Subject: [DynoMotion] Re: Acceleration....
> > > > > > > >
> > > > > > > >
> > > > > > > > ÃÆ'Æ'Æ'ÃÆ'¢â‚¬Å¡
> > > > > > > > Unfortunately, for the threads of real interest, the stack trace shows "frames below may be incorrect and/or missing. No symbols loaded for ntdll.dll", then a long list of Windows dll locations, mostly mscorworks.dll.
> > > > > > > >
> > > > > > > > --- In DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> , Tom Kerekes <tk@> wrote:
> > > > > > > > >
> > > > > > > > > Ray,
> > > > > > > > > ÃÆ'Æ'Æ'ÃÆ'†'ÃÆ'Æ'¢ÃÆ'¢â€šÂ¬ÃÆ'…¡ÃÆ'Æ'Æ'ÃÆ'¢â‚¬Å¡
> > > > > > > > > Make the Thread active by double clicking on the Thread in the Debug | Threads window.ÃÆ'Æ'Æ'ÃÆ'†'ÃÆ'Æ'¢ÃÆ'¢â€šÂ¬ÃÆ'…¡ÃÆ'Æ'Æ'ÃÆ'¢â‚¬Å¡ Then the current Program Counter will point to where it is.ÃÆ'Æ'Æ'ÃÆ'†'ÃÆ'Æ'¢ÃÆ'¢â€šÂ¬ÃÆ'…¡ÃÆ'Æ'Æ'ÃÆ'¢â‚¬Å¡ Often it will be down in the bowels of Windows stuff so look at the Stack and work backwards until you get to something recognizable like a Mutex Lock or a call your code made.
> > > > > > > > > ÃÆ'Æ'Æ'ÃÆ'†'ÃÆ'Æ'¢ÃÆ'¢â€šÂ¬ÃÆ'…¡ÃÆ'Æ'Æ'ÃÆ'¢â‚¬Å¡
> > > > > > > > > Regards
> > > > > > > > > TK
> > > > > > > > >
> > > > > > > > > From: himykabibble <jagboy@>
> > > > > > > > > To: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > > Sent: Sunday, February 19, 2012 7:37 PM
> > > > > > > > > Subject: [DynoMotion] Re: Acceleration....
> > > > > > > > >
> > > > > > > > >
> > > > > > > > > ÃÆ'Æ'Æ'ÃÆ'†'ÃÆ'Æ'¢ÃÆ'¢â€šÂ¬ÃÆ'…¡ÃÆ'Æ'Æ'ÃÆ'¢â‚¬Å¡
> > > > > > > > > Tom,
> > > > > > > > >
> > > > > > > > > How do I tell what a thread is waiting on?
> > > > > > > > >
> > > > > > > > > Regards,
> > > > > > > > > Ray L.
> > > > > > > > >
> > > > > > > > > --- In DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> , Tom Kerekes <tk@> wrote:
> > > > > > > > > >
> > > > > > > > > > Hi Ray,
> > > > > > > > > > ÃÆ'Æ'Æ'ÃÆ'†'ÃÆ'Æ'†'ÃÆ'Æ'Æ'ÃÆ'‚¢ÃÆ'Æ'¢ÃÆ'¢â‚¬Å¡ÃÆ'‚¬ÃÆ'Æ'…ÃÆ'‚¡ÃÆ'Æ'Æ'ÃÆ'†'ÃÆ'Æ'¢ÃÆ'¢â€šÂ¬ÃÆ'…¡ÃÆ'Æ'Æ'ÃÆ'¢â‚¬Å¡
> > > > > > > > > > Deadlocks are usually pretty easy to figure out.ÃÆ'Æ'Æ'ÃÆ'†'ÃÆ'Æ'†'ÃÆ'Æ'Æ'ÃÆ'‚¢ÃÆ'Æ'¢ÃÆ'¢â‚¬Å¡ÃÆ'‚¬ÃÆ'Æ'…ÃÆ'‚¡ÃÆ'Æ'Æ'ÃÆ'†'ÃÆ'Æ'¢ÃÆ'¢â€šÂ¬ÃÆ'…¡ÃÆ'Æ'Æ'ÃÆ'¢â‚¬Å¡ Just look at what the threads are stuck waiting on.ÃÆ'Æ'Æ'ÃÆ'†'ÃÆ'Æ'†'ÃÆ'Æ'Æ'ÃÆ'‚¢ÃÆ'Æ'¢ÃÆ'¢â‚¬Å¡ÃÆ'‚¬ÃÆ'Æ'…ÃÆ'‚¡ÃÆ'Æ'Æ'ÃÆ'†'ÃÆ'Æ'¢ÃÆ'¢â€šÂ¬ÃÆ'…¡ÃÆ'Æ'Æ'ÃÆ'¢â‚¬Å¡ It also might be something simple like somebody never released the Token after receiving it.
> > > > > > > > > > ÃÆ'Æ'Æ'ÃÆ'†'ÃÆ'Æ'†'ÃÆ'Æ'Æ'ÃÆ'‚¢ÃÆ'Æ'¢ÃÆ'¢â‚¬Å¡ÃÆ'‚¬ÃÆ'Æ'…ÃÆ'‚¡ÃÆ'Æ'Æ'ÃÆ'†'ÃÆ'Æ'¢ÃÆ'¢â€šÂ¬ÃÆ'…¡ÃÆ'Æ'Æ'ÃÆ'¢â‚¬Å¡
> > > > > > > > > > Regards
> > > > > > > > > > TK
> > > > > > > > > >
> > > > > > > > > > From: himykabibble <jagboy@>
> > > > > > > > > > To: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > > > Sent: Sunday, February 19, 2012 7:23 PM
> > > > > > > > > > Subject: [DynoMotion] Re: Acceleration....
> > > > > > > > > >
> > > > > > > > > >
> > > > > > > > > > ÃÆ'Æ'Æ'ÃÆ'†'ÃÆ'Æ'†'ÃÆ'Æ'Æ'ÃÆ'‚¢ÃÆ'Æ'¢ÃÆ'¢â‚¬Å¡ÃÆ'‚¬ÃÆ'Æ'…ÃÆ'‚¡ÃÆ'Æ'Æ'ÃÆ'†'ÃÆ'Æ'¢ÃÆ'¢â€šÂ¬ÃÆ'…¡ÃÆ'Æ'Æ'ÃÆ'¢â‚¬Å¡
> > > > > > > > > > Yeah, my guess is I'm getting into a deadlock. All the threads that talk to the KFlop seem to be hung (they're still there, just not running), all the others seem to be working OK. I don't know where to go from here.... Something in dotNet must have changed that affects this, as I haven't had this problem with v428 since we got the last deadlock issue sorted out.
> > > > > > > > > >
> > > > > > > > > > --- In DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> , "himykabibble" <jagboy@> wrote:
> > > > > > > > > > >
> > > > > > > > > > > Damn! This seems to be a threading thing.... The worker thread starts up and seems to work OK, until I plug in the board and try to exit E-Stop. I don't understand how to use VS to debug this type of issue. Any suggestions?
> > > > > > > > > > >
> > > > > > > > > > > --- In DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> , "himykabibble" <jagboy@> wrote:
> > > > > > > > > > > >
> > > > > > > > > > > > Brad,
> > > > > > > > > > > >
> > > > > > > > > > > > Odd, the exception was occurring every time when I tried to step over that one line in Release mode. In Debug mode, it got past it just fine, then threw up later. I found a bug in my code (a hard-coded path pointing to the no-longer-there v428 directory), and have gotten past that. It now comes up, indicates the board is connected, but when I try to come out of E-Stop, it comes partially to life, but the worker thread that updates most of the GUI controls seems not to be running. Looking into that now...
> > > > > > > > > > > >
> > > > > > > > > > > > Regards,
> > > > > > > > > > > > Ray L.
> > > > > > > > > > > >
> > > > > > > > > > > >
> > > > > > > > > > > > --- In DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> , Brad Murry <bradodarb@> wrote:
> > > > > > > > > > > > >
> > > > > > > > > > > > > Hello Ray,
> > > > > > > > > > > > >
> > > > > > > > > > > > >
> > > > > > > > > > > > >
> > > > > > > > > > > > > No, KM_Controller no longer maintains a list of axis or io objects. It
> > > > > > > > > > > > > seems cleaner to let the user application dictate where those are kept.
> > > > > > > > > > > > > Those are just convenience methods to create a new object and it
> > > > > > > > > > > > > automatically reference the controller it was created from so it is a safer
> > > > > > > > > > > > > multi-instance/multi-board object. As it simply returns a value and nothing
> > > > > > > > > > > > > else I am not sure why you would think it is setting something.
> > > > > > > > > > > > >
> > > > > > > > > > > > >
> > > > > > > > > > > > >
> > > > > > > > > > > > > I cannot reproduce your interpreter complete issue with the information
> > > > > > > > > > > > > provided.
> > > > > > > > > > > > >
> > > > > > > > > > > > >
> > > > > > > > > > > > >
> > > > > > > > > > > > > -Brad Murry
> > > > > > > > > > > > >
> > > > > > > > > > > > >
> > > > > > > > > > > > >
> > > > > > > > > > > > > From: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> [mailto:DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> ] On
> > > > > > > > > > > > > Behalf Of himykabibble
> > > > > > > > > > > > > Sent: Sunday, February 19, 2012 7:10 PM
> > > > > > > > > > > > > To: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > > > > > > Subject: [DynoMotion] Re: Acceleration....
> > > > > > > > > > > > >
> > > > > > > > > > > > >
> > > > > > > > > > > > >
> > > > > > > > > > > > >
> > > > > > > > > > > > >
> > > > > > > > > > > > > Brad,
> > > > > > > > > > > > >
> > > > > > > > > > > > > I realize it is returning an object. I guess what's not clear, when
> > > > > > > > > > > > > comparing what was there to what is there now, is before it seemed
> > > > > > > > > > > > > straight-forward - I created a list of KM_IOs and a list of KM_Axis, and
> > > > > > > > > > > > > passed those lists to KM_Controller. All very transparent. I assume
> > > > > > > > > > > > > KM_Controller is now adding to the list when you do the corresponding Get,
> > > > > > > > > > > > > and returning a reference to the object, right? And we then configure the
> > > > > > > > > > > > > object (i.e. - axis.Velocity = x.x). Is that not correct?
> > > > > > > > > > > > >
> > > > > > > > > > > > > BTW - The exception I'm getting is happening when I try to hook in my
> > > > > > > > > > > > > InterpreterCompleted handler. It hangs in there for several seconds, then
> > > > > > > > > > > > > throws the exception. I have to do a debug build of dotNet and step into it
> > > > > > > > > > > > > to see what's going on.
> > > > > > > > > > > > >
> > > > > > > > > > > > > --- In DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> ,
> > > > > > > > > > > > > Brad Murry <bradodarb@> wrote:
> > > > > > > > > > > > > >
> > > > > > > > > > > > > > "> Personally, I find it odd to use functions named "Get" to set
> > > > > > > > > > > > > parameters.
> > > > > > > > > > > > > > > Not at all intuitive."
> > > > > > > > > > > > > >
> > > > > > > > > > > > > >
> > > > > > > > > > > > > >
> > > > > > > > > > > > > > You are not setting any params here. They are object creation methods and
> > > > > > > > > > > > > > they `return' a value. Google the Factory pattern to understand why the
> > > > > > > > > > > > > > nomenclature is intuitive. You could also have a look at the source to see
> > > > > > > > > > > > > > how things actually work, since it is included; alternatively feel free to
> > > > > > > > > > > > > > peruse the included API reference.
> > > > > > > > > > > > > >
> > > > > > > > > > > > > >
> > > > > > > > > > > > > >
> > > > > > > > > > > > > >
> > > > > > > > > > > > > >
> > > > > > > > > > > > > >
> > > > > > > > > > > > > >
> > > > > > > > > > > > > > Regarding #1,
> > > > > > > > > > > > > >
> > > > > > > > > > > > > >
> > > > > > > > > > > > > >
> > > > > > > > > > > > > > It is best to use the CheckConnected(params Action[]). You can either use
> > > > > > > > > > > > > > it as it is or optionally pass in one or more action delegates to perform
> > > > > > > > > > > > > > while the token is obtained.
> > > > > > > > > > > > > >
> > > > > > > > > > > > > >
> > > > > > > > > > > > > >
> > > > > > > > > > > > > > -Brad
> > > > > > > > > > > > > >
> > > > > > > > > > > > > >
> > > > > > > > > > > > > >
> > > > > > > > > > > > > > From: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > > > > > > [mailto:DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> ]
> > > > > > > > > > > > > On
> > > > > > > > > > > > > > Behalf Of himykabibble
> > > > > > > > > > > > > > Sent: Sunday, February 19, 2012 6:41 PM
> > > > > > > > > > > > > > To: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > > > > > > > Subject: [DynoMotion] Re: Acceleration....
> > > > > > > > > > > > > >
> > > > > > > > > > > > > >
> > > > > > > > > > > > > >
> > > > > > > > > > > > > >
> > > > > > > > > > > > > >
> > > > > > > > > > > > > > Hmmmm.... I replaced the KMController.Connected's with
> > > > > > > > > > > > > > KMController.CheckIsReady(). The error on ReadLineTimeout went away(!) by
> > > > > > > > > > > > > > itself. So, it now compiles, but when I try to run it, I get and
> > > > > > > > > > > > > exception:
> > > > > > > > > > > > > >
> > > > > > > > > > > > > > An unhandled exception of type
> > > > > > > > > > > > > 'System.Reflection.TargetInvocationException'
> > > > > > > > > > > > > > occurred in mscorlib.dll
> > > > > > > > > > > > > >
> > > > > > > > > > > > > > Additional information: Exception has been thrown by the target of an
> > > > > > > > > > > > > > invocation.
> > > > > > > > > > > > > >
> > > > > > > > > > > > > > This did not happen before I re-flashed the board with v429z.
> > > > > > > > > > > > > >
> > > > > > > > > > > > > > No clue what to do now....
> > > > > > > > > > > > > >
> > > > > > > > > > > > > > Regards,
> > > > > > > > > > > > > > Ray L.
> > > > > > > > > > > > > >
> > > > > > > > > > > > > > --- In DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > > > > > > <mailto:DynoMotion%40yahoogroups.com> ,
> > > > > > > > > > > > > > Brad Murry <bradodarb@> wrote:
> > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > Ray,
> > > > > > > > > > > > > > >
> > > > > > > > > > > > > > >
> > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > KM_Controller.Interpreter.SetupParams == KM_Controller.
> > > > > > > > > > > > > > > CoordMotion.Interpreter.SetupParams
> > > > > > > > > > > > > > >
> > > > > > > > > > > > > > >
> > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > -Brad
> > > > > > > > > > > > > > >
> > > > > > > > > > > > > > >
> > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > From: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > > > > > > <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > > > > > > > [mailto:DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > > > > > > <mailto:DynoMotion%40yahoogroups.com> ]
> > > > > > > > > > > > > > On
> > > > > > > > > > > > > > > Behalf Of himykabibble
> > > > > > > > > > > > > > > Sent: Sunday, February 19, 2012 6:09 PM
> > > > > > > > > > > > > > > To: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > > > > > > <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > > > > > > > > Subject: [DynoMotion] Re: Acceleration....
> > > > > > > > > > > > > > >
> > > > > > > > > > > > > > >
> > > > > > > > > > > > > > >
> > > > > > > > > > > > > > >
> > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > Tom,
> > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > I *think* I've worked through all of the changes except for the two
> > > > > > > > > > > > > > detailed
> > > > > > > > > > > > > > > below, which have me stumped. The changes I found were:
> > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > KM_Controller.Interpreter => KM_Controller.CoordMotion.Interpreter
> > > > > > > > > > > > > > > KM_Controller.Interpreter.SetupParams =>
> > > > > > > > > > > > > > > KM_Controller.CoordMotion.MotionParams
> > > > > > > > > > > > > > > KM_Controller.AxisChannels => KM_Controller.GetAxis()
> > > > > > > > > > > > > > > KM_Controller.IOPoints => KMController.GetIO()
> > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > Is that all correct?
> > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > Personally, I find it odd to use functions named "Get" to set
> > > > > > > > > > > > > parameters.
> > > > > > > > > > > > > > > Not at all intuitive.
> > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > Here are the two things I don't yet have resolved:
> > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > 1) KM_Controller.Connected no longer exists. Does that get replaced with
> > > > > > > > > > > > > > the
> > > > > > > > > > > > > > > new error callback? How do I know a disconnect has occurred?
> > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > 2) KM_Controller.ReadLineTimeout() no longer exists. What replaces it?
> > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > Regards,
> > > > > > > > > > > > > > > Ray L.
> > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > --- In DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > > > > > > <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > > > > > > > <mailto:DynoMotion%40yahoogroups.com> ,
> > > > > > > > > > > > > > > "himykabibble" <jagboy@> wrote:
> > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > Tom,
> > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > Looks like the 429z dotNet implementation has changed a lot of things
> > > > > > > > > > > > > > and
> > > > > > > > > > > > > > > it has seriously broken my app - I get almost 80 errors, mostly things
> > > > > > > > > > > > > > that
> > > > > > > > > > > > > > > no longer exist, like KM_Controller.Connected,
> > > > > > > > > > > > > KM_Controller.Interpreter,
> > > > > > > > > > > > > > > etc. Is there a summary of the required changes somewhere?
> > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > Regards,
> > > > > > > > > > > > > > > > Ray L.
> > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > --- In DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > > > > > > <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > > > > > > > <mailto:DynoMotion%40yahoogroups.com> ,
> > > > > > > > > > > > > > > Tom Kerekes <tk@> wrote:
> > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > Hi Ray,
> > > > > > > > > > > > > > > > > ÃÆ'Æ'Æ'ÃÆ'†'ÃÆ'Æ'†'ÃÆ'Æ'Æ'ÃÆ'¢â‚¬ 'ÃÆ'Æ'Æ'ÃÆ'†'ÃÆ'Æ'‚ÃÆ'‚¢ÃÆ'Æ'Æ'ÃÆ'‚¢ÃÆ'Æ'¢ÃÆ'¢â€šÂ¬ÃÆ'…¡ÃÆ'Æ'‚ÃÆ'‚¬ÃÆ'Æ'Æ'ÃÆ'¢â‚¬Â¦ÃÆ'Æ'‚ÃÆ'‚¡
> > > > > > > > > > > > > > > > > I thought you had removed all MoveExp commands?ÃÆ'Æ'Æ'ÃÆ'†'ÃÆ'Æ'†'ÃÆ'Æ'Æ'ÃÆ'¢â‚¬ 'ÃÆ'Æ'Æ'ÃÆ'†'ÃÆ'Æ'‚ÃÆ'‚¢ÃÆ'Æ'Æ'ÃÆ'‚¢ÃÆ'Æ'¢ÃÆ'¢â€šÂ¬ÃÆ'…¡ÃÆ'Æ'‚ÃÆ'‚¬ÃÆ'Æ'Æ'ÃÆ'¢â‚¬Â¦ÃÆ'Æ'‚ÃÆ'‚¡ But anyway please
> > > > > > > > > > > > > see
> > > > > > > > > > > > > > > the V4.29z Version that is now available.ÃÆ'Æ'Æ'ÃÆ'†'ÃÆ'Æ'†'ÃÆ'Æ'Æ'ÃÆ'¢â‚¬ 'ÃÆ'Æ'Æ'ÃÆ'†'ÃÆ'Æ'‚ÃÆ'‚¢ÃÆ'Æ'Æ'ÃÆ'‚¢ÃÆ'Æ'¢ÃÆ'¢â€šÂ¬ÃÆ'…¡ÃÆ'Æ'‚ÃÆ'‚¬ÃÆ'Æ'Æ'ÃÆ'¢â‚¬Â¦ÃÆ'Æ'‚ÃÆ'‚¡ The MoveExp has been improved
> > > > > > > > > > > > > > to
> > > > > > > > > > > > > > > avoid certain issues.ÃÆ'Æ'Æ'ÃÆ'†'ÃÆ'Æ'†'ÃÆ'Æ'Æ'ÃÆ'¢â‚¬ 'ÃÆ'Æ'Æ'ÃÆ'†'ÃÆ'Æ'‚ÃÆ'‚¢ÃÆ'Æ'Æ'ÃÆ'‚¢ÃÆ'Æ'¢ÃÆ'¢â€šÂ¬ÃÆ'…¡ÃÆ'Æ'‚ÃÆ'‚¬ÃÆ'Æ'Æ'ÃÆ'¢â‚¬Â¦ÃÆ'Æ'‚ÃÆ'‚¡ The previous version you were using wasn't
> > > > > > > > > > > > > > expecting
> > > > > > > > > > > > > > > the acceleration to be set so low that once it got onto the exponential
> > > > > > > > > > > > > > > velocity curve the allowed deceleration would not be insufficient to
> > > > > > > > > > > > > stay
> > > > > > > > > > > > > > on
> > > > > > > > > > > > > > > the curve and avoid overshooting the target. There was also a bug where
> > > > > > > > > > > > > in
> > > > > > > > > > > > > > > some cases the MoveExp (after a combination of Jogs) would start off at
> > > > > > > > > > > > > a
> > > > > > > > > > > > > > > non-zero velocity.ÃÆ'Æ'Æ'ÃÆ'†'ÃÆ'Æ'†'ÃÆ'Æ'Æ'ÃÆ'¢â‚¬ 'ÃÆ'Æ'Æ'ÃÆ'†'ÃÆ'Æ'‚ÃÆ'‚¢ÃÆ'Æ'Æ'ÃÆ'‚¢ÃÆ'Æ'¢ÃÆ'¢â€šÂ¬ÃÆ'…¡ÃÆ'Æ'‚ÃÆ'‚¬ÃÆ'Æ'Æ'ÃÆ'¢â‚¬Â¦ÃÆ'Æ'‚ÃÆ'‚¡ It should also allow mixing of Jogs/Moves/MoveExp
> > > > > > > > > > > > > with
> > > > > > > > > > > > > > > proper blending applied.
> > > > > > > > > > > > > > > > > ÃÆ'Æ'Æ'ÃÆ'†'ÃÆ'Æ'†'ÃÆ'Æ'Æ'ÃÆ'¢â‚¬ 'ÃÆ'Æ'Æ'ÃÆ'†'ÃÆ'Æ'‚ÃÆ'‚¢ÃÆ'Æ'Æ'ÃÆ'‚¢ÃÆ'Æ'¢ÃÆ'¢â€šÂ¬ÃÆ'…¡ÃÆ'Æ'‚ÃÆ'‚¬ÃÆ'Æ'Æ'ÃÆ'¢â‚¬Â¦ÃÆ'Æ'‚ÃÆ'‚¡
> > > > > > > > > > > > > > > > > Regards
> > > > > > > > > > > > > > > > > TK
> > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > From: himykabibble <jagboy@>
> > > > > > > > > > > > > > > > > To: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > > > > > > <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > > > > > > > <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > > > > > > > > > > Sent: Saturday, February 18, 2012 3:24 PM
> > > > > > > > > > > > > > > > > Subject: [DynoMotion] Acceleration....
> > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > ÃÆ'Æ'Æ'ÃÆ'†'ÃÆ'Æ'†'ÃÆ'Æ'Æ'ÃÆ'¢â‚¬ 'ÃÆ'Æ'Æ'ÃÆ'†'ÃÆ'Æ'‚ÃÆ'‚¢ÃÆ'Æ'Æ'ÃÆ'‚¢ÃÆ'Æ'¢ÃÆ'¢â€šÂ¬ÃÆ'…¡ÃÆ'Æ'‚ÃÆ'‚¬ÃÆ'Æ'Æ'ÃÆ'¢â‚¬Â¦ÃÆ'Æ'‚ÃÆ'‚¡
> > > > > > > > > > > > > > > > > Tom,
> > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > This is just strange.... In the course of trying to sort out the
> > > > > > > > > > > > > last
> > > > > > > > > > > > > > > few problems (seemingly random faults and position loss when jogging
> > > > > > > > > > > > > using
> > > > > > > > > > > > > > > MoveExp), I've discovered something which makes no sense at all. For the
> > > > > > > > > > > > > > > X/Y/Z axes, I have acceleration of 25 in/sec^2, and velocity of 200 IPM
> > > > > > > > > > > > > > for
> > > > > > > > > > > > > > > X/Y, and 250 IPM for Z. The axis parameters are being set using those
> > > > > > > > > > > > > > values
> > > > > > > > > > > > > > > multiplied by steps/inch for each axis (and divided by 60 for the Vel
> > > > > > > > > > > > > > > settings). I have PLENTY of reserve capability on the axes - I can
> > > > > > > > > > > > > double
> > > > > > > > > > > > > > my
> > > > > > > > > > > > > > > acceleration up to 50 in/sec^2, and increase velocity from 200 IPM to at
> > > > > > > > > > > > > > > least 300 IPM with no problems whatsoever when running G-code, or
> > > > > > > > > > > > > jogging
> > > > > > > > > > > > > > > with Jog(). But, using MoveExp(), I get random faults and position loss.
> > > > > > > > > > > > > > If
> > > > > > > > > > > > > > > I REDUCE the accelerations, say from 25 in/sec^2 to 5 in/sec^2, I get
> > > > > > > > > > > > > TONS
> > > > > > > > > > > > > > > of faults on all axes. In fact, on my A axis, if I reduce acceleration
> > > > > > > > > > > > > > from
> > > > > > > > > > > > > > > 5 in/sec^2 to 0.05 in/sec^2, I can BARELY get the axis to move at all
> > > > > > > > > > > > > > using
> > > > > > > > > > > > > > > > > MoveExp. Most of the time, it faults with a loud bang the instant I
> > > > > > > > > > > > > > > touch the MPG. There HAS to be either a problem in MoveExp, or something
> > > > > > > > > > > > > > > really stupid I'm doing wrong, but I'm out of places to look.
> > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > Regards,
> > > > > > > > > > > > > > > > > Ray L.
> > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > >
> > > > > > > > > > > > > >
> > > > > > > > > > > > >
> > > > > > > > > > > >
> > > > > > > > > > >
> > > > > > > > > >
> > > > > > > > >
> > > > > > > >
> > > > > > >
> > > > > >
> > > > >
> > > >
> > >
> >
>
Group: DynoMotion Message: 4000 From: himykabibble Date: 2/20/2012
Subject: Re: Acceleration....
Brad/Tom,

OK, with everything moved over to the machine, all seems well - finally no more position loss or faulting on jogs in any mode, and the motion seems OK - there must be some difference between the machine PC and my laptop that explains the "crunchy" moves. So, except for detecting disconnects, things are looking pretty good!

Brad,

I have an issue with building dotNet that has me stumped. I can run only with the installed build, I can't do a new build. I think I had this same problem when I installed v428, and can't recall how I got around it. I installed v429z, then open VS2008, and open the BuildAllLibs solution. This results in an error dialog saying:

"Unable to read KMotion_dotNet.csproj.
C:\WINDOWS\Microsoft.NET\Framework\v40.030319\Microsoft.CSharp.targets(132,9): The Attribute "Returns" in element <Target> is unrecognized"

ALL of the other projects in the solution open with no problem.

I *think* I resolved this in v428 by forcing the project to reference .NET 2.0, then setting it back to 3.5. But, I was using VS2010Express back then, and I can't find a way to change that setting in VS2008. It will not allow me to open the project at all - KMotion_dotNet is dimmed out in the solution viewer.

Any ideas?

Regards,
Ray L.

--- In DynoMotion@yahoogroups.com, "himykabibble" <jagboy@...> wrote:
>
> Brad,
>
> OK, so for now it really only indicates disconnect, correct?
>
> Just tried 429z on the machine. The good news is, it seems to have resolved my many issues with jogging. MoveExp now appears to work correctly, with no banging, no servo faults, and no position loss, even with very low acceleration values. I may be seeing a difference in the responsiveness, but I was running these tests using my laptop, not the machines PC. So I will move v429z over to the machine, and see how it looks. With the laptop, MoveExp moves seemed considerably less smooth - unless the axis was moving very slowly, or very quickly. In between it sounded like it was constantly modulating velocity, resulting in a very "crunchy" sound. There also seemed to be a lot more "activity" around direction reversals - a number of rapid "clicks" from the servo motors, like it was dithering back and forth a few times before settling down and moving off in one direction. Never did that before. Hopefully it's a laptop "feature".
>
> Regards,
> Ray L.
>
> --- In DynoMotion@yahoogroups.com, Brad Murry <bradodarb@> wrote:
> >
> > Tom just used the same messages he was displaying in a messagebox and pumping them to the callback instead. As strings are immutable and therefore may be used in switch statements the strings are great.
> >
> >
> >
> > -Brad
> >
> >
> >
> > From: DynoMotion@yahoogroups.com [mailto:DynoMotion@yahoogroups.com] On Behalf Of himykabibble
> > Sent: Monday, February 20, 2012 10:23 AM
> > To: DynoMotion@yahoogroups.com
> > Subject: [DynoMotion] Re: Acceleration....
> >
> >
> >
> >
> >
> > OK, I seem to be up and running with v429z, as long as the board never disconnects. If it does, then the app goes out to lunch right after the error callback. I am assuming, for now, that will go away once CheckConnected() is fixed. I'll try it out on the machine shortly.
> >
> > Re: the new Error callback - would it not be helpful to provide, in addition to the string error message, an integer error "type", to facilitate error handling/recovery? I'm assuming this will, eventually, be capable of throwing a number of different kinds of errors, and a string is less than ideal for writing a multi-function handler, no?
> >
> > Regards,
> > Ray L.
> >
> > --- In DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> , "himykabibble" <jagboy@> wrote:
> > >
> > > Brad/Tom,
> > >
> > > I've got my app working.... sort of. I had some bugs in the conversion on the IOs, now sorted out, so it no longer hangs coming out of E-Stop, and all the controls are enabling and updating correctly. But right now it's flagging all axes as disabled, so I'm looking into that.
> > >
> > > --- In DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> , "himykabibble" <jagboy@> wrote:
> > > >
> > > > Interestingly, if you precede the CheckConnected() call with a WriteLineReadLine(), then CheckConnected() works perfectly.
> > > >
> > > > --- In DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> , Brad Murry <bradodarb@> wrote:
> > > > >
> > > > > Hello Ray,
> > > > >
> > > > >
> > > > >
> > > > > WaitToken goest to the InteropDLL and calls the CKMotion.DLL’s WaitToken which internally calls the KMotionLock and finally calss the PipeCmd(ENUM_KMotionLock) which seems to always return 0.
> > > > >
> > > > >
> > > > >
> > > > >
> > > > >
> > > > > This bubbles back up to KMOTION_LOCKED in the KMOTION_TOKEN enum.
> > > > >
> > > > >
> > > > >
> > > > > CheckConnected(params…) returns true as long as it did not receive KMOTION_NOT_CONNECTED (2).
> > > > >
> > > > >
> > > > >
> > > > > -Brad Murry
> > > > >
> > > > >
> > > > >
> > > > > From: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> [mailto:DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> ] On Behalf Of himykabibble
> > > > > Sent: Monday, February 20, 2012 12:06 AM
> > > > > To: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com>
> > > > > Subject: [DynoMotion] Re: Acceleration....
> > > > >
> > > > >
> > > > >
> > > > >
> > > > >
> > > > > Brad,
> > > > >
> > > > > That doesn't seem to be what I'm seeing here. CheckConnected doesn't even seem to call KMotionLock - just WaitToken, which seems to return the wrong value. But I'm really not clear on what that code is really doing....
> > > > >
> > > > > Regards,
> > > > > Ray L.
> > > > >
> > > > > --- In DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> , Brad Murry <bradodarb@> wrote:
> > > > > >
> > > > > >
> > > > > >
> > > > > > I traced it back to the CKMotionDLL.cpp::
> > > > > >
> > > > > >
> > > > > >
> > > > > > KMotionLock() firing off PipeCmd(ENUM_KMotionLock) is constantly returning 0.
> > > > > >
> > > > > >
> > > > > >
> > > > > >
> > > > > >
> > > > > > Does everyone else get the same results?
> > > > > >
> > > > > >
> > > > > >
> > > > > > -Brad
> > > > > >
> > > > > >
> > > > > >
> > > > > >
> > > > > >
> > > > > > From: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> [mailto:DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> ] On Behalf Of Brad Murry
> > > > > > Sent: Sunday, February 19, 2012 11:29 PM
> > > > > > To: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com>
> > > > > > Subject: RE: [DynoMotion] Re: Acceleration....
> > > > > >
> > > > > >
> > > > > >
> > > > > >
> > > > > >
> > > > > > I misread your question. I thought we were still on the deadlock problem.
> > > > > >
> > > > > >
> > > > > >
> > > > > > I will try your scenario.
> > > > > >
> > > > > >
> > > > > >
> > > > > > -Brad Murry
> > > > > >
> > > > > > From: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> [mailto:DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> ] On Behalf Of himykabibble
> > > > > > Sent: Sunday, February 19, 2012 11:00 PM
> > > > > > To: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com>
> > > > > > Subject: [DynoMotion] Re: Acceleration....
> > > > > >
> > > > > >
> > > > > >
> > > > > >
> > > > > >
> > > > > > Brad,
> > > > > >
> > > > > > It's basically polling the connection state. I am seeing regular calls to CheckConnected(), but, like I said, I can easily get it to consistently return true when the board is not there, or false when it is there. How could my code could be causing that?
> > > > > >
> > > > > > Regards,
> > > > > > Ray L.
> > > > > >
> > > > > > --- In DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> , Brad Murry <bradodarb@> wrote:
> > > > > > >
> > > > > > > No chance it could possibly be the code calling CheckConnected() eh?
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > > > That feature was there in the last version as well and I have used it with success.
> > > > > > >
> > > > > > > -Brad
> > > > > > >
> > > > > > > From: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> [mailto:DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> ] On Behalf Of himykabibble
> > > > > > > Sent: Sunday, February 19, 2012 10:48 PM
> > > > > > > To: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > Subject: [DynoMotion] Re: Acceleration....
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > > > Brad,
> > > > > > >
> > > > > > > I think there is a problem in dotNet. CheckConnected is returning true looooooong after I've pulled the cable. I think that's what's putting my app into a wierd state.
> > > > > > >
> > > > > > > Regards,
> > > > > > > Ray L.
> > > > > > >
> > > > > > > --- In DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> , Brad Murry <bradodarb@> wrote:
> > > > > > > >
> > > > > > > > Check for begininvokes where there should be invokes and vice versa.
> > > > > > > >
> > > > > > > >
> > > > > > > >
> > > > > > > > -Brad
> > > > > > > >
> > > > > > > >
> > > > > > > >
> > > > > > > > From: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> [mailto:DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> ] On Behalf Of himykabibble
> > > > > > > > Sent: Sunday, February 19, 2012 10:33 PM
> > > > > > > > To: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > Subject: [DynoMotion] Re: Acceleration....
> > > > > > > >
> > > > > > > >
> > > > > > > >
> > > > > > > >
> > > > > > > >
> > > > > > > > Tom,
> > > > > > > >
> > > > > > > > Yes. I get reasonable call stacks for all the other threads, including the other worker threads, but it looks like the ones that appear to be hanging I get no useful information once it gets into the bad state. Before it goes wonky, I get good call stacks on all threads. I am running Debug, and can step into the DLLs, so the build is OK.
> > > > > > > >
> > > > > > > > Regards,
> > > > > > > > Ray L.
> > > > > > > >
> > > > > > > > --- In DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> , Tom Kerekes <tk@> wrote:
> > > > > > > > >
> > > > > > > > > Are you running the Debug Version?
> > > > > > > > > ÃÆ'Æ'Æ'ÃÆ'¢â‚¬Å¡
> > > > > > > > > TK
> > > > > > > > >
> > > > > > > > > From: himykabibble <jagboy@>
> > > > > > > > > To: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > > Sent: Sunday, February 19, 2012 8:09 PM
> > > > > > > > > Subject: [DynoMotion] Re: Acceleration....
> > > > > > > > >
> > > > > > > > >
> > > > > > > > > ÃÆ'Æ'Æ'ÃÆ'¢â‚¬Å¡
> > > > > > > > > Unfortunately, for the threads of real interest, the stack trace shows "frames below may be incorrect and/or missing. No symbols loaded for ntdll.dll", then a long list of Windows dll locations, mostly mscorworks.dll.
> > > > > > > > >
> > > > > > > > > --- In DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> , Tom Kerekes <tk@> wrote:
> > > > > > > > > >
> > > > > > > > > > Ray,
> > > > > > > > > > ÃÆ'Æ'Æ'ÃÆ'†'ÃÆ'Æ'¢ÃÆ'¢â€šÂ¬ÃÆ'…¡ÃÆ'Æ'Æ'ÃÆ'¢â‚¬Å¡
> > > > > > > > > > Make the Thread active by double clicking on the Thread in the Debug | Threads window.ÃÆ'Æ'Æ'ÃÆ'†'ÃÆ'Æ'¢ÃÆ'¢â€šÂ¬ÃÆ'…¡ÃÆ'Æ'Æ'ÃÆ'¢â‚¬Å¡ Then the current Program Counter will point to where it is.ÃÆ'Æ'Æ'ÃÆ'†'ÃÆ'Æ'¢ÃÆ'¢â€šÂ¬ÃÆ'…¡ÃÆ'Æ'Æ'ÃÆ'¢â‚¬Å¡ Often it will be down in the bowels of Windows stuff so look at the Stack and work backwards until you get to something recognizable like a Mutex Lock or a call your code made.
> > > > > > > > > > ÃÆ'Æ'Æ'ÃÆ'†'ÃÆ'Æ'¢ÃÆ'¢â€šÂ¬ÃÆ'…¡ÃÆ'Æ'Æ'ÃÆ'¢â‚¬Å¡
> > > > > > > > > > Regards
> > > > > > > > > > TK
> > > > > > > > > >
> > > > > > > > > > From: himykabibble <jagboy@>
> > > > > > > > > > To: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > > > Sent: Sunday, February 19, 2012 7:37 PM
> > > > > > > > > > Subject: [DynoMotion] Re: Acceleration....
> > > > > > > > > >
> > > > > > > > > >
> > > > > > > > > > ÃÆ'Æ'Æ'ÃÆ'†'ÃÆ'Æ'¢ÃÆ'¢â€šÂ¬ÃÆ'…¡ÃÆ'Æ'Æ'ÃÆ'¢â‚¬Å¡
> > > > > > > > > > Tom,
> > > > > > > > > >
> > > > > > > > > > How do I tell what a thread is waiting on?
> > > > > > > > > >
> > > > > > > > > > Regards,
> > > > > > > > > > Ray L.
> > > > > > > > > >
> > > > > > > > > > --- In DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> , Tom Kerekes <tk@> wrote:
> > > > > > > > > > >
> > > > > > > > > > > Hi Ray,
> > > > > > > > > > > ÃÆ'Æ'Æ'ÃÆ'†'ÃÆ'Æ'†'ÃÆ'Æ'Æ'ÃÆ'‚¢ÃÆ'Æ'¢ÃÆ'¢â‚¬Å¡ÃÆ'‚¬ÃÆ'Æ'…ÃÆ'‚¡ÃÆ'Æ'Æ'ÃÆ'†'ÃÆ'Æ'¢ÃÆ'¢â€šÂ¬ÃÆ'…¡ÃÆ'Æ'Æ'ÃÆ'¢â‚¬Å¡
> > > > > > > > > > > Deadlocks are usually pretty easy to figure out.ÃÆ'Æ'Æ'ÃÆ'†'ÃÆ'Æ'†'ÃÆ'Æ'Æ'ÃÆ'‚¢ÃÆ'Æ'¢ÃÆ'¢â‚¬Å¡ÃÆ'‚¬ÃÆ'Æ'…ÃÆ'‚¡ÃÆ'Æ'Æ'ÃÆ'†'ÃÆ'Æ'¢ÃÆ'¢â€šÂ¬ÃÆ'…¡ÃÆ'Æ'Æ'ÃÆ'¢â‚¬Å¡ Just look at what the threads are stuck waiting on.ÃÆ'Æ'Æ'ÃÆ'†'ÃÆ'Æ'†'ÃÆ'Æ'Æ'ÃÆ'‚¢ÃÆ'Æ'¢ÃÆ'¢â‚¬Å¡ÃÆ'‚¬ÃÆ'Æ'…ÃÆ'‚¡ÃÆ'Æ'Æ'ÃÆ'†'ÃÆ'Æ'¢ÃÆ'¢â€šÂ¬ÃÆ'…¡ÃÆ'Æ'Æ'ÃÆ'¢â‚¬Å¡ It also might be something simple like somebody never released the Token after receiving it.
> > > > > > > > > > > ÃÆ'Æ'Æ'ÃÆ'†'ÃÆ'Æ'†'ÃÆ'Æ'Æ'ÃÆ'‚¢ÃÆ'Æ'¢ÃÆ'¢â‚¬Å¡ÃÆ'‚¬ÃÆ'Æ'…ÃÆ'‚¡ÃÆ'Æ'Æ'ÃÆ'†'ÃÆ'Æ'¢ÃÆ'¢â€šÂ¬ÃÆ'…¡ÃÆ'Æ'Æ'ÃÆ'¢â‚¬Å¡
> > > > > > > > > > > Regards
> > > > > > > > > > > TK
> > > > > > > > > > >
> > > > > > > > > > > From: himykabibble <jagboy@>
> > > > > > > > > > > To: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > > > > Sent: Sunday, February 19, 2012 7:23 PM
> > > > > > > > > > > Subject: [DynoMotion] Re: Acceleration....
> > > > > > > > > > >
> > > > > > > > > > >
> > > > > > > > > > > ÃÆ'Æ'Æ'ÃÆ'†'ÃÆ'Æ'†'ÃÆ'Æ'Æ'ÃÆ'‚¢ÃÆ'Æ'¢ÃÆ'¢â‚¬Å¡ÃÆ'‚¬ÃÆ'Æ'…ÃÆ'‚¡ÃÆ'Æ'Æ'ÃÆ'†'ÃÆ'Æ'¢ÃÆ'¢â€šÂ¬ÃÆ'…¡ÃÆ'Æ'Æ'ÃÆ'¢â‚¬Å¡
> > > > > > > > > > > Yeah, my guess is I'm getting into a deadlock. All the threads that talk to the KFlop seem to be hung (they're still there, just not running), all the others seem to be working OK. I don't know where to go from here.... Something in dotNet must have changed that affects this, as I haven't had this problem with v428 since we got the last deadlock issue sorted out.
> > > > > > > > > > >
> > > > > > > > > > > --- In DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> , "himykabibble" <jagboy@> wrote:
> > > > > > > > > > > >
> > > > > > > > > > > > Damn! This seems to be a threading thing.... The worker thread starts up and seems to work OK, until I plug in the board and try to exit E-Stop. I don't understand how to use VS to debug this type of issue. Any suggestions?
> > > > > > > > > > > >
> > > > > > > > > > > > --- In DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> , "himykabibble" <jagboy@> wrote:
> > > > > > > > > > > > >
> > > > > > > > > > > > > Brad,
> > > > > > > > > > > > >
> > > > > > > > > > > > > Odd, the exception was occurring every time when I tried to step over that one line in Release mode. In Debug mode, it got past it just fine, then threw up later. I found a bug in my code (a hard-coded path pointing to the no-longer-there v428 directory), and have gotten past that. It now comes up, indicates the board is connected, but when I try to come out of E-Stop, it comes partially to life, but the worker thread that updates most of the GUI controls seems not to be running. Looking into that now...
> > > > > > > > > > > > >
> > > > > > > > > > > > > Regards,
> > > > > > > > > > > > > Ray L.
> > > > > > > > > > > > >
> > > > > > > > > > > > >
> > > > > > > > > > > > > --- In DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> , Brad Murry <bradodarb@> wrote:
> > > > > > > > > > > > > >
> > > > > > > > > > > > > > Hello Ray,
> > > > > > > > > > > > > >
> > > > > > > > > > > > > >
> > > > > > > > > > > > > >
> > > > > > > > > > > > > > No, KM_Controller no longer maintains a list of axis or io objects. It
> > > > > > > > > > > > > > seems cleaner to let the user application dictate where those are kept.
> > > > > > > > > > > > > > Those are just convenience methods to create a new object and it
> > > > > > > > > > > > > > automatically reference the controller it was created from so it is a safer
> > > > > > > > > > > > > > multi-instance/multi-board object. As it simply returns a value and nothing
> > > > > > > > > > > > > > else I am not sure why you would think it is setting something.
> > > > > > > > > > > > > >
> > > > > > > > > > > > > >
> > > > > > > > > > > > > >
> > > > > > > > > > > > > > I cannot reproduce your interpreter complete issue with the information
> > > > > > > > > > > > > > provided.
> > > > > > > > > > > > > >
> > > > > > > > > > > > > >
> > > > > > > > > > > > > >
> > > > > > > > > > > > > > -Brad Murry
> > > > > > > > > > > > > >
> > > > > > > > > > > > > >
> > > > > > > > > > > > > >
> > > > > > > > > > > > > > From: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> [mailto:DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> ] On
> > > > > > > > > > > > > > Behalf Of himykabibble
> > > > > > > > > > > > > > Sent: Sunday, February 19, 2012 7:10 PM
> > > > > > > > > > > > > > To: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > > > > > > > Subject: [DynoMotion] Re: Acceleration....
> > > > > > > > > > > > > >
> > > > > > > > > > > > > >
> > > > > > > > > > > > > >
> > > > > > > > > > > > > >
> > > > > > > > > > > > > >
> > > > > > > > > > > > > > Brad,
> > > > > > > > > > > > > >
> > > > > > > > > > > > > > I realize it is returning an object. I guess what's not clear, when
> > > > > > > > > > > > > > comparing what was there to what is there now, is before it seemed
> > > > > > > > > > > > > > straight-forward - I created a list of KM_IOs and a list of KM_Axis, and
> > > > > > > > > > > > > > passed those lists to KM_Controller. All very transparent. I assume
> > > > > > > > > > > > > > KM_Controller is now adding to the list when you do the corresponding Get,
> > > > > > > > > > > > > > and returning a reference to the object, right? And we then configure the
> > > > > > > > > > > > > > object (i.e. - axis.Velocity = x.x). Is that not correct?
> > > > > > > > > > > > > >
> > > > > > > > > > > > > > BTW - The exception I'm getting is happening when I try to hook in my
> > > > > > > > > > > > > > InterpreterCompleted handler. It hangs in there for several seconds, then
> > > > > > > > > > > > > > throws the exception. I have to do a debug build of dotNet and step into it
> > > > > > > > > > > > > > to see what's going on.
> > > > > > > > > > > > > >
> > > > > > > > > > > > > > --- In DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> ,
> > > > > > > > > > > > > > Brad Murry <bradodarb@> wrote:
> > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > "> Personally, I find it odd to use functions named "Get" to set
> > > > > > > > > > > > > > parameters.
> > > > > > > > > > > > > > > > Not at all intuitive."
> > > > > > > > > > > > > > >
> > > > > > > > > > > > > > >
> > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > You are not setting any params here. They are object creation methods and
> > > > > > > > > > > > > > > they `return' a value. Google the Factory pattern to understand why the
> > > > > > > > > > > > > > > nomenclature is intuitive. You could also have a look at the source to see
> > > > > > > > > > > > > > > how things actually work, since it is included; alternatively feel free to
> > > > > > > > > > > > > > > peruse the included API reference.
> > > > > > > > > > > > > > >
> > > > > > > > > > > > > > >
> > > > > > > > > > > > > > >
> > > > > > > > > > > > > > >
> > > > > > > > > > > > > > >
> > > > > > > > > > > > > > >
> > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > Regarding #1,
> > > > > > > > > > > > > > >
> > > > > > > > > > > > > > >
> > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > It is best to use the CheckConnected(params Action[]). You can either use
> > > > > > > > > > > > > > > it as it is or optionally pass in one or more action delegates to perform
> > > > > > > > > > > > > > > while the token is obtained.
> > > > > > > > > > > > > > >
> > > > > > > > > > > > > > >
> > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > -Brad
> > > > > > > > > > > > > > >
> > > > > > > > > > > > > > >
> > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > From: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > > > > > > > [mailto:DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> ]
> > > > > > > > > > > > > > On
> > > > > > > > > > > > > > > Behalf Of himykabibble
> > > > > > > > > > > > > > > Sent: Sunday, February 19, 2012 6:41 PM
> > > > > > > > > > > > > > > To: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > > > > > > > > Subject: [DynoMotion] Re: Acceleration....
> > > > > > > > > > > > > > >
> > > > > > > > > > > > > > >
> > > > > > > > > > > > > > >
> > > > > > > > > > > > > > >
> > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > Hmmmm.... I replaced the KMController.Connected's with
> > > > > > > > > > > > > > > KMController.CheckIsReady(). The error on ReadLineTimeout went away(!) by
> > > > > > > > > > > > > > > itself. So, it now compiles, but when I try to run it, I get and
> > > > > > > > > > > > > > exception:
> > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > An unhandled exception of type
> > > > > > > > > > > > > > 'System.Reflection.TargetInvocationException'
> > > > > > > > > > > > > > > occurred in mscorlib.dll
> > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > Additional information: Exception has been thrown by the target of an
> > > > > > > > > > > > > > > invocation.
> > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > This did not happen before I re-flashed the board with v429z.
> > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > No clue what to do now....
> > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > Regards,
> > > > > > > > > > > > > > > Ray L.
> > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > --- In DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > > > > > > > <mailto:DynoMotion%40yahoogroups.com> ,
> > > > > > > > > > > > > > > Brad Murry <bradodarb@> wrote:
> > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > Ray,
> > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > KM_Controller.Interpreter.SetupParams == KM_Controller.
> > > > > > > > > > > > > > > > CoordMotion.Interpreter.SetupParams
> > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > -Brad
> > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > From: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > > > > > > > <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > > > > > > > > [mailto:DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > > > > > > > <mailto:DynoMotion%40yahoogroups.com> ]
> > > > > > > > > > > > > > > On
> > > > > > > > > > > > > > > > Behalf Of himykabibble
> > > > > > > > > > > > > > > > Sent: Sunday, February 19, 2012 6:09 PM
> > > > > > > > > > > > > > > > To: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > > > > > > > <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > > > > > > > > > Subject: [DynoMotion] Re: Acceleration....
> > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > Tom,
> > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > I *think* I've worked through all of the changes except for the two
> > > > > > > > > > > > > > > detailed
> > > > > > > > > > > > > > > > below, which have me stumped. The changes I found were:
> > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > KM_Controller.Interpreter => KM_Controller.CoordMotion.Interpreter
> > > > > > > > > > > > > > > > KM_Controller.Interpreter.SetupParams =>
> > > > > > > > > > > > > > > > KM_Controller.CoordMotion.MotionParams
> > > > > > > > > > > > > > > > KM_Controller.AxisChannels => KM_Controller.GetAxis()
> > > > > > > > > > > > > > > > KM_Controller.IOPoints => KMController.GetIO()
> > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > Is that all correct?
> > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > Personally, I find it odd to use functions named "Get" to set
> > > > > > > > > > > > > > parameters.
> > > > > > > > > > > > > > > > Not at all intuitive.
> > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > Here are the two things I don't yet have resolved:
> > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > 1) KM_Controller.Connected no longer exists. Does that get replaced with
> > > > > > > > > > > > > > > the
> > > > > > > > > > > > > > > > new error callback? How do I know a disconnect has occurred?
> > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > 2) KM_Controller.ReadLineTimeout() no longer exists. What replaces it?
> > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > Regards,
> > > > > > > > > > > > > > > > Ray L.
> > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > --- In DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > > > > > > > <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > > > > > > > > <mailto:DynoMotion%40yahoogroups.com> ,
> > > > > > > > > > > > > > > > "himykabibble" <jagboy@> wrote:
> > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > Tom,
> > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > Looks like the 429z dotNet implementation has changed a lot of things
> > > > > > > > > > > > > > > and
> > > > > > > > > > > > > > > > it has seriously broken my app - I get almost 80 errors, mostly things
> > > > > > > > > > > > > > > that
> > > > > > > > > > > > > > > > no longer exist, like KM_Controller.Connected,
> > > > > > > > > > > > > > KM_Controller.Interpreter,
> > > > > > > > > > > > > > > > etc. Is there a summary of the required changes somewhere?
> > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > Regards,
> > > > > > > > > > > > > > > > > Ray L.
> > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > --- In DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > > > > > > > <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > > > > > > > > <mailto:DynoMotion%40yahoogroups.com> ,
> > > > > > > > > > > > > > > > Tom Kerekes <tk@> wrote:
> > > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > > Hi Ray,
> > > > > > > > > > > > > > > > > > ÃÆ'Æ'Æ'ÃÆ'†'ÃÆ'Æ'†'ÃÆ'Æ'Æ'ÃÆ'¢â‚¬ 'ÃÆ'Æ'Æ'ÃÆ'†'ÃÆ'Æ'‚ÃÆ'‚¢ÃÆ'Æ'Æ'ÃÆ'‚¢ÃÆ'Æ'¢ÃÆ'¢â€šÂ¬ÃÆ'…¡ÃÆ'Æ'‚ÃÆ'‚¬ÃÆ'Æ'Æ'ÃÆ'¢â‚¬Â¦ÃÆ'Æ'‚ÃÆ'‚¡
> > > > > > > > > > > > > > > > > > I thought you had removed all MoveExp commands?ÃÆ'Æ'Æ'ÃÆ'†'ÃÆ'Æ'†'ÃÆ'Æ'Æ'ÃÆ'¢â‚¬ 'ÃÆ'Æ'Æ'ÃÆ'†'ÃÆ'Æ'‚ÃÆ'‚¢ÃÆ'Æ'Æ'ÃÆ'‚¢ÃÆ'Æ'¢ÃÆ'¢â€šÂ¬ÃÆ'…¡ÃÆ'Æ'‚ÃÆ'‚¬ÃÆ'Æ'Æ'ÃÆ'¢â‚¬Â¦ÃÆ'Æ'‚ÃÆ'‚¡ But anyway please
> > > > > > > > > > > > > > see
> > > > > > > > > > > > > > > > the V4.29z Version that is now available.ÃÆ'Æ'Æ'ÃÆ'†'ÃÆ'Æ'†'ÃÆ'Æ'Æ'ÃÆ'¢â‚¬ 'ÃÆ'Æ'Æ'ÃÆ'†'ÃÆ'Æ'‚ÃÆ'‚¢ÃÆ'Æ'Æ'ÃÆ'‚¢ÃÆ'Æ'¢ÃÆ'¢â€šÂ¬ÃÆ'…¡ÃÆ'Æ'‚ÃÆ'‚¬ÃÆ'Æ'Æ'ÃÆ'¢â‚¬Â¦ÃÆ'Æ'‚ÃÆ'‚¡ The MoveExp has been improved
> > > > > > > > > > > > > > > to
> > > > > > > > > > > > > > > > avoid certain issues.ÃÆ'Æ'Æ'ÃÆ'†'ÃÆ'Æ'†'ÃÆ'Æ'Æ'ÃÆ'¢â‚¬ 'ÃÆ'Æ'Æ'ÃÆ'†'ÃÆ'Æ'‚ÃÆ'‚¢ÃÆ'Æ'Æ'ÃÆ'‚¢ÃÆ'Æ'¢ÃÆ'¢â€šÂ¬ÃÆ'…¡ÃÆ'Æ'‚ÃÆ'‚¬ÃÆ'Æ'Æ'ÃÆ'¢â‚¬Â¦ÃÆ'Æ'‚ÃÆ'‚¡ The previous version you were using wasn't
> > > > > > > > > > > > > > > expecting
> > > > > > > > > > > > > > > > the acceleration to be set so low that once it got onto the exponential
> > > > > > > > > > > > > > > > velocity curve the allowed deceleration would not be insufficient to
> > > > > > > > > > > > > > stay
> > > > > > > > > > > > > > > on
> > > > > > > > > > > > > > > > the curve and avoid overshooting the target. There was also a bug where
> > > > > > > > > > > > > > in
> > > > > > > > > > > > > > > > some cases the MoveExp (after a combination of Jogs) would start off at
> > > > > > > > > > > > > > a
> > > > > > > > > > > > > > > > non-zero velocity.ÃÆ'Æ'Æ'ÃÆ'†'ÃÆ'Æ'†'ÃÆ'Æ'Æ'ÃÆ'¢â‚¬ 'ÃÆ'Æ'Æ'ÃÆ'†'ÃÆ'Æ'‚ÃÆ'‚¢ÃÆ'Æ'Æ'ÃÆ'‚¢ÃÆ'Æ'¢ÃÆ'¢â€šÂ¬ÃÆ'…¡ÃÆ'Æ'‚ÃÆ'‚¬ÃÆ'Æ'Æ'ÃÆ'¢â‚¬Â¦ÃÆ'Æ'‚ÃÆ'‚¡ It should also allow mixing of Jogs/Moves/MoveExp
> > > > > > > > > > > > > > with
> > > > > > > > > > > > > > > > proper blending applied.
> > > > > > > > > > > > > > > > > > ÃÆ'Æ'Æ'ÃÆ'†'ÃÆ'Æ'†'ÃÆ'Æ'Æ'ÃÆ'¢â‚¬ 'ÃÆ'Æ'Æ'ÃÆ'†'ÃÆ'Æ'‚ÃÆ'‚¢ÃÆ'Æ'Æ'ÃÆ'‚¢ÃÆ'Æ'¢ÃÆ'¢â€šÂ¬ÃÆ'…¡ÃÆ'Æ'‚ÃÆ'‚¬ÃÆ'Æ'Æ'ÃÆ'¢â‚¬Â¦ÃÆ'Æ'‚ÃÆ'‚¡
> > > > > > > > > > > > > > > > > > Regards
> > > > > > > > > > > > > > > > > > TK
> > > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > > From: himykabibble <jagboy@>
> > > > > > > > > > > > > > > > > > To: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > > > > > > > <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > > > > > > > > <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > > > > > > > > > > > Sent: Saturday, February 18, 2012 3:24 PM
> > > > > > > > > > > > > > > > > > Subject: [DynoMotion] Acceleration....
> > > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > > ÃÆ'Æ'Æ'ÃÆ'†'ÃÆ'Æ'†'ÃÆ'Æ'Æ'ÃÆ'¢â‚¬ 'ÃÆ'Æ'Æ'ÃÆ'†'ÃÆ'Æ'‚ÃÆ'‚¢ÃÆ'Æ'Æ'ÃÆ'‚¢ÃÆ'Æ'¢ÃÆ'¢â€šÂ¬ÃÆ'…¡ÃÆ'Æ'‚ÃÆ'‚¬ÃÆ'Æ'Æ'ÃÆ'¢â‚¬Â¦ÃÆ'Æ'‚ÃÆ'‚¡
> > > > > > > > > > > > > > > > > > Tom,
> > > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > > This is just strange.... In the course of trying to sort out the
> > > > > > > > > > > > > > last
> > > > > > > > > > > > > > > > few problems (seemingly random faults and position loss when jogging
> > > > > > > > > > > > > > using
> > > > > > > > > > > > > > > > MoveExp), I've discovered something which makes no sense at all. For the
> > > > > > > > > > > > > > > > X/Y/Z axes, I have acceleration of 25 in/sec^2, and velocity of 200 IPM
> > > > > > > > > > > > > > > for
> > > > > > > > > > > > > > > > X/Y, and 250 IPM for Z. The axis parameters are being set using those
> > > > > > > > > > > > > > > values
> > > > > > > > > > > > > > > > multiplied by steps/inch for each axis (and divided by 60 for the Vel
> > > > > > > > > > > > > > > > settings). I have PLENTY of reserve capability on the axes - I can
> > > > > > > > > > > > > > double
> > > > > > > > > > > > > > > my
> > > > > > > > > > > > > > > > acceleration up to 50 in/sec^2, and increase velocity from 200 IPM to at
> > > > > > > > > > > > > > > > least 300 IPM with no problems whatsoever when running G-code, or
> > > > > > > > > > > > > > jogging
> > > > > > > > > > > > > > > > with Jog(). But, using MoveExp(), I get random faults and position loss.
> > > > > > > > > > > > > > > If
> > > > > > > > > > > > > > > > I REDUCE the accelerations, say from 25 in/sec^2 to 5 in/sec^2, I get
> > > > > > > > > > > > > > TONS
> > > > > > > > > > > > > > > > of faults on all axes. In fact, on my A axis, if I reduce acceleration
> > > > > > > > > > > > > > > from
> > > > > > > > > > > > > > > > 5 in/sec^2 to 0.05 in/sec^2, I can BARELY get the axis to move at all
> > > > > > > > > > > > > > > using
> > > > > > > > > > > > > > > > > > MoveExp. Most of the time, it faults with a loud bang the instant I
> > > > > > > > > > > > > > > > touch the MPG. There HAS to be either a problem in MoveExp, or something
> > > > > > > > > > > > > > > > really stupid I'm doing wrong, but I'm out of places to look.
> > > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > > Regards,
> > > > > > > > > > > > > > > > > > Ray L.
> > > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > >
> > > > > > > > > > > > > >
> > > > > > > > > > > > >
> > > > > > > > > > > >
> > > > > > > > > > >
> > > > > > > > > >
> > > > > > > > >
> > > > > > > >
> > > > > > >
> > > > > >
> > > > >
> > > >
> > >
> >
>
Group: DynoMotion Message: 4002 From: himykabibble Date: 2/20/2012
Subject: Re: Acceleration....
I've played with this quite a bit now, and all still seems well. I have, perhaps twice, seen something odd, but can easily believe it is my problem. I've seen NO position loss on jogging, which is the one problem that has dogged me since day one with the KFlop, so I'm VERY happy to see that finally resolved.

Regards,
Ray L.

--- In DynoMotion@yahoogroups.com, "himykabibble" <jagboy@...> wrote:
>
> Brad/Tom,
>
> OK, with everything moved over to the machine, all seems well - finally no more position loss or faulting on jogs in any mode, and the motion seems OK - there must be some difference between the machine PC and my laptop that explains the "crunchy" moves. So, except for detecting disconnects, things are looking pretty good!
>
> Brad,
>
> I have an issue with building dotNet that has me stumped. I can run only with the installed build, I can't do a new build. I think I had this same problem when I installed v428, and can't recall how I got around it. I installed v429z, then open VS2008, and open the BuildAllLibs solution. This results in an error dialog saying:
>
> "Unable to read KMotion_dotNet.csproj.
> C:\WINDOWS\Microsoft.NET\Framework\v40.030319\Microsoft.CSharp.targets(132,9): The Attribute "Returns" in element <Target> is unrecognized"
>
> ALL of the other projects in the solution open with no problem.
>
> I *think* I resolved this in v428 by forcing the project to reference .NET 2.0, then setting it back to 3.5. But, I was using VS2010Express back then, and I can't find a way to change that setting in VS2008. It will not allow me to open the project at all - KMotion_dotNet is dimmed out in the solution viewer.
>
> Any ideas?
>
> Regards,
> Ray L.
>
> --- In DynoMotion@yahoogroups.com, "himykabibble" <jagboy@> wrote:
> >
> > Brad,
> >
> > OK, so for now it really only indicates disconnect, correct?
> >
> > Just tried 429z on the machine. The good news is, it seems to have resolved my many issues with jogging. MoveExp now appears to work correctly, with no banging, no servo faults, and no position loss, even with very low acceleration values. I may be seeing a difference in the responsiveness, but I was running these tests using my laptop, not the machines PC. So I will move v429z over to the machine, and see how it looks. With the laptop, MoveExp moves seemed considerably less smooth - unless the axis was moving very slowly, or very quickly. In between it sounded like it was constantly modulating velocity, resulting in a very "crunchy" sound. There also seemed to be a lot more "activity" around direction reversals - a number of rapid "clicks" from the servo motors, like it was dithering back and forth a few times before settling down and moving off in one direction. Never did that before. Hopefully it's a laptop "feature".
> >
> > Regards,
> > Ray L.
> >
> > --- In DynoMotion@yahoogroups.com, Brad Murry <bradodarb@> wrote:
> > >
> > > Tom just used the same messages he was displaying in a messagebox and pumping them to the callback instead. As strings are immutable and therefore may be used in switch statements the strings are great.
> > >
> > >
> > >
> > > -Brad
> > >
> > >
> > >
> > > From: DynoMotion@yahoogroups.com [mailto:DynoMotion@yahoogroups.com] On Behalf Of himykabibble
> > > Sent: Monday, February 20, 2012 10:23 AM
> > > To: DynoMotion@yahoogroups.com
> > > Subject: [DynoMotion] Re: Acceleration....
> > >
> > >
> > >
> > >
> > >
> > > OK, I seem to be up and running with v429z, as long as the board never disconnects. If it does, then the app goes out to lunch right after the error callback. I am assuming, for now, that will go away once CheckConnected() is fixed. I'll try it out on the machine shortly.
> > >
> > > Re: the new Error callback - would it not be helpful to provide, in addition to the string error message, an integer error "type", to facilitate error handling/recovery? I'm assuming this will, eventually, be capable of throwing a number of different kinds of errors, and a string is less than ideal for writing a multi-function handler, no?
> > >
> > > Regards,
> > > Ray L.
> > >
> > > --- In DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> , "himykabibble" <jagboy@> wrote:
> > > >
> > > > Brad/Tom,
> > > >
> > > > I've got my app working.... sort of. I had some bugs in the conversion on the IOs, now sorted out, so it no longer hangs coming out of E-Stop, and all the controls are enabling and updating correctly. But right now it's flagging all axes as disabled, so I'm looking into that.
> > > >
> > > > --- In DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> , "himykabibble" <jagboy@> wrote:
> > > > >
> > > > > Interestingly, if you precede the CheckConnected() call with a WriteLineReadLine(), then CheckConnected() works perfectly.
> > > > >
> > > > > --- In DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> , Brad Murry <bradodarb@> wrote:
> > > > > >
> > > > > > Hello Ray,
> > > > > >
> > > > > >
> > > > > >
> > > > > > WaitToken goest to the InteropDLL and calls the CKMotion.DLL’s WaitToken which internally calls the KMotionLock and finally calss the PipeCmd(ENUM_KMotionLock) which seems to always return 0.
> > > > > >
> > > > > >
> > > > > >
> > > > > >
> > > > > >
> > > > > > This bubbles back up to KMOTION_LOCKED in the KMOTION_TOKEN enum.
> > > > > >
> > > > > >
> > > > > >
> > > > > > CheckConnected(params…) returns true as long as it did not receive KMOTION_NOT_CONNECTED (2).
> > > > > >
> > > > > >
> > > > > >
> > > > > > -Brad Murry
> > > > > >
> > > > > >
> > > > > >
> > > > > > From: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> [mailto:DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> ] On Behalf Of himykabibble
> > > > > > Sent: Monday, February 20, 2012 12:06 AM
> > > > > > To: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com>
> > > > > > Subject: [DynoMotion] Re: Acceleration....
> > > > > >
> > > > > >
> > > > > >
> > > > > >
> > > > > >
> > > > > > Brad,
> > > > > >
> > > > > > That doesn't seem to be what I'm seeing here. CheckConnected doesn't even seem to call KMotionLock - just WaitToken, which seems to return the wrong value. But I'm really not clear on what that code is really doing....
> > > > > >
> > > > > > Regards,
> > > > > > Ray L.
> > > > > >
> > > > > > --- In DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> , Brad Murry <bradodarb@> wrote:
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > > > I traced it back to the CKMotionDLL.cpp::
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > > > KMotionLock() firing off PipeCmd(ENUM_KMotionLock) is constantly returning 0.
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > > > Does everyone else get the same results?
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > > > -Brad
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > > > From: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> [mailto:DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> ] On Behalf Of Brad Murry
> > > > > > > Sent: Sunday, February 19, 2012 11:29 PM
> > > > > > > To: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > Subject: RE: [DynoMotion] Re: Acceleration....
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > > > I misread your question. I thought we were still on the deadlock problem.
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > > > I will try your scenario.
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > > > -Brad Murry
> > > > > > >
> > > > > > > From: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> [mailto:DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> ] On Behalf Of himykabibble
> > > > > > > Sent: Sunday, February 19, 2012 11:00 PM
> > > > > > > To: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > Subject: [DynoMotion] Re: Acceleration....
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > > > Brad,
> > > > > > >
> > > > > > > It's basically polling the connection state. I am seeing regular calls to CheckConnected(), but, like I said, I can easily get it to consistently return true when the board is not there, or false when it is there. How could my code could be causing that?
> > > > > > >
> > > > > > > Regards,
> > > > > > > Ray L.
> > > > > > >
> > > > > > > --- In DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> , Brad Murry <bradodarb@> wrote:
> > > > > > > >
> > > > > > > > No chance it could possibly be the code calling CheckConnected() eh?
> > > > > > > >
> > > > > > > >
> > > > > > > >
> > > > > > > > That feature was there in the last version as well and I have used it with success.
> > > > > > > >
> > > > > > > > -Brad
> > > > > > > >
> > > > > > > > From: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> [mailto:DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> ] On Behalf Of himykabibble
> > > > > > > > Sent: Sunday, February 19, 2012 10:48 PM
> > > > > > > > To: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > Subject: [DynoMotion] Re: Acceleration....
> > > > > > > >
> > > > > > > >
> > > > > > > >
> > > > > > > >
> > > > > > > >
> > > > > > > > Brad,
> > > > > > > >
> > > > > > > > I think there is a problem in dotNet. CheckConnected is returning true looooooong after I've pulled the cable. I think that's what's putting my app into a wierd state.
> > > > > > > >
> > > > > > > > Regards,
> > > > > > > > Ray L.
> > > > > > > >
> > > > > > > > --- In DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> , Brad Murry <bradodarb@> wrote:
> > > > > > > > >
> > > > > > > > > Check for begininvokes where there should be invokes and vice versa.
> > > > > > > > >
> > > > > > > > >
> > > > > > > > >
> > > > > > > > > -Brad
> > > > > > > > >
> > > > > > > > >
> > > > > > > > >
> > > > > > > > > From: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> [mailto:DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> ] On Behalf Of himykabibble
> > > > > > > > > Sent: Sunday, February 19, 2012 10:33 PM
> > > > > > > > > To: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > > Subject: [DynoMotion] Re: Acceleration....
> > > > > > > > >
> > > > > > > > >
> > > > > > > > >
> > > > > > > > >
> > > > > > > > >
> > > > > > > > > Tom,
> > > > > > > > >
> > > > > > > > > Yes. I get reasonable call stacks for all the other threads, including the other worker threads, but it looks like the ones that appear to be hanging I get no useful information once it gets into the bad state. Before it goes wonky, I get good call stacks on all threads. I am running Debug, and can step into the DLLs, so the build is OK.
> > > > > > > > >
> > > > > > > > > Regards,
> > > > > > > > > Ray L.
> > > > > > > > >
> > > > > > > > > --- In DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> , Tom Kerekes <tk@> wrote:
> > > > > > > > > >
> > > > > > > > > > Are you running the Debug Version?
> > > > > > > > > > ÃÆ'Æ'Æ'ÃÆ'¢â‚¬Å¡
> > > > > > > > > > TK
> > > > > > > > > >
> > > > > > > > > > From: himykabibble <jagboy@>
> > > > > > > > > > To: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > > > Sent: Sunday, February 19, 2012 8:09 PM
> > > > > > > > > > Subject: [DynoMotion] Re: Acceleration....
> > > > > > > > > >
> > > > > > > > > >
> > > > > > > > > > ÃÆ'Æ'Æ'ÃÆ'¢â‚¬Å¡
> > > > > > > > > > Unfortunately, for the threads of real interest, the stack trace shows "frames below may be incorrect and/or missing. No symbols loaded for ntdll.dll", then a long list of Windows dll locations, mostly mscorworks.dll.
> > > > > > > > > >
> > > > > > > > > > --- In DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> , Tom Kerekes <tk@> wrote:
> > > > > > > > > > >
> > > > > > > > > > > Ray,
> > > > > > > > > > > ÃÆ'Æ'Æ'ÃÆ'†'ÃÆ'Æ'¢ÃÆ'¢â€šÂ¬ÃÆ'…¡ÃÆ'Æ'Æ'ÃÆ'¢â‚¬Å¡
> > > > > > > > > > > Make the Thread active by double clicking on the Thread in the Debug | Threads window.ÃÆ'Æ'Æ'ÃÆ'†'ÃÆ'Æ'¢ÃÆ'¢â€šÂ¬ÃÆ'…¡ÃÆ'Æ'Æ'ÃÆ'¢â‚¬Å¡ Then the current Program Counter will point to where it is.ÃÆ'Æ'Æ'ÃÆ'†'ÃÆ'Æ'¢ÃÆ'¢â€šÂ¬ÃÆ'…¡ÃÆ'Æ'Æ'ÃÆ'¢â‚¬Å¡ Often it will be down in the bowels of Windows stuff so look at the Stack and work backwards until you get to something recognizable like a Mutex Lock or a call your code made.
> > > > > > > > > > > ÃÆ'Æ'Æ'ÃÆ'†'ÃÆ'Æ'¢ÃÆ'¢â€šÂ¬ÃÆ'…¡ÃÆ'Æ'Æ'ÃÆ'¢â‚¬Å¡
> > > > > > > > > > > Regards
> > > > > > > > > > > TK
> > > > > > > > > > >
> > > > > > > > > > > From: himykabibble <jagboy@>
> > > > > > > > > > > To: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > > > > Sent: Sunday, February 19, 2012 7:37 PM
> > > > > > > > > > > Subject: [DynoMotion] Re: Acceleration....
> > > > > > > > > > >
> > > > > > > > > > >
> > > > > > > > > > > ÃÆ'Æ'Æ'ÃÆ'†'ÃÆ'Æ'¢ÃÆ'¢â€šÂ¬ÃÆ'…¡ÃÆ'Æ'Æ'ÃÆ'¢â‚¬Å¡
> > > > > > > > > > > Tom,
> > > > > > > > > > >
> > > > > > > > > > > How do I tell what a thread is waiting on?
> > > > > > > > > > >
> > > > > > > > > > > Regards,
> > > > > > > > > > > Ray L.
> > > > > > > > > > >
> > > > > > > > > > > --- In DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> , Tom Kerekes <tk@> wrote:
> > > > > > > > > > > >
> > > > > > > > > > > > Hi Ray,
> > > > > > > > > > > > ÃÆ'Æ'Æ'ÃÆ'†'ÃÆ'Æ'†'ÃÆ'Æ'Æ'ÃÆ'‚¢ÃÆ'Æ'¢ÃÆ'¢â‚¬Å¡ÃÆ'‚¬ÃÆ'Æ'…ÃÆ'‚¡ÃÆ'Æ'Æ'ÃÆ'†'ÃÆ'Æ'¢ÃÆ'¢â€šÂ¬ÃÆ'…¡ÃÆ'Æ'Æ'ÃÆ'¢â‚¬Å¡
> > > > > > > > > > > > Deadlocks are usually pretty easy to figure out.ÃÆ'Æ'Æ'ÃÆ'†'ÃÆ'Æ'†'ÃÆ'Æ'Æ'ÃÆ'‚¢ÃÆ'Æ'¢ÃÆ'¢â‚¬Å¡ÃÆ'‚¬ÃÆ'Æ'…ÃÆ'‚¡ÃÆ'Æ'Æ'ÃÆ'†'ÃÆ'Æ'¢ÃÆ'¢â€šÂ¬ÃÆ'…¡ÃÆ'Æ'Æ'ÃÆ'¢â‚¬Å¡ Just look at what the threads are stuck waiting on.ÃÆ'Æ'Æ'ÃÆ'†'ÃÆ'Æ'†'ÃÆ'Æ'Æ'ÃÆ'‚¢ÃÆ'Æ'¢ÃÆ'¢â‚¬Å¡ÃÆ'‚¬ÃÆ'Æ'…ÃÆ'‚¡ÃÆ'Æ'Æ'ÃÆ'†'ÃÆ'Æ'¢ÃÆ'¢â€šÂ¬ÃÆ'…¡ÃÆ'Æ'Æ'ÃÆ'¢â‚¬Å¡ It also might be something simple like somebody never released the Token after receiving it.
> > > > > > > > > > > > ÃÆ'Æ'Æ'ÃÆ'†'ÃÆ'Æ'†'ÃÆ'Æ'Æ'ÃÆ'‚¢ÃÆ'Æ'¢ÃÆ'¢â‚¬Å¡ÃÆ'‚¬ÃÆ'Æ'…ÃÆ'‚¡ÃÆ'Æ'Æ'ÃÆ'†'ÃÆ'Æ'¢ÃÆ'¢â€šÂ¬ÃÆ'…¡ÃÆ'Æ'Æ'ÃÆ'¢â‚¬Å¡
> > > > > > > > > > > > Regards
> > > > > > > > > > > > TK
> > > > > > > > > > > >
> > > > > > > > > > > > From: himykabibble <jagboy@>
> > > > > > > > > > > > To: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > > > > > Sent: Sunday, February 19, 2012 7:23 PM
> > > > > > > > > > > > Subject: [DynoMotion] Re: Acceleration....
> > > > > > > > > > > >
> > > > > > > > > > > >
> > > > > > > > > > > > ÃÆ'Æ'Æ'ÃÆ'†'ÃÆ'Æ'†'ÃÆ'Æ'Æ'ÃÆ'‚¢ÃÆ'Æ'¢ÃÆ'¢â‚¬Å¡ÃÆ'‚¬ÃÆ'Æ'…ÃÆ'‚¡ÃÆ'Æ'Æ'ÃÆ'†'ÃÆ'Æ'¢ÃÆ'¢â€šÂ¬ÃÆ'…¡ÃÆ'Æ'Æ'ÃÆ'¢â‚¬Å¡
> > > > > > > > > > > > Yeah, my guess is I'm getting into a deadlock. All the threads that talk to the KFlop seem to be hung (they're still there, just not running), all the others seem to be working OK. I don't know where to go from here.... Something in dotNet must have changed that affects this, as I haven't had this problem with v428 since we got the last deadlock issue sorted out.
> > > > > > > > > > > >
> > > > > > > > > > > > --- In DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> , "himykabibble" <jagboy@> wrote:
> > > > > > > > > > > > >
> > > > > > > > > > > > > Damn! This seems to be a threading thing.... The worker thread starts up and seems to work OK, until I plug in the board and try to exit E-Stop. I don't understand how to use VS to debug this type of issue. Any suggestions?
> > > > > > > > > > > > >
> > > > > > > > > > > > > --- In DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> , "himykabibble" <jagboy@> wrote:
> > > > > > > > > > > > > >
> > > > > > > > > > > > > > Brad,
> > > > > > > > > > > > > >
> > > > > > > > > > > > > > Odd, the exception was occurring every time when I tried to step over that one line in Release mode. In Debug mode, it got past it just fine, then threw up later. I found a bug in my code (a hard-coded path pointing to the no-longer-there v428 directory), and have gotten past that. It now comes up, indicates the board is connected, but when I try to come out of E-Stop, it comes partially to life, but the worker thread that updates most of the GUI controls seems not to be running. Looking into that now...
> > > > > > > > > > > > > >
> > > > > > > > > > > > > > Regards,
> > > > > > > > > > > > > > Ray L.
> > > > > > > > > > > > > >
> > > > > > > > > > > > > >
> > > > > > > > > > > > > > --- In DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> , Brad Murry <bradodarb@> wrote:
> > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > Hello Ray,
> > > > > > > > > > > > > > >
> > > > > > > > > > > > > > >
> > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > No, KM_Controller no longer maintains a list of axis or io objects. It
> > > > > > > > > > > > > > > seems cleaner to let the user application dictate where those are kept.
> > > > > > > > > > > > > > > Those are just convenience methods to create a new object and it
> > > > > > > > > > > > > > > automatically reference the controller it was created from so it is a safer
> > > > > > > > > > > > > > > multi-instance/multi-board object. As it simply returns a value and nothing
> > > > > > > > > > > > > > > else I am not sure why you would think it is setting something.
> > > > > > > > > > > > > > >
> > > > > > > > > > > > > > >
> > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > I cannot reproduce your interpreter complete issue with the information
> > > > > > > > > > > > > > > provided.
> > > > > > > > > > > > > > >
> > > > > > > > > > > > > > >
> > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > -Brad Murry
> > > > > > > > > > > > > > >
> > > > > > > > > > > > > > >
> > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > From: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> [mailto:DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> ] On
> > > > > > > > > > > > > > > Behalf Of himykabibble
> > > > > > > > > > > > > > > Sent: Sunday, February 19, 2012 7:10 PM
> > > > > > > > > > > > > > > To: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > > > > > > > > Subject: [DynoMotion] Re: Acceleration....
> > > > > > > > > > > > > > >
> > > > > > > > > > > > > > >
> > > > > > > > > > > > > > >
> > > > > > > > > > > > > > >
> > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > Brad,
> > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > I realize it is returning an object. I guess what's not clear, when
> > > > > > > > > > > > > > > comparing what was there to what is there now, is before it seemed
> > > > > > > > > > > > > > > straight-forward - I created a list of KM_IOs and a list of KM_Axis, and
> > > > > > > > > > > > > > > passed those lists to KM_Controller. All very transparent. I assume
> > > > > > > > > > > > > > > KM_Controller is now adding to the list when you do the corresponding Get,
> > > > > > > > > > > > > > > and returning a reference to the object, right? And we then configure the
> > > > > > > > > > > > > > > object (i.e. - axis.Velocity = x.x). Is that not correct?
> > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > BTW - The exception I'm getting is happening when I try to hook in my
> > > > > > > > > > > > > > > InterpreterCompleted handler. It hangs in there for several seconds, then
> > > > > > > > > > > > > > > throws the exception. I have to do a debug build of dotNet and step into it
> > > > > > > > > > > > > > > to see what's going on.
> > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > --- In DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> ,
> > > > > > > > > > > > > > > Brad Murry <bradodarb@> wrote:
> > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > "> Personally, I find it odd to use functions named "Get" to set
> > > > > > > > > > > > > > > parameters.
> > > > > > > > > > > > > > > > > Not at all intuitive."
> > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > You are not setting any params here. They are object creation methods and
> > > > > > > > > > > > > > > > they `return' a value. Google the Factory pattern to understand why the
> > > > > > > > > > > > > > > > nomenclature is intuitive. You could also have a look at the source to see
> > > > > > > > > > > > > > > > how things actually work, since it is included; alternatively feel free to
> > > > > > > > > > > > > > > > peruse the included API reference.
> > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > Regarding #1,
> > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > It is best to use the CheckConnected(params Action[]). You can either use
> > > > > > > > > > > > > > > > it as it is or optionally pass in one or more action delegates to perform
> > > > > > > > > > > > > > > > while the token is obtained.
> > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > -Brad
> > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > From: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > > > > > > > > [mailto:DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> ]
> > > > > > > > > > > > > > > On
> > > > > > > > > > > > > > > > Behalf Of himykabibble
> > > > > > > > > > > > > > > > Sent: Sunday, February 19, 2012 6:41 PM
> > > > > > > > > > > > > > > > To: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > > > > > > > > > Subject: [DynoMotion] Re: Acceleration....
> > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > Hmmmm.... I replaced the KMController.Connected's with
> > > > > > > > > > > > > > > > KMController.CheckIsReady(). The error on ReadLineTimeout went away(!) by
> > > > > > > > > > > > > > > > itself. So, it now compiles, but when I try to run it, I get and
> > > > > > > > > > > > > > > exception:
> > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > An unhandled exception of type
> > > > > > > > > > > > > > > 'System.Reflection.TargetInvocationException'
> > > > > > > > > > > > > > > > occurred in mscorlib.dll
> > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > Additional information: Exception has been thrown by the target of an
> > > > > > > > > > > > > > > > invocation.
> > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > This did not happen before I re-flashed the board with v429z.
> > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > No clue what to do now....
> > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > Regards,
> > > > > > > > > > > > > > > > Ray L.
> > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > --- In DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > > > > > > > > <mailto:DynoMotion%40yahoogroups.com> ,
> > > > > > > > > > > > > > > > Brad Murry <bradodarb@> wrote:
> > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > Ray,
> > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > KM_Controller.Interpreter.SetupParams == KM_Controller.
> > > > > > > > > > > > > > > > > CoordMotion.Interpreter.SetupParams
> > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > -Brad
> > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > From: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > > > > > > > > <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > > > > > > > > > [mailto:DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > > > > > > > > <mailto:DynoMotion%40yahoogroups.com> ]
> > > > > > > > > > > > > > > > On
> > > > > > > > > > > > > > > > > Behalf Of himykabibble
> > > > > > > > > > > > > > > > > Sent: Sunday, February 19, 2012 6:09 PM
> > > > > > > > > > > > > > > > > To: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > > > > > > > > <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > > > > > > > > > > Subject: [DynoMotion] Re: Acceleration....
> > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > Tom,
> > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > I *think* I've worked through all of the changes except for the two
> > > > > > > > > > > > > > > > detailed
> > > > > > > > > > > > > > > > > below, which have me stumped. The changes I found were:
> > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > KM_Controller.Interpreter => KM_Controller.CoordMotion.Interpreter
> > > > > > > > > > > > > > > > > KM_Controller.Interpreter.SetupParams =>
> > > > > > > > > > > > > > > > > KM_Controller.CoordMotion.MotionParams
> > > > > > > > > > > > > > > > > KM_Controller.AxisChannels => KM_Controller.GetAxis()
> > > > > > > > > > > > > > > > > KM_Controller.IOPoints => KMController.GetIO()
> > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > Is that all correct?
> > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > Personally, I find it odd to use functions named "Get" to set
> > > > > > > > > > > > > > > parameters.
> > > > > > > > > > > > > > > > > Not at all intuitive.
> > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > Here are the two things I don't yet have resolved:
> > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > 1) KM_Controller.Connected no longer exists. Does that get replaced with
> > > > > > > > > > > > > > > > the
> > > > > > > > > > > > > > > > > new error callback? How do I know a disconnect has occurred?
> > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > 2) KM_Controller.ReadLineTimeout() no longer exists. What replaces it?
> > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > Regards,
> > > > > > > > > > > > > > > > > Ray L.
> > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > --- In DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > > > > > > > > <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > > > > > > > > > <mailto:DynoMotion%40yahoogroups.com> ,
> > > > > > > > > > > > > > > > > "himykabibble" <jagboy@> wrote:
> > > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > > Tom,
> > > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > > Looks like the 429z dotNet implementation has changed a lot of things
> > > > > > > > > > > > > > > > and
> > > > > > > > > > > > > > > > > it has seriously broken my app - I get almost 80 errors, mostly things
> > > > > > > > > > > > > > > > that
> > > > > > > > > > > > > > > > > no longer exist, like KM_Controller.Connected,
> > > > > > > > > > > > > > > KM_Controller.Interpreter,
> > > > > > > > > > > > > > > > > etc. Is there a summary of the required changes somewhere?
> > > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > > Regards,
> > > > > > > > > > > > > > > > > > Ray L.
> > > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > > --- In DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > > > > > > > > <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > > > > > > > > > <mailto:DynoMotion%40yahoogroups.com> ,
> > > > > > > > > > > > > > > > > Tom Kerekes <tk@> wrote:
> > > > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > > > Hi Ray,
> > > > > > > > > > > > > > > > > > > ÃÆ'Æ'Æ'ÃÆ'†'ÃÆ'Æ'†'ÃÆ'Æ'Æ'ÃÆ'¢â‚¬ 'ÃÆ'Æ'Æ'ÃÆ'†'ÃÆ'Æ'‚ÃÆ'‚¢ÃÆ'Æ'Æ'ÃÆ'‚¢ÃÆ'Æ'¢ÃÆ'¢â€šÂ¬ÃÆ'…¡ÃÆ'Æ'‚ÃÆ'‚¬ÃÆ'Æ'Æ'ÃÆ'¢â‚¬Â¦ÃÆ'Æ'‚ÃÆ'‚¡
> > > > > > > > > > > > > > > > > > > I thought you had removed all MoveExp commands?ÃÆ'Æ'Æ'ÃÆ'†'ÃÆ'Æ'†'ÃÆ'Æ'Æ'ÃÆ'¢â‚¬ 'ÃÆ'Æ'Æ'ÃÆ'†'ÃÆ'Æ'‚ÃÆ'‚¢ÃÆ'Æ'Æ'ÃÆ'‚¢ÃÆ'Æ'¢ÃÆ'¢â€šÂ¬ÃÆ'…¡ÃÆ'Æ'‚ÃÆ'‚¬ÃÆ'Æ'Æ'ÃÆ'¢â‚¬Â¦ÃÆ'Æ'‚ÃÆ'‚¡ But anyway please
> > > > > > > > > > > > > > > see
> > > > > > > > > > > > > > > > > the V4.29z Version that is now available.ÃÆ'Æ'Æ'ÃÆ'†'ÃÆ'Æ'†'ÃÆ'Æ'Æ'ÃÆ'¢â‚¬ 'ÃÆ'Æ'Æ'ÃÆ'†'ÃÆ'Æ'‚ÃÆ'‚¢ÃÆ'Æ'Æ'ÃÆ'‚¢ÃÆ'Æ'¢ÃÆ'¢â€šÂ¬ÃÆ'…¡ÃÆ'Æ'‚ÃÆ'‚¬ÃÆ'Æ'Æ'ÃÆ'¢â‚¬Â¦ÃÆ'Æ'‚ÃÆ'‚¡ The MoveExp has been improved
> > > > > > > > > > > > > > > > to
> > > > > > > > > > > > > > > > > avoid certain issues.ÃÆ'Æ'Æ'ÃÆ'†'ÃÆ'Æ'†'ÃÆ'Æ'Æ'ÃÆ'¢â‚¬ 'ÃÆ'Æ'Æ'ÃÆ'†'ÃÆ'Æ'‚ÃÆ'‚¢ÃÆ'Æ'Æ'ÃÆ'‚¢ÃÆ'Æ'¢ÃÆ'¢â€šÂ¬ÃÆ'…¡ÃÆ'Æ'‚ÃÆ'‚¬ÃÆ'Æ'Æ'ÃÆ'¢â‚¬Â¦ÃÆ'Æ'‚ÃÆ'‚¡ The previous version you were using wasn't
> > > > > > > > > > > > > > > > expecting
> > > > > > > > > > > > > > > > > the acceleration to be set so low that once it got onto the exponential
> > > > > > > > > > > > > > > > > velocity curve the allowed deceleration would not be insufficient to
> > > > > > > > > > > > > > > stay
> > > > > > > > > > > > > > > > on
> > > > > > > > > > > > > > > > > the curve and avoid overshooting the target. There was also a bug where
> > > > > > > > > > > > > > > in
> > > > > > > > > > > > > > > > > some cases the MoveExp (after a combination of Jogs) would start off at
> > > > > > > > > > > > > > > a
> > > > > > > > > > > > > > > > > non-zero velocity.ÃÆ'Æ'Æ'ÃÆ'†'ÃÆ'Æ'†'ÃÆ'Æ'Æ'ÃÆ'¢â‚¬ 'ÃÆ'Æ'Æ'ÃÆ'†'ÃÆ'Æ'‚ÃÆ'‚¢ÃÆ'Æ'Æ'ÃÆ'‚¢ÃÆ'Æ'¢ÃÆ'¢â€šÂ¬ÃÆ'…¡ÃÆ'Æ'‚ÃÆ'‚¬ÃÆ'Æ'Æ'ÃÆ'¢â‚¬Â¦ÃÆ'Æ'‚ÃÆ'‚¡ It should also allow mixing of Jogs/Moves/MoveExp
> > > > > > > > > > > > > > > with
> > > > > > > > > > > > > > > > > proper blending applied.
> > > > > > > > > > > > > > > > > > > ÃÆ'Æ'Æ'ÃÆ'†'ÃÆ'Æ'†'ÃÆ'Æ'Æ'ÃÆ'¢â‚¬ 'ÃÆ'Æ'Æ'ÃÆ'†'ÃÆ'Æ'‚ÃÆ'‚¢ÃÆ'Æ'Æ'ÃÆ'‚¢ÃÆ'Æ'¢ÃÆ'¢â€šÂ¬ÃÆ'…¡ÃÆ'Æ'‚ÃÆ'‚¬ÃÆ'Æ'Æ'ÃÆ'¢â‚¬Â¦ÃÆ'Æ'‚ÃÆ'‚¡
> > > > > > > > > > > > > > > > > > > Regards
> > > > > > > > > > > > > > > > > > > TK
> > > > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > > > From: himykabibble <jagboy@>
> > > > > > > > > > > > > > > > > > > To: DynoMotion@yahoogroups.com <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com> <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > > > > > > > > <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > > > > > > > > > <mailto:DynoMotion%40yahoogroups.com>
> > > > > > > > > > > > > > > > > > > Sent: Saturday, February 18, 2012 3:24 PM
> > > > > > > > > > > > > > > > > > > Subject: [DynoMotion] Acceleration....
> > > > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > > > ÃÆ'Æ'Æ'ÃÆ'†'ÃÆ'Æ'†'ÃÆ'Æ'Æ'ÃÆ'¢â‚¬ 'ÃÆ'Æ'Æ'ÃÆ'†'ÃÆ'Æ'‚ÃÆ'‚¢ÃÆ'Æ'Æ'ÃÆ'‚¢ÃÆ'Æ'¢ÃÆ'¢â€šÂ¬ÃÆ'…¡ÃÆ'Æ'‚ÃÆ'‚¬ÃÆ'Æ'Æ'ÃÆ'¢â‚¬Â¦ÃÆ'Æ'‚ÃÆ'‚¡
> > > > > > > > > > > > > > > > > > > Tom,
> > > > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > > > This is just strange.... In the course of trying to sort out the
> > > > > > > > > > > > > > > last
> > > > > > > > > > > > > > > > > few problems (seemingly random faults and position loss when jogging
> > > > > > > > > > > > > > > using
> > > > > > > > > > > > > > > > > MoveExp), I've discovered something which makes no sense at all. For the
> > > > > > > > > > > > > > > > > X/Y/Z axes, I have acceleration of 25 in/sec^2, and velocity of 200 IPM
> > > > > > > > > > > > > > > > for
> > > > > > > > > > > > > > > > > X/Y, and 250 IPM for Z. The axis parameters are being set using those
> > > > > > > > > > > > > > > > values
> > > > > > > > > > > > > > > > > multiplied by steps/inch for each axis (and divided by 60 for the Vel
> > > > > > > > > > > > > > > > > settings). I have PLENTY of reserve capability on the axes - I can
> > > > > > > > > > > > > > > double
> > > > > > > > > > > > > > > > my
> > > > > > > > > > > > > > > > > acceleration up to 50 in/sec^2, and increase velocity from 200 IPM to at
> > > > > > > > > > > > > > > > > least 300 IPM with no problems whatsoever when running G-code, or
> > > > > > > > > > > > > > > jogging
> > > > > > > > > > > > > > > > > with Jog(). But, using MoveExp(), I get random faults and position loss.
> > > > > > > > > > > > > > > > If
> > > > > > > > > > > > > > > > > I REDUCE the accelerations, say from 25 in/sec^2 to 5 in/sec^2, I get
> > > > > > > > > > > > > > > TONS
> > > > > > > > > > > > > > > > > of faults on all axes. In fact, on my A axis, if I reduce acceleration
> > > > > > > > > > > > > > > > from
> > > > > > > > > > > > > > > > > 5 in/sec^2 to 0.05 in/sec^2, I can BARELY get the axis to move at all
> > > > > > > > > > > > > > > > using
> > > > > > > > > > > > > > > > > > > MoveExp. Most of the time, it faults with a loud bang the instant I
> > > > > > > > > > > > > > > > > touch the MPG. There HAS to be either a problem in MoveExp, or something
> > > > > > > > > > > > > > > > > really stupid I'm doing wrong, but I'm out of places to look.
> > > > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > > > Regards,
> > > > > > > > > > > > > > > > > > > Ray L.
> > > > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > >
> > > > > > > > > > > > > >
> > > > > > > > > > > > >
> > > > > > > > > > > >
> > > > > > > > > > >
> > > > > > > > > >
> > > > > > > > >
> > > > > > > >
> > > > > > >
> > > > > >
> > > > >
> > > >
> > >
> >
>