This data (I think) was part of multicast V1, and doesn't seem to be used any
more. Since neither V1 or V2 are enabled, there should be no external
conflicts.
See 'rigs/simplecat/SIMPLE_CAT_PROTOCOL.md' for the protocol spec.
Notes:
- Memory correctness checks were done using Valgrind.
- Tested with wsjtx-3.1.0_improved_PLUS_260228.tgz (with mods) and
Bunzee Labs' DDX HF Digital Transceiver
https://bunzee-labs.com/products/ddx
Tested on:
- Ubuntu Linux
- macOS Tahoe
- Windows 11
Fixes:
hamlibpy_wrap.c:4692:35: warning: passing 'char *' to parameter of type 'const unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign]
4692 | count = rig_send_raw(self->rig, send, send_len, reply_buffer, reply_len, term);
| ^~~~
../include/hamlib/rig.h:3466:71: note: passing argument to parameter 'send' here
3466 | extern HAMLIB_EXPORT(int) rig_send_raw(RIG *rig, const unsigned char* send, int send_len, unsigned char* reply, int reply_len, unsigned char *term);
| ^
hamlibpy_wrap.c:4692:76: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign]
4692 | count = rig_send_raw(self->rig, send, send_len, reply_buffer, reply_len, term);
| ^~~~
../include/hamlib/rig.h:3466:143: note: passing argument to parameter 'term' here
3466 | extern HAMLIB_EXPORT(int) rig_send_raw(RIG *rig, const unsigned char* send, int send_len, unsigned char* reply, int reply_len, unsigned char *term);
| ^
hamlibpy_wrap.c:4696:39: warning: passing 'unsigned char[256]' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign]
4696 | return PyUnicode_FromStringAndSize(reply_buffer, count);
| ^~~~~~~~~~~~
/usr/include/python3.13/unicodeobject.h:123:17: note: passing argument to parameter 'u' here
123 | const char *u, /* UTF-8 encoded string */
| ^
hamlibpy_wrap.c:4698:37: warning: passing 'unsigned char[256]' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign]
4698 | return PyBytes_FromStringAndSize(reply_buffer, count);
| ^~~~~~~~~~~~
/usr/include/python3.13/bytesobject.h:31:62: note: passing argument to parameter here
31 | PyAPI_FUNC(PyObject *) PyBytes_FromStringAndSize(const char *, Py_ssize_t);
| ^
Fixes:
hamlibpy_wrap.c:4668:46: warning: passing 'size_t *' (aka 'unsigned long *') to parameter of type 'Py_ssize_t *' (aka 'long *') converts between pointers to integer types with different sign [-Wpointer-sign]
4668 | PyBytes_AsStringAndSize(bytes_obj, &send, &send_len);
| ^~~~~~~~~
Fixes:
hamlibpy_wrap.c:4194:12: warning: expression which evaluates to zero treated as a null pointer constant of type 'int *' [-Wnon-literal-null-conversion]
4194 | return RIG_OK;
| ^~~~~~
hamlibpy_wrap.c:4213:12: warning: expression which evaluates to zero treated as a null pointer constant of type 'int *' [-Wnon-literal-null-conversion]
4213 | return RIG_OK;
| ^~~~~~
hamlibpy_wrap.c:4230:12: warning: expression which evaluates to zero treated as a null pointer constant of type 'int *' [-Wnon-literal-null-conversion]
4230 | return RIG_OK;
| ^~~~~~
hamlibpy_wrap.c:4248:12: warning: expression which evaluates to zero treated as a null pointer constant of type 'int *' [-Wnon-literal-null-conversion]
4248 | return RIG_OK;
| ^~~~~~
hamlibpy_wrap.c:4266:12: warning: expression which evaluates to zero treated as a null pointer constant of type 'int *' [-Wnon-literal-null-conversion]
4266 | return RIG_OK;
| ^~~~~~
hamlibpy_wrap.c:4282:12: warning: expression which evaluates to zero treated as a null pointer constant of type 'int *' [-Wnon-literal-null-conversion]
4282 | return RIG_OK;
| ^~~~~~
hamlibpy_wrap.c:4298:12: warning: expression which evaluates to zero treated as a null pointer constant of type 'int *' [-Wnon-literal-null-conversion]
4298 | return RIG_OK;
| ^~~~~~
They have been marked as deprecated in doxygen for years.
They both do nothing but return -RIG_EDEPRECATED.
Remove them from the bindings.
AFAICT adding them to bindings/ignore.swg has no effect.
Allows to send either string or bytes and to receive a response
converted to the same datatype. Also the "term" argument can be
of either type (but it can't contain NULs, it's a single char
or byte anyway).
Closes#1624.
It makes it easier in future to conditionally run some tests(eg.
to not test PTT for receiver-only rigs), or to run tests in
isolation (after renaming them).
It makes it easier to look at failing tests because pytest prints
the code of the failing test up to the failure including any
function that called the failed test (in this case would print
everything from def test_with_open() up to the line with the
failed assert.