示例#1
0
    def cb_dac(self, param):
        """ Callback for the DAC """
        #log.debug("DAC CB %s", param)
        if param is None:
            self.out_buffer = StringIO("DAC %X, %X\n"
                    % (self.dacval0, self.dacval1))
            return
        dacid = int(param[0].replace(',',''))
        dacval = int(param[1], 16)
        #log.debug("DAC id=%s", dacid)
        if dacid == 0:

            self.dacval0 = dacval
            #log.debug("Dacval0=%s",self.dacval0)

            self.adcval0 = (dacval * self.conf['DACCONST0']
                    / self.conf['ADCCONST0']
                    + self.conf['ADCOFFSET0'])

        elif dacid == 1:

            self.dacval1 = dacval
            #log.debug("Dacval1=%s", self.dacval1)
            self.adcval1 = (dacval * self.conf['DACCONST1']
                    / self.conf['ADCCONST1']
                    + self.conf['ADCOFFSET1'])

        else:
            log.error("Unknown dac id")
示例#2
0
    def generate_packet(self):
        """ Take the data from which we properly arranged
        and pack it properly to produce our "binary" packet.
        Ship it to the host for to convert back to python types!
        """
        data = self.generate_packet_data()
        fmtstruct = self.fmt.get_struct()
        try:
            return fmtstruct.pack(*data)

        except Exception as e:
            log.error(str(data))
            raise e
示例#3
0
    def cb_ssr(self, param):
        #""" Callback for  the SSR """
        #log.debug("SSR CB %s", param)
        if param is None:
            self.out_buffer = StringIO("SSR %d, %d\n"
                    % (self.ssrval0, self.ssrval1))
            return
        #log.debug("SSR:param=%s", param)

        devid = int(param[0])
        state = int(param[1].strip())

        if not state in (0,1):
            log.error("Invalid SSR state to CBoxSim")
            return

        if devid == 0:
            self.ssrval0 = state
        elif devid == 1:
            self.ssrval1 = state
        else:
            log.error("Invalid SSR ID to CBoxSim")