예제 #1
0
def _detect_icom_radio(ser):
    # ICOM VHF/UHF Clone-type radios @ 9600 baud

    try:
        ser.baudrate = 9600
        md = icf.get_model_data(ser)
        return _icom_model_data_to_rclass(md)
    except errors.RadioError as e:
        LOG.error("_detect_icom_radio: %s", e)

    # ICOM IC-91/92 Live-mode radios @ 4800/38400 baud

    ser.baudrate = 4800
    try:
        ic9x_ll.send_magic(ser)
        return _icom_model_data_to_rclass("ic9x")
    except errors.RadioError:
        pass

    # ICOM CI/V Radios @ various bauds

    for rate in [9600, 4800, 19200]:
        try:
            ser.baudrate = rate
            return icomciv.probe_model(ser)
        except errors.RadioError:
            pass

    ser.close()

    raise errors.RadioError("Unable to get radio model")
예제 #2
0
def _detect_icom_radio(ser):
    # ICOM VHF/UHF Clone-type radios @ 9600 baud

    try:
        ser.setBaudrate(9600)
        md = icf.get_model_data(ser)
        return _icom_model_data_to_rclass(md)
    except errors.RadioError as e:
        LOG.error(e)

    # ICOM IC-91/92 Live-mode radios @ 4800/38400 baud

    ser.setBaudrate(4800)
    try:
        ic9x_ll.send_magic(ser)
        return _icom_model_data_to_rclass("ic9x")
    except errors.RadioError:
        pass

    # ICOM CI/V Radios @ various bauds

    for rate in [9600, 4800, 19200]:
        try:
            ser.setBaudrate(rate)
            return icomciv.probe_model(ser)
        except errors.RadioError:
            pass

    ser.close()

    raise errors.RadioError("Unable to get radio model")
예제 #3
0
    def get_raw_memory(self, number):
        self._lock.acquire()
        try:
            ic9x_ll.send_magic(self.pipe)
            mframe = ic9x_ll.get_memory_frame(self.pipe, self.vfo, number)
        except:
            self._lock.release()
            raise

        self._lock.release()

        return repr(bitwise.parse(ic9x_ll.MEMORY_FRAME_FORMAT, mframe))
예제 #4
0
def _detect_icom_radio(ser):
    # ICOM VHF/UHF Clone-type radios @ 9600 baud

    try:
        ser.baudrate = 9600
        md = icf.get_model_data(ser)
        return _icom_model_data_to_rclass(md)
    except errors.RadioError, e:
        LOG.error("_detect_icom_radio: %s", e)

    # ICOM IC-91/92 Live-mode radios @ 4800/38400 baud

    ser.baudrate = 4800
    try:
        ic9x_ll.send_magic(ser)
        return _icom_model_data_to_rclass("ic9x")
    except errors.RadioError:
        pass

    # ICOM CI/V Radios @ various bauds

    for rate in [9600, 4800, 19200]:
        try:
            ser.baudrate = rate
            return icomciv.probe_model(ser)
        except errors.RadioError:
            pass

    ser.close()
예제 #5
0
def _detect_icom_radio(ser):
    # ICOM VHF/UHF Clone-type radios @ 9600 baud

    try:
        ser.baudrate = 9600
        md = icf.get_model_data(ser)
        return _icom_model_data_to_rclass(md)
    except errors.RadioError, e:
        LOG.error(e)

    # ICOM IC-91/92 Live-mode radios @ 4800/38400 baud

    ser.baudrate = 4800
    try:
        ic9x_ll.send_magic(ser)
        return _icom_model_data_to_rclass("ic9x")
    except errors.RadioError:
        pass

    # ICOM CI/V Radios @ various bauds

    for rate in [9600, 4800, 19200]:
        try:
            ser.baudrate = rate
            return icomciv.probe_model(ser)
        except errors.RadioError:
            pass

    ser.close()
예제 #6
0
 def _maybe_send_magic(self):
     if (time.time() - self.__last) > 1:
         LOG.debug("Sending magic")
         ic9x_ll.send_magic(self.pipe)
     self.__last = time.time()