Main Page | Packages | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | Related Pages

HskPacketRetriever.py

00001 #!/usr/local/bin/python
00002 #
00003 #                               Copyright 2004
00004 #                                     by
00005 #                        The Board of Trustees of the
00006 #                     Leland Stanford Junior University.
00007 #                            All rights reserved.
00008 #
00009 
00010 __facility__ = "Online"
00011 __abstract__ = "GLAST LAT Housekeeping server infrastructure"
00012 __author__   = "Jim Panetta <panetta@slac.stanford.edu> SLAC - GLAST I&T"
00013 __date__     = "07/28/04"
00014 __version__  = "$Revision: 1.2 $"
00015 __release__  = "$Name: R04-12-00 $"
00016 __credits__  = "SLAC"
00017 
00018 import LATTE.copyright_SLAC
00019 import time
00020 
00021 from LATTE.monitoring.Retriever        import Retriever
00022 from LATTE.monitoring.Trendable        import Trendable
00023 from LATTE.monitoring.HskPacketDecoder import packetFactory
00024 import time
00025 
00026 class HskPacketRetriever(Retriever):
00027   """Retrieve HSK ccsds packets from ethernet connection
00028   """
00029   def __init__(self, hskCli):
00030     Retriever.__init__(self)
00031     self.__client = hskCli
00032     
00033   def retrievePacket(self):
00034     packet = []
00035     (err, payload) = self.__client.readTelem()
00036     if err == 0:
00037       hskClass = packetFactory(payload)
00038     else:
00039       print "got an error from readTelem: %d", err
00040       return None
00041     
00042     # create the packet
00043     
00044     # kludge up the timestamp, as the returned timestamp from HSK relative to VxWorks boot
00045     # timestamp = hskClass.seconds() + hskClass.subSeconds()/10000000
00046     timestamp = time.time()  # time() returns seconds since epoch, UTC
00047     
00048     for mnem, tag in hskClass.mnemList:
00049       value = hskClass.__dict__[mnem]
00050       packet.append( Trendable( mnem, timestamp, { 'Raw Value' : value } ) )
00051     return packet
00052     
00053 
00054   

Generated on Fri Jul 21 13:26:30 2006 for LATTE R04-12-00 by doxygen 1.4.3