kopia lustrzana https://github.com/Hamlib/Hamlib
Initial release
git-svn-id: https://hamlib.svn.sourceforge.net/svnroot/hamlib/trunk@754 7ae35d74-ebe9-4afe-98af-79ac388436b8Hamlib-1.1.3
rodzic
f74fc658e5
commit
081dd050c7
|
@ -0,0 +1,14 @@
|
|||
JRCSRCLIST = nrd545.c
|
||||
|
||||
lib_LTLIBRARIES = libhamlib-jrc.la
|
||||
libhamlib_jrc_la_SOURCES = $(JRCSRCLIST) jrc.c
|
||||
libhamlib_jrc_la_LDFLAGS = -no-undefined -module -avoid-version
|
||||
libhamlib_jrc_la_CFLAGS = -DHAMLIB_DLL $(AM_CFLAGS)
|
||||
libhamlib_jrc_la_LIBADD = ../src/libhamlib.la
|
||||
|
||||
lib_LIBRARIES = libhamlib-jrc.a
|
||||
libhamlib_jrc_a_SOURCES = $(JRCSRCLIST) jrc.c
|
||||
libhamlib_jrc_a_CFLAGS = -DHAMLIB_STATIC $(AM_CFLAGS)
|
||||
libhamlib_jrc_a_LIBADD = ../src/libhamlib.la
|
||||
|
||||
noinst_HEADERS = jrc.h
|
|
@ -0,0 +1,474 @@
|
|||
# Makefile.in generated automatically by automake 1.5 from Makefile.am.
|
||||
|
||||
# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
|
||||
# Free Software Foundation, Inc.
|
||||
# This Makefile.in is free software; the Free Software Foundation
|
||||
# gives unlimited permission to copy and/or distribute it,
|
||||
# with or without modifications, as long as this notice is preserved.
|
||||
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
|
||||
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
|
||||
# PARTICULAR PURPOSE.
|
||||
|
||||
@SET_MAKE@
|
||||
|
||||
SHELL = @SHELL@
|
||||
|
||||
srcdir = @srcdir@
|
||||
top_srcdir = @top_srcdir@
|
||||
VPATH = @srcdir@
|
||||
prefix = @prefix@
|
||||
exec_prefix = @exec_prefix@
|
||||
|
||||
bindir = @bindir@
|
||||
sbindir = @sbindir@
|
||||
libexecdir = @libexecdir@
|
||||
datadir = @datadir@
|
||||
sysconfdir = @sysconfdir@
|
||||
sharedstatedir = @sharedstatedir@
|
||||
localstatedir = @localstatedir@
|
||||
libdir = @libdir@
|
||||
infodir = @infodir@
|
||||
mandir = @mandir@
|
||||
includedir = @includedir@
|
||||
oldincludedir = /usr/include
|
||||
pkgdatadir = $(datadir)/@PACKAGE@
|
||||
pkglibdir = $(libdir)/@PACKAGE@
|
||||
pkgincludedir = $(includedir)/@PACKAGE@
|
||||
top_builddir = ..
|
||||
|
||||
ACLOCAL = @ACLOCAL@
|
||||
AUTOCONF = @AUTOCONF@
|
||||
AUTOMAKE = @AUTOMAKE@
|
||||
AUTOHEADER = @AUTOHEADER@
|
||||
|
||||
INSTALL = @INSTALL@
|
||||
INSTALL_PROGRAM = @INSTALL_PROGRAM@
|
||||
INSTALL_DATA = @INSTALL_DATA@
|
||||
INSTALL_SCRIPT = @INSTALL_SCRIPT@
|
||||
INSTALL_HEADER = $(INSTALL_DATA)
|
||||
transform = @program_transform_name@
|
||||
NORMAL_INSTALL = :
|
||||
PRE_INSTALL = :
|
||||
POST_INSTALL = :
|
||||
NORMAL_UNINSTALL = :
|
||||
PRE_UNINSTALL = :
|
||||
POST_UNINSTALL = :
|
||||
host_alias = @host_alias@
|
||||
host_triplet = @host@
|
||||
AMTAR = @AMTAR@
|
||||
AS = @AS@
|
||||
AWK = @AWK@
|
||||
BACKENDEPS = @BACKENDEPS@
|
||||
BACKENDLNK = @BACKENDLNK@
|
||||
BACKEND_LIST = @BACKEND_LIST@
|
||||
CC = @CC@
|
||||
CPP = @CPP@
|
||||
CXX = @CXX@
|
||||
DEPDIR = @DEPDIR@
|
||||
DLLTOOL = @DLLTOOL@
|
||||
DLL_PRELOAD = @DLL_PRELOAD@
|
||||
ECHO = @ECHO@
|
||||
EXEEXT = @EXEEXT@
|
||||
INCLTDL = @INCLTDL@
|
||||
INCLUDES = @INCLUDES@
|
||||
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
|
||||
LIBHAMLIBTCL = @LIBHAMLIBTCL@
|
||||
LIBLTDL = @LIBLTDL@
|
||||
LIBOBJS = @LIBOBJS@
|
||||
LIBTOOL = @LIBTOOL@
|
||||
LN_S = @LN_S@
|
||||
LTHAMLIBTCL = @LTHAMLIBTCL@
|
||||
NET = @NET@
|
||||
OBJDUMP = @OBJDUMP@
|
||||
OBJEXT = @OBJEXT@
|
||||
PACKAGE = @PACKAGE@
|
||||
RANLIB = @RANLIB@
|
||||
RIGMATRIX = @RIGMATRIX@
|
||||
STRIP = @STRIP@
|
||||
VERSION = @VERSION@
|
||||
am__include = @am__include@
|
||||
am__quote = @am__quote@
|
||||
hamlibdocdir = @hamlibdocdir@
|
||||
install_sh = @install_sh@
|
||||
|
||||
JRCSRCLIST = nrd545.c
|
||||
|
||||
lib_LTLIBRARIES = libhamlib-jrc.la
|
||||
libhamlib_jrc_la_SOURCES = $(JRCSRCLIST) jrc.c
|
||||
libhamlib_jrc_la_LDFLAGS = -no-undefined -module -avoid-version
|
||||
libhamlib_jrc_la_CFLAGS = -DHAMLIB_DLL $(AM_CFLAGS)
|
||||
libhamlib_jrc_la_LIBADD = ../src/libhamlib.la
|
||||
|
||||
lib_LIBRARIES = libhamlib-jrc.a
|
||||
libhamlib_jrc_a_SOURCES = $(JRCSRCLIST) jrc.c
|
||||
libhamlib_jrc_a_CFLAGS = -DHAMLIB_STATIC $(AM_CFLAGS)
|
||||
libhamlib_jrc_a_LIBADD = ../src/libhamlib.la
|
||||
|
||||
noinst_HEADERS = jrc.h
|
||||
subdir = jrc
|
||||
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
|
||||
CONFIG_HEADER = $(top_builddir)/include/config.h
|
||||
CONFIG_CLEAN_FILES =
|
||||
LIBRARIES = $(lib_LIBRARIES)
|
||||
|
||||
libhamlib_jrc_a_AR = $(AR) cru
|
||||
libhamlib_jrc_a_DEPENDENCIES = ../src/libhamlib.la
|
||||
am_libhamlib_jrc_a_OBJECTS = libhamlib_jrc_a-nrd545.$(OBJEXT) \
|
||||
libhamlib_jrc_a-jrc.$(OBJEXT)
|
||||
libhamlib_jrc_a_OBJECTS = $(am_libhamlib_jrc_a_OBJECTS)
|
||||
LTLIBRARIES = $(lib_LTLIBRARIES)
|
||||
|
||||
libhamlib_jrc_la_DEPENDENCIES = ../src/libhamlib.la
|
||||
am_libhamlib_jrc_la_OBJECTS = libhamlib_jrc_la-nrd545.lo \
|
||||
libhamlib_jrc_la-jrc.lo
|
||||
libhamlib_jrc_la_OBJECTS = $(am_libhamlib_jrc_la_OBJECTS)
|
||||
|
||||
DEFS = @DEFS@
|
||||
DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)/include
|
||||
CPPFLAGS = @CPPFLAGS@
|
||||
LDFLAGS = @LDFLAGS@
|
||||
LIBS = @LIBS@
|
||||
depcomp = $(SHELL) $(top_srcdir)/depcomp
|
||||
@AMDEP_TRUE@DEP_FILES = $(DEPDIR)/libhamlib_jrc_a-jrc.Po \
|
||||
@AMDEP_TRUE@ $(DEPDIR)/libhamlib_jrc_a-nrd545.Po \
|
||||
@AMDEP_TRUE@ $(DEPDIR)/libhamlib_jrc_la-jrc.Plo \
|
||||
@AMDEP_TRUE@ $(DEPDIR)/libhamlib_jrc_la-nrd545.Plo
|
||||
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
|
||||
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
|
||||
LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) \
|
||||
$(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
|
||||
CCLD = $(CC)
|
||||
LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
|
||||
$(AM_LDFLAGS) $(LDFLAGS) -o $@
|
||||
CFLAGS = @CFLAGS@
|
||||
DIST_SOURCES = $(libhamlib_jrc_a_SOURCES) $(libhamlib_jrc_la_SOURCES)
|
||||
HEADERS = $(noinst_HEADERS)
|
||||
|
||||
DIST_COMMON = $(noinst_HEADERS) Makefile.am Makefile.in
|
||||
SOURCES = $(libhamlib_jrc_a_SOURCES) $(libhamlib_jrc_la_SOURCES)
|
||||
|
||||
all: all-am
|
||||
|
||||
.SUFFIXES:
|
||||
.SUFFIXES: .c .lo .o .obj
|
||||
|
||||
mostlyclean-libtool:
|
||||
-rm -f *.lo
|
||||
|
||||
clean-libtool:
|
||||
-rm -rf .libs _libs
|
||||
|
||||
distclean-libtool:
|
||||
-rm -f libtool
|
||||
$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.ac $(ACLOCAL_M4)
|
||||
cd $(top_srcdir) && \
|
||||
$(AUTOMAKE) --gnu jrc/Makefile
|
||||
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
|
||||
cd $(top_builddir) && \
|
||||
CONFIG_HEADERS= CONFIG_LINKS= \
|
||||
CONFIG_FILES=$(subdir)/$@ $(SHELL) ./config.status
|
||||
|
||||
AR = ar
|
||||
install-libLIBRARIES: $(lib_LIBRARIES)
|
||||
@$(NORMAL_INSTALL)
|
||||
$(mkinstalldirs) $(DESTDIR)$(libdir)
|
||||
@list='$(lib_LIBRARIES)'; for p in $$list; do \
|
||||
if test -f $$p; then \
|
||||
echo " $(INSTALL_DATA) $$p $(DESTDIR)$(libdir)/$$p"; \
|
||||
$(INSTALL_DATA) $$p $(DESTDIR)$(libdir)/$$p; \
|
||||
else :; fi; \
|
||||
done
|
||||
@$(POST_INSTALL)
|
||||
@list='$(lib_LIBRARIES)'; for p in $$list; do \
|
||||
if test -f $$p; then \
|
||||
echo " $(RANLIB) $(DESTDIR)$(libdir)/$$p"; \
|
||||
$(RANLIB) $(DESTDIR)$(libdir)/$$p; \
|
||||
else :; fi; \
|
||||
done
|
||||
|
||||
uninstall-libLIBRARIES:
|
||||
@$(NORMAL_UNINSTALL)
|
||||
@list='$(lib_LIBRARIES)'; for p in $$list; do \
|
||||
echo " rm -f $(DESTDIR)$(libdir)/$$p"; \
|
||||
rm -f $(DESTDIR)$(libdir)/$$p; \
|
||||
done
|
||||
|
||||
clean-libLIBRARIES:
|
||||
-test -z "$(lib_LIBRARIES)" || rm -f $(lib_LIBRARIES)
|
||||
libhamlib_jrc_a-nrd545.$(OBJEXT): nrd545.c
|
||||
libhamlib_jrc_a-jrc.$(OBJEXT): jrc.c
|
||||
libhamlib-jrc.a: $(libhamlib_jrc_a_OBJECTS) $(libhamlib_jrc_a_DEPENDENCIES)
|
||||
-rm -f libhamlib-jrc.a
|
||||
$(libhamlib_jrc_a_AR) libhamlib-jrc.a $(libhamlib_jrc_a_OBJECTS) $(libhamlib_jrc_a_LIBADD)
|
||||
$(RANLIB) libhamlib-jrc.a
|
||||
install-libLTLIBRARIES: $(lib_LTLIBRARIES)
|
||||
@$(NORMAL_INSTALL)
|
||||
$(mkinstalldirs) $(DESTDIR)$(libdir)
|
||||
@list='$(lib_LTLIBRARIES)'; for p in $$list; do \
|
||||
if test -f $$p; then \
|
||||
echo " $(LIBTOOL) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$p $(DESTDIR)$(libdir)/$$p"; \
|
||||
$(LIBTOOL) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$p $(DESTDIR)$(libdir)/$$p; \
|
||||
else :; fi; \
|
||||
done
|
||||
|
||||
uninstall-libLTLIBRARIES:
|
||||
@$(NORMAL_UNINSTALL)
|
||||
@list='$(lib_LTLIBRARIES)'; for p in $$list; do \
|
||||
echo " $(LIBTOOL) --mode=uninstall rm -f $(DESTDIR)$(libdir)/$$p"; \
|
||||
$(LIBTOOL) --mode=uninstall rm -f $(DESTDIR)$(libdir)/$$p; \
|
||||
done
|
||||
|
||||
clean-libLTLIBRARIES:
|
||||
-test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES)
|
||||
libhamlib_jrc_la-nrd545.lo: nrd545.c
|
||||
libhamlib_jrc_la-jrc.lo: jrc.c
|
||||
libhamlib-jrc.la: $(libhamlib_jrc_la_OBJECTS) $(libhamlib_jrc_la_DEPENDENCIES)
|
||||
$(LINK) -rpath $(libdir) $(libhamlib_jrc_la_LDFLAGS) $(libhamlib_jrc_la_OBJECTS) $(libhamlib_jrc_la_LIBADD) $(LIBS)
|
||||
|
||||
mostlyclean-compile:
|
||||
-rm -f *.$(OBJEXT) core *.core
|
||||
|
||||
distclean-compile:
|
||||
-rm -f *.tab.c
|
||||
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/libhamlib_jrc_a-jrc.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/libhamlib_jrc_a-nrd545.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/libhamlib_jrc_la-jrc.Plo@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/libhamlib_jrc_la-nrd545.Plo@am__quote@
|
||||
|
||||
distclean-depend:
|
||||
-rm -rf $(DEPDIR)
|
||||
|
||||
.c.o:
|
||||
@AMDEP_TRUE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
$(COMPILE) -c `test -f $< || echo '$(srcdir)/'`$<
|
||||
|
||||
.c.obj:
|
||||
@AMDEP_TRUE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
$(COMPILE) -c `cygpath -w $<`
|
||||
|
||||
.c.lo:
|
||||
@AMDEP_TRUE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@ depfile='$(DEPDIR)/$*.Plo' tmpdepfile='$(DEPDIR)/$*.TPlo' @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
$(LTCOMPILE) -c -o $@ `test -f $< || echo '$(srcdir)/'`$<
|
||||
|
||||
libhamlib_jrc_a-nrd545.o: nrd545.c
|
||||
@AMDEP_TRUE@ source='nrd545.c' object='libhamlib_jrc_a-nrd545.o' libtool=no @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@ depfile='$(DEPDIR)/libhamlib_jrc_a-nrd545.Po' tmpdepfile='$(DEPDIR)/libhamlib_jrc_a-nrd545.TPo' @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libhamlib_jrc_a_CFLAGS) $(CFLAGS) -c -o libhamlib_jrc_a-nrd545.o `test -f nrd545.c || echo '$(srcdir)/'`nrd545.c
|
||||
|
||||
libhamlib_jrc_a-nrd545.obj: nrd545.c
|
||||
@AMDEP_TRUE@ source='nrd545.c' object='libhamlib_jrc_a-nrd545.obj' libtool=no @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@ depfile='$(DEPDIR)/libhamlib_jrc_a-nrd545.Po' tmpdepfile='$(DEPDIR)/libhamlib_jrc_a-nrd545.TPo' @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libhamlib_jrc_a_CFLAGS) $(CFLAGS) -c -o libhamlib_jrc_a-nrd545.obj `cygpath -w nrd545.c`
|
||||
|
||||
libhamlib_jrc_a-nrd545.lo: nrd545.c
|
||||
@AMDEP_TRUE@ source='nrd545.c' object='libhamlib_jrc_a-nrd545.lo' libtool=yes @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@ depfile='$(DEPDIR)/libhamlib_jrc_a-nrd545.Plo' tmpdepfile='$(DEPDIR)/libhamlib_jrc_a-nrd545.TPlo' @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
$(LIBTOOL) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libhamlib_jrc_a_CFLAGS) $(CFLAGS) -c -o libhamlib_jrc_a-nrd545.lo `test -f nrd545.c || echo '$(srcdir)/'`nrd545.c
|
||||
|
||||
libhamlib_jrc_a-jrc.o: jrc.c
|
||||
@AMDEP_TRUE@ source='jrc.c' object='libhamlib_jrc_a-jrc.o' libtool=no @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@ depfile='$(DEPDIR)/libhamlib_jrc_a-jrc.Po' tmpdepfile='$(DEPDIR)/libhamlib_jrc_a-jrc.TPo' @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libhamlib_jrc_a_CFLAGS) $(CFLAGS) -c -o libhamlib_jrc_a-jrc.o `test -f jrc.c || echo '$(srcdir)/'`jrc.c
|
||||
|
||||
libhamlib_jrc_a-jrc.obj: jrc.c
|
||||
@AMDEP_TRUE@ source='jrc.c' object='libhamlib_jrc_a-jrc.obj' libtool=no @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@ depfile='$(DEPDIR)/libhamlib_jrc_a-jrc.Po' tmpdepfile='$(DEPDIR)/libhamlib_jrc_a-jrc.TPo' @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libhamlib_jrc_a_CFLAGS) $(CFLAGS) -c -o libhamlib_jrc_a-jrc.obj `cygpath -w jrc.c`
|
||||
|
||||
libhamlib_jrc_a-jrc.lo: jrc.c
|
||||
@AMDEP_TRUE@ source='jrc.c' object='libhamlib_jrc_a-jrc.lo' libtool=yes @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@ depfile='$(DEPDIR)/libhamlib_jrc_a-jrc.Plo' tmpdepfile='$(DEPDIR)/libhamlib_jrc_a-jrc.TPlo' @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
$(LIBTOOL) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libhamlib_jrc_a_CFLAGS) $(CFLAGS) -c -o libhamlib_jrc_a-jrc.lo `test -f jrc.c || echo '$(srcdir)/'`jrc.c
|
||||
|
||||
libhamlib_jrc_la-nrd545.o: nrd545.c
|
||||
@AMDEP_TRUE@ source='nrd545.c' object='libhamlib_jrc_la-nrd545.o' libtool=no @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@ depfile='$(DEPDIR)/libhamlib_jrc_la-nrd545.Po' tmpdepfile='$(DEPDIR)/libhamlib_jrc_la-nrd545.TPo' @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libhamlib_jrc_la_CFLAGS) $(CFLAGS) -c -o libhamlib_jrc_la-nrd545.o `test -f nrd545.c || echo '$(srcdir)/'`nrd545.c
|
||||
|
||||
libhamlib_jrc_la-nrd545.obj: nrd545.c
|
||||
@AMDEP_TRUE@ source='nrd545.c' object='libhamlib_jrc_la-nrd545.obj' libtool=no @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@ depfile='$(DEPDIR)/libhamlib_jrc_la-nrd545.Po' tmpdepfile='$(DEPDIR)/libhamlib_jrc_la-nrd545.TPo' @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libhamlib_jrc_la_CFLAGS) $(CFLAGS) -c -o libhamlib_jrc_la-nrd545.obj `cygpath -w nrd545.c`
|
||||
|
||||
libhamlib_jrc_la-nrd545.lo: nrd545.c
|
||||
@AMDEP_TRUE@ source='nrd545.c' object='libhamlib_jrc_la-nrd545.lo' libtool=yes @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@ depfile='$(DEPDIR)/libhamlib_jrc_la-nrd545.Plo' tmpdepfile='$(DEPDIR)/libhamlib_jrc_la-nrd545.TPlo' @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
$(LIBTOOL) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libhamlib_jrc_la_CFLAGS) $(CFLAGS) -c -o libhamlib_jrc_la-nrd545.lo `test -f nrd545.c || echo '$(srcdir)/'`nrd545.c
|
||||
|
||||
libhamlib_jrc_la-jrc.o: jrc.c
|
||||
@AMDEP_TRUE@ source='jrc.c' object='libhamlib_jrc_la-jrc.o' libtool=no @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@ depfile='$(DEPDIR)/libhamlib_jrc_la-jrc.Po' tmpdepfile='$(DEPDIR)/libhamlib_jrc_la-jrc.TPo' @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libhamlib_jrc_la_CFLAGS) $(CFLAGS) -c -o libhamlib_jrc_la-jrc.o `test -f jrc.c || echo '$(srcdir)/'`jrc.c
|
||||
|
||||
libhamlib_jrc_la-jrc.obj: jrc.c
|
||||
@AMDEP_TRUE@ source='jrc.c' object='libhamlib_jrc_la-jrc.obj' libtool=no @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@ depfile='$(DEPDIR)/libhamlib_jrc_la-jrc.Po' tmpdepfile='$(DEPDIR)/libhamlib_jrc_la-jrc.TPo' @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libhamlib_jrc_la_CFLAGS) $(CFLAGS) -c -o libhamlib_jrc_la-jrc.obj `cygpath -w jrc.c`
|
||||
|
||||
libhamlib_jrc_la-jrc.lo: jrc.c
|
||||
@AMDEP_TRUE@ source='jrc.c' object='libhamlib_jrc_la-jrc.lo' libtool=yes @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@ depfile='$(DEPDIR)/libhamlib_jrc_la-jrc.Plo' tmpdepfile='$(DEPDIR)/libhamlib_jrc_la-jrc.TPlo' @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
$(LIBTOOL) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libhamlib_jrc_la_CFLAGS) $(CFLAGS) -c -o libhamlib_jrc_la-jrc.lo `test -f jrc.c || echo '$(srcdir)/'`jrc.c
|
||||
CCDEPMODE = @CCDEPMODE@
|
||||
uninstall-info-am:
|
||||
|
||||
tags: TAGS
|
||||
|
||||
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
|
||||
list='$(SOURCES) $(HEADERS) $(TAGS_FILES)'; \
|
||||
unique=`for i in $$list; do \
|
||||
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
||||
done | \
|
||||
$(AWK) ' { files[$$0] = 1; } \
|
||||
END { for (i in files) print i; }'`; \
|
||||
mkid -fID $$unique $(LISP)
|
||||
|
||||
TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
|
||||
$(TAGS_FILES) $(LISP)
|
||||
tags=; \
|
||||
here=`pwd`; \
|
||||
list='$(SOURCES) $(HEADERS) $(TAGS_FILES)'; \
|
||||
unique=`for i in $$list; do \
|
||||
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
||||
done | \
|
||||
$(AWK) ' { files[$$0] = 1; } \
|
||||
END { for (i in files) print i; }'`; \
|
||||
test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \
|
||||
|| etags $(ETAGS_ARGS) $$tags $$unique $(LISP)
|
||||
|
||||
GTAGS:
|
||||
here=`CDPATH=: && cd $(top_builddir) && pwd` \
|
||||
&& cd $(top_srcdir) \
|
||||
&& gtags -i $(GTAGS_ARGS) $$here
|
||||
|
||||
distclean-tags:
|
||||
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH
|
||||
|
||||
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
|
||||
|
||||
top_distdir = ..
|
||||
distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
|
||||
|
||||
distdir: $(DISTFILES)
|
||||
@for file in $(DISTFILES); do \
|
||||
if test -f $$file; then d=.; else d=$(srcdir); fi; \
|
||||
dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
|
||||
if test "$$dir" != "$$file" && test "$$dir" != "."; then \
|
||||
$(mkinstalldirs) "$(distdir)/$$dir"; \
|
||||
fi; \
|
||||
if test -d $$d/$$file; then \
|
||||
cp -pR $$d/$$file $(distdir) \
|
||||
|| exit 1; \
|
||||
else \
|
||||
test -f $(distdir)/$$file \
|
||||
|| cp -p $$d/$$file $(distdir)/$$file \
|
||||
|| exit 1; \
|
||||
fi; \
|
||||
done
|
||||
check-am: all-am
|
||||
check: check-am
|
||||
all-am: Makefile $(LIBRARIES) $(LTLIBRARIES) $(HEADERS)
|
||||
|
||||
installdirs:
|
||||
$(mkinstalldirs) $(DESTDIR)$(libdir) $(DESTDIR)$(libdir)
|
||||
|
||||
install: install-am
|
||||
install-exec: install-exec-am
|
||||
install-data: install-data-am
|
||||
uninstall: uninstall-am
|
||||
|
||||
install-am: all-am
|
||||
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
|
||||
|
||||
installcheck: installcheck-am
|
||||
install-strip:
|
||||
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
|
||||
`test -z '$(STRIP)' || \
|
||||
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
|
||||
mostlyclean-generic:
|
||||
|
||||
clean-generic:
|
||||
|
||||
distclean-generic:
|
||||
-rm -f Makefile $(CONFIG_CLEAN_FILES) stamp-h stamp-h[0-9]*
|
||||
|
||||
maintainer-clean-generic:
|
||||
@echo "This command is intended for maintainers to use"
|
||||
@echo "it deletes files that may require special tools to rebuild."
|
||||
clean: clean-am
|
||||
|
||||
clean-am: clean-generic clean-libLIBRARIES clean-libLTLIBRARIES \
|
||||
clean-libtool mostlyclean-am
|
||||
|
||||
distclean: distclean-am
|
||||
|
||||
distclean-am: clean-am distclean-compile distclean-depend \
|
||||
distclean-generic distclean-libtool distclean-tags
|
||||
|
||||
dvi: dvi-am
|
||||
|
||||
dvi-am:
|
||||
|
||||
info: info-am
|
||||
|
||||
info-am:
|
||||
|
||||
install-data-am:
|
||||
|
||||
install-exec-am: install-libLIBRARIES install-libLTLIBRARIES
|
||||
|
||||
install-info: install-info-am
|
||||
|
||||
install-man:
|
||||
|
||||
installcheck-am:
|
||||
|
||||
maintainer-clean: maintainer-clean-am
|
||||
|
||||
maintainer-clean-am: distclean-am maintainer-clean-generic
|
||||
|
||||
mostlyclean: mostlyclean-am
|
||||
|
||||
mostlyclean-am: mostlyclean-compile mostlyclean-generic \
|
||||
mostlyclean-libtool
|
||||
|
||||
uninstall-am: uninstall-info-am uninstall-libLIBRARIES \
|
||||
uninstall-libLTLIBRARIES
|
||||
|
||||
.PHONY: GTAGS all all-am check check-am clean clean-generic \
|
||||
clean-libLIBRARIES clean-libLTLIBRARIES clean-libtool distclean \
|
||||
distclean-compile distclean-depend distclean-generic \
|
||||
distclean-libtool distclean-tags distdir dvi dvi-am info \
|
||||
info-am install install-am install-data install-data-am \
|
||||
install-exec install-exec-am install-info install-info-am \
|
||||
install-libLIBRARIES install-libLTLIBRARIES install-man \
|
||||
install-strip installcheck installcheck-am installdirs \
|
||||
maintainer-clean maintainer-clean-generic mostlyclean \
|
||||
mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
|
||||
tags uninstall uninstall-am uninstall-info-am \
|
||||
uninstall-libLIBRARIES uninstall-libLTLIBRARIES
|
||||
|
||||
# Tell versions [3.59,3.63) of GNU make to not export all variables.
|
||||
# Otherwise a system limit (for SysV at least) may be exceeded.
|
||||
.NOEXPORT:
|
|
@ -0,0 +1,654 @@
|
|||
/*
|
||||
* Hamlib JRC backend - main file
|
||||
* Copyright (c) 2001 by Stephane Fillod
|
||||
*
|
||||
* $Id: jrc.c,v 1.1 2001-12-17 22:40:34 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
|
||||
* published by the Free Software Foundation; either version 2 of
|
||||
* the License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Library General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Library General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
*
|
||||
*/
|
||||
|
||||
#ifdef HAVE_CONFIG_H
|
||||
#include "config.h"
|
||||
#endif
|
||||
|
||||
#include <stdlib.h>
|
||||
#include <stdio.h> /* Standard input/output definitions */
|
||||
#include <string.h> /* String function definitions */
|
||||
#include <unistd.h> /* UNIX standard function definitions */
|
||||
#include <fcntl.h> /* File control definitions */
|
||||
#include <errno.h> /* Error number definitions */
|
||||
#include <termios.h> /* POSIX terminal control definitions */
|
||||
#include <sys/ioctl.h>
|
||||
|
||||
#include <hamlib/rig.h>
|
||||
#include <serial.h>
|
||||
#include <misc.h>
|
||||
#include <cal.h>
|
||||
|
||||
#include "jrc.h"
|
||||
|
||||
|
||||
/*
|
||||
* Carriage return
|
||||
*/
|
||||
#define EOM "\r"
|
||||
|
||||
/*
|
||||
* modes in use by the "2G" command
|
||||
*/
|
||||
#define MD_RTTY '0'
|
||||
#define MD_CW '1'
|
||||
#define MD_USB '2'
|
||||
#define MD_LSB '3'
|
||||
#define MD_AM '4'
|
||||
#define MD_FM '5'
|
||||
#define MD_AMS '6'
|
||||
#define MD_ECCS_USB '7'
|
||||
#define MD_ECCS_LSB '8'
|
||||
#define MD_WFM '9'
|
||||
|
||||
|
||||
/*
|
||||
* jrc_transaction
|
||||
* We assume that rig!=NULL, rig->state!= NULL, data!=NULL, data_len!=NULL
|
||||
* Otherwise, you'll get a nice seg fault. You've been warned!
|
||||
* TODO: error case handling
|
||||
*/
|
||||
int jrc_transaction(RIG *rig, const char *cmd, int cmd_len, char *data, int *data_len)
|
||||
{
|
||||
int i, count, retval;
|
||||
struct rig_state *rs;
|
||||
|
||||
rs = &rig->state;
|
||||
|
||||
serial_flush(&rs->rigport);
|
||||
|
||||
retval = write_block(&rs->rigport, cmd, cmd_len);
|
||||
if (retval != RIG_OK)
|
||||
return retval;
|
||||
|
||||
/* no data expected, TODO: flush input? */
|
||||
if (!data || !data_len)
|
||||
return 0;
|
||||
/*
|
||||
* buffered read are quite helpful here!
|
||||
* However, an automate with a state model would be more efficient..
|
||||
*/
|
||||
i = 0;
|
||||
do {
|
||||
count = fread_block(&rs->rigport, data+i, 1);
|
||||
if (count > 0)
|
||||
i += count;
|
||||
else if (count < 0)
|
||||
return count;
|
||||
} while (count > 0 && data[i-1] != EOM[0]);
|
||||
|
||||
*data_len = i;
|
||||
|
||||
return RIG_OK;
|
||||
}
|
||||
|
||||
|
||||
int jrc_open(RIG *rig)
|
||||
{
|
||||
int retval;
|
||||
|
||||
/* Turning computer control ON */
|
||||
|
||||
retval = jrc_transaction(rig, "H1" EOM, 3, NULL, NULL);
|
||||
return retval;
|
||||
}
|
||||
|
||||
int jrc_close(RIG *rig)
|
||||
{
|
||||
int retval;
|
||||
|
||||
/* Turning computer control OFF */
|
||||
|
||||
retval = jrc_transaction(rig, "H0" EOM, 3, NULL, NULL);
|
||||
return retval;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* jrc_set_freq
|
||||
* Assumes rig!=NULL
|
||||
*/
|
||||
int jrc_set_freq(RIG *rig, vfo_t vfo, freq_t freq)
|
||||
{
|
||||
char freqbuf[16];
|
||||
int freq_len;
|
||||
|
||||
/* max 10 digits */
|
||||
if (freq >= GHz(10))
|
||||
return -RIG_EINVAL;
|
||||
|
||||
freq_len = sprintf(freqbuf, "F%10Ld" EOM, freq);
|
||||
|
||||
return jrc_transaction (rig, freqbuf, freq_len, NULL, NULL);
|
||||
}
|
||||
|
||||
/*
|
||||
* jrc_get_freq
|
||||
* Assumes rig!=NULL, freq!=NULL
|
||||
*/
|
||||
int jrc_get_freq(RIG *rig, vfo_t vfo, freq_t *freq)
|
||||
{
|
||||
int freq_len, retval;
|
||||
char freqbuf[32];
|
||||
|
||||
retval = jrc_transaction (rig, "F" EOM, 2, freqbuf, &freq_len);
|
||||
if (retval != RIG_OK)
|
||||
return retval;
|
||||
|
||||
if (freq_len != 12) {
|
||||
rig_debug(RIG_DEBUG_ERR,"jrc_get_freq: wrong answer %s, "
|
||||
"len=%d\n", freqbuf, freq_len);
|
||||
return -RIG_ERJCTED;
|
||||
}
|
||||
freqbuf[freq_len-1] = '\0';
|
||||
|
||||
/* extract freq */
|
||||
sscanf(freqbuf+1, "%Lu", freq);
|
||||
|
||||
return RIG_OK;
|
||||
}
|
||||
|
||||
/*
|
||||
* jrc_set_mode
|
||||
* Assumes rig!=NULL
|
||||
*/
|
||||
int jrc_set_mode(RIG *rig, vfo_t vfo, rmode_t mode, pbwidth_t width)
|
||||
{
|
||||
char mdbuf[16];
|
||||
int retval, mdbuf_len;
|
||||
char amode;
|
||||
const char *bandwidth;
|
||||
|
||||
switch (mode) {
|
||||
/* FIXME: WFM, MD_AMS and ECSS modes */
|
||||
case RIG_MODE_CW: amode = MD_CW; break;
|
||||
case RIG_MODE_USB: amode = MD_USB; break;
|
||||
case RIG_MODE_LSB: amode = MD_LSB; break;
|
||||
case RIG_MODE_FM: amode = MD_FM; break;
|
||||
case RIG_MODE_AM: amode = MD_AM; break;
|
||||
case RIG_MODE_RTTY: amode = MD_RTTY; break;
|
||||
default:
|
||||
rig_debug(RIG_DEBUG_ERR,
|
||||
"jrc_set_mode: unsupported mode %d\n",
|
||||
mode);
|
||||
return -RIG_EINVAL;
|
||||
}
|
||||
|
||||
mdbuf_len = sprintf(mdbuf, "D" "%c" EOM, amode);
|
||||
retval = jrc_transaction (rig, mdbuf, mdbuf_len, NULL, NULL);
|
||||
if (retval != RIG_OK)
|
||||
return retval;
|
||||
|
||||
/*
|
||||
* determine passband
|
||||
*/
|
||||
if (width != RIG_PASSBAND_NORMAL &&
|
||||
width < rig_passband_normal(rig, mode))
|
||||
bandwidth = "B2" EOM; /* narrow */
|
||||
else if (width != RIG_PASSBAND_NORMAL &&
|
||||
width > rig_passband_normal(rig, mode))
|
||||
bandwidth = "B0" EOM; /* wide */
|
||||
else
|
||||
bandwidth = "B1" EOM; /* intermediate */
|
||||
|
||||
retval = jrc_transaction (rig, bandwidth, 3, NULL, NULL);
|
||||
|
||||
return retval;
|
||||
}
|
||||
|
||||
/*
|
||||
* jrc_set_func
|
||||
* Assumes rig!=NULL
|
||||
*/
|
||||
int jrc_set_func(RIG *rig, vfo_t vfo, setting_t func, int status)
|
||||
{
|
||||
int cmd_len;
|
||||
char cmdbuf[32];
|
||||
|
||||
/* Optimize:
|
||||
* sort the switch cases with the most frequent first
|
||||
*/
|
||||
switch (func) {
|
||||
case RIG_FUNC_FAGC:
|
||||
/* FIXME: FAGC levels */
|
||||
cmd_len = sprintf(cmdbuf, "G%d" EOM, status?0:2);
|
||||
|
||||
return jrc_transaction (rig, cmdbuf, cmd_len, NULL, NULL);
|
||||
|
||||
case RIG_FUNC_NB:
|
||||
/* FIXME: NB1 and NB2 */
|
||||
cmd_len = sprintf(cmdbuf, "N%d" EOM, status?1:0);
|
||||
|
||||
return jrc_transaction (rig, cmdbuf, cmd_len, NULL, NULL);
|
||||
|
||||
/*
|
||||
* FIXME: which BB mode for NR and BC at same time ?
|
||||
*/
|
||||
case RIG_FUNC_NR:
|
||||
cmd_len = sprintf(cmdbuf, "BB%d" EOM, status?1:0);
|
||||
|
||||
return jrc_transaction (rig, cmdbuf, cmd_len, NULL, NULL);
|
||||
|
||||
case RIG_FUNC_BC:
|
||||
cmd_len = sprintf(cmdbuf, "BB%d" EOM, status?2:0);
|
||||
|
||||
return jrc_transaction (rig, cmdbuf, cmd_len, NULL, NULL);
|
||||
|
||||
case RIG_FUNC_LOCK:
|
||||
cmd_len = sprintf(cmdbuf, "DD%d" EOM, status?1:0);
|
||||
|
||||
return jrc_transaction (rig, cmdbuf, cmd_len, NULL, NULL);
|
||||
|
||||
default:
|
||||
rig_debug(RIG_DEBUG_ERR,"Unsupported set_func %d\n", func);
|
||||
return -RIG_EINVAL;
|
||||
}
|
||||
|
||||
return RIG_OK;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* jrc_get_func
|
||||
* Assumes rig!=NULL, status!=NULL
|
||||
*/
|
||||
int jrc_get_func(RIG *rig, vfo_t vfo, setting_t func, int *status)
|
||||
{
|
||||
int retval, func_len;
|
||||
char funcbuf[32];
|
||||
|
||||
/* Optimize:
|
||||
* sort the switch cases with the most frequent first
|
||||
*/
|
||||
switch (func) {
|
||||
case RIG_FUNC_FAGC:
|
||||
/* FIXME: FAGC levels */
|
||||
retval = jrc_transaction (rig, "G" EOM, 2, funcbuf, &func_len);
|
||||
if (retval != RIG_OK)
|
||||
return retval;
|
||||
|
||||
if (func_len != 3 || func_len != 6) {
|
||||
rig_debug(RIG_DEBUG_ERR,"jrc_get_func: wrong answer %s, "
|
||||
"len=%d\n", funcbuf, func_len);
|
||||
return -RIG_ERJCTED;
|
||||
}
|
||||
*status = funcbuf[1] != '2';
|
||||
|
||||
return RIG_OK;
|
||||
|
||||
case RIG_FUNC_NB:
|
||||
/* FIXME: NB1 and NB2 */
|
||||
retval = jrc_transaction (rig, "N" EOM, 2, funcbuf, &func_len);
|
||||
if (retval != RIG_OK)
|
||||
return retval;
|
||||
|
||||
if (func_len != 3) {
|
||||
rig_debug(RIG_DEBUG_ERR,"jrc_get_func: wrong answer %s, "
|
||||
"len=%d\n", funcbuf, func_len);
|
||||
return -RIG_ERJCTED;
|
||||
}
|
||||
*status = funcbuf[1] != '0';
|
||||
|
||||
return RIG_OK;
|
||||
|
||||
/*
|
||||
* FIXME: which BB mode for NR and BC at same time ?
|
||||
*/
|
||||
case RIG_FUNC_NR:
|
||||
retval = jrc_transaction (rig, "BB" EOM, 3, funcbuf, &func_len);
|
||||
if (retval != RIG_OK)
|
||||
return retval;
|
||||
|
||||
if (func_len != 3) {
|
||||
rig_debug(RIG_DEBUG_ERR,"jrc_get_func: wrong answer %s, "
|
||||
"len=%d\n", funcbuf, func_len);
|
||||
return -RIG_ERJCTED;
|
||||
}
|
||||
*status = funcbuf[2] == '1';
|
||||
|
||||
return RIG_OK;
|
||||
|
||||
case RIG_FUNC_BC:
|
||||
retval = jrc_transaction (rig, "BB" EOM, 3, funcbuf, &func_len);
|
||||
if (retval != RIG_OK)
|
||||
return retval;
|
||||
|
||||
if (func_len != 3) {
|
||||
rig_debug(RIG_DEBUG_ERR,"jrc_get_func: wrong answer %s, "
|
||||
"len=%d\n", funcbuf, func_len);
|
||||
return -RIG_ERJCTED;
|
||||
}
|
||||
*status = funcbuf[2] == '2';
|
||||
|
||||
return RIG_OK;
|
||||
|
||||
case RIG_FUNC_LOCK:
|
||||
retval = jrc_transaction (rig, "DD" EOM, 3, funcbuf, &func_len);
|
||||
if (retval != RIG_OK)
|
||||
return retval;
|
||||
|
||||
if (func_len != 3) {
|
||||
rig_debug(RIG_DEBUG_ERR,"jrc_get_func: wrong answer %s, "
|
||||
"len=%d\n", funcbuf, func_len);
|
||||
return -RIG_ERJCTED;
|
||||
}
|
||||
*status = funcbuf[1] == '1';
|
||||
|
||||
return RIG_OK;
|
||||
|
||||
default:
|
||||
rig_debug(RIG_DEBUG_ERR,"Unsupported get_func %d\n", func);
|
||||
return -RIG_EINVAL;
|
||||
}
|
||||
|
||||
return RIG_OK;
|
||||
}
|
||||
|
||||
/*
|
||||
* jrc_set_level
|
||||
* Assumes rig!=NULL
|
||||
* FIXME: cannot support PREAMP and ATT both at same time (make sens though)
|
||||
*/
|
||||
int jrc_set_level(RIG *rig, vfo_t vfo, setting_t level, value_t val)
|
||||
{
|
||||
int cmd_len;
|
||||
char cmdbuf[32];
|
||||
|
||||
/* Optimize:
|
||||
* sort the switch cases with the most frequent first
|
||||
*/
|
||||
switch (level) {
|
||||
case RIG_LEVEL_ATT:
|
||||
cmd_len = sprintf(cmdbuf, "A%d" EOM, val.i?1:0);
|
||||
|
||||
return jrc_transaction (rig, cmdbuf, cmd_len, NULL, NULL);
|
||||
|
||||
case RIG_LEVEL_RF:
|
||||
cmd_len = sprintf(cmdbuf, "HH%03d" EOM, (int)(val.f*255.0));
|
||||
|
||||
return jrc_transaction (rig, cmdbuf, cmd_len, NULL, NULL);
|
||||
|
||||
case RIG_LEVEL_AF:
|
||||
cmd_len = sprintf(cmdbuf, "JJ%03d" EOM, (int)(val.f*255.0));
|
||||
|
||||
return jrc_transaction (rig, cmdbuf, cmd_len, NULL, NULL);
|
||||
|
||||
case RIG_LEVEL_SQL:
|
||||
cmd_len = sprintf(cmdbuf, "JJ%03d" EOM, (int)(val.f*255.0));
|
||||
|
||||
return jrc_transaction (rig, cmdbuf, cmd_len, NULL, NULL);
|
||||
|
||||
case RIG_LEVEL_NOTCHF:
|
||||
cmd_len = sprintf(cmdbuf, "FF%+04d" EOM, val.i);
|
||||
|
||||
return jrc_transaction (rig, cmdbuf, cmd_len, NULL, NULL);
|
||||
|
||||
case RIG_LEVEL_AGC:
|
||||
cmd_len = sprintf(cmdbuf, "NN%03d" EOM, (int)(val.f*255.0));
|
||||
|
||||
return jrc_transaction (rig, cmdbuf, cmd_len, NULL, NULL);
|
||||
|
||||
|
||||
default:
|
||||
rig_debug(RIG_DEBUG_ERR,"Unsupported set_level %d\n", level);
|
||||
return -RIG_EINVAL;
|
||||
}
|
||||
|
||||
return RIG_OK;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* jrc_get_level
|
||||
* Assumes rig!=NULL, val!=NULL
|
||||
*/
|
||||
int jrc_get_level(RIG *rig, vfo_t vfo, setting_t level, value_t *val)
|
||||
{
|
||||
struct jrc_priv_caps *priv;
|
||||
int retval, lvl_len, lvl;
|
||||
char lvlbuf[32];
|
||||
|
||||
priv = (struct jrc_priv_caps*)rig->caps->priv;
|
||||
|
||||
/* Optimize:
|
||||
* sort the switch cases with the most frequent first
|
||||
*/
|
||||
switch (level) {
|
||||
case RIG_LEVEL_STRENGTH:
|
||||
/* read A/D converted value */
|
||||
retval = jrc_transaction (rig, "M" EOM, 2, lvlbuf, &lvl_len);
|
||||
if (retval != RIG_OK)
|
||||
return retval;
|
||||
|
||||
if (lvl_len != 5) {
|
||||
rig_debug(RIG_DEBUG_ERR,"jrc_get_level: wrong answer"
|
||||
"len=%d\n", lvl_len);
|
||||
return -RIG_ERJCTED;
|
||||
}
|
||||
|
||||
lvlbuf[4] = '\0';
|
||||
val->i = rig_raw2val(atoi(lvlbuf+1), &priv->str_cal);
|
||||
break;
|
||||
|
||||
case RIG_LEVEL_SQLSTAT:
|
||||
return -RIG_ENIMPL; /* get_dcd ? */
|
||||
|
||||
case RIG_LEVEL_ATT:
|
||||
retval = jrc_transaction (rig, "A" EOM, 2, lvlbuf, &lvl_len);
|
||||
if (retval != RIG_OK)
|
||||
return retval;
|
||||
|
||||
if (lvl_len != 3) {
|
||||
rig_debug(RIG_DEBUG_ERR,"jrc_get_level: wrong answer"
|
||||
"len=%d\n", lvl_len);
|
||||
return -RIG_ERJCTED;
|
||||
}
|
||||
|
||||
val->i = lvlbuf[1] == '1' ? 20 : 0;
|
||||
break;
|
||||
|
||||
case RIG_LEVEL_RF:
|
||||
retval = jrc_transaction (rig, "HH" EOM, 3, lvlbuf, &lvl_len);
|
||||
if (retval != RIG_OK)
|
||||
return retval;
|
||||
|
||||
if (lvl_len != 6) {
|
||||
rig_debug(RIG_DEBUG_ERR,"jrc_get_level: wrong answer"
|
||||
"len=%d\n", lvl_len);
|
||||
return -RIG_ERJCTED;
|
||||
}
|
||||
/*
|
||||
* 000..255
|
||||
*/
|
||||
sscanf(lvlbuf+2, "%u", &lvl);
|
||||
val->f = (float)lvl/255.0;
|
||||
break;
|
||||
|
||||
case RIG_LEVEL_AF:
|
||||
retval = jrc_transaction (rig, "JJ" EOM, 3, lvlbuf, &lvl_len);
|
||||
if (retval != RIG_OK)
|
||||
return retval;
|
||||
|
||||
if (lvl_len != 6) {
|
||||
rig_debug(RIG_DEBUG_ERR,"jrc_get_level: wrong answer"
|
||||
"len=%d\n", lvl_len);
|
||||
return -RIG_ERJCTED;
|
||||
}
|
||||
/*
|
||||
* 000..255
|
||||
*/
|
||||
sscanf(lvlbuf+2, "%u", &lvl);
|
||||
val->f = (float)lvl/255.0;
|
||||
break;
|
||||
|
||||
case RIG_LEVEL_SQL:
|
||||
retval = jrc_transaction (rig, "LL" EOM, 3, lvlbuf, &lvl_len);
|
||||
if (retval != RIG_OK)
|
||||
return retval;
|
||||
|
||||
if (lvl_len != 6) {
|
||||
rig_debug(RIG_DEBUG_ERR,"jrc_get_level: wrong answer"
|
||||
"len=%d\n", lvl_len);
|
||||
return -RIG_ERJCTED;
|
||||
}
|
||||
/*
|
||||
* 000..255
|
||||
*/
|
||||
sscanf(lvlbuf+2, "%u", &lvl);
|
||||
val->f = (float)lvl/255.0;
|
||||
break;
|
||||
|
||||
case RIG_LEVEL_NOTCHF:
|
||||
retval = jrc_transaction (rig, "GG" EOM, 3, lvlbuf, &lvl_len);
|
||||
if (retval != RIG_OK)
|
||||
return retval;
|
||||
|
||||
if (lvl_len != 8) {
|
||||
rig_debug(RIG_DEBUG_ERR,"jrc_get_level: wrong answer"
|
||||
"len=%d\n", lvl_len);
|
||||
return -RIG_ERJCTED;
|
||||
}
|
||||
/*
|
||||
* 000..255
|
||||
*/
|
||||
sscanf(lvlbuf+2, "%d", &lvl);
|
||||
val->f = (float)lvl/255.0;
|
||||
break;
|
||||
|
||||
default:
|
||||
rig_debug(RIG_DEBUG_ERR,"Unsupported get_level %d\n", level);
|
||||
return -RIG_EINVAL;
|
||||
}
|
||||
|
||||
return RIG_OK;
|
||||
}
|
||||
|
||||
/*
|
||||
* jrc_get_dcd
|
||||
* Assumes rig!=NULL, dcd!=NULL
|
||||
*/
|
||||
int jrc_get_dcd(RIG *rig, vfo_t vfo, dcd_t *dcd)
|
||||
{
|
||||
char dcdbuf[16];
|
||||
int dcd_len, retval;
|
||||
|
||||
retval = jrc_transaction (rig, "Q" EOM, 2, dcdbuf, &dcd_len);
|
||||
if (retval != RIG_OK)
|
||||
return retval;
|
||||
|
||||
if (dcd_len != 3) {
|
||||
rig_debug(RIG_DEBUG_ERR,"jrc_get_dcd: wrong answer %s, "
|
||||
"len=%d\n", dcdbuf, dcd_len);
|
||||
return -RIG_ERJCTED;
|
||||
}
|
||||
*dcd = dcdbuf[1] == '0' ? RIG_DCD_ON : RIG_DCD_OFF;
|
||||
|
||||
return RIG_OK;
|
||||
}
|
||||
|
||||
/*
|
||||
* jrc_set_trn
|
||||
* Assumes rig!=NULL
|
||||
*/
|
||||
int jrc_set_trn(RIG *rig, vfo_t vfo, int trn)
|
||||
{
|
||||
unsigned char trnbuf[16];
|
||||
int trn_len;
|
||||
|
||||
trn_len = sprintf(trnbuf, "I%d" EOM, trn==RIG_TRN_RIG?1:0);
|
||||
|
||||
return jrc_transaction (rig, trnbuf, trn_len, NULL, NULL);
|
||||
}
|
||||
|
||||
/*
|
||||
* jrc_set_powerstat
|
||||
* Assumes rig!=NULL
|
||||
*/
|
||||
int jrc_set_powerstat(RIG *rig, powerstat_t status)
|
||||
{
|
||||
unsigned char pwrbuf[16];
|
||||
int pwr_len;
|
||||
|
||||
pwr_len = sprintf(pwrbuf, "T%d" EOM, status==RIG_POWER_ON?1:0);
|
||||
|
||||
return jrc_transaction (rig, pwrbuf, pwr_len, NULL, NULL);
|
||||
}
|
||||
|
||||
/*
|
||||
* jrc_reset
|
||||
* Assumes rig!=NULL
|
||||
*/
|
||||
int jrc_reset(RIG *rig, reset_t reset)
|
||||
{
|
||||
unsigned char rstbuf[16];
|
||||
int rst_len;
|
||||
char rst;
|
||||
|
||||
switch(reset) {
|
||||
case RIG_RESET_MCALL: rst='1'; break; /* mem clear */
|
||||
case RIG_RESET_VFO: rst='2'; break; /* user setup default */
|
||||
case RIG_RESET_MASTER: rst='3'; break; /* 1 + 2 */
|
||||
default:
|
||||
rig_debug(RIG_DEBUG_ERR,"jrc_reset: unsupported reset %d\n",
|
||||
reset);
|
||||
return -RIG_EINVAL;
|
||||
}
|
||||
rst_len = sprintf(rstbuf, "Z%c" EOM, rst);
|
||||
|
||||
return jrc_transaction (rig, rstbuf, rst_len, NULL, NULL);
|
||||
}
|
||||
|
||||
/*
|
||||
* jrc_set_mem
|
||||
* Assumes rig!=NULL
|
||||
*/
|
||||
int jrc_set_mem(RIG *rig, vfo_t vfo, int ch)
|
||||
{
|
||||
char cmdbuf[16];
|
||||
char membuf[16];
|
||||
int cmd_len, mem_len;
|
||||
|
||||
if (ch < 0 || ch > 999)
|
||||
return -RIG_EINVAL;
|
||||
|
||||
cmd_len = sprintf(cmdbuf, "C%03u" EOM, ch);
|
||||
|
||||
/* don't care about the Automatic reponse from receiver */
|
||||
|
||||
return jrc_transaction (rig, cmdbuf, cmd_len, membuf, &mem_len);
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* init_jrc is called by rig_backend_load
|
||||
*/
|
||||
int init_jrc(void *be_handle)
|
||||
{
|
||||
rig_debug(RIG_DEBUG_VERBOSE, "jrc: _init called\n");
|
||||
|
||||
rig_register(&nrd545_caps);
|
||||
|
||||
return RIG_OK;
|
||||
}
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,56 @@
|
|||
/*
|
||||
* Hamlib JRC backend - main header
|
||||
* Copyright (c) 2001 by Stephane Fillod
|
||||
*
|
||||
* $Id: jrc.h,v 1.1 2001-12-17 22:40:34 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
|
||||
* published by the Free Software Foundation; either version 2 of
|
||||
* the License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Library General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Library General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef _JRC_H
|
||||
#define _JRC_H 1
|
||||
|
||||
#include <hamlib/rig.h>
|
||||
#include <cal.h>
|
||||
|
||||
struct jrc_priv_caps {
|
||||
cal_table_t str_cal;
|
||||
};
|
||||
|
||||
int jrc_open(RIG *rig);
|
||||
int jrc_close(RIG *rig);
|
||||
int jrc_set_freq(RIG *rig, vfo_t vfo, freq_t freq);
|
||||
int jrc_get_freq(RIG *rig, vfo_t vfo, freq_t *freq);
|
||||
int jrc_set_mode(RIG *rig, vfo_t vfo, rmode_t mode, pbwidth_t width);
|
||||
int jrc_set_func(RIG *rig, vfo_t vfo, setting_t func, int status);
|
||||
int jrc_get_func(RIG *rig, vfo_t vfo, setting_t func, int *status);
|
||||
int jrc_set_level(RIG *rig, vfo_t vfo, setting_t level, value_t val);
|
||||
int jrc_get_level(RIG *rig, vfo_t vfo, setting_t level, value_t *val);
|
||||
int jrc_set_parm(RIG *rig, vfo_t vfo, setting_t parm, value_t val);
|
||||
int jrc_get_parm(RIG *rig, vfo_t vfo, setting_t parm, value_t *val);
|
||||
int jrc_get_dcd(RIG *rig, vfo_t vfo, dcd_t *dcd);
|
||||
int jrc_set_trn(RIG *rig, vfo_t vfo, int trn);
|
||||
int jrc_set_mem(RIG *rig, vfo_t vfo, int ch);
|
||||
int jrc_set_powerstat(RIG *rig, powerstat_t status);
|
||||
int jrc_reset(RIG *rig, reset_t reset);
|
||||
|
||||
extern const struct rig_caps nrd545_caps;
|
||||
|
||||
extern BACKEND_EXPORT(int) init_jrc(void *be_handle);
|
||||
|
||||
|
||||
#endif /* _JRC_H */
|
||||
|
|
@ -0,0 +1,158 @@
|
|||
/*
|
||||
* Hamlib JRC backend - NRD-545 DSP description
|
||||
* Copyright (c) 2001 by Stephane Fillod
|
||||
*
|
||||
* $Id: nrd545.c,v 1.1 2001-12-17 22:40:34 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
|
||||
* published by the Free Software Foundation; either version 2 of
|
||||
* the License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Library General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Library General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
*
|
||||
*/
|
||||
|
||||
#ifdef HAVE_CONFIG_H
|
||||
#include "config.h"
|
||||
#endif
|
||||
|
||||
#include <hamlib/rig.h>
|
||||
#include "jrc.h"
|
||||
|
||||
|
||||
#define NRD545_MODES (RIG_MODE_AM|RIG_MODE_CW|RIG_MODE_SSB|RIG_MODE_FM|RIG_MODE_RTTY)
|
||||
|
||||
#define NRD545_FUNC (RIG_FUNC_FAGC|RIG_FUNC_NB|RIG_FUNC_LOCK|RIG_FUNC_ABM|RIG_FUNC_BC|RIG_FUNC_NR)
|
||||
|
||||
#define NRD545_LEVEL (RIG_LEVEL_SQLSTAT|RIG_LEVEL_STRENGTH|RIG_LEVEL_RF|RIG_LEVEL_AF|RIG_LEVEL_AGC|RIG_LEVEL_IF|RIG_LEVEL_NR|RIG_LEVEL_NOTCHF|RIG_LEVEL_SQL)
|
||||
|
||||
#define NRD545_PARM (RIG_PARM_TIME|RIG_PARM_BACKLIGHT|RIG_PARM_BEEP)
|
||||
|
||||
#define NRD545_VFO (RIG_VFO_A)
|
||||
|
||||
/*
|
||||
* FIXME: measure S-meter levels
|
||||
*/
|
||||
#define NRD545_STR_CAL { 2, { \
|
||||
{ 0, -60 }, \
|
||||
{ 255, 60 }, \
|
||||
} }
|
||||
|
||||
static const struct jrc_priv_caps nrd545_priv_caps = {
|
||||
NRD545_STR_CAL
|
||||
};
|
||||
|
||||
/*
|
||||
* NRD-545 rig capabilities.
|
||||
*
|
||||
*/
|
||||
const struct rig_caps nrd545_caps = {
|
||||
rig_model: RIG_MODEL_NRD545,
|
||||
model_name:"NRD-545 DSP",
|
||||
mfg_name: "JRC",
|
||||
version: "0.1",
|
||||
copyright: "LGPL",
|
||||
status: RIG_STATUS_UNTESTED,
|
||||
rig_type: RIG_TYPE_RECEIVER,
|
||||
ptt_type: RIG_PTT_NONE,
|
||||
dcd_type: RIG_DCD_NONE,
|
||||
port_type: RIG_PORT_SERIAL,
|
||||
serial_rate_min: 4800,
|
||||
serial_rate_max: 4800,
|
||||
serial_data_bits: 8,
|
||||
serial_stop_bits: 1,
|
||||
serial_parity: RIG_PARITY_NONE,
|
||||
serial_handshake: RIG_HANDSHAKE_NONE,
|
||||
write_delay: 0,
|
||||
post_write_delay: 0,
|
||||
timeout: 200,
|
||||
retry: 3,
|
||||
|
||||
has_get_func: NRD545_FUNC,
|
||||
has_set_func: NRD545_FUNC,
|
||||
has_get_level: NRD545_LEVEL,
|
||||
has_set_level: RIG_LEVEL_SET(NRD545_LEVEL),
|
||||
has_get_parm: NRD545_PARM,
|
||||
has_set_parm: RIG_PARM_SET(NRD545_PARM),
|
||||
level_gran: {}, /* FIXME: granularity */
|
||||
parm_gran: {},
|
||||
ctcss_list: NULL,
|
||||
dcs_list: NULL,
|
||||
preamp: { RIG_DBLST_END },
|
||||
attenuator: { 20, RIG_DBLST_END }, /* To be confirmed */
|
||||
max_rit: Hz(0),
|
||||
max_xit: Hz(0),
|
||||
max_ifshift: kHz(2.3),
|
||||
targetable_vfo: 0,
|
||||
transceive: RIG_TRN_RIG,
|
||||
bank_qty: 0,
|
||||
chan_desc_sz: 0,
|
||||
|
||||
chan_list: {
|
||||
{ 0, 999, RIG_MTYPE_MEM, 0 },
|
||||
RIG_CHAN_END,
|
||||
},
|
||||
|
||||
rx_range_list1: { RIG_FRNG_END, }, /* FIXME: enter region 1 setting */
|
||||
tx_range_list1: { RIG_FRNG_END, },
|
||||
rx_range_list2: {
|
||||
{kHz(100),MHz(30),NRD545_MODES,-1,-1,NRD545_VFO},
|
||||
RIG_FRNG_END,
|
||||
},
|
||||
tx_range_list2: { RIG_FRNG_END, },
|
||||
|
||||
tuning_steps: {
|
||||
{NRD545_MODES,1},
|
||||
{NRD545_MODES,10},
|
||||
{NRD545_MODES,100},
|
||||
{NRD545_MODES,kHz(1)},
|
||||
{NRD545_MODES,kHz(5)},
|
||||
{NRD545_MODES,kHz(6.25)},
|
||||
{NRD545_MODES,kHz(9)},
|
||||
{NRD545_MODES,kHz(10)},
|
||||
{NRD545_MODES,kHz(12.5)},
|
||||
{NRD545_MODES,kHz(20)},
|
||||
{NRD545_MODES,kHz(25)},
|
||||
{NRD545_MODES,kHz(30)},
|
||||
{NRD545_MODES,kHz(100)},
|
||||
RIG_TS_END,
|
||||
},
|
||||
/* mode/filter list, remember: order matters! */
|
||||
filters: {
|
||||
{RIG_MODE_AM|RIG_MODE_FM, kHz(10)},
|
||||
{NRD545_MODES, kHz(2.4)},
|
||||
{NRD545_MODES, kHz(1)},
|
||||
{NRD545_MODES, kHz(4.5)},
|
||||
RIG_FLT_END,
|
||||
},
|
||||
priv: (void*)&nrd545_priv_caps,
|
||||
|
||||
rig_open: jrc_open,
|
||||
rig_close: jrc_close,
|
||||
set_freq: jrc_set_freq,
|
||||
get_freq: jrc_get_freq,
|
||||
set_mode: jrc_set_mode,
|
||||
set_func: jrc_set_func,
|
||||
get_func: jrc_get_func,
|
||||
set_level: jrc_set_level,
|
||||
get_level: jrc_get_level,
|
||||
get_dcd: jrc_get_dcd,
|
||||
set_trn: jrc_set_trn,
|
||||
set_powerstat: jrc_set_powerstat,
|
||||
reset: jrc_reset,
|
||||
set_mem: jrc_set_mem,
|
||||
|
||||
};
|
||||
|
||||
/*
|
||||
* Function definitions below
|
||||
*/
|
||||
|
Ładowanie…
Reference in New Issue