diff --git a/icom/frame.c b/icom/frame.c index 1a9cf2d19..3bf5bbfbb 100644 --- a/icom/frame.c +++ b/icom/frame.c @@ -2,7 +2,7 @@ * Hamlib CI-V backend - low level communication routines * Copyright (c) 2000-2003 by Stephane Fillod * - * $Id: frame.c,v 1.20 2003-04-07 22:41:50 fillods Exp $ + * $Id: frame.c,v 1.21 2003-04-26 09:54:49 fillods Exp $ * * This library is free software; you can redistribute it and/or modify * it under the terms of the GNU Library General Public License as @@ -292,7 +292,7 @@ int rig2icom_mode(RIG *rig, rmode_t mode, pbwidth_t width, /* * assumes rig!=NULL, mode!=NULL, width!=NULL */ -void icom2rig_mode(RIG *rig, unsigned char md, char pd, rmode_t *mode, pbwidth_t *width) +void icom2rig_mode(RIG *rig, unsigned char md, int pd, rmode_t *mode, pbwidth_t *width) { *width = RIG_PASSBAND_NORMAL; @@ -322,6 +322,7 @@ void icom2rig_mode(RIG *rig, unsigned char md, char pd, rmode_t *mode, pbwidth_t case 0x00: *width = rig_passband_narrow(rig, *mode); break; case 0x01: *width = rig_passband_normal(rig, *mode); break; case 0x02: *width = rig_passband_wide(rig, *mode); break; + case -1: break; /* no passband data */ default: rig_debug(RIG_DEBUG_ERR,"icom: Unsupported Icom mode width %#.2x\n", pd); diff --git a/icom/frame.h b/icom/frame.h index 1c30d6675..3e9b76eb3 100644 --- a/icom/frame.h +++ b/icom/frame.h @@ -1,8 +1,8 @@ /* * Hamlib CI-V backend - low level communication header - * Copyright (c) 2000-2002 by Stephane Fillod + * Copyright (c) 2000-2003 by Stephane Fillod * - * $Id: frame.h,v 1.12 2002-03-18 23:04:27 fillods Exp $ + * $Id: frame.h,v 1.13 2003-04-26 09:54:49 fillods Exp $ * * This library is free software; you can redistribute it and/or modify * it under the terms of the GNU Library General Public License as @@ -34,7 +34,7 @@ int icom_transaction (RIG *rig, int cmd, int subcmd, const char *payload, int pa int read_icom_frame(port_t *p, unsigned char rxbuffer[]); int rig2icom_mode(RIG *rig, rmode_t mode, pbwidth_t width, unsigned char *md, char *pd); -void icom2rig_mode(RIG *rig, unsigned char md, char pd, rmode_t *mode, pbwidth_t *width); +void icom2rig_mode(RIG *rig, unsigned char md, int pd, rmode_t *mode, pbwidth_t *width); #endif /* _FRAME_H */ diff --git a/icom/icom.c b/icom/icom.c index b1f753e48..319ae2189 100644 --- a/icom/icom.c +++ b/icom/icom.c @@ -2,7 +2,7 @@ * Hamlib CI-V backend - main file * Copyright (c) 2000-2003 by Stephane Fillod * - * $Id: icom.c,v 1.75 2003-04-16 22:30:40 fillods Exp $ + * $Id: icom.c,v 1.76 2003-04-26 09:54:49 fillods Exp $ * * This library is free software; you can redistribute it and/or modify * it under the terms of the GNU Library General Public License as @@ -461,7 +461,7 @@ int icom_set_mode(RIG *rig, vfo_t vfo, rmode_t mode, pbwidth_t width) return err; /* IC-731 and IC-735 don't support passband data */ - if (priv->civ_731_mode) + if (priv->civ_731_mode || rig->caps->rig_model == RIG_MODEL_OS456) icmode_ext = -1; retval = icom_transaction (rig, C_SET_MODE, icmode, &icmode_ext, @@ -511,7 +511,7 @@ int icom_get_mode(RIG *rig, vfo_t vfo, rmode_t *mode, pbwidth_t *width) return -RIG_ERJCTED; } - icom2rig_mode(rig, modebuf[1], modebuf[2], mode, width); + icom2rig_mode(rig, modebuf[1], mode_len==2 ? modebuf[2] : -1, mode, width); return RIG_OK; } diff --git a/icom/os456.c b/icom/os456.c index 6a3398ab4..63cf188f0 100644 --- a/icom/os456.c +++ b/icom/os456.c @@ -1,8 +1,8 @@ /* * Hamlib CI-V backend - description of the OptoScan456 - * Copyright (c) 2000-2002 by Stephane Fillod + * Copyright (c) 2000-2003 by Stephane Fillod * - * $Id: os456.c,v 1.3 2003-04-09 06:37:37 fillods Exp $ + * $Id: os456.c,v 1.4 2003-04-26 09:54:49 fillods Exp $ * * This library is free software; you can redistribute it and/or modify * it under the terms of the GNU Library General Public License as @@ -69,7 +69,7 @@ const struct rig_caps os456_caps = { .mfg_name = "Optoelectronics", .version = "0.2", .copyright = "LGPL", -.status = RIG_STATUS_UNTESTED, +.status = RIG_STATUS_BETA, .rig_type = RIG_TYPE_SCANNER, .ptt_type = RIG_PTT_NONE, .dcd_type = RIG_DCD_NONE,