mirror of
https://github.com/DJ2LS/FreeDATA
synced 2024-05-14 08:04:33 +00:00
uploaded hamlib test
@drowe67 this is the file where I try to implement libhamlib directly
This commit is contained in:
parent
e4d36e5f21
commit
8cc4c33f0c
2 changed files with 148 additions and 0 deletions
148
test/hamlib-test.py
Normal file
148
test/hamlib-test.py
Normal file
|
@ -0,0 +1,148 @@
|
||||||
|
#!/usr/bin/env python3
|
||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
|
||||||
|
|
||||||
|
import ctypes
|
||||||
|
from ctypes import *
|
||||||
|
import pathlib
|
||||||
|
|
||||||
|
from enum import Enum
|
||||||
|
|
||||||
|
|
||||||
|
class DEBUGLEVEL(Enum):
|
||||||
|
RIG_DEBUG_NONE = 0
|
||||||
|
RIG_DEBUG_BUG = 1
|
||||||
|
RIG_DEBUG_ERR = 2
|
||||||
|
RIG_DEBUG_WARN = 3
|
||||||
|
RIG_DEBUG_VERBOSE = 4
|
||||||
|
RIG_DEBUG_TRACE = 5
|
||||||
|
RIG_DEBUG_CACHE = 6
|
||||||
|
|
||||||
|
class RETCODE(Enum):
|
||||||
|
RIG_OK = 0
|
||||||
|
RIG_EINVAL = 1
|
||||||
|
RIG_ECONF = 2
|
||||||
|
RIG_ENOMEM = 3
|
||||||
|
RIG_ENIMPL = 4
|
||||||
|
RIG_ETIMEOUT = 5
|
||||||
|
RIG_EIO = 6
|
||||||
|
RIG_EINTERNAL = 7
|
||||||
|
RIG_EPROTO = 8
|
||||||
|
RIG_ERJCTED = 9
|
||||||
|
RIG_ETRUNC = 10
|
||||||
|
RIG_ENAVAIL = 11
|
||||||
|
RIG_ENTARGET = 12
|
||||||
|
RIG_BUSERROR = 13
|
||||||
|
RIG_BUSBUSY = 14
|
||||||
|
RIG_EARG = 15
|
||||||
|
RIG_EVFO = 16
|
||||||
|
RIG_EDOM = 17
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
libname = pathlib.Path("../tnc/lib/hamlib/linux/libhamlib.so")
|
||||||
|
hamlib = ctypes.CDLL(libname)
|
||||||
|
|
||||||
|
|
||||||
|
class SERIAL(ctypes.Structure):
|
||||||
|
_fields_ = [
|
||||||
|
("data_bits", ctypes.c_int),
|
||||||
|
("stop_bits", ctypes.c_int),
|
||||||
|
("rate", ctypes.c_int),
|
||||||
|
]
|
||||||
|
|
||||||
|
class PARM(ctypes.Structure):
|
||||||
|
_fields_ = [
|
||||||
|
("serial", SERIAL),
|
||||||
|
]
|
||||||
|
|
||||||
|
class RIGPORT(ctypes.Structure):
|
||||||
|
_fields_ = [
|
||||||
|
("pathname", ctypes.c_float),
|
||||||
|
("parm", PARM),
|
||||||
|
]
|
||||||
|
|
||||||
|
class STATE(ctypes.Structure):
|
||||||
|
_fields_ = [
|
||||||
|
("rigport", RIGPORT),
|
||||||
|
|
||||||
|
|
||||||
|
]
|
||||||
|
|
||||||
|
class MY_RIG(ctypes.Structure):
|
||||||
|
_fields_ = [
|
||||||
|
#("Nc", ctypes.c_int),
|
||||||
|
#("snr_est", ctypes.c_float),
|
||||||
|
#("rx_symbols", (ctypes.c_float * MODEM_STATS_NR_MAX)*MODEM_STATS_NC_MAX),
|
||||||
|
#("nr", ctypes.c_int),
|
||||||
|
#("sync", ctypes.c_int),
|
||||||
|
#("foff", ctypes.c_float),
|
||||||
|
#("rx_timing", ctypes.c_float),
|
||||||
|
#("clock_offset", ctypes.c_float),
|
||||||
|
#("sync_metric", ctypes.c_float),
|
||||||
|
("pathname", ctypes.c_uchar),
|
||||||
|
("state", STATE),
|
||||||
|
|
||||||
|
]
|
||||||
|
|
||||||
|
|
||||||
|
'''
|
||||||
|
myport.type.rig = RIG_PORT_SERIAL;
|
||||||
|
myport.parm.serial.rate = 9600;
|
||||||
|
myport.parm.serial.data_bits = 8;
|
||||||
|
myport.parm.serial.stop_bits = 1;
|
||||||
|
myport.parm.serial.parity = RIG_PARITY_NONE;
|
||||||
|
myport.parm.serial.handshake = RIG_HANDSHAKE_NONE;
|
||||||
|
strncpy(myport.pathname, SERIAL_PORT, HAMLIB_FILPATHLEN - 1);''
|
||||||
|
'''
|
||||||
|
|
||||||
|
|
||||||
|
hamlib.rig_set_debug(6) #6
|
||||||
|
|
||||||
|
model = 3085 #3085 = ICOM 6 = DUMMY
|
||||||
|
my_rig = MY_RIG()
|
||||||
|
my_rig.state.rigport.parm.serial.data_bits = 7
|
||||||
|
|
||||||
|
#rig = hamlib.rig_init(my_rig)
|
||||||
|
|
||||||
|
#hamlib.serial_setup()
|
||||||
|
#hamlib.serial_open('dev12')
|
||||||
|
|
||||||
|
retcode = hamlib.rig_open(my_rig)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
hamlib.rig_close(rig)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#riginfo = create_string_buffer(1024)
|
||||||
|
#retcode = hamlib.rig_get_rig_info(rig, riginfo, 1024);
|
||||||
|
|
||||||
|
'''
|
||||||
|
char riginfo[1024];
|
||||||
|
retcode = rig_get_rig_info(rig, riginfo, sizeof(riginfo));
|
||||||
|
'''
|
BIN
tnc/lib/hamlib/linux/libhamlib.so
Executable file
BIN
tnc/lib/hamlib/linux/libhamlib.so
Executable file
Binary file not shown.
Loading…
Reference in a new issue