Forget duplicates... I just can't read.

I think real problem is here:


dy = pos->tran.y - old.y;
dx = pos->tran.x - old.x;
if (dx != 0 || dy != 0) {
C = atan2(dx, dy);
}
C should be set to zero before if.
dx == 0 and dy == 0 may be not what you want. fabs(dx)>eps will be more
appropriate.
and dx, dy and C and rKcount really belong to this function and not the
global context.
Only 'old' is shared between two functions and needs to be global.

Regards,
Alex.

25.06.2010 05:07, Alexey Starikovskiy пишет:
> Hi Andy,
>
> please make "struct haldata_t {} *haldata = 0;" static too.
>
> You don't want duplicates:
> --------------------------------------
> result = hal_pin_float_new("taperkins.fKcount", HAL_OUT,
> &(haldata->fKcount), comp_id);
> if(result < 0) goto error;
> result = hal_pin_float_new("taperkins.rKcount", HAL_OUT,
> &(haldata->rKcount), comp_id);
> if(result < 0) goto error;
> -----------------------------------
>
> Good luck,
> Alex.
>
>
> 25.06.2010 04:53, Andy Pugh пишет:
>   
>> On 24 June 2010 15:03, Neil Baylis <[email protected]> wrote:
>>   
>>     
>>> If changing/removing some unrelated line of code fixes a problem, then I
>>> usually suspect one of two things: a) It's a race condition, and you changed
>>> the timing, or b) You changed the memory layout, and corruption (e.g. due to
>>> wild pointer) that was occurring at a vital location is now occurring at an
>>> innocuous location.
>>>     
>>>       
>> I have been up till 2am or later for about the last week staring at
>> the same 200 lines of code, and I am losing heart.
>>
>> Could somebody else look at it please ( http://www.pastebin.org/357256
>> ) and see if you can spot where I have a pointer wrong? (or, indeed,
>> where I might be causing a race condition).
>>
>> It is probably worth reiterating that it works exactly as expected on
>> a sim configuration.
>>
>> Note that line 53 is commented out as that causes the
>> stepgen.0.feedback to drift. (even with the stepgen.0.position-dmd
>> left unconnected in HAL. All the more odd as the C axis doesn't have a
>> stepgen, I only included it so that the AXIS preview would look right)
>>
>> I am printing the joint positions as they come back into control.c
>> from from inversekins, but as fowardkins is running all the time I am
>> (hopefully) only printing that if it comes back as a NaN and I am not
>> seeing that.
>>
>> (I am assuming that the RT delay is not the problem, that is because I
>> need the SMI patch, but that seems to disappear from rtapi.conf every
>> time you re-compile, and I can't be bothered putting it back)
>>
>> Unrecognized line skipped: POC     FMS     LEN     DIAM    COMMENT
>> RTAPI: ERROR: Unexpected realtime delay on task 1
>> This Message will only display once per session.
>> Run the Latency Test and resolve before continuing.
>>
>> Unexpected realtime delay: check dmesg for details.
>>
>> j0 -0.001341 j1 -0.001341 j2 -0.001162 j3 0.000018 j4 0.000000 j5 3.141587
>>
>> emc/task/taskintf.cc 611: Error on axis 0, command number 184
>> Exceeded positive soft limit on joint 0
>> abs_ferror = nan and ferror_limit = nan. joint = -0.000358
>>
>> joint 0 following error
>> j0 140.260302 j1 140.260302 j2 -0.008184 j3 -106.717689 j4 0.777232 j5 
>> 3.141547
>>
>> emc/task/taskintf.cc 611: Error on axis 0, command number 202
>> Exceeded positive soft limit on joint 0
>> abs_ferror = nan and ferror_limit = nan. joint = -0.000537
>>
>> joint 0 following error
>> j0 101.772044 j1 101.772044 j2 -0.002109 j3 -10.853862 j4 0.533877 j5 
>> 3.141572
>>
>> emc/task/taskintf.cc 611: Error on axis 0, command number 220
>> Exceeded positive soft limit on joint 0
>> abs_ferror = nan and ferror_limit = nan. joint = -0.000716
>>
>> joint 0 following error
>> j0 101.770702 j1 101.770702 j2 -0.003164 j3 -10.853880 j4 0.533877 j5 
>> 3.141562
>>
>> emc/task/taskintf.cc 611: Error on axis 0, command number 238
>> Exceeded positive soft limit on joint 0
>> abs_ferror = nan and ferror_limit = nan. joint = -0.000896
>>
>> joint 0 following error
>> j0 101.769361 j1 101.769361 j2 -0.004218 j3 -10.853898 j4 0.533877 j5 
>> 3.141552
>>
>> emc/task/taskintf.cc 611: Error on axis 0, command number 256
>> Exceeded positive soft limit on joint 0
>> abs_ferror = nan and ferror_limit = nan. joint = -0.001075
>>
>> joint 0 following error
>> j0 101.768020 j1 101.768020 j2 -0.005273 j3 -10.853916 j4 0.533877 j5 
>> 3.141542
>>
>> emc/task/taskintf.cc 611: Error on axis 0, command number 274
>> Exceeded positive soft limit on joint 0
>> abs_ferror = nan and ferror_limit = nan. joint = -0.001254
>>
>> joint 0 following error
>> j0 101.766679 j1 101.766679 j2 -0.006328 j3 -10.853934 j4 0.533877 j5 
>> 3.141532
>>
>> emc/task/taskintf.cc 611: Error on axis 0, command number 292
>> Exceeded positive soft limit on joint 0
>> abs_ferror = nan and ferror_limit = nan. joint = -0.001433
>>
>> joint 0 following error
>>
>>
>>
>>   
>>     
>   


------------------------------------------------------------------------------
ThinkGeek and WIRED's GeekDad team up for the Ultimate 
GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the 
lucky parental unit.  See the prize list and enter to win: 
http://p.sf.net/sfu/thinkgeek-promo
_______________________________________________
Emc-developers mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/emc-developers

Reply via email to