Hi Maren,
Attached find my driver for the M48T37 Timekeeper battery status. It
works with any EPICS version on MVME51xx as well as on MVME23xx, maybe
on more boards using this chip.
I have some more code to read and set the RTC and use the alarm function
of the M48T37 in case you need it.
The code is vxWorks only.
Be aware that the M48T37 reads the battery status only once at power-on.
So there is no point in processing the record more often than PINI=YES.
Dirk
On 09.02.19 02:06, Maren Purves wrote:
Happy to, thanks Dirk!
On 2/8/19 05:35, Dirk Zimoch via Tech-talk wrote:
I am just now writing a driver for it. Wait a few days please...
On 08.02.19 03:01, Maren Purves via Tech-talk wrote:
Hi all,
I'm working on some monitoring stuff for a new receiver
and as the new receiver isn't here yet I just got a spare
mvme5100 board. Trying to boot it I found that it had
'forgotten' its boot parameters. It is supposed to have
a replaceable battery and we found on part that looks like
it may be a battery but with no part number or anything on
it.
None of the manuals I found on-line has a board layout
with labels on it that would tell me where the battery
is (assuming that the battery is the problem), or had
any specifications for it.
Pulling out another spare board, it behaved the same way.
If we have to put any of these spare boards into use that
would mean that they would have to have their boot parameters
reinstalled each time we have a power glitch. That's OK
for us here in the office/lab but not OK for people
operating telescopes at night.
Does anybody know and can either point me somewhere where
to find this information - or have the information and
pass it on?
Thanks in advance,
Maren Purves
East Asian Observatory
#include <vxWorks.h>
#include "epicsVersion.h"
#include "devSup.h"
#include "biRecord.h"
#define M48T_FLAGS 0x7ff0
#define M48T_FLAG_BAT 0x10
extern UCHAR sysNvRead(ULONG);
long MT48T37ReadBatteryLow(biRecord *rec)
{
rec->rval = sysNvRead(M48T_FLAGS) & M48T_FLAG_BAT ? 1 : 0;
return 0;
}
struct {
long number;
DEVSUPFUN report;
DEVSUPFUN init;
DEVSUPFUN init_record;
DEVSUPFUN get_ioint_info;
DEVSUPFUN read;
} MT48T37BatteryLow = {
5,
NULL,
NULL,
NULL,
NULL,
MT48T37ReadBatteryLow
};
#ifndef BASE_VERSION
#include "epicsExport.h"
epicsExportAddress(dset, MT48T37BatteryLow);
#endif
device(bi, INST_IO, MT48T37BatteryLow, "MT48T37BatteryLow")
record (bi, "$(IOC):BATTERY")
{
field(DTYP, "MT48T37BatteryLow")
field(PINI, "YES") # battery status uptates at power-on only
field(ZNAM, "OK")
field(ONAM, "LOW")
field(OSV, "MINOR")
}
- Replies:
- Re: trying to find information on mvme5100 battery Dirk Zimoch via Tech-talk
- References:
- trying to find information on mvme5100 battery Maren Purves via Tech-talk
- Re: trying to find information on mvme5100 battery Dirk Zimoch via Tech-talk
- Re: trying to find information on mvme5100 battery Maren Purves via Tech-talk
- Navigate by Date:
- Prev:
Comparison between EPICS and TANGO. Azra Jabeen via Tech-talk
- Next:
Re: trying to find information on mvme5100 battery Dirk Zimoch via Tech-talk
- Index:
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
<2019>
2020
2021
2022
2023
2024
- Navigate by Thread:
- Prev:
Re: trying to find information on mvme5100 battery Maren Purves via Tech-talk
- Next:
Re: trying to find information on mvme5100 battery Dirk Zimoch via Tech-talk
- Index:
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
<2019>
2020
2021
2022
2023
2024
|