GLAST/LAT > DAQ and FSW > FSW > Doxygen Index > THS / V1-5-2

Constituent: ths4ddt     Tag: rad750


Interface   Data Structures   File List   Data Fields   Globals  

THS_ddt.c File Reference

A cut-down version of THS compatible with DDT. More...

#include <stdio.h>
#include <time.h>
#include "PBS/INT.ih"
#include "PBS/PTS.h"
#include "PBS/WCT.h"
#include "PBS/WUT.h"
#include "MSG/MSG_pubdefs.h"
#include "THS/THS.h"
#include "THS/THS_msgs.h"

Include dependency graph for THS_ddt.c:


Functions

void THS_alignPPS ()
 Dummy routine.
unsigned int THS_cpuSetWarning (unsigned int expectedClkHz, unsigned int expectedDeltaClkHz)
 Dummy routine.
WCT_time THS_gemAbsTimeEvent (int gemStrobeIn, int gemClk)
 Dummy routine.
unsigned int THS_gemSetWarning (unsigned int expectedClkHz, unsigned int expectedDeltaClkHz)
 Dummy routine.
unsigned int THS_init (int mask)
 Dummy routine.
unsigned int THS_prevTimetoneFromEvent (int gemStrobeIn, int *absTimeSecs, int *flags, int *absTimeSecsPrev, int *flagsPrev, int *gemStrobeInPrev)
 Dummy routine.
unsigned int THS_prevTimtoneFromEvent (int gemStrobeIn, int *absTimeSecs, int *flags, int *absTimeSecsPrev, int *flagsPrev, int *gemStrobeInPrev)
 Dummy routine.
void THS_setGemUpdateMsgs (int maxMsgs)
 Dummy routine.
void THS_setPpsWarnEvery (unsigned int warnPpsEvery)
 Dummy routine.
void THS_setSlaveSend (THS_SendSlaveRtn rtn, void *arg, int lsmID)
 Dummy routine.
void THS_setTimetoneWarnEvery (unsigned int warnTimetoneEvery)
 Dummy routine.
unsigned int THS_slaveProcessMsg (int func, void *payload, unsigned int len)
 Dummy routine.
void THS_stats ()
 Dummy routine.
unsigned int THS_timetone (unsigned int absTimeSec, unsigned short saFlags)
 One-time set the wall clock time.
unsigned int THS_timetoneFromEvent (int gemStrobeIn, int *absTimeSec, int *flags)
 One-time set the wall clock time.
unsigned int THS_wait ()
 Dummy routine.

Variables

unsigned int THS_ths4ddt
 Unique identifier for the ths4ddt constituent.

Detailed Description

A cut-down version of THS compatible with DDT.

CVS $Id: THS_ddt.c,v 1.1 2006/05/12 22:42:10 apw Exp $
Author:
A.P.Waite
DDT cannot be run together with the full THS service.

The full THS service is predicated in the idea that a set of RAD750 PIDs configured as a timer will run in lock step the the timebase register in the RAD750 CPU. This is not a valid assumption when DDT starts changing clock frequencies.

THS services are sufficiently sophisticated that modifying them to survive CPU clock frequency changes is non-trivial. As DDT is a very "niche" operation, the more pragmatic approach adopted here is to provide a cut-down THS service that is compatible with DDT. The price is that while running with the cut-down service, wall-clock time will not be set very accurately (about 1/10 of a second), and will therafter wander with the drifts in the CPU clock oscillator. For the duration of a DDT SUROM burning operation (and assuming that the CPU was previously running at full rate), wall clock time as reported by the CPU will run a factor of two slower than "real time".


Function Documentation

void THS_alignPPS  ) 
 

Dummy routine.

For compatibility with the THS_alignPPS() entry point in THS proper.

unsigned int THS_cpuSetWarning unsigned int  expectedClkHz,
unsigned int  expectedDeltaClkHz
 

Dummy routine.

Parameters:
expectedClkHz (none) Ignored
expectedDeltaClkHz (none) Ignored
Return values:
0 Always
For compatibility with the THS_cpuSetWarning() entry point in THS proper.

WCT_time THS_gemAbsTimeEvent int  gemStrobeIn,
int  gemClk
 

Dummy routine.

Parameters:
gemStrobeIn (none) Ignored
gemClk (none) Ignored
Return values:
0LL Always
For compatibility with the THS_gemAbsTimeEvent() entry point in THS proper.

unsigned int THS_gemSetWarning unsigned int  expectedClkHz,
unsigned int  expectedDeltaClkHz
 

Dummy routine.

Parameters:
expectedClkHz (none) Ignored
expectedDeltaClkHz (none) Ignored
Return values:
0 Always
For compatibility with the THS_gemSetWarning() entry point in THS proper.

unsigned int THS_init int  mask  ) 
 

Dummy routine.

Parameters:
mask (none) Ignored
Return values:
0 Always
For compatibility with the THS_init() entry point in THS proper.

unsigned int THS_prevTimetoneFromEvent int  gemStrobeIn,
int *  absTimeSecs,
int *  flags,
int *  absTimeSecsPrev,
int *  flagsPrev,
int *  gemStrobeInPrev
 

Dummy routine.

Parameters:
gemStrobeIn (none) Ignored
absTimeSecs (none) Ignored
flags (none) Ignored
absTimeSecsPrev (none) Ignored
flagsPrev (none) Ignored
gemStrobeInPrev (none) Ignored
Return values:
THS_NOINIT Always
For compatibility with the THS_prevTimetoneFromEvent() entry point in THS proper.

unsigned int THS_prevTimtoneFromEvent int  gemStrobeIn,
int *  absTimeSecs,
int *  flags,
int *  absTimeSecsPrev,
int *  flagsPrev,
int *  gemStrobeInPrev
 

Dummy routine.

Parameters:
gemStrobeIn (none) Ignored
absTimeSecs (none) Ignored
flags (none) Ignored
absTimeSecsPrev (none) Ignored
flagsPrev (none) Ignored
gemStrobeInPrev (none) Ignored
Return values:
THS_NOINIT Always
For compatibility with the THS_prevTimtoneFromEvent() entry point in THS proper.

void THS_setGemUpdateMsgs int  maxMsgs  ) 
 

Dummy routine.

Parameters:
maxMsgs (none) Ignored
For compatibility with the THS_setGemUpdateMsgs() entry point in THS proper.

void THS_setPpsWarnEvery unsigned int  warnPpsEvery  ) 
 

Dummy routine.

Parameters:
warnPpsEvery (none) Ignored
For compatibility with the THS_setPpsWarnEvery() entry point in THS proper.

void THS_setSlaveSend THS_SendSlaveRtn  rtn,
void *  arg,
int  lsmID
 

Dummy routine.

Parameters:
rtn (none) Ignored
arg (none) Ignored
lsmID (none) Ignored
For compatibility with the THS_setSlaveSend() entry point in THS proper.

void THS_setTimetoneWarnEvery unsigned int  warnTimetoneEvery  ) 
 

Dummy routine.

Parameters:
warnTimetoneEvery (none) Ignored
For compatibility with the THS_setTimetoneWarnEvery() entry point in THS proper.

unsigned int THS_slaveProcessMsg int  func,
void *  payload,
unsigned int  len
 

Dummy routine.

Parameters:
func (none) Ignored
payload (none) Ignored
len (none) Ignored
Return values:
0 Always
For compatibility with the THS_slaveProcessMsg() entry point in THS proper.

void THS_stats  ) 
 

Dummy routine.

For compatibility with the THS_stats() entry point in THS proper.

unsigned int THS_timetone unsigned int  absTimeSec,
unsigned short  saFlags
 

One-time set the wall clock time.

Parameters:
absTimeSec (none) Ignored
saFlags (none) Ignored
Return values:
0 Always
The only routine in THS/DDT that actually does any work. The first time this routine sees a timetone message, it will attempt to set wall-clock time (none too accurately, probably good to about 1/10 second), and call WUT_sys_adjust() to get all extant timeouts adjusted. After that, wall clock time simply free- wheels based on the CPU clock (which DDT will likely adjust).

unsigned int THS_timetoneFromEvent int  gemStrobeIn,
int *  absTimeSec,
int *  flags
 

One-time set the wall clock time.

Parameters:
gemStrobeIn (none) Ignored
absTimeSec (none) Ignored
flags (none) Ignored
Return values:
THS_NOINIT Always
For compatibility with the THS_timetoneFromEvent() entry point in THS proper.

unsigned int THS_wait  ) 
 

Dummy routine.

For compatibility with the THS_wait() entry point in THS proper.


Variable Documentation

unsigned int THS_ths4ddt
 

Unique identifier for the ths4ddt constituent.

This variable is made available for lookup through the .cidc file for the ths4ddt constituent -only-. It is designed as a safety check. If DDT attempts to look up this symbol and fails, DDT knows that it does not have the right version of THS loaded.


Generated on Wed Feb 14 08:05:14 2007 by  doxygen 1.4.4