EPICS Home

Experimental Physics and Industrial Control System


 
1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  <20102011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024  Index 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  <20102011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: Re: 2 MAXv problems
From: Dirk Zimoch <[email protected]>
To: Ron Sluiter <[email protected]>
Cc: Eric Norum <[email protected]>, EPICS <[email protected]>
Date: Thu, 11 Mar 2010 12:07:11 +0100
Hi Ron,

As far as I know strcpy(), strlen(), and also sprintf() are all legal from vxWorks interrupt context. But printf(), fprintf() and such (i.e. writing to files) is illegal.

Where have you read that ANSI string library calls are nor allowed?

By the way, using floating point, Altivec and such (non-integer register instructions) in ISR is illegal without precautions.

Dirk


Ron Sluiter wrote:
Eric Norum wrote:
"I have also conditionally added your fix for sprintf() not callable from the RTEMS interrupt context ..."

I wasn't aware that sprintf() was legal to call from an interrupt context on vxWorks. Or did I misunderstand the change?
Hello Eric,

No. You did not misunderstand the changes. I was not aware that sprintf() is
an illegal call from a VxWorks ISR. Now that I look more closely at the
restrictions you pointed out; there is very little allowed from a VxWorks
ISR; e.g., no ANSI string library calls, strcpy(), strlen(), etc.


I guess if I really want an error message sent from an ISR I will have to a
assemble it using stone tools and animal skins.

Thanks for catching this error.

Hello Jens,

I have redone the MAXv ISR error messages using a version of your code.

The latest (unreleased) version is available here;
https://subversion.xor.aps.anl.gov/synApps/motor/trunk/motorApp/OmsSrc/drvMAXv.cc



Ron




On Mar 8, 2010, at 1:18 PM, Ron Sluiter wrote:

Hello Jens,

The common code for the old device support record
initialization; "motor_init_record_com()" was not always
passing positive encoder ratio values.  This has been a
bug for a long, long time that is now fixed.

I have also conditionally added your fix for sprintf()
not callable from the RTEMS interrupt context to the
MAXv ISR.

Both of these changes will be available, soon, in the
next release.

Thanks for pointing out these problems,
Ron


[email protected] <mailto:[email protected]> wrote:
Hello Ron,

but the motor record has not issued negative
encoder ratio commands for a long time.
here is an extract of the boot messages with drvMAXvdebug=10, while autosave writes -5.55123456e-06 to the ERES-field.

--
send_mess: sent card 0 message:'
AX  ER-180140,52359 UU-3.440496
--
This command (ER-180140,52359) does not work for
current firmware versions.

Are you using a really old
version of the motor record?
No, this is the motorR6-4-4
EpicsRelease 3.14.11

Jens
_______________________________
Jens Eden
Physikalisch-Technische Bundesanstalt
Albert-Einstein-Straße 15
12489 Berlin

Tel +49 30 6392-5086
Fax +49 30 6392-5082




Von: Ron Sluiter <[email protected] <mailto:[email protected]>> An: [email protected] <mailto:[email protected]> Kopie: [email protected] <mailto:[email protected]> Datum: 05.03.2010 21:12 Betreff: Re: 2 MAXv problems



Hello Jens

There has been a recent (R6-4 and above) fix to prevent intermittent MAXv command
errors from occurring when User Units are turned off, but the motor record has not
issued negative encoder ratio commands for a long time. Are you using a really old
version of the motor record?


Ron


[email protected] <mailto:[email protected]> wrote:
Hi all,

I found, that in recent firmware versions (1.31) of the MAXv cards the command to set
negative encoder resolutions (e.g. "AX ER-2,3") as used by the MAXv
driver
does not work any more.
Instead a command error is returned and the encoder resolution will
remain
unchanged.
I couldn't find this "new feature" documented anywhere.






-- Eric Norum [email protected] <mailto:[email protected]>









References:
2 MAXv problems Jens . Eden
Re: 2 MAXv problems Ron Sluiter
Re: 2 MAXv problems Jens . Eden
Re: 2 MAXv problems Ron Sluiter
Re: 2 MAXv problems Ron Sluiter

Navigate by Date:
Prev: Re: EDM crashing Hinko Kocevar
Next: Re: 2 MAXv problems Ron Sluiter
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  <20102011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: Re: 2 MAXv problems Ernest L. Williams Jr.
Next: Re: 2 MAXv problems Ron Sluiter
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  <20102011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024