[Hamlib-commits] Hamlib -- Ham radio control libraries branch master updated. 7bd407beda8e3c020572c
Library to control radio transceivers and receivers
Brought to you by:
n0nb
|
From: Michael B. <mdb...@us...> - 2021-09-26 04:28:04
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Hamlib -- Ham radio control libraries".
The branch, master has been updated
via 7bd407beda8e3c020572cd39ae18a9bd2142ccde (commit)
via 2e2543a0fce5cd39d2b439aff8db64272b7ddb8d (commit)
via cc5010d0e3bed0415cc3974c62d5f22cc45b2399 (commit)
via fc765a48cc964bdcd034c76bdb8fde0206abca4f (commit)
via 0b9b71999772a2dd035691709e642c813afeb2c1 (commit)
via 1f9ffe30357a491639dfc24f9ee426e1fac8a077 (commit)
via 186ed2ae43a93425c0f14f45bdb384b00a804707 (commit)
via 1c3250f6f43f5c872e637ab0bf768fe441e63b9f (commit)
via 782ad2a03464c42f57aca820634e1f68aae64553 (commit)
via e51e645d2a99dd79ac9e60cbe8470c6002dbd8a9 (commit)
via 376db9e2e7268e13121f0497ee5ddf00ebefb5d2 (commit)
via 875104c395622795d4f74b18206a6d29fe96dc5b (commit)
from 421c6e7c4e4d6ef552ca39241463c71244b424a2 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 7bd407beda8e3c020572cd39ae18a9bd2142ccde
Author: Mike Black W9MDB <mdb...@ya...>
Date: Sat Sep 25 23:26:49 2021 -0500
Add some more elapsed time entries and reduce ELAPSED2 macro
diff --git a/src/rig.c b/src/rig.c
index e2b8387b..8fb69daa 100644
--- a/src/rig.c
+++ b/src/rig.c
@@ -158,7 +158,7 @@ const char hamlib_copyright[231] = /* hamlib 1.2 ABI specifies 231 bytes */
#define CHECK_RIG_ARG(r) (!(r) || !(r)->caps || !(r)->state.comm_state)
#define ELAPSED1 clock_t __begin = clock()
-#define ELAPSED2 double __elapsed = ((double)clock() - __begin) / CLOCKS_PER_SEC*1000; rig_debug(RIG_DEBUG_TRACE, "%s: elapsed=%.0lfms\n", __func__, __elapsed)
+#define ELAPSED2 rig_debug(RIG_DEBUG_TRACE, "%s: elapsed=%.0lfms\n", __func__, ((double)clock() - __begin) / CLOCKS_PER_SEC * 1000)
/*
* Data structure to track the opened rig (by rig_open)
@@ -2266,6 +2266,7 @@ int HAMLIB_API rig_set_mode(RIG *rig, vfo_t vfo, rmode_t mode, pbwidth_t width)
{
RETURNFUNC(-RIG_EINVAL);
}
+ ELAPSED1;
// do not mess with mode while PTT is on
if (rig->state.cache.ptt)
@@ -2328,6 +2329,7 @@ int HAMLIB_API rig_set_mode(RIG *rig, vfo_t vfo, rmode_t mode, pbwidth_t width)
set_cache_mode(rig, vfo, mode, width);
+ ELAPSED2;
RETURNFUNC(retcode);
}
@@ -2363,6 +2365,7 @@ int HAMLIB_API rig_get_mode(RIG *rig,
freq_t freq;
ENTERFUNC;
+ ELAPSED1;
if (CHECK_RIG_ARG(rig))
{
@@ -2397,6 +2400,7 @@ int HAMLIB_API rig_get_mode(RIG *rig,
rig_debug(RIG_DEBUG_TRACE, "%s: cache hit age mode=%dms, width=%dms\n",
__func__, cache_ms_mode, cache_ms_width);
+ ELAPSED2;
RETURNFUNC(RIG_OK);
}
else
@@ -2468,6 +2472,7 @@ int HAMLIB_API rig_get_mode(RIG *rig,
set_cache_mode(rig, vfo, *mode, *width);
cache_show(rig, __func__, __LINE__);
+ ELAPSED2;
RETURNFUNC(retcode);
}
commit 2e2543a0fce5cd39d2b439aff8db64272b7ddb8d
Author: Mike Black W9MDB <mdb...@ya...>
Date: Sat Sep 25 23:16:08 2021 -0500
Fix ELAPSED2 time
diff --git a/src/rig.c b/src/rig.c
index 333ef849..e2b8387b 100644
--- a/src/rig.c
+++ b/src/rig.c
@@ -158,7 +158,7 @@ const char hamlib_copyright[231] = /* hamlib 1.2 ABI specifies 231 bytes */
#define CHECK_RIG_ARG(r) (!(r) || !(r)->caps || !(r)->state.comm_state)
#define ELAPSED1 clock_t __begin = clock()
-#define ELAPSED2 double __elapsed = ((double)clock() - __begin) / CLOCKS_PER_SEC; rig_debug(RIG_DEBUG_TRACE, "%s: elapsed=%.0lfms\n", __func__, __elapsed)
+#define ELAPSED2 double __elapsed = ((double)clock() - __begin) / CLOCKS_PER_SEC*1000; rig_debug(RIG_DEBUG_TRACE, "%s: elapsed=%.0lfms\n", __func__, __elapsed)
/*
* Data structure to track the opened rig (by rig_open)
@@ -2017,6 +2017,7 @@ int HAMLIB_API rig_get_freq(RIG *rig, vfo_t vfo, freq_t *freq)
{
RETURNFUNC(-RIG_EINVAL);
}
+
ELAPSED1;
if (!freq)
commit cc5010d0e3bed0415cc3974c62d5f22cc45b2399
Author: Mike Black W9MDB <mdb...@ya...>
Date: Sat Sep 25 11:45:42 2021 -0500
Add otherVFO to misc.c
diff --git a/src/misc.c b/src/misc.c
index c4a6e0c0..3e79c6f9 100644
--- a/src/misc.c
+++ b/src/misc.c
@@ -577,6 +577,7 @@ static const struct
{ RIG_VFO_SUB_B, "SubB" },
{ RIG_VFO_SUB_C, "SubC" },
{ RIG_VFO_NONE, "None" },
+ { RIG_VFO_OTHER, "otherVFO" },
{ 0xffffff, "" },
};
commit fc765a48cc964bdcd034c76bdb8fde0206abca4f
Author: Mike Black W9MDB <mdb...@ya...>
Date: Sat Sep 25 11:14:33 2021 -0500
Add VFO_OTHER for Icom rigs so they can request unselected VFO items
diff --git a/include/hamlib/rig.h b/include/hamlib/rig.h
index a649a448..572dfda6 100644
--- a/include/hamlib/rig.h
+++ b/include/hamlib/rig.h
@@ -463,6 +463,9 @@ typedef unsigned int vfo_t;
/** \brief \c MainC -- alias for MAIN_C */
#define RIG_VFO_MAIN_C RIG_VFO_N(4)
+/** \brief \c Other -- alias for OTHER -- e.g. Icom rigs without get_vfo capability */
+#define RIG_VFO_OTHER RIG_VFO_N(5)
+
/** \brief \c Sub -- alias for SUB */
#define RIG_VFO_SUB RIG_VFO_N(25)
commit 0b9b71999772a2dd035691709e642c813afeb2c1
Author: Mike Black W9MDB <mdb...@ya...>
Date: Sat Sep 25 08:59:57 2021 -0500
Add elapsed time macros and put in vfo and freq calls
diff --git a/src/rig.c b/src/rig.c
index 5c4ab9aa..333ef849 100644
--- a/src/rig.c
+++ b/src/rig.c
@@ -157,6 +157,8 @@ const char hamlib_copyright[231] = /* hamlib 1.2 ABI specifies 231 bytes */
#define CHECK_RIG_ARG(r) (!(r) || !(r)->caps || !(r)->state.comm_state)
+#define ELAPSED1 clock_t __begin = clock()
+#define ELAPSED2 double __elapsed = ((double)clock() - __begin) / CLOCKS_PER_SEC; rig_debug(RIG_DEBUG_TRACE, "%s: elapsed=%.0lfms\n", __func__, __elapsed)
/*
* Data structure to track the opened rig (by rig_open)
@@ -1812,6 +1814,8 @@ int HAMLIB_API rig_set_freq(RIG *rig, vfo_t vfo, freq_t freq)
RETURNFUNC(-RIG_EINVAL);
}
+ ELAPSED1;
+
if (rig->state.twiddle_state == TWIDDLE_ON)
{
// we keep skipping set_freq while the vfo knob is in motion
@@ -1855,6 +1859,7 @@ int HAMLIB_API rig_set_freq(RIG *rig, vfo_t vfo, freq_t freq)
rig_set_vfo(rig, vfo_save);
}
+ ELAPSED2;
RETURNFUNC(
RIG_OK); // would be better as error but other software won't handle errors
}
@@ -1928,6 +1933,7 @@ int HAMLIB_API rig_set_freq(RIG *rig, vfo_t vfo, freq_t freq)
rig_set_vfo(rig, vfo_save);
}
+ ELAPSED2;
RETURNFUNC(
RIG_OK); // would be better as error but other software won't handle errors
}
@@ -1978,6 +1984,7 @@ int HAMLIB_API rig_set_freq(RIG *rig, vfo_t vfo, freq_t freq)
rig_set_vfo(rig, vfo_save);
}
+ ELAPSED2;
RETURNFUNC(retcode);
}
@@ -2010,6 +2017,7 @@ int HAMLIB_API rig_get_freq(RIG *rig, vfo_t vfo, freq_t *freq)
{
RETURNFUNC(-RIG_EINVAL);
}
+ ELAPSED1;
if (!freq)
{
@@ -2044,6 +2052,7 @@ int HAMLIB_API rig_get_freq(RIG *rig, vfo_t vfo, freq_t *freq)
int cache_ms_freq, cache_ms_mode, cache_ms_width;
rig_get_cache(rig, vfo, freq, &cache_ms_freq, &mode, &cache_ms_mode, &width,
&cache_ms_width);
+ ELAPSED2;
RETURNFUNC(RIG_OK);
}
@@ -2087,6 +2096,7 @@ int HAMLIB_API rig_get_freq(RIG *rig, vfo_t vfo, freq_t *freq)
{
rig_debug(RIG_DEBUG_TRACE, "%s: %s cache hit age=%dms, freq=%.0f\n", __func__,
rig_strvfo(vfo), cache_ms_freq, *freq);
+ ELAPSED2;
RETURNFUNC(RIG_OK);
}
else
@@ -2195,6 +2205,7 @@ int HAMLIB_API rig_get_freq(RIG *rig, vfo_t vfo, freq_t *freq)
set_cache_freq(rig, vfo, *freq);
cache_show(rig, __func__, __LINE__);
+ ELAPSED2;
RETURNFUNC(retcode);
}
@@ -2776,6 +2787,7 @@ int HAMLIB_API rig_get_vfo(RIG *rig, vfo_t *vfo)
int cache_ms;
ENTERFUNC;
+ ELAPSED1;
if (CHECK_RIG_ARG(rig) || !vfo)
{
@@ -2804,6 +2816,7 @@ int HAMLIB_API rig_get_vfo(RIG *rig, vfo_t *vfo)
{
rig_debug(RIG_DEBUG_TRACE, "%s: cache hit age=%dms\n", __func__, cache_ms);
*vfo = rig->state.cache.vfo;
+ ELAPSED2;
RETURNFUNC(RIG_OK);
}
else
@@ -2831,6 +2844,7 @@ int HAMLIB_API rig_get_vfo(RIG *rig, vfo_t *vfo)
rigerror(retcode));
}
+ ELAPSED2;
RETURNFUNC(retcode);
}
@@ -4577,7 +4591,8 @@ int HAMLIB_API rig_set_split_vfo(RIG *rig,
// We fix up vfos for non-satmode rigs only
if (rig->caps->has_get_func & RIG_FUNC_SATMODE)
{
- rig_debug(RIG_DEBUG_TRACE, "%s: satmode rig...not fixing up vfos rx=%s tx=%s\n", __func__, rig_strvfo(rx_vfo), rig_strvfo(tx_vfo));
+ rig_debug(RIG_DEBUG_TRACE, "%s: satmode rig...not fixing up vfos rx=%s tx=%s\n",
+ __func__, rig_strvfo(rx_vfo), rig_strvfo(tx_vfo));
}
else
{
@@ -6197,6 +6212,7 @@ int HAMLIB_API rig_stop_morse(RIG *rig, vfo_t vfo)
vfo_t curr_vfo;
ENTERFUNC;
+
if (CHECK_RIG_ARG(rig))
{
RETURNFUNC(-RIG_EINVAL);
@@ -6300,6 +6316,7 @@ int HAMLIB_API rig_wait_morse(RIG *rig, vfo_t vfo)
vfo_t curr_vfo;
ENTERFUNC;
+
if (CHECK_RIG_ARG(rig))
{
RETURNFUNC(-RIG_EINVAL);
@@ -6466,6 +6483,7 @@ int HAMLIB_API rig_set_vfo_opt(RIG *rig, int status)
int retcode;
ENTERFUNC;
+ ELAPSED1;
if CHECK_RIG_ARG(rig)
{
@@ -6477,8 +6495,8 @@ int HAMLIB_API rig_set_vfo_opt(RIG *rig, int status)
RETURNFUNC(-RIG_ENAVAIL);
}
- TRACE;
retcode = rig->caps->set_vfo_opt(rig, status);
+ ELAPSED2;
RETURNFUNC(retcode);
}
@@ -6580,6 +6598,8 @@ int HAMLIB_API rig_get_rig_info(RIG *rig, char *response, int max_response_len)
RETURNFUNC(-RIG_EINVAL);
}
+ ELAPSED1;
+
vfoA = vfo_fixup(rig, RIG_VFO_A, rig->state.cache.split);
vfoB = vfo_fixup(rig, RIG_VFO_B, rig->state.cache.split);
ret = rig_get_vfo_info(rig, vfoA, &freqA, &modeA, &widthA, &split, &satmode);
@@ -6633,6 +6653,7 @@ int HAMLIB_API rig_get_rig_info(RIG *rig, char *response, int max_response_len)
RETURNFUNC(RIG_EINTERNAL);
}
+ ELAPSED2;
RETURNFUNC(RIG_OK);
}
@@ -6811,7 +6832,7 @@ int HAMLIB_API rig_cookie(RIG *rig, enum cookie_e cookie_cmd, char *cookie,
if (!cookie)
{
rig_debug(RIG_DEBUG_ERR, "%s(%d): cookie == NULL\n",
- __FILE__, __LINE__);
+ __FILE__, __LINE__);
return -RIG_EINVAL; // nothing to do
}
@@ -6858,8 +6879,8 @@ int HAMLIB_API rig_cookie(RIG *rig, enum cookie_e cookie_cmd, char *cookie,
else
{
rig_debug(RIG_DEBUG_ERR,
- "%s(%d): %s renew request refused %s is active\n",
- __FILE__, __LINE__, cookie, cookie_save);
+ "%s(%d): %s renew request refused %s is active\n",
+ __FILE__, __LINE__, cookie, cookie_save);
ret = -RIG_EINVAL; // wrong cookie
}
@@ -6886,8 +6907,8 @@ int HAMLIB_API rig_cookie(RIG *rig, enum cookie_e cookie_cmd, char *cookie,
if (cookie_save[0] != 0)
{
rig_debug(RIG_DEBUG_ERR,
- "%s(%d): %s cookie has expired after %.3f seconds....overriding with new cookie\n",
- __FILE__, __LINE__, cookie_save, time_curr - time_last_used);
+ "%s(%d): %s cookie has expired after %.3f seconds....overriding with new cookie\n",
+ __FILE__, __LINE__, cookie_save, time_curr - time_last_used);
}
date_strget(cookie, cookie_len);
@@ -6898,9 +6919,10 @@ int HAMLIB_API rig_cookie(RIG *rig, enum cookie_e cookie_cmd, char *cookie,
strcpy(cookie_save, cookie);
time_last_used = time_curr;
rig_debug(RIG_DEBUG_VERBOSE, "%s(%d): %s new cookie request granted\n",
- __FILE__, __LINE__, cookie_save);
+ __FILE__, __LINE__, cookie_save);
ret = RIG_OK;
}
+
break;
default:
commit 1f9ffe30357a491639dfc24f9ee426e1fac8a077
Merge: 186ed2ae 1c3250f6
Author: Michael Black <mdb...@ya...>
Date: Fri Sep 24 22:24:15 2021 -0500
Merge pull request #810 from AuroraRAS/androidsensor
add androidsensor rotator
commit 186ed2ae43a93425c0f14f45bdb384b00a804707
Merge: e51e645d 782ad2a0
Author: Michael Black <mdb...@ya...>
Date: Fri Sep 24 22:23:57 2021 -0500
Merge pull request #809 from AuroraRAS/keepgoingndk
make the Android.mk files adapt to multi arch
commit 1c3250f6f43f5c872e637ab0bf768fe441e63b9f
Author: AuroraRAS <ch...@gm...>
Date: Sat Sep 25 07:12:08 2021 +0800
add androidsensor rotator
The androidsensor rotator is not a real rotator, it uses the accelerometer sensor and magnetic field sensor of the cell phone or tablet to perform attitude determination for your antenna and the phone tied to it.
Now you can wave your antenna to find radio signals.
Signed-off-by: AuroraRAS <ch...@gm...>
diff --git a/Android.mk b/Android.mk
index e59ea0b8..fd6cb4dc 100644
--- a/Android.mk
+++ b/Android.mk
@@ -49,3 +49,6 @@ include $(TOP_PATH)/rotators/satel/Android.mk
include $(TOP_PATH)/rotators/spid/Android.mk
include $(TOP_PATH)/rotators/ts7400/Android.mk
include $(TOP_PATH)/rotators/radant/Android.mk
+include $(TOP_PATH)/rotators/androidsensor/Android.mk
+
+include $(TOP_PATH)/tests/Android.mk
diff --git a/include/hamlib/rotlist.h b/include/hamlib/rotlist.h
index 939cad56..522d4acb 100644
--- a/include/hamlib/rotlist.h
+++ b/include/hamlib/rotlist.h
@@ -619,6 +619,11 @@
#define ROT_MODEL_RADANT ROT_MAKE_MODEL(ROT_RADANT, 1)
+#define ROT_ANDROIDSENSOR 23
+#define ROT_BACKEND_ANDROIDSENSOR "androidsensor"
+#define ROT_MODEL_ANDROIDSENSOR ROT_MAKE_MODEL(ROT_ANDROIDSENSOR, 1)
+
+
/**
* \brief Convenience type definition for a rotator model.
*
diff --git a/rotators/androidsensor/Android.mk b/rotators/androidsensor/Android.mk
new file mode 100644
index 00000000..8c0ab815
--- /dev/null
+++ b/rotators/androidsensor/Android.mk
@@ -0,0 +1,12 @@
+LOCAL_PATH:= $(call my-dir)
+
+include $(CLEAR_VARS)
+
+LOCAL_SRC_FILES := androidsensor.cpp ndkimu.cpp
+LOCAL_MODULE := androidsensor
+
+LOCAL_CFLAGS := -DHAVE_CONFIG_H
+LOCAL_C_INCLUDES := android include src
+LOCAL_LDLIBS := -lhamlib -Lobj/local/$(TARGET_ARCH_ABI)
+
+include $(BUILD_STATIC_LIBRARY)
diff --git a/rotators/androidsensor/androidsensor.cpp b/rotators/androidsensor/androidsensor.cpp
new file mode 100644
index 00000000..e53c1257
--- /dev/null
+++ b/rotators/androidsensor/androidsensor.cpp
@@ -0,0 +1,137 @@
+/*
+ * Hamlib Rotator backend - Radant
+ * Copyright (c) 2001-2003 by Stephane Fillod
+ * Contributed by Francois Retief <fgr...@su...>
+ * Copyright (c) 2014 by Alexander Schultze <ale...@gm...>
+ *
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library 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
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ *
+ */
+
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h> /* String function definitions */
+#include <unistd.h> /* UNIX standard function definitions */
+#include <math.h>
+
+#include "hamlib/rotator.h"
+#include "register.h"
+
+#include "androidsensor.h"
+#include "ndkimu.cpp"
+
+/* ************************************************************************* */
+
+static NdkImu *imu;
+
+static int
+androidsensor_rot_set_position(ROT *rot, azimuth_t az, elevation_t el)
+{
+ rig_debug(RIG_DEBUG_TRACE, "%s called: %f %f\n", __func__, az, el);
+ // To-Do
+ return RIG_OK;
+}
+
+static int
+androidsensor_rot_get_position(ROT *rot, azimuth_t *az, elevation_t *el)
+{
+ rig_debug(RIG_DEBUG_TRACE, "%s called: ", __func__);
+
+ imu->update();
+
+ float accData[3], magData[3];
+ imu->getAccData(accData);
+ imu->getMagData(magData);
+
+ float R[9] = {0}, I[9] = {0}, orientation[3] = {0};
+ bool status = imu->getRotationMatrix(R, 9, I, 9, accData, magData);
+ if(status)
+ imu->getOrientation(R, 9, orientation);
+
+ *az = (orientation[0] / M_PI * 180 );
+ *el = (orientation[1] / M_PI * 180 ) * -1;
+
+ rig_debug(RIG_DEBUG_TRACE, "%f %f\n", az, el);
+
+ return RIG_OK;
+}
+
+static int
+androidsensor_rot_stop(ROT *rot)
+{
+ rig_debug(RIG_DEBUG_TRACE, "%s called\n", __func__);
+ // To-Do
+ return RIG_OK;
+}
+
+static int
+androidsensor_rot_init(ROT *rot)
+{
+ rig_debug(RIG_DEBUG_TRACE, "%s called, make new NdkImu\n", __func__);
+ imu = new NdkImu();
+ return RIG_OK;
+}
+
+static int
+androidsensor_rot_cleanup(ROT *rot)
+{
+ rig_debug(RIG_DEBUG_TRACE, "%s called, delete imu\n", __func__);
+ delete imu;
+ return RIG_OK;
+}
+
+/* ************************************************************************* */
+
+const struct rot_caps androidsensor_rot_caps =
+{
+ ROT_MODEL(ROT_MODEL_ANDROIDSENSOR),
+ .model_name = "ACC/MAG",
+ .mfg_name = "Android Sensor",
+ .version = "20210925.0",
+ .copyright = "LGPL",
+ .rot_type = ROT_TYPE_AZEL,
+ .port_type = RIG_PORT_NONE,
+
+ .min_az = -180.0,
+ .max_az = 180.0,
+ .min_el = -180.0,
+ .max_el = 180.0,
+
+ .priv = NULL, /* priv */
+
+ .set_position = androidsensor_rot_set_position,
+ .get_position = androidsensor_rot_get_position,
+ .stop = androidsensor_rot_stop,
+ .rot_init = androidsensor_rot_init,
+ .rot_cleanup = androidsensor_rot_cleanup,
+};
+
+/* ************************************************************************* */
+
+DECLARE_INITROT_BACKEND(androidsensor)
+{
+ rig_debug(RIG_DEBUG_VERBOSE, "%s called\n", __func__);
+
+ rot_register(&androidsensor_rot_caps);
+ return RIG_OK;
+}
+
+/* ************************************************************************* */
+/* end of file */
diff --git a/rotators/androidsensor/androidsensor.h b/rotators/androidsensor/androidsensor.h
new file mode 100644
index 00000000..89878a5d
--- /dev/null
+++ b/rotators/androidsensor/androidsensor.h
@@ -0,0 +1,29 @@
+/*
+ * Hamlib Rotator backend - Easycomm interface protocol
+ * Copyright (c) 2001-2003 by Stephane Fillod
+ * Contributed by Francois Retief <fgr...@su...>
+ * Copyright (c) 2014 by Alexander Schultze <ale...@gm...>
+ *
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library 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
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ *
+ */
+
+#ifndef _ROT_ANDROIDSENSOR_H
+#define _ROT_ANDROIDSENSOR_H 1
+
+extern const struct rot_caps androidsensor_rot_caps;
+
+#endif /* _ROT_ANDROIDSENSOR_H */
diff --git a/rotators/androidsensor/ndkimu.cpp b/rotators/androidsensor/ndkimu.cpp
new file mode 100644
index 00000000..36d8ea51
--- /dev/null
+++ b/rotators/androidsensor/ndkimu.cpp
@@ -0,0 +1,207 @@
+#include "ndkimu.h"
+
+#include <cmath>
+
+NdkImu::NdkImu(char kPackageName[])
+{
+ sensorManager = AcquireASensorManagerInstance(kPackageName);
+ assert(sensorManager != NULL);
+ accelerometer = ASensorManager_getDefaultSensor(sensorManager, ASENSOR_TYPE_ACCELEROMETER);
+ geomagnetic = ASensorManager_getDefaultSensor(sensorManager, ASENSOR_TYPE_MAGNETIC_FIELD);
+ assert(accelerometer != NULL);
+ looper = ALooper_prepare(ALOOPER_PREPARE_ALLOW_NON_CALLBACKS);
+ assert(looper != NULL);
+ accelerometerEventQueue = ASensorManager_createEventQueue(sensorManager, looper,
+ LOOPER_ID_USER, NULL, NULL);
+ geomagneticEventQueue = ASensorManager_createEventQueue(sensorManager, looper,
+ LOOPER_ID_USER, NULL, NULL);
+ assert(accelerometerEventQueue != NULL);
+ auto status = ASensorEventQueue_enableSensor(accelerometerEventQueue,
+ accelerometer);
+ assert(status >= 0);
+
+ status = ASensorEventQueue_setEventRate(accelerometerEventQueue,
+ accelerometer,
+ SENSOR_REFRESH_PERIOD_US);
+ assert(status >= 0);
+
+ status = ASensorEventQueue_enableSensor(geomagneticEventQueue,
+ geomagnetic);
+ assert(status >= 0);
+
+ status = ASensorEventQueue_setEventRate(geomagneticEventQueue,
+ geomagnetic,
+ SENSOR_REFRESH_PERIOD_US);
+ assert(status >= 0);
+}
+
+NdkImu::~NdkImu()
+{
+ auto status = ASensorEventQueue_disableSensor(accelerometerEventQueue,
+ accelerometer);
+ assert(status >= 0);
+
+ status = ASensorEventQueue_disableSensor(geomagneticEventQueue,
+ geomagnetic);
+ assert(status >= 0);
+}
+
+ASensorManager *NdkImu::AcquireASensorManagerInstance(char kPackageName[])
+{
+ typedef ASensorManager *(*PF_GETINSTANCEFORPACKAGE)(const char *name);
+ void* androidHandle = dlopen("libandroid.so", RTLD_NOW);
+ PF_GETINSTANCEFORPACKAGE getInstanceForPackageFunc = (PF_GETINSTANCEFORPACKAGE)
+ dlsym(androidHandle, "ASensorManager_getInstanceForPackage");
+ if (getInstanceForPackageFunc) {
+ return getInstanceForPackageFunc(kPackageName);
+ }
+
+ typedef ASensorManager *(*PF_GETINSTANCE)();
+ PF_GETINSTANCE getInstanceFunc = (PF_GETINSTANCE)
+ dlsym(androidHandle, "ASensorManager_getInstance");
+ // by all means at this point, ASensorManager_getInstance should be available
+ assert(getInstanceFunc);
+ return getInstanceFunc();
+}
+
+/*
+ * https://android.googlesource.com/platform/frameworks/base/+/master/core/java/android/hardware/SensorManager.java
+ * blob: 9e78a6bb476061b4e20378ba20a00a2761e1ed7e
+ * line 1174
+ */
+bool NdkImu::getRotationMatrix(float R[], size_t Rlength, float I[], size_t Ilength, float gravity[], float geomagnetic[])
+{
+ // TODO: move this to native code for efficiency
+ float Ax = gravity[0];
+ float Ay = gravity[1];
+ float Az = gravity[2];
+ const float normsqA = (Ax * Ax + Ay * Ay + Az * Az);
+ const float g = 9.81f;
+ const float freeFallGravitySquared = 0.01f * g * g;
+ if (normsqA < freeFallGravitySquared) {
+ // gravity less than 10% of normal value
+ return false;
+ }
+ const float Ex = geomagnetic[0];
+ const float Ey = geomagnetic[1];
+ const float Ez = geomagnetic[2];
+ float Hx = Ey * Az - Ez * Ay;
+ float Hy = Ez * Ax - Ex * Az;
+ float Hz = Ex * Ay - Ey * Ax;
+ const float normH = (float) std::sqrt(Hx * Hx + Hy * Hy + Hz * Hz);
+ if (normH < 0.1f) {
+ // device is close to free fall (or in space?), or close to
+ // magnetic north pole. Typical values are > 100.
+ return false;
+ }
+ const float invH = 1.0f / normH;
+ Hx *= invH;
+ Hy *= invH;
+ Hz *= invH;
+ const float invA = 1.0f / (float) std::sqrt(Ax * Ax + Ay * Ay + Az * Az);
+ Ax *= invA;
+ Ay *= invA;
+ Az *= invA;
+ const float Mx = Ay * Hz - Az * Hy;
+ const float My = Az * Hx - Ax * Hz;
+ const float Mz = Ax * Hy - Ay * Hx;
+ if (R != NULL) {
+ if (Rlength == 9) {
+ R[0] = Hx; R[1] = Hy; R[2] = Hz;
+ R[3] = Mx; R[4] = My; R[5] = Mz;
+ R[6] = Ax; R[7] = Ay; R[8] = Az;
+ } else if (Rlength == 16) {
+ R[0] = Hx; R[1] = Hy; R[2] = Hz; R[3] = 0;
+ R[4] = Mx; R[5] = My; R[6] = Mz; R[7] = 0;
+ R[8] = Ax; R[9] = Ay; R[10] = Az; R[11] = 0;
+ R[12] = 0; R[13] = 0; R[14] = 0; R[15] = 1;
+ }
+ }
+ if (I != NULL) {
+ // compute the inclination matrix by projecting the geomagnetic
+ // vector onto the Z (gravity) and X (horizontal component
+ // of geomagnetic vector) axes.
+ const float invE = 1.0f / (float) std::sqrt(Ex * Ex + Ey * Ey + Ez * Ez);
+ const float c = (Ex * Mx + Ey * My + Ez * Mz) * invE;
+ const float s = (Ex * Ax + Ey * Ay + Ez * Az) * invE;
+ if (Ilength == 9) {
+ I[0] = 1; I[1] = 0; I[2] = 0;
+ I[3] = 0; I[4] = c; I[5] = s;
+ I[6] = 0; I[7] = -s; I[8] = c;
+ } else if (Ilength == 16) {
+ I[0] = 1; I[1] = 0; I[2] = 0;
+ I[4] = 0; I[5] = c; I[6] = s;
+ I[8] = 0; I[9] = -s; I[10] = c;
+ I[3] = I[7] = I[11] = I[12] = I[13] = I[14] = 0;
+ I[15] = 1;
+ }
+ }
+ return true;
+}
+
+/*
+ * https://android.googlesource.com/platform/frameworks/base/+/master/core/java/android/hardware/SensorManager.java
+ * blob: 9e78a6bb476061b4e20378ba20a00a2761e1ed7e
+ * line 1469
+ */
+float *NdkImu::getOrientation(float R[], size_t Rlength, float valuesBuf[])
+{
+ if(valuesBuf == NULL)
+ valuesBuf = (float*)malloc(sizeof (float)*3);
+
+ if (Rlength == 9) {
+ valuesBuf[0] = (float) std::atan2(R[1], R[4]);
+ valuesBuf[1] = (float) std::asin(-R[7]);
+ valuesBuf[2] = (float) std::atan2(-R[6], R[8]);
+ } else {
+ valuesBuf[0] = (float) std::atan2(R[1], R[5]);
+ valuesBuf[1] = (float) std::asin(-R[9]);
+ valuesBuf[2] = (float) std::atan2(-R[8], R[10]);
+ }
+ return valuesBuf;
+}
+
+void NdkImu::update()
+{
+ ALooper_pollAll(0, NULL, NULL, NULL);
+ ASensorEvent event;
+ const float a = SENSOR_FILTER_ALPHA;
+
+ while (ASensorEventQueue_getEvents(accelerometerEventQueue, &event, 1) > 0) {
+ sensorAccDataFilter.x = a * event.acceleration.x + (1.0f - a) * sensorAccDataFilter.x;
+ sensorAccDataFilter.y = a * event.acceleration.y + (1.0f - a) * sensorAccDataFilter.y;
+ sensorAccDataFilter.z = a * event.acceleration.z + (1.0f - a) * sensorAccDataFilter.z;
+ }
+ sensorAccData[sensorAccDataIndex] = sensorAccDataFilter;
+ sensorAccData[SENSOR_HISTORY_LENGTH+sensorAccDataIndex] = sensorAccDataFilter;
+ sensorAccDataIndex = (sensorAccDataIndex + 1) % SENSOR_HISTORY_LENGTH;
+
+ while (ASensorEventQueue_getEvents(geomagneticEventQueue, &event, 1) > 0) {
+ sensorMagDataFilter.x = a * event.magnetic.x + (1.0f - a) * sensorMagDataFilter.x;
+ sensorMagDataFilter.y = a * event.magnetic.y + (1.0f - a) * sensorMagDataFilter.y;
+ sensorMagDataFilter.z = a * event.magnetic.z + (1.0f - a) * sensorMagDataFilter.z;
+ }
+ sensorMagData[sensorMagDataIndex] = sensorMagDataFilter;
+ sensorMagData[SENSOR_HISTORY_LENGTH+sensorMagDataIndex] = sensorMagDataFilter;
+ sensorMagDataIndex = (sensorMagDataIndex + 1) % SENSOR_HISTORY_LENGTH;
+}
+
+float *NdkImu::getAccData(float accDataBuf[])
+{
+ if(accDataBuf == NULL)
+ accDataBuf = (float*)malloc(sizeof (float)*3);
+ accDataBuf[0] = sensorAccDataFilter.x;
+ accDataBuf[1] = sensorAccDataFilter.y;
+ accDataBuf[2] = sensorAccDataFilter.z;
+ return accDataBuf;
+}
+
+float *NdkImu::getMagData(float magDataBuf[])
+{
+ if(magDataBuf == NULL)
+ magDataBuf = (float*)malloc(sizeof (float)*3);
+ magDataBuf[0] = sensorMagDataFilter.x;
+ magDataBuf[1] = sensorMagDataFilter.y;
+ magDataBuf[2] = sensorMagDataFilter.z;
+ return magDataBuf;
+}
diff --git a/rotators/androidsensor/ndkimu.h b/rotators/androidsensor/ndkimu.h
new file mode 100644
index 00000000..9225d9bf
--- /dev/null
+++ b/rotators/androidsensor/ndkimu.h
@@ -0,0 +1,57 @@
+#ifndef NDKIMU_H
+#define NDKIMU_H
+
+#include <dlfcn.h>
+#include <GLES2/gl2.h>
+
+#include <android/looper.h>
+#include <android/sensor.h>
+
+#include <cstdint>
+#include <cassert>
+#include <string>
+
+
+static const int LOOPER_ID_USER = 3;
+static const int SENSOR_HISTORY_LENGTH = 100;
+static const int SENSOR_REFRESH_RATE_HZ = 100;
+static constexpr int32_t SENSOR_REFRESH_PERIOD_US = int32_t(1000000 / SENSOR_REFRESH_RATE_HZ);
+static const float SENSOR_FILTER_ALPHA = 0.1f;
+
+class NdkImu
+{
+public:
+ NdkImu(char kPackageName[] = NULL);
+ ~NdkImu();
+ static ASensorManager *AcquireASensorManagerInstance(char kPackageName[]);
+ static bool getRotationMatrix(float R[], size_t Rlength, float I[], size_t Ilength, float gravity[], float geomagnetic[]);
+ static float *getOrientation(float R[], size_t Rlength, float valuesBuf[] = NULL);
+
+private:
+ ASensorManager *sensorManager;
+ const ASensor *accelerometer;
+ ASensorEventQueue *accelerometerEventQueue;
+ const ASensor *geomagnetic;
+ ASensorEventQueue *geomagneticEventQueue;
+ ALooper *looper;
+
+ struct SensorData {
+ GLfloat x;
+ GLfloat y;
+ GLfloat z;
+ };
+ SensorData sensorAccData[SENSOR_HISTORY_LENGTH*2];
+ SensorData sensorAccDataFilter;
+ SensorData sensorMagData[SENSOR_HISTORY_LENGTH*2];
+ SensorData sensorMagDataFilter;
+
+ int sensorAccDataIndex;
+ int sensorMagDataIndex;
+
+public:
+ void update();
+ float *getAccData(float accDataBuf[] = NULL);
+ float *getMagData(float magDataBuf[] = NULL);
+};
+
+#endif // NDKIMU_H
diff --git a/src/Android.mk b/src/Android.mk
index d4a1f315..24090e7c 100644
--- a/src/Android.mk
+++ b/src/Android.mk
@@ -39,8 +39,8 @@ LOCAL_STATIC_LIBRARIES := adat alinco amsat aor ars barrett celestron cnctrk \
gs232a heathkit icmarine icom ioptron jrc kachina kenwood kit \
lowe m2 meade pcr prm80 prosistel racal rft \
rotorez rs sartek satel skanti spid tapr tentec ts7400 tuner \
- uniden wj yaesu radant
+ uniden wj yaesu radant androidsensor
-LOCAL_LDLIBS := -llog
+LOCAL_LDLIBS := -llog -landroid
include $(BUILD_SHARED_LIBRARY)
diff --git a/src/rot_reg.c b/src/rot_reg.c
index 3a97ed71..05494a9c 100644
--- a/src/rot_reg.c
+++ b/src/rot_reg.c
@@ -89,6 +89,9 @@ DEFINE_INITROT_BACKEND(radant);
#if HAVE_LIBINDI
DEFINE_INITROT_BACKEND(indi);
#endif
+#if defined(ANDROID) || defined(__ANDROID__)
+DEFINE_INITROT_BACKEND(androidsensor);
+#endif
//! @endcond
/**
@@ -132,6 +135,9 @@ static struct
{ ROT_RADANT, ROT_BACKEND_RADANT, ROT_FUNCNAMA(radant)},
#if HAVE_LIBINDI
{ ROT_INDI, ROT_BACKEND_INDI, ROT_FUNCNAMA(indi) },
+#endif
+#if defined(ANDROID) || defined(__ANDROID__)
+ { ROT_ANDROIDSENSOR, ROT_BACKEND_ANDROIDSENSOR, ROT_FUNCNAMA(androidsensor) },
#endif
{ 0, NULL }, /* end */
};
diff --git a/tests/Android.mk b/tests/Android.mk
new file mode 100644
index 00000000..785b6d6f
--- /dev/null
+++ b/tests/Android.mk
@@ -0,0 +1,12 @@
+LOCAL_PATH:= $(call my-dir)
+
+include $(CLEAR_VARS)
+
+LOCAL_SRC_FILES := rotctld.c rotctl_parse.c dumpcaps_rot.c ../src/rot_settings.c
+LOCAL_MODULE := rotctld
+
+LOCAL_CFLAGS := -DHAVE_CONFIG_H
+LOCAL_C_INCLUDES := android include src
+LOCAL_LDLIBS := -lhamlib -Lobj/local/$(TARGET_ARCH_ABI)
+
+include $(BUILD_EXECUTABLE)
diff --git a/tests/rotctld.c b/tests/rotctld.c
index b714265b..19b12ce3 100644
--- a/tests/rotctld.c
+++ b/tests/rotctld.c
@@ -664,6 +664,9 @@ void *handle_socket(void *arg)
}
fsockin = _fdopen(sock_osfhandle, "rb");
+#elif defined(ANDROID) || defined(__ANDROID__)
+ // fdsan does not allow fdopen the same fd twice in Android
+ fsockin = fdopen(dup(handle_data_arg->sock), "rb");
#else
fsockin = fdopen(handle_data_arg->sock, "rb");
#endif
@@ -676,6 +679,9 @@ void *handle_socket(void *arg)
#ifdef __MINGW32__
fsockout = _fdopen(sock_osfhandle, "wb");
+#elif defined(ANDROID) || defined(__ANDROID__)
+ // fdsan does not allow fdopen the same fd twice in Android
+ fsockout = fdopen(dup(handle_data_arg->sock), "wb");
#else
fsockout = fdopen(handle_data_arg->sock, "wb");
#endif
commit 782ad2a03464c42f57aca820634e1f68aae64553
Author: AuroraRAS <ch...@gm...>
Date: Sat Sep 25 07:03:23 2021 +0800
make the Android.mk files adapt to multi arch
diff --git a/rigs/adat/Android.mk b/rigs/adat/Android.mk
index ebc6d6c1..f7879829 100644
--- a/rigs/adat/Android.mk
+++ b/rigs/adat/Android.mk
@@ -7,6 +7,6 @@ LOCAL_MODULE := adat
LOCAL_CFLAGS := -DHAVE_CONFIG_H
LOCAL_C_INCLUDES := android include src
-LOCAL_LDLIBS := $(LOCAL_SHARED_LIBRARIES) -Lobj/local/armeabi
+LOCAL_LDLIBS := $(LOCAL_SHARED_LIBRARIES) -Lobj/local/$(TARGET_ARCH_ABI)
include $(BUILD_STATIC_LIBRARY)
diff --git a/rigs/alinco/Android.mk b/rigs/alinco/Android.mk
index a9e1eb66..e3c64ab0 100644
--- a/rigs/alinco/Android.mk
+++ b/rigs/alinco/Android.mk
@@ -7,6 +7,6 @@ LOCAL_MODULE := alinco
LOCAL_CFLAGS := -DHAVE_CONFIG_H
LOCAL_C_INCLUDES := android include src
-LOCAL_LDLIBS := -lhamlib -Lobj/local/armeabi
+LOCAL_LDLIBS := -lhamlib -Lobj/local/$(TARGET_ARCH_ABI)
include $(BUILD_STATIC_LIBRARY)
diff --git a/rigs/aor/Android.mk b/rigs/aor/Android.mk
index 2d595d87..08ed00ca 100644
--- a/rigs/aor/Android.mk
+++ b/rigs/aor/Android.mk
@@ -8,6 +8,6 @@ LOCAL_MODULE := aor
LOCAL_CFLAGS := -DHAVE_CONFIG_H
LOCAL_C_INCLUDES := android include src
-LOCAL_LDLIBS := -lhamlib -Lobj/local/armeabi
+LOCAL_LDLIBS := -lhamlib -Lobj/local/$(TARGET_ARCH_ABI)
include $(BUILD_STATIC_LIBRARY)
diff --git a/rigs/barrett/Android.mk b/rigs/barrett/Android.mk
index c04de178..658ef13f 100644
--- a/rigs/barrett/Android.mk
+++ b/rigs/barrett/Android.mk
@@ -7,6 +7,6 @@ LOCAL_MODULE := barrett
LOCAL_CFLAGS := -DHAVE_CONFIG_H
LOCAL_C_INCLUDES := android include src
-LOCAL_LDLIBS := -lhamlib -Lobj/local/armeabi
+LOCAL_LDLIBS := -lhamlib -Lobj/local/$(TARGET_ARCH_ABI)
include $(BUILD_STATIC_LIBRARY)
diff --git a/rigs/dorji/Android.mk b/rigs/dorji/Android.mk
index d236abb2..1494e341 100644
--- a/rigs/dorji/Android.mk
+++ b/rigs/dorji/Android.mk
@@ -7,6 +7,6 @@ LOCAL_MODULE := dorji
LOCAL_CFLAGS := -DHAVE_CONFIG_H
LOCAL_C_INCLUDES := android include src
-LOCAL_LDLIBS := -lhamlib -Lobj/local/armeabi
+LOCAL_LDLIBS := -lhamlib -Lobj/local/$(TARGET_ARCH_ABI)
include $(BUILD_STATIC_LIBRARY)
diff --git a/rigs/drake/Android.mk b/rigs/drake/Android.mk
index 92027e48..75d91ff7 100644
--- a/rigs/drake/Android.mk
+++ b/rigs/drake/Android.mk
@@ -7,6 +7,6 @@ LOCAL_MODULE := drake
LOCAL_CFLAGS := -DHAVE_CONFIG_H
LOCAL_C_INCLUDES := android include src
-LOCAL_LDLIBS := -lhamlib -Lobj/local/armeabi
+LOCAL_LDLIBS := -lhamlib -Lobj/local/$(TARGET_ARCH_ABI)
include $(BUILD_STATIC_LIBRARY)
diff --git a/rigs/dummy/Android.mk b/rigs/dummy/Android.mk
index d981a291..aebc5c9e 100644
--- a/rigs/dummy/Android.mk
+++ b/rigs/dummy/Android.mk
@@ -7,6 +7,6 @@ LOCAL_MODULE := dummy
LOCAL_CFLAGS := -DHAVE_CONFIG_H
LOCAL_C_INCLUDES := android include src
-LOCAL_LDLIBS := -lhamlib -Lobj/local/armeabi
+LOCAL_LDLIBS := -lhamlib -Lobj/local/$(TARGET_ARCH_ABI)
include $(BUILD_STATIC_LIBRARY)
diff --git a/rigs/elad/Android.mk b/rigs/elad/Android.mk
index 603ab915..81e393e2 100644
--- a/rigs/elad/Android.mk
+++ b/rigs/elad/Android.mk
@@ -7,6 +7,6 @@ LOCAL_MODULE := elad
LOCAL_CFLAGS := -DHAVE_CONFIG_H
LOCAL_C_INCLUDES := android include src
-LOCAL_LDLIBS := -lhamlib -Lobj/local/armeabi
+LOCAL_LDLIBS := -lhamlib -Lobj/local/$(TARGET_ARCH_ABI)
include $(BUILD_STATIC_LIBRARY)
diff --git a/rigs/flexradio/Android.mk b/rigs/flexradio/Android.mk
index 5f56e060..5751e4a2 100644
--- a/rigs/flexradio/Android.mk
+++ b/rigs/flexradio/Android.mk
@@ -7,6 +7,6 @@ LOCAL_MODULE := flexradio
LOCAL_CFLAGS := -DHAVE_CONFIG_H
LOCAL_C_INCLUDES := android include src
-LOCAL_LDLIBS := -lhamlib -Lobj/local/armeabi
+LOCAL_LDLIBS := -lhamlib -Lobj/local/$(TARGET_ARCH_ABI)
include $(BUILD_STATIC_LIBRARY)
diff --git a/rigs/icmarine/Android.mk b/rigs/icmarine/Android.mk
index 18bfe8e2..0cfc41d8 100644
--- a/rigs/icmarine/Android.mk
+++ b/rigs/icmarine/Android.mk
@@ -8,6 +8,6 @@ LOCAL_MODULE := icmarine
LOCAL_CFLAGS := -DHAVE_CONFIG_H
LOCAL_C_INCLUDES := android include src
-LOCAL_LDLIBS := -lhamlib -Lobj/local/armeabi
+LOCAL_LDLIBS := -lhamlib -Lobj/local/$(TARGET_ARCH_ABI)
include $(BUILD_STATIC_LIBRARY)
diff --git a/rigs/icom/Android.mk b/rigs/icom/Android.mk
index a66e6fa7..0440f849 100644
--- a/rigs/icom/Android.mk
+++ b/rigs/icom/Android.mk
@@ -18,6 +18,6 @@ LOCAL_MODULE := icom
LOCAL_CFLAGS := -DHAVE_CONFIG_H
LOCAL_C_INCLUDES := android include src
-LOCAL_LDLIBS := -lhamlib -Lobj/local/armeabi
+LOCAL_LDLIBS := -lhamlib -Lobj/local/$(TARGET_ARCH_ABI)
include $(BUILD_STATIC_LIBRARY)
diff --git a/rigs/jrc/Android.mk b/rigs/jrc/Android.mk
index 0c526517..f4f01f33 100644
--- a/rigs/jrc/Android.mk
+++ b/rigs/jrc/Android.mk
@@ -7,6 +7,6 @@ LOCAL_MODULE := jrc
LOCAL_CFLAGS := -DHAVE_CONFIG_H
LOCAL_C_INCLUDES := android include src
-LOCAL_LDLIBS := -lhamlib -Lobj/local/armeabi
+LOCAL_LDLIBS := -lhamlib -Lobj/local/$(TARGET_ARCH_ABI)
include $(BUILD_STATIC_LIBRARY)
diff --git a/rigs/kachina/Android.mk b/rigs/kachina/Android.mk
index c845668e..a755e7f2 100644
--- a/rigs/kachina/Android.mk
+++ b/rigs/kachina/Android.mk
@@ -7,6 +7,6 @@ LOCAL_MODULE := kachina
LOCAL_CFLAGS := -DHAVE_CONFIG_H
LOCAL_C_INCLUDES := android include src
-LOCAL_LDLIBS := -lhamlib -Lobj/local/armeabi
+LOCAL_LDLIBS := -lhamlib -Lobj/local/$(TARGET_ARCH_ABI)
include $(BUILD_STATIC_LIBRARY)
diff --git a/rigs/kenwood/Android.mk b/rigs/kenwood/Android.mk
index 9a7d39c9..44faf752 100644
--- a/rigs/kenwood/Android.mk
+++ b/rigs/kenwood/Android.mk
@@ -13,6 +13,6 @@ LOCAL_MODULE := kenwood
LOCAL_CFLAGS := -DHAVE_CONFIG_H
LOCAL_C_INCLUDES := android include src
-LOCAL_LDLIBS := -lhamlib -Lobj/local/armeabi
+LOCAL_LDLIBS := -lhamlib -Lobj/local/$(TARGET_ARCH_ABI)
include $(BUILD_STATIC_LIBRARY)
diff --git a/rigs/kit/Android.mk b/rigs/kit/Android.mk
index e0988cd7..1bcd8c51 100644
--- a/rigs/kit/Android.mk
+++ b/rigs/kit/Android.mk
@@ -9,6 +9,6 @@ LOCAL_MODULE := kit
LOCAL_CFLAGS := -DHAVE_CONFIG_H
LOCAL_C_INCLUDES := android include src
-LOCAL_LDLIBS := -lhamlib -Lobj/local/armeabi
+LOCAL_LDLIBS := -lhamlib -Lobj/local/$(TARGET_ARCH_ABI)
include $(BUILD_STATIC_LIBRARY)
diff --git a/rigs/lowe/Android.mk b/rigs/lowe/Android.mk
index 7370a0a2..871a0aa0 100644
--- a/rigs/lowe/Android.mk
+++ b/rigs/lowe/Android.mk
@@ -7,6 +7,6 @@ LOCAL_MODULE := lowe
LOCAL_CFLAGS := -DHAVE_CONFIG_H
LOCAL_C_INCLUDES := android include src
-LOCAL_LDLIBS := -lhamlib -Lobj/local/armeabi
+LOCAL_LDLIBS := -lhamlib -Lobj/local/$(TARGET_ARCH_ABI)
include $(BUILD_STATIC_LIBRARY)
diff --git a/rigs/pcr/Android.mk b/rigs/pcr/Android.mk
index 86388976..8b4202e0 100644
--- a/rigs/pcr/Android.mk
+++ b/rigs/pcr/Android.mk
@@ -7,6 +7,6 @@ LOCAL_MODULE := pcr
LOCAL_CFLAGS := -DHAVE_CONFIG_H
LOCAL_C_INCLUDES := android include src
-LOCAL_LDLIBS := -lhamlib -Lobj/local/armeabi
+LOCAL_LDLIBS := -lhamlib -Lobj/local/$(TARGET_ARCH_ABI)
include $(BUILD_STATIC_LIBRARY)
diff --git a/rigs/prm80/Android.mk b/rigs/prm80/Android.mk
index d3051f12..3438b302 100644
--- a/rigs/prm80/Android.mk
+++ b/rigs/prm80/Android.mk
@@ -7,6 +7,6 @@ LOCAL_MODULE := prm80
LOCAL_CFLAGS := -DHAVE_CONFIG_H
LOCAL_C_INCLUDES := android include src
-LOCAL_LDLIBS := -lhamlib -Lobj/local/armeabi
+LOCAL_LDLIBS := -lhamlib -Lobj/local/$(TARGET_ARCH_ABI)
include $(BUILD_STATIC_LIBRARY)
diff --git a/rigs/racal/Android.mk b/rigs/racal/Android.mk
index e26b0482..adeec4e6 100644
--- a/rigs/racal/Android.mk
+++ b/rigs/racal/Android.mk
@@ -7,6 +7,6 @@ LOCAL_MODULE := racal
LOCAL_CFLAGS := -DHAVE_CONFIG_H
LOCAL_C_INCLUDES := android include src
-LOCAL_LDLIBS := -lhamlib -Lobj/local/armeabi
+LOCAL_LDLIBS := -lhamlib -Lobj/local/$(TARGET_ARCH_ABI)
include $(BUILD_STATIC_LIBRARY)
diff --git a/rigs/rft/Android.mk b/rigs/rft/Android.mk
index d90c5e24..724e10b4 100644
--- a/rigs/rft/Android.mk
+++ b/rigs/rft/Android.mk
@@ -7,6 +7,6 @@ LOCAL_MODULE := rft
LOCAL_CFLAGS := -DHAVE_CONFIG_H
LOCAL_C_INCLUDES := android include src
-LOCAL_LDLIBS := -lhamlib -Lobj/local/armeabi
+LOCAL_LDLIBS := -lhamlib -Lobj/local/$(TARGET_ARCH_ABI)
include $(BUILD_STATIC_LIBRARY)
diff --git a/rigs/rs/Android.mk b/rigs/rs/Android.mk
index 04f88066..74e9fa25 100644
--- a/rigs/rs/Android.mk
+++ b/rigs/rs/Android.mk
@@ -7,6 +7,6 @@ LOCAL_MODULE := rs
LOCAL_CFLAGS := -DHAVE_CONFIG_H
LOCAL_C_INCLUDES := android include src
-LOCAL_LDLIBS := -lhamlib -Lobj/local/armeabi
+LOCAL_LDLIBS := -lhamlib -Lobj/local/$(TARGET_ARCH_ABI)
include $(BUILD_STATIC_LIBRARY)
diff --git a/rigs/skanti/Android.mk b/rigs/skanti/Android.mk
index b13f20fb..d62a0b1a 100644
--- a/rigs/skanti/Android.mk
+++ b/rigs/skanti/Android.mk
@@ -7,6 +7,6 @@ LOCAL_MODULE := skanti
LOCAL_CFLAGS := -DHAVE_CONFIG_H
LOCAL_C_INCLUDES := android include src
-LOCAL_LDLIBS := -lhamlib -Lobj/local/armeabi
+LOCAL_LDLIBS := -lhamlib -Lobj/local/$(TARGET_ARCH_ABI)
include $(BUILD_STATIC_LIBRARY)
diff --git a/rigs/tapr/Android.mk b/rigs/tapr/Android.mk
index c5a0191b..4e1d5166 100644
--- a/rigs/tapr/Android.mk
+++ b/rigs/tapr/Android.mk
@@ -7,6 +7,6 @@ LOCAL_MODULE := tapr
LOCAL_CFLAGS := -DHAVE_CONFIG_H
LOCAL_C_INCLUDES := android include src
-LOCAL_LDLIBS := -lhamlib -Lobj/local/armeabi
+LOCAL_LDLIBS := -lhamlib -Lobj/local/$(TARGET_ARCH_ABI)
include $(BUILD_STATIC_LIBRARY)
diff --git a/rigs/tentec/Android.mk b/rigs/tentec/Android.mk
index 6a9935ae..40aa9cc1 100644
--- a/rigs/tentec/Android.mk
+++ b/rigs/tentec/Android.mk
@@ -9,6 +9,6 @@ LOCAL_MODULE := tentec
LOCAL_CFLAGS := -DHAVE_CONFIG_H
LOCAL_C_INCLUDES := android include src
-LOCAL_LDLIBS := -lhamlib -Lobj/local/armeabi
+LOCAL_LDLIBS := -lhamlib -Lobj/local/$(TARGET_ARCH_ABI)
include $(BUILD_STATIC_LIBRARY)
diff --git a/rigs/tuner/Android.mk b/rigs/tuner/Android.mk
index d335f283..d05f290f 100644
--- a/rigs/tuner/Android.mk
+++ b/rigs/tuner/Android.mk
@@ -7,6 +7,6 @@ LOCAL_MODULE := tuner
LOCAL_CFLAGS := -DHAVE_CONFIG_H
LOCAL_C_INCLUDES := android include src
-LOCAL_LDLIBS := -lhamlib -Lobj/local/armeabi
+LOCAL_LDLIBS := -lhamlib -Lobj/local/$(TARGET_ARCH_ABI)
include $(BUILD_STATIC_LIBRARY)
diff --git a/rigs/uniden/Android.mk b/rigs/uniden/Android.mk
index 748cbeb1..1a621d54 100644
--- a/rigs/uniden/Android.mk
+++ b/rigs/uniden/Android.mk
@@ -9,6 +9,6 @@ LOCAL_MODULE := uniden
LOCAL_CFLAGS := -DHAVE_CONFIG_H
LOCAL_C_INCLUDES := android include src
-LOCAL_LDLIBS := -lhamlib -Lobj/local/armeabi
+LOCAL_LDLIBS := -lhamlib -Lobj/local/$(TARGET_ARCH_ABI)
include $(BUILD_STATIC_LIBRARY)
diff --git a/rigs/winradio/Android.mk b/rigs/winradio/Android.mk
index 261a1629..a4f19496 100644
--- a/rigs/winradio/Android.mk
+++ b/rigs/winradio/Android.mk
@@ -8,6 +8,6 @@ LOCAL_MODULE := winradio
LOCAL_CFLAGS := -DHAVE_CONFIG_H
LOCAL_C_INCLUDES := android include src
-LOCAL_LDLIBS := -lhamlib -Lobj/local/armeabi
+LOCAL_LDLIBS := -lhamlib -Lobj/local/$(TARGET_ARCH_ABI)
include $(BUILD_STATIC_LIBRARY)
diff --git a/rigs/wj/Android.mk b/rigs/wj/Android.mk
index 633e4bce..a3e6b9f1 100644
--- a/rigs/wj/Android.mk
+++ b/rigs/wj/Android.mk
@@ -7,6 +7,6 @@ LOCAL_MODULE := wj
LOCAL_CFLAGS := -DHAVE_CONFIG_H
LOCAL_C_INCLUDES := android include src
-LOCAL_LDLIBS := -lhamlib -Lobj/local/armeabi
+LOCAL_LDLIBS := -lhamlib -Lobj/local/$(TARGET_ARCH_ABI)
include $(BUILD_STATIC_LIBRARY)
diff --git a/rigs/yaesu/Android.mk b/rigs/yaesu/Android.mk
index 501a8a68..a277423f 100644
--- a/rigs/yaesu/Android.mk
+++ b/rigs/yaesu/Android.mk
@@ -15,6 +15,6 @@ LOCAL_MODULE := yaesu
LOCAL_CFLAGS := -DHAVE_CONFIG_H
LOCAL_C_INCLUDES := android include src
-LOCAL_LDLIBS := -Lobj/local/armeabi
+LOCAL_LDLIBS := -Lobj/local/$(TARGET_ARCH_ABI)
include $(BUILD_STATIC_LIBRARY)
diff --git a/rotators/amsat/Android.mk b/rotators/amsat/Android.mk
index 12aaf34a..7c1dd693 100644
--- a/rotators/amsat/Android.mk
+++ b/rotators/amsat/Android.mk
@@ -7,6 +7,6 @@ LOCAL_MODULE := amsat
LOCAL_CFLAGS := -DHAVE_CONFIG_H
LOCAL_C_INCLUDES := android include src
-LOCAL_LDLIBS := -lhamlib -Lobj/local/armeabi
+LOCAL_LDLIBS := -lhamlib -Lobj/local/$(TARGET_ARCH_ABI)
include $(BUILD_STATIC_LIBRARY)
diff --git a/rotators/ars/Android.mk b/rotators/ars/Android.mk
index 785d38ea..e9dfa024 100644
--- a/rotators/ars/Android.mk
+++ b/rotators/ars/Android.mk
@@ -7,6 +7,6 @@ LOCAL_MODULE := ars
LOCAL_CFLAGS := -DHAVE_CONFIG_H
LOCAL_C_INCLUDES := android include src
-LOCAL_LDLIBS := -lhamlib -Lobj/local/armeabi
+LOCAL_LDLIBS := -lhamlib -Lobj/local/$(TARGET_ARCH_ABI)
include $(BUILD_STATIC_LIBRARY)
diff --git a/rotators/celestron/Android.mk b/rotators/celestron/Android.mk
index 52340ff7..8429df13 100644
--- a/rotators/celestron/Android.mk
+++ b/rotators/celestron/Android.mk
@@ -7,6 +7,6 @@ LOCAL_MODULE := celestron
LOCAL_CFLAGS := -DHAVE_CONFIG_H
LOCAL_C_INCLUDES := android include src
-LOCAL_LDLIBS := -lhamlib -Lobj/local/armeabi
+LOCAL_LDLIBS := -lhamlib -Lobj/local/$(TARGET_ARCH_ABI)
include $(BUILD_STATIC_LIBRARY)
diff --git a/rotators/cnctrk/Android.mk b/rotators/cnctrk/Android.mk
index 2392e6e1..3c6fb4e3 100644
--- a/rotators/cnctrk/Android.mk
+++ b/rotators/cnctrk/Android.mk
@@ -7,6 +7,6 @@ LOCAL_MODULE := cnctrk
LOCAL_CFLAGS := -DHAVE_CONFIG_H
LOCAL_C_INCLUDES := android include src
-LOCAL_LDLIBS := -lhamlib -Lobj/local/armeabi
+LOCAL_LDLIBS := -lhamlib -Lobj/local/$(TARGET_ARCH_ABI)
include $(BUILD_STATIC_LIBRARY)
diff --git a/rotators/easycomm/Android.mk b/rotators/easycomm/Android.mk
index 84e2864a..808a2ecf 100644
--- a/rotators/easycomm/Android.mk
+++ b/rotators/easycomm/Android.mk
@@ -7,6 +7,6 @@ LOCAL_MODULE := easycomm
LOCAL_CFLAGS := -DHAVE_CONFIG_H
LOCAL_C_INCLUDES := android include src
-LOCAL_LDLIBS := -lhamlib -Lobj/local/armeabi
+LOCAL_LDLIBS := -lhamlib -Lobj/local/$(TARGET_ARCH_ABI)
include $(BUILD_STATIC_LIBRARY)
diff --git a/rotators/ether6/Android.mk b/rotators/ether6/Android.mk
index 0655b9dc..cea491be 100644
--- a/rotators/ether6/Android.mk
+++ b/rotators/ether6/Android.mk
@@ -7,6 +7,6 @@ LOCAL_MODULE := ether6
LOCAL_CFLAGS := -DHAVE_CONFIG_H
LOCAL_C_INCLUDES := android include src
-LOCAL_LDLIBS := -lhamlib -Lobj/local/armeabi
+LOCAL_LDLIBS := -lhamlib -Lobj/local/$(TARGET_ARCH_ABI)
include $(BUILD_STATIC_LIBRARY)
diff --git a/rotators/fodtrack/Android.mk b/rotators/fodtrack/Android.mk
index b69f7351..bbac6b36 100644
--- a/rotators/fodtrack/Android.mk
+++ b/rotators/fodtrack/Android.mk
@@ -7,6 +7,6 @@ LOCAL_MODULE := fodtrack
LOCAL_CFLAGS := -DHAVE_CONFIG_H
LOCAL_C_INCLUDES := android include src
-LOCAL_LDLIBS := -lhamlib -Lobj/local/armeabi
+LOCAL_LDLIBS := -lhamlib -Lobj/local/$(TARGET_ARCH_ABI)
include $(BUILD_STATIC_LIBRARY)
diff --git a/rotators/gs232a/Android.mk b/rotators/gs232a/Android.mk
index 7e42b2a1..1430b1f7 100644
--- a/rotators/gs232a/Android.mk
+++ b/rotators/gs232a/Android.mk
@@ -7,6 +7,6 @@ LOCAL_MODULE := gs232a
LOCAL_CFLAGS := -DHAVE_CONFIG_H
LOCAL_C_INCLUDES := android include src
-LOCAL_LDLIBS := -lhamlib -Lobj/local/armeabi
+LOCAL_LDLIBS := -lhamlib -Lobj/local/$(TARGET_ARCH_ABI)
include $(BUILD_STATIC_LIBRARY)
diff --git a/rotators/heathkit/Android.mk b/rotators/heathkit/Android.mk
index 1a38dbdd..c368c1fe 100644
--- a/rotators/heathkit/Android.mk
+++ b/rotators/heathkit/Android.mk
@@ -7,6 +7,6 @@ LOCAL_MODULE := heathkit
LOCAL_CFLAGS := -DHAVE_CONFIG_H
LOCAL_C_INCLUDES := android include src
-LOCAL_LDLIBS := -lhamlib -Lobj/local/armeabi
+LOCAL_LDLIBS := -lhamlib -Lobj/local/$(TARGET_ARCH_ABI)
include $(BUILD_STATIC_LIBRARY)
diff --git a/rotators/indi/Android.mk b/rotators/indi/Android.mk
index 4152c67a..650fa100 100644
--- a/rotators/indi/Android.mk
+++ b/rotators/indi/Android.mk
@@ -7,6 +7,6 @@ LOCAL_MODULE := indi
LOCAL_CFLAGS := -DHAVE_CONFIG_H
LOCAL_C_INCLUDES := android include src
-LOCAL_LDLIBS := -lhamlib -Lobj/local/armeabi
+LOCAL_LDLIBS := -lhamlib -Lobj/local/$(TARGET_ARCH_ABI)
include $(BUILD_STATIC_LIBRARY)
diff --git a/rotators/ioptron/Android.mk b/rotators/ioptron/Android.mk
index 9f5a86f7..2af395ed 100644
--- a/rotators/ioptron/Android.mk
+++ b/rotators/ioptron/Android.mk
@@ -7,6 +7,6 @@ LOCAL_MODULE := ioptron
LOCAL_CFLAGS := -DHAVE_CONFIG_H
LOCAL_C_INCLUDES := android include src
-LOCAL_LDLIBS := -Lobj/local/armeabi
+LOCAL_LDLIBS := -Lobj/local/$(TARGET_ARCH_ABI)
include $(BUILD_STATIC_LIBRARY)
diff --git a/rotators/m2/Android.mk b/rotators/m2/Android.mk
index d60e87a5..4c0b1b43 100644
--- a/rotators/m2/Android.mk
+++ b/rotators/m2/Android.mk
@@ -7,6 +7,6 @@ LOCAL_MODULE := m2
LOCAL_CFLAGS := -DHAVE_CONFIG_H
LOCAL_C_INCLUDES := android include src
-LOCAL_LDLIBS := -lhamlib -Lobj/local/armeabi
+LOCAL_LDLIBS := -lhamlib -Lobj/local/$(TARGET_ARCH_ABI)
include $(BUILD_STATIC_LIBRARY)
diff --git a/rotators/meade/Android.mk b/rotators/meade/Android.mk
index 2cb4e71b..aee5a231 100644
--- a/rotators/meade/Android.mk
+++ b/rotators/meade/Android.mk
@@ -7,6 +7,6 @@ LOCAL_MODULE := meade
LOCAL_CFLAGS := -DHAVE_CONFIG_H
LOCAL_C_INCLUDES := android include src
-LOCAL_LDLIBS := -lhamlib -Lobj/local/armeabi
+LOCAL_LDLIBS := -lhamlib -Lobj/local/$(TARGET_ARCH_ABI)
include $(BUILD_STATIC_LIBRARY)
\ No newline at end of file
diff --git a/rotators/prosistel/Android.mk b/rotators/prosistel/Android.mk
index 54acb1c0..9734efa7 100644
--- a/rotators/prosistel/Android.mk
+++ b/rotators/prosistel/Android.mk
@@ -7,6 +7,6 @@ LOCAL_MODULE := prosistel
LOCAL_CFLAGS := -DHAVE_CONFIG_H
LOCAL_C_INCLUDES := android include src
-LOCAL_LDLIBS := -lhamlib -Lobj/local/armeabi
+LOCAL_LDLIBS := -lhamlib -Lobj/local/$(TARGET_ARCH_ABI)
include $(BUILD_STATIC_LIBRARY)
diff --git a/rotators/radant/Android.mk b/rotators/radant/Android.mk
index f66b69e9..be6ae097 100644
--- a/rotators/radant/Android.mk
+++ b/rotators/radant/Android.mk
@@ -7,6 +7,6 @@ LOCAL_MODULE := radant
LOCAL_CFLAGS := -DHAVE_CONFIG_H
LOCAL_C_INCLUDES := android include src
-LOCAL_LDLIBS := -lhamlib -Lobj/local/armeabi
+LOCAL_LDLIBS := -lhamlib -Lobj/local/$(TARGET_ARCH_ABI)
include $(BUILD_STATIC_LIBRARY)
diff --git a/rotators/rotorez/Android.mk b/rotators/rotorez/Android.mk
index b1326884..ca583b21 100644
--- a/rotators/rotorez/Android.mk
+++ b/rotators/rotorez/Android.mk
@@ -7,6 +7,6 @@ LOCAL_MODULE := rotorez
LOCAL_CFLAGS := -DHAVE_CONFIG_H
LOCAL_C_INCLUDES := android include src
-LOCAL_LDLIBS := -lhamlib -Lobj/local/armeabi
+LOCAL_LDLIBS := -lhamlib -Lobj/local/$(TARGET_ARCH_ABI)
include $(BUILD_STATIC_LIBRARY)
diff --git a/rotators/sartek/Android.mk b/rotators/sartek/Android.mk
index 49bbf76c..6bf426d2 100644
--- a/rotators/sartek/Android.mk
+++ b/rotators/sartek/Android.mk
@@ -7,6 +7,6 @@ LOCAL_MODULE := sartek
LOCAL_CFLAGS := -DHAVE_CONFIG_H
LOCAL_C_INCLUDES := android include src
-LOCAL_LDLIBS := -lhamlib -Lobj/local/armeabi
+LOCAL_LDLIBS := -lhamlib -Lobj/local/$(TARGET_ARCH_ABI)
include $(BUILD_STATIC_LIBRARY)
diff --git a/rotators/satel/Android.mk b/rotators/satel/Android.mk
index 7925dd54..450412f3 100644
--- a/rotators/satel/Android.mk
+++ b/rotators/satel/Android.mk
@@ -7,6 +7,6 @@ LOCAL_MODULE := satel
LOCAL_CFLAGS := -DHAVE_CONFIG_H
LOCAL_C_INCLUDES := android include src
-LOCAL_LDLIBS := -lhamlib -Lobj/local/armeabi
+LOCAL_LDLIBS := -lhamlib -Lobj/local/$(TARGET_ARCH_ABI)
include $(BUILD_STATIC_LIBRARY)
diff --git a/rotators/spid/Android.mk b/rotators/spid/Android.mk
index 1e920d1e..172254f4 100644
--- a/rotators/spid/Android.mk
+++ b/rotators/spid/Android.mk
@@ -7,6 +7,6 @@ LOCAL_MODULE := spid
LOCAL_CFLAGS := -DHAVE_CONFIG_H
LOCAL_C_INCLUDES := android include src
-LOCAL_LDLIBS := -lhamlib -Lobj/local/armeabi
+LOCAL_LDLIBS := -lhamlib -Lobj/local/$(TARGET_ARCH_ABI)
include $(BUILD_STATIC_LIBRARY)
diff --git a/rotators/ts7400/Android.mk b/rotators/ts7400/Android.mk
index 7069bacd..3543d5a9 100644
--- a/rotators/ts7400/Android.mk
+++ b/rotators/ts7400/Android.mk
@@ -7,6 +7,6 @@ LOCAL_MODULE := ts7400
LOCAL_CFLAGS := -DHAVE_CONFIG_H
LOCAL_C_INCLUDES := android include src
-LOCAL_LDLIBS := -lhamlib -Lobj/local/armeabi
+LOCAL_LDLIBS := -lhamlib -Lobj/local/$(TARGET_ARCH_ABI)
include $(BUILD_STATIC_LIBRARY)
commit e51e645d2a99dd79ac9e60cbe8470c6002dbd8a9
Author: Mike Black W9MDB <mdb...@ya...>
Date: Wed Sep 22 22:38:04 2021 -0500
Fix rigtestlibusb.c to include config.h
diff --git a/tests/rigtestlibusb.c b/tests/rigtestlibusb.c
index 4689ff7e..d6eaeed8 100644
--- a/tests/rigtestlibusb.c
+++ b/tests/rigtestlibusb.c
@@ -24,6 +24,7 @@
#include <stdio.h>
#include <string.h>
+#include "config.h"
#if defined(HAVE_LIBUSB_H)
#include "libusb.h"
#elif defined(HAVE_LIBUSB_1_0_LIBUSB_H)
commit 376db9e2e7268e13121f0497ee5ddf00ebefb5d2
Author: Mike Black W9MDB <mdb...@ya...>
Date: Wed Sep 22 22:34:31 2021 -0500
Fix compilation when OS does have libusb installed
https://github.com/Hamlib/Hamlib/issues/803
diff --git a/configure.ac b/configure.ac
index 03a99f95..540c0baf 100644
--- a/configure.ac
+++ b/configure.ac
@@ -324,8 +324,8 @@ AC_ARG_VAR([LIBUSB_LIBS], [linker flags for libusb, overriding configure check (
AS_IF([test x"${cf_with_libusb}" = "xyes"], [
AS_IF([test -z $LIBUSB_LIBS],
[AC_CHECK_LIB([usb-1.0], [libusb_init], [LIBUSB_LIBS="-lusb-1.0"],
- [AC_MSG_WARN([libusb_init was not found in libusb-1.0--USB backends will be disabled])])
- [cf_with_libusb="no"]
+ [AC_MSG_WARN([libusb_init was not found in libusb-1.0--USB backends will be disabled])]
+ [cf_with_libusb="no"])
], [cf_with_libusb="yes"])
AS_IF([test x"${cf_with_libusb}" = "xyes"],
commit 875104c395622795d4f74b18206a6d29fe96dc5b
Author: Mike Black W9MDB <mdb...@ya...>
Date: Wed Sep 22 13:25:07 2021 -0500
Update comments in tests/Makefile.am
diff --git a/tests/Makefile.am b/tests/Makefile.am
index 7778a378..ca13581e 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -4,6 +4,8 @@
# AUTOMAKE_OPTIONS = dejagnu
# DEJATOOL = testfreq testbcd testloc rigctl
+# For some reason this "if" is not working -- rigtestlibusb is still being included
+# Fix for now is to change rigtestlibusb.c instead
if HAVE_LIBUSB
TESTLIBUSB = rigtestlibusb
else
-----------------------------------------------------------------------
Summary of changes:
Android.mk | 3 +
configure.ac | 4 +-
include/hamlib/rig.h | 3 +
include/hamlib/rotlist.h | 5 +
rigs/adat/Android.mk | 2 +-
rigs/alinco/Android.mk | 2 +-
rigs/aor/Android.mk | 2 +-
rigs/barrett/Android.mk | 2 +-
rigs/dorji/Android.mk | 2 +-
rigs/drake/Android.mk | 2 +-
rigs/dummy/Android.mk | 2 +-
rigs/elad/Android.mk | 2 +-
rigs/flexradio/Android.mk | 2 +-
rigs/icmarine/Android.mk | 2 +-
rigs/icom/Android.mk | 2 +-
rigs/jrc/Android.mk | 2 +-
rigs/kachina/Android.mk | 2 +-
rigs/kenwood/Android.mk | 2 +-
rigs/kit/Android.mk | 2 +-
rigs/lowe/Android.mk | 2 +-
rigs/pcr/Android.mk | 2 +-
rigs/prm80/Android.mk | 2 +-
rigs/racal/Android.mk | 2 +-
rigs/rft/Android.mk | 2 +-
rigs/rs/Android.mk | 2 +-
rigs/skanti/Android.mk | 2 +-
rigs/tapr/Android.mk | 2 +-
rigs/tentec/Android.mk | 2 +-
rigs/tuner/Android.mk | 2 +-
rigs/uniden/Android.mk | 2 +-
rigs/winradio/Android.mk | 2 +-
rigs/wj/Android.mk | 2 +-
rigs/yaesu/Android.mk | 2 +-
rotators/amsat/Android.mk | 2 +-
.../elecraft => rotators/androidsensor}/Android.mk | 6 +-
rotators/androidsensor/androidsensor.cpp | 137 ++++++++++++++
.../fodtrack.h => androidsensor/androidsensor.h} | 12 +-
rotators/androidsensor/ndkimu.cpp | 207 +++++++++++++++++++++
rotators/androidsensor/ndkimu.h | 57 ++++++
rotators/ars/Android.mk | 2 +-
rotators/celestron/Android.mk | 2 +-
rotators/cnctrk/Android.mk | 2 +-
rotators/easycomm/Android.mk | 2 +-
rotators/ether6/Android.mk | 2 +-
rotators/fodtrack/Android.mk | 2 +-
rotators/gs232a/Android.mk | 2 +-
rotators/heathkit/Android.mk | 2 +-
rotators/indi/Android.mk | 2 +-
rotators/ioptron/Android.mk | 2 +-
rotators/m2/Android.mk | 2 +-
rotators/meade/Android.mk | 2 +-
rotators/prosistel/Android.mk | 2 +-
rotators/radant/Android.mk | 2 +-
rotators/rotorez/Android.mk | 2 +-
rotators/sartek/Android.mk | 2 +-
rotators/satel/Android.mk | 2 +-
rotators/spid/Android.mk | 2 +-
rotators/ts7400/Android.mk | 2 +-
src/Android.mk | 4 +-
src/misc.c | 1 +
src/rig.c | 44 ++++-
src/rot_reg.c | 6 +
tests/Android.mk | 12 ++
tests/Makefile.am | 2 +
tests/rigtestlibusb.c | 1 +
tests/rotctld.c | 6 +
66 files changed, 539 insertions(+), 69 deletions(-)
copy {amplifiers/elecraft => rotators/androidsensor}/Android.mk (54%)
create mode 100644 rotators/androidsensor/androidsensor.cpp
copy rotators/{fodtrack/fodtrack.h => androidsensor/androidsensor.h} (71%)
create mode 100644 rotators/androidsensor/ndkimu.cpp
create mode 100644 rotators/androidsensor/ndkimu.h
create mode 100644 tests/Android.mk
hooks/post-receive
--
Hamlib -- Ham radio control libraries
|