kopia lustrzana https://github.com/Hamlib/Hamlib
commit
a7058ff76c
|
@ -1,8 +1,30 @@
|
|||
<!-- Footer for Doxygen HTML files -->
|
||||
<hr>
|
||||
<div class="doxy">Generated by <a href="http://www.doxygen.org/index.html"><img class="footer" src="$relpath$doxygen.png" alt="doxygen"/></a> $doxygenversion</small></address></div>
|
||||
<p style="font-size: 75%">Hamlib documentation for version $projectnumber -- $datetime<br />
|
||||
Project page: <a href="http://www.hamlib.org">http://www.hamlib.org</a><br />
|
||||
</p>
|
||||
<!-- HTML footer for doxygen 1.9.1-->
|
||||
<!-- start footer part -->
|
||||
<!--BEGIN GENERATE_TREEVIEW-->
|
||||
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
|
||||
<ul>
|
||||
$navpath
|
||||
<li class="footer">$generatedby <a href="https://www.doxygen.org/index.html"><img class="footer" src="$relpath^doxygen.svg" width="104" height="31" alt="doxygen"/></a> $doxygenversion </li>
|
||||
</ul>
|
||||
</div>
|
||||
<!--END GENERATE_TREEVIEW-->
|
||||
<!--BEGIN !GENERATE_TREEVIEW-->
|
||||
<hr class="footer"/>
|
||||
<address class="footer">
|
||||
<small>
|
||||
$generatedby <a href="https://www.doxygen.org/index.html"><img class="footer" src="$relpath^doxygen.svg" width="104" height="31" alt="doxygen"/></a> $doxygenversion
|
||||
</small>
|
||||
</address>
|
||||
<!--END !GENERATE_TREEVIEW-->
|
||||
<div id="hamlib" class="footer" >
|
||||
<p class="alignleft">
|
||||
Hamlib documentation for version $projectnumber—$datetime<br />
|
||||
Project page: <a href="http://www.hamlib.org">http://www.hamlib.org</a><br />
|
||||
</p>
|
||||
<p class="alignright">
|
||||
<a href="https://sourceforge.net/p/hamlib/"><img alt="Download Ham Radio Control Libraries" src="https://sourceforge.net/sflogo.php?type=13&group_id=8305" ></a>
|
||||
</p>
|
||||
</div>
|
||||
<div style="clear: both;"></div>
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
@ -1,7 +1,8 @@
|
|||
## hamlib.cfg.in--converted into hamlib.cfg by configure
|
||||
## hamlib.cfg.in--converted into hamlib.cfg by config.status
|
||||
|
||||
PROJECT_NAME = "Hamlib"
|
||||
PROJECT_NAME = Hamlib
|
||||
PROJECT_NUMBER = @VERSION@
|
||||
PROJECT_LOGO = @top_srcdir@/doc/hamlib.png
|
||||
|
||||
# Output
|
||||
OUTPUT_DIRECTORY= .
|
||||
|
@ -14,31 +15,31 @@ GENERATE_MAN = NO # User can set to YES for local man pages
|
|||
MAN_EXTENSION = .3
|
||||
|
||||
# Input
|
||||
CASE_SENSE_NAMES = NO
|
||||
FULL_PATH_NAMES = NO
|
||||
INPUT = @top_srcdir@/doc/index.doxygen \
|
||||
@top_srcdir@/src/ @top_srcdir@/include/hamlib/
|
||||
CASE_SENSE_NAMES = YES
|
||||
FULL_PATH_NAMES = NO
|
||||
INPUT = @top_srcdir@/doc/index.doxygen \
|
||||
@top_srcdir@/include/hamlib/ \
|
||||
@top_srcdir@/src/
|
||||
|
||||
INCLUDE_PATH = @top_srcdir@/include
|
||||
INCLUDE_PATH = @top_srcdir@/include
|
||||
|
||||
EXAMPLE_PATH = @top_srcdir@/tests/testrig.c \
|
||||
@top_srcdir@
|
||||
EXAMPLE_PATH = @top_srcdir@/tests/testrig.c \
|
||||
@top_srcdir@
|
||||
|
||||
QUIET = YES
|
||||
QUIET = YES
|
||||
|
||||
HTML_STYLESHEET = @top_srcdir@/doc/hamlib.css
|
||||
HTML_FOOTER = @top_srcdir@/doc/footer.html
|
||||
HTML_FOOTER = @top_srcdir@/doc/footer.html
|
||||
HTML_EXTRA_STYLESHEET = @top_srcdir@/doc/hamlib.css
|
||||
|
||||
EXTRACT_ALL = NO
|
||||
EXTRACT_STATIC = NO
|
||||
HIDE_UNDOC_MEMBERS = NO
|
||||
SHOW_INCLUDE_FILES = YES
|
||||
INHERIT_DOCS = YES
|
||||
ENABLED_SECTIONS = ""
|
||||
PREDEFINED = DOXYGEN "DOC_HIDDEN"
|
||||
JAVADOC_AUTOBRIEF = NO
|
||||
OPTIMIZE_OUTPUT_FOR_C = YES # doxygen 1.2.6 option
|
||||
|
||||
MAN_LINKS = NO
|
||||
MACRO_EXPANSION = YES
|
||||
EXTRACT_ALL = NO
|
||||
EXTRACT_STATIC = NO
|
||||
HIDE_UNDOC_MEMBERS = NO
|
||||
SHOW_INCLUDE_FILES = YES
|
||||
INHERIT_DOCS = YES
|
||||
ENABLED_SECTIONS = ""
|
||||
PREDEFINED = DOXYGEN "DOC_HIDDEN"
|
||||
JAVADOC_AUTOBRIEF = NO
|
||||
OPTIMIZE_OUTPUT_FOR_C = YES
|
||||
|
||||
MAN_LINKS = NO
|
||||
MACRO_EXPANSION = YES
|
||||
|
|
671
doc/hamlib.css
671
doc/hamlib.css
|
@ -1,662 +1,29 @@
|
|||
/* The standard CSS for doxygen */
|
||||
/* Custom CSS for Hamlib used by the Doxygen generated HTML pages. */
|
||||
|
||||
body, table, div, p, dl {
|
||||
font-family: sans-serif;
|
||||
font-size: 100%;
|
||||
}
|
||||
/* Add padding around the Hamlib logo in the page header. */
|
||||
|
||||
/* @group Heading Levels */
|
||||
|
||||
h1 {
|
||||
font-size: 2.5em;
|
||||
}
|
||||
|
||||
h2 {
|
||||
font-size: 1.875em;
|
||||
}
|
||||
|
||||
h3 {
|
||||
font-size: 1.20em;
|
||||
}
|
||||
|
||||
dt {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
div.multicol {
|
||||
-moz-column-gap: 1em;
|
||||
-webkit-column-gap: 1em;
|
||||
-moz-column-count: 3;
|
||||
-webkit-column-count: 3;
|
||||
}
|
||||
|
||||
p.startli, p.startdd, p.starttd {
|
||||
margin-top: 2px;
|
||||
}
|
||||
|
||||
p.endli {
|
||||
margin-bottom: 0px;
|
||||
}
|
||||
|
||||
p.enddd {
|
||||
margin-bottom: 4px;
|
||||
}
|
||||
|
||||
p.endtd {
|
||||
margin-bottom: 2px;
|
||||
}
|
||||
|
||||
/* @end */
|
||||
|
||||
caption {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
span.legend {
|
||||
font-size: 70%;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
h3.version {
|
||||
font-size: 90%;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
div.qindex, div.navtab{
|
||||
background-color: #EBEFF6;
|
||||
border: 1px solid #A3B4D7;
|
||||
text-align: center;
|
||||
margin: 2px;
|
||||
padding: 2px;
|
||||
}
|
||||
|
||||
div.qindex, div.navpath {
|
||||
width: 100%;
|
||||
line-height: 140%;
|
||||
}
|
||||
|
||||
div.navtab {
|
||||
margin-right: 15px;
|
||||
}
|
||||
|
||||
/* @group Link Styling */
|
||||
|
||||
a {
|
||||
color: #3D578C;
|
||||
font-weight: normal;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.contents a:visited {
|
||||
color: #4665A2;
|
||||
}
|
||||
|
||||
a:hover {
|
||||
text-decoration: none;
|
||||
background-color: #f0f0fd;
|
||||
}
|
||||
|
||||
a.qindex {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
a.qindexHL {
|
||||
font-weight: bold;
|
||||
background-color: #9CAFD4;
|
||||
color: #ffffff;
|
||||
border: 1px double #869DCA;
|
||||
}
|
||||
|
||||
.contents a.qindexHL:visited {
|
||||
color: #ffffff;
|
||||
}
|
||||
|
||||
a.el {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
a.elRef {
|
||||
}
|
||||
|
||||
a.code {
|
||||
color: #4665A2;
|
||||
}
|
||||
|
||||
a.codeRef {
|
||||
color: #4665A2;
|
||||
}
|
||||
|
||||
/* @end */
|
||||
|
||||
dl.el {
|
||||
margin-left: -1cm;
|
||||
}
|
||||
|
||||
.fragment {
|
||||
font-family: monospace, fixed;
|
||||
font-size: 105%;
|
||||
}
|
||||
|
||||
pre.fragment {
|
||||
border: 1px solid #C4CFE5;
|
||||
background-color: #FBFCFD;
|
||||
padding: 4px 6px;
|
||||
margin: 4px 8px 4px 2px;
|
||||
overflow: auto;
|
||||
word-wrap: break-word;
|
||||
font-size: 90%;
|
||||
line-height: 125%;
|
||||
}
|
||||
|
||||
div.ah {
|
||||
background-color: black;
|
||||
font-weight: bold;
|
||||
color: #ffffff;
|
||||
margin-bottom: 3px;
|
||||
margin-top: 3px;
|
||||
padding: 0.2em;
|
||||
border: solid thin #333;
|
||||
border-radius: 0.5em;
|
||||
-webkit-border-radius: .5em;
|
||||
-moz-border-radius: .5em;
|
||||
-webkit-box-shadow: 2px 2px 3px #999;
|
||||
-moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px;
|
||||
background-image: -webkit-gradient(linear, left top, left bottom, from(#eee), to(#000),color-stop(0.3, #444));
|
||||
background-image: -moz-linear-gradient(center top, #eee 0%, #444 40%, #000);
|
||||
}
|
||||
|
||||
div.groupHeader {
|
||||
margin-left: 16px;
|
||||
margin-top: 12px;
|
||||
margin-bottom: 6px;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
div.groupText {
|
||||
margin-left: 16px;
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
body {
|
||||
background: white;
|
||||
color: black;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
div.contents {
|
||||
margin-top: 10px;
|
||||
margin-left: 10px;
|
||||
margin-right: 10px;
|
||||
}
|
||||
|
||||
td.indexkey {
|
||||
background-color: #EBEFF6;
|
||||
font-weight: bold;
|
||||
border: 1px solid #C4CFE5;
|
||||
margin: 2px 0px 2px 0;
|
||||
padding: 2px 10px;
|
||||
}
|
||||
|
||||
td.indexvalue {
|
||||
background-color: #EBEFF6;
|
||||
border: 1px solid #C4CFE5;
|
||||
padding: 2px 10px;
|
||||
margin: 2px 0px;
|
||||
}
|
||||
|
||||
tr.memlist {
|
||||
background-color: #EEF1F7;
|
||||
}
|
||||
|
||||
p.formulaDsp {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
img.formulaDsp {
|
||||
|
||||
}
|
||||
|
||||
img.formulaInl {
|
||||
vertical-align: middle;
|
||||
}
|
||||
|
||||
div.center {
|
||||
text-align: center;
|
||||
margin-top: 0px;
|
||||
margin-bottom: 0px;
|
||||
padding: 0px;
|
||||
}
|
||||
|
||||
div.center img {
|
||||
border: 0px;
|
||||
}
|
||||
|
||||
address.footer {
|
||||
text-align: right;
|
||||
padding-right: 12px;
|
||||
}
|
||||
|
||||
img.footer {
|
||||
border: 0px;
|
||||
vertical-align: middle;
|
||||
}
|
||||
|
||||
/* @group Code Colorization */
|
||||
|
||||
span.keyword {
|
||||
color: #008000
|
||||
}
|
||||
|
||||
span.keywordtype {
|
||||
color: #604020
|
||||
}
|
||||
|
||||
span.keywordflow {
|
||||
color: #e08000
|
||||
}
|
||||
|
||||
span.comment {
|
||||
color: #800000
|
||||
}
|
||||
|
||||
span.preprocessor {
|
||||
color: #806020
|
||||
}
|
||||
|
||||
span.stringliteral {
|
||||
color: #002080
|
||||
}
|
||||
|
||||
span.charliteral {
|
||||
color: #008080
|
||||
}
|
||||
|
||||
span.vhdldigit {
|
||||
color: #ff00ff
|
||||
}
|
||||
|
||||
span.vhdlchar {
|
||||
color: #000000
|
||||
}
|
||||
|
||||
span.vhdlkeyword {
|
||||
color: #700070
|
||||
}
|
||||
|
||||
span.vhdllogic {
|
||||
color: #ff0000
|
||||
}
|
||||
|
||||
/* @end */
|
||||
|
||||
/*
|
||||
.search {
|
||||
color: #003399;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
form.search {
|
||||
margin-bottom: 0px;
|
||||
margin-top: 0px;
|
||||
}
|
||||
|
||||
input.search {
|
||||
font-size: 75%;
|
||||
color: #000080;
|
||||
font-weight: normal;
|
||||
background-color: #e8eef2;
|
||||
}
|
||||
*/
|
||||
|
||||
td.tiny {
|
||||
font-size: 75%;
|
||||
}
|
||||
|
||||
.dirtab {
|
||||
padding: 4px;
|
||||
border-collapse: collapse;
|
||||
border: 1px solid #A3B4D7;
|
||||
}
|
||||
|
||||
th.dirtab {
|
||||
background: #EBEFF6;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
hr {
|
||||
height: 0px;
|
||||
border: none;
|
||||
border-top: 1px solid #4A6AAA;
|
||||
}
|
||||
|
||||
hr.footer {
|
||||
height: 1px;
|
||||
}
|
||||
|
||||
/* @group Member Descriptions */
|
||||
|
||||
table.memberdecls {
|
||||
border-spacing: 0px;
|
||||
padding: 0px;
|
||||
}
|
||||
|
||||
.mdescLeft, .mdescRight,
|
||||
.memItemLeft, .memItemRight,
|
||||
.memTemplItemLeft, .memTemplItemRight, .memTemplParams {
|
||||
background-color: #F9FAFC;
|
||||
border: none;
|
||||
margin: 4px;
|
||||
padding: 1px 0 0 8px;
|
||||
}
|
||||
|
||||
.mdescLeft, .mdescRight {
|
||||
padding: 0px 8px 4px 8px;
|
||||
color: #555;
|
||||
}
|
||||
|
||||
.memItemLeft, .memItemRight, .memTemplParams {
|
||||
border-top: 1px solid #C4CFE5;
|
||||
}
|
||||
|
||||
.memItemLeft, .memTemplItemLeft {
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.memTemplParams {
|
||||
color: #4665A2;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
/* @end */
|
||||
|
||||
/* @group Member Details */
|
||||
|
||||
/* Styles for detailed member documentation */
|
||||
|
||||
.memtemplate {
|
||||
font-size: 80%;
|
||||
color: #4665A2;
|
||||
font-weight: normal;
|
||||
margin-left: 3px;
|
||||
}
|
||||
|
||||
.memnav {
|
||||
background-color: #EBEFF6;
|
||||
border: 1px solid #A3B4D7;
|
||||
text-align: center;
|
||||
margin: 2px;
|
||||
margin-right: 15px;
|
||||
padding: 2px;
|
||||
}
|
||||
|
||||
.memitem {
|
||||
padding: 0;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
.memname {
|
||||
white-space: nowrap;
|
||||
font-weight: bold;
|
||||
margin-left: 6px;
|
||||
}
|
||||
|
||||
.memproto {
|
||||
border-top: 1px solid #A8B8D9;
|
||||
border-left: 1px solid #A8B8D9;
|
||||
border-right: 1px solid #A8B8D9;
|
||||
padding: 6px 0px 6px 0px;
|
||||
color: #253555;
|
||||
font-weight: bold;
|
||||
text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9);
|
||||
/* firefox specific markup */
|
||||
-moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px;
|
||||
-moz-border-radius-topright: 8px;
|
||||
-moz-border-radius-topleft: 8px;
|
||||
/* webkit specific markup */
|
||||
-webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
|
||||
-webkit-border-top-right-radius: 8px;
|
||||
-webkit-border-top-left-radius: 8px;
|
||||
background-image:url('nav_f.png');
|
||||
background-repeat:repeat-x;
|
||||
background-color: #E2E8F2;
|
||||
|
||||
}
|
||||
|
||||
.memdoc {
|
||||
border-bottom: 1px solid #A8B8D9;
|
||||
border-left: 1px solid #A8B8D9;
|
||||
border-right: 1px solid #A8B8D9;
|
||||
padding: 2px 5px;
|
||||
background-color: #FBFCFD;
|
||||
border-top-width: 0;
|
||||
/* firefox specific markup */
|
||||
-moz-border-radius-bottomleft: 8px;
|
||||
-moz-border-radius-bottomright: 8px;
|
||||
-moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px;
|
||||
background-image: -moz-linear-gradient(center top, #FFFFFF 0%, #FFFFFF 60%, #F7F8FB 95%, #EEF1F7);
|
||||
/* webkit specific markup */
|
||||
-webkit-border-bottom-left-radius: 8px;
|
||||
-webkit-border-bottom-right-radius: 8px;
|
||||
-webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
|
||||
background-image: -webkit-gradient(linear,center top,center bottom,from(#FFFFFF), color-stop(0.6,#FFFFFF), color-stop(0.60,#FFFFFF), color-stop(0.95,#F7F8FB), to(#EEF1F7));
|
||||
}
|
||||
|
||||
.paramkey {
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
.paramtype {
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.paramname {
|
||||
color: #602020;
|
||||
white-space: nowrap;
|
||||
}
|
||||
.paramname em {
|
||||
font-style: normal;
|
||||
}
|
||||
|
||||
/* @end */
|
||||
|
||||
/* @group Directory (tree) */
|
||||
|
||||
/* for the tree view */
|
||||
|
||||
.ftvtree {
|
||||
font-family: sans-serif;
|
||||
margin: 0px;
|
||||
}
|
||||
|
||||
/* these are for tree view when used as main index */
|
||||
|
||||
.directory {
|
||||
font-size: 9pt;
|
||||
font-weight: bold;
|
||||
margin: 5px;
|
||||
}
|
||||
|
||||
.directory h3 {
|
||||
margin: 0px;
|
||||
margin-top: 1em;
|
||||
font-size: 11pt;
|
||||
}
|
||||
|
||||
/*
|
||||
The following two styles can be used to replace the root node title
|
||||
with an image of your choice. Simply uncomment the next two styles,
|
||||
specify the name of your image and be sure to set 'height' to the
|
||||
proper pixel height of your image.
|
||||
*/
|
||||
|
||||
/*
|
||||
.directory h3.swap {
|
||||
height: 61px;
|
||||
background-repeat: no-repeat;
|
||||
background-image: url("yourimage.gif");
|
||||
}
|
||||
.directory h3.swap span {
|
||||
display: none;
|
||||
}
|
||||
*/
|
||||
|
||||
.directory > h3 {
|
||||
margin-top: 0;
|
||||
}
|
||||
|
||||
.directory p {
|
||||
margin: 0px;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.directory div {
|
||||
display: none;
|
||||
margin: 0px;
|
||||
}
|
||||
|
||||
.directory img {
|
||||
vertical-align: -30%;
|
||||
}
|
||||
|
||||
/* these are for tree view when not used as main index */
|
||||
|
||||
.directory-alt {
|
||||
font-size: 100%;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.directory-alt h3 {
|
||||
margin: 0px;
|
||||
margin-top: 1em;
|
||||
font-size: 11pt;
|
||||
}
|
||||
|
||||
.directory-alt > h3 {
|
||||
margin-top: 0;
|
||||
}
|
||||
|
||||
.directory-alt p {
|
||||
margin: 0px;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.directory-alt div {
|
||||
display: none;
|
||||
margin: 0px;
|
||||
}
|
||||
|
||||
.directory-alt img {
|
||||
vertical-align: -30%;
|
||||
}
|
||||
|
||||
/* @end */
|
||||
|
||||
div.dynheader {
|
||||
margin-top: 8px;
|
||||
}
|
||||
|
||||
address {
|
||||
font-style: normal;
|
||||
color: #2A3D61;
|
||||
}
|
||||
|
||||
table.doxtable {
|
||||
border-collapse:collapse;
|
||||
}
|
||||
|
||||
table.doxtable td, table.doxtable th {
|
||||
border: 1px solid #2D4068;
|
||||
padding: 3px 7px 2px;
|
||||
}
|
||||
|
||||
table.doxtable th {
|
||||
background-color: #374F7F;
|
||||
color: #FFFFFF;
|
||||
font-size: 110%;
|
||||
padding-bottom: 4px;
|
||||
padding-top: 5px;
|
||||
text-align:left;
|
||||
}
|
||||
|
||||
.tabsearch {
|
||||
top: 0px;
|
||||
left: 10px;
|
||||
height: 36px;
|
||||
background-image: url('tab_b.png');
|
||||
z-index: 101;
|
||||
overflow: hidden;
|
||||
font-size: 13px;
|
||||
}
|
||||
|
||||
.navpath ul
|
||||
#projectlogo
|
||||
{
|
||||
font-size: 11px;
|
||||
background-image:url('tab_b.png');
|
||||
background-repeat:repeat-x;
|
||||
height:30px;
|
||||
line-height:30px;
|
||||
color:#8AA0CC;
|
||||
border:solid 1px #C2CDE4;
|
||||
overflow:hidden;
|
||||
margin:0px;
|
||||
padding:0px;
|
||||
padding-right: 0.85em;
|
||||
padding-left: 0.8em;
|
||||
padding-top: 0.5em;
|
||||
padding-bottom: 0.5em;
|
||||
|
||||
}
|
||||
|
||||
.navpath li
|
||||
|
||||
/* Align the Hamlib footer elements to the left and right and pad
|
||||
* from the screen edge to align with other page padding. */
|
||||
|
||||
.footer p.alignleft
|
||||
{
|
||||
list-style-type:none;
|
||||
float:left;
|
||||
padding-left:10px;
|
||||
padding-right: 15px;
|
||||
background-image:url('bc_s.png');
|
||||
background-repeat:no-repeat;
|
||||
background-position:right;
|
||||
color:#364D7C;
|
||||
float: left;
|
||||
font-size: 75%;
|
||||
padding-left: 1.5em;
|
||||
}
|
||||
|
||||
.navpath a
|
||||
.footer p.alignright
|
||||
{
|
||||
height:32px;
|
||||
display:block;
|
||||
text-decoration: none;
|
||||
outline: none;
|
||||
}
|
||||
|
||||
.navpath a:hover
|
||||
{
|
||||
color:#6884BD;
|
||||
}
|
||||
|
||||
div.summary
|
||||
{
|
||||
float: right;
|
||||
font-size: 8pt;
|
||||
padding-right: 5px;
|
||||
width: 50%;
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
div.summary a
|
||||
{
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
div.header
|
||||
{
|
||||
background-image:url('nav_h.png');
|
||||
background-repeat:repeat-x;
|
||||
background-color: #F9FAFC;
|
||||
margin: 0px;
|
||||
border-bottom: 1px solid #C4CFE5;
|
||||
}
|
||||
|
||||
div.headertitle
|
||||
{
|
||||
padding: 5px 5px 5px 10px;
|
||||
}
|
||||
|
||||
div.doxy
|
||||
{
|
||||
float: right;
|
||||
font-size: 75%;
|
||||
float: right;
|
||||
padding-right: 0.85em;
|
||||
}
|
||||
|
|
Plik binarny nie jest wyświetlany.
Po Szerokość: | Wysokość: | Rozmiar: 2.2 KiB |
|
@ -35,7 +35,9 @@
|
|||
* \brief Hamlib amplifier data structures.
|
||||
*
|
||||
* This file contains the data structures and declarations for the Hamlib
|
||||
* amplifier API. see the amplifier.c file for more details on the amplifier API.
|
||||
* amplifier Application Programming Interface (API).
|
||||
*
|
||||
* See the `amplifier.c` file for details on the amplifier API functions.
|
||||
*/
|
||||
|
||||
|
||||
|
@ -50,35 +52,52 @@ struct amp_state;
|
|||
|
||||
/**
|
||||
* \typedef typedef struct amp AMP
|
||||
* \brief Amplifier structure definition (see amp for details).
|
||||
* \brief Main amplifier handle type definition.
|
||||
*
|
||||
* The AMP handle is returned by amp_init() and is passed as a parameter to
|
||||
* every amplifier specific API call.
|
||||
*
|
||||
* amp_cleanup() must be called when this handle is no longer needed.
|
||||
*/
|
||||
typedef struct amp AMP;
|
||||
|
||||
|
||||
/**
|
||||
* \typedef typedef float swr_t
|
||||
* \brief Type definition for SWR.
|
||||
* \brief Type definition for
|
||||
* <a href="https://en.wikipedia.org/wiki/Standing_wave_ratio" >SWR (Standing Wave Ratio)</a>.
|
||||
*
|
||||
* The swr_t type is used as a parameter for the amp_get_swr() function.
|
||||
* The \c swr_t type is used as a parameter for the amp_get_swr() function.
|
||||
*
|
||||
* Unless specified otherwise, the unit of swr_t is 1.0 to max reported by tuner
|
||||
* The unit of \c swr_t is 1.0 to the maximum value reported by the amplifier's
|
||||
* internal antenna system tuner, i.e.
|
||||
* <a href="http://www.arrl.org/transmatch-antenna-tuner" >transmatch</a>,
|
||||
* representing the ratio of 1.0:1 to Maximum:1.
|
||||
*/
|
||||
typedef float swr_t;
|
||||
|
||||
|
||||
/**
|
||||
* \typedef typedef float tune_value_t
|
||||
* \brief Type definition for tuning values capacitance and resistance.
|
||||
* \brief Type definition for the
|
||||
* <a href="http://www.arrl.org/transmatch-antenna-tuner" >transmatch</a>
|
||||
* tuning values of
|
||||
* <a href="https://en.wikipedia.org/wiki/Capacitance" >capacitance</a>
|
||||
* and
|
||||
* <a href="https://en.wikipedia.org/wiki/Inductance" >inductance</a>.
|
||||
*
|
||||
* The tune_value_t type is used as a parameter for the amp_get_level()
|
||||
* The \c tune_value_t type is used as a parameter for amp_get_level().
|
||||
*
|
||||
* Unless specified otherwise, the units of tune_value_t is pF and nH
|
||||
* The unit of \c tune_value_t is
|
||||
* <a href="https://en.wikipedia.org/wiki/Farad" >picoFarads (pF)</a>
|
||||
* or
|
||||
* <a href="https://en.wikipedia.org/wiki/Henry_(unit)" >nanoHenrys (nH)</a>.
|
||||
*/
|
||||
typedef int tune_value_t;
|
||||
|
||||
|
||||
/**
|
||||
* \brief Token in the netampctl protocol for returning error code
|
||||
* \brief The token in the netampctl protocol for returning an error condition code.
|
||||
*/
|
||||
#define NETAMPCTL_RET "RPRT "
|
||||
|
||||
|
@ -86,9 +105,9 @@ typedef int tune_value_t;
|
|||
//! @cond Doxygen_Suppress
|
||||
typedef enum
|
||||
{
|
||||
AMP_RESET_MEM, // erase tuner memory
|
||||
AMP_RESET_FAULT, // reset any fault
|
||||
AMP_RESET_AMP // for kpa1500
|
||||
AMP_RESET_MEM, // erase tuner memory
|
||||
AMP_RESET_FAULT, // reset any fault
|
||||
AMP_RESET_AMP // for kpa1500
|
||||
} amp_reset_t;
|
||||
//! @endcond
|
||||
|
||||
|
@ -103,27 +122,27 @@ typedef enum
|
|||
|
||||
//! @cond Doxygen_Suppress
|
||||
// TBD AMP_TYPE
|
||||
#define AMP_TYPE_MASK (AMP_FLAG_1|AMP_FLAG_2)
|
||||
#define AMP_TYPE_MASK (AMP_FLAG_1|AMP_FLAG_2)
|
||||
|
||||
#define AMP_TYPE_OTHER 0
|
||||
#define AMP_TYPE_1 AMP_FLAG_1
|
||||
#define AMP_TYPE_2 AMP_FLAG_2
|
||||
#define AMP_TYPE_ALL (AMP_FLAG_1|AMP_FLAG_2)
|
||||
#define AMP_TYPE_ALL (AMP_FLAG_1|AMP_FLAG_2)
|
||||
//! @endcond
|
||||
|
||||
|
||||
//! @cond Doxygen_Suppress
|
||||
enum amp_level_e
|
||||
{
|
||||
AMP_LEVEL_NONE = 0, /*!< '' -- No Level */
|
||||
AMP_LEVEL_SWR = (1 << 0), /*!< \c SWR 1.0 or greater */
|
||||
AMP_LEVEL_NH = (1 << 1), /*!< \c Tune setting nanohenries */
|
||||
AMP_LEVEL_PF = (1 << 2), /*!< \c Tune setting picofarads */
|
||||
AMP_LEVEL_PWR_INPUT = (1 << 3), /*!< \c Power reading from amp */
|
||||
AMP_LEVEL_PWR_FWD = (1 << 4), /*!< \c Power reading forward */
|
||||
AMP_LEVEL_PWR_REFLECTED = (1 << 5), /*!< \c Power reading reverse */
|
||||
AMP_LEVEL_PWR_PEAK = (1 << 6), /*!< \c Power reading peak */
|
||||
AMP_LEVEL_FAULT = (1 << 7) /*!< \c Fault code */
|
||||
AMP_LEVEL_NONE = 0, /*!< '' -- No Level. */
|
||||
AMP_LEVEL_SWR = (1 << 0), /*!< \c SWR 1.0 or greater. */
|
||||
AMP_LEVEL_NH = (1 << 1), /*!< \c Tune setting in nanohenries. */
|
||||
AMP_LEVEL_PF = (1 << 2), /*!< \c Tune setting in picofarads. */
|
||||
AMP_LEVEL_PWR_INPUT = (1 << 3), /*!< \c Power reading from amplifier. */
|
||||
AMP_LEVEL_PWR_FWD = (1 << 4), /*!< \c Power reading forward. */
|
||||
AMP_LEVEL_PWR_REFLECTED = (1 << 5), /*!< \c Power reading reverse. */
|
||||
AMP_LEVEL_PWR_PEAK = (1 << 6), /*!< \c Power reading peak. */
|
||||
AMP_LEVEL_FAULT = (1 << 7) /*!< \c Fault code. */
|
||||
};
|
||||
//! @endcond
|
||||
|
||||
|
@ -139,36 +158,38 @@ enum amp_level_e
|
|||
* enquiries about capabilities.
|
||||
*/
|
||||
|
||||
/**
|
||||
* Amplifier Caps
|
||||
* \struct amp_caps
|
||||
* \brief Amplifier data structure.
|
||||
*
|
||||
* The main idea of this struct is that it will be defined by the backend
|
||||
* amplifier driver, and will remain readonly for the application. Fields that
|
||||
* need to be modifiable by the application are copied into the struct
|
||||
* amp_state, which is a kind of private of the AMP instance.
|
||||
*
|
||||
* This way, you can have several rigs running within the same application,
|
||||
* sharing the struct amp_caps of the backend, while keeping their own
|
||||
* customized data.
|
||||
*
|
||||
* mdblack98: Don't move fields around and add new fields at end of caps
|
||||
* Shared libraries depend on constant structure to maintain compatibility
|
||||
*/
|
||||
//! @cond Doxygen_Suppress
|
||||
#define AMP_MODEL(arg) .amp_model=arg,.macro_name=#arg
|
||||
//! @endcond
|
||||
|
||||
/**
|
||||
* \struct amp_caps
|
||||
* \brief Amplifier capabilities
|
||||
*
|
||||
* The main idea of this struct is that it will be defined by the backend
|
||||
* amplifier driver and will remain read-only for the application. Fields
|
||||
* that need to be modifiable by the application are copied into the struct
|
||||
* \c amp_state, which is the private memory area of the AMP instance.
|
||||
*
|
||||
* This way you can have several amplifiers running within the same
|
||||
* application, sharing the struct \c amp_caps of the backend, while keeping
|
||||
* their own customized data.
|
||||
*
|
||||
* \b Note: Don't move fields around and only add new fields at the end of the
|
||||
* caps structure. Shared libraries depend on a constant structure to maintain
|
||||
* compatibility.
|
||||
*/
|
||||
struct amp_caps
|
||||
{
|
||||
amp_model_t amp_model; /*!< Amplifier model. */
|
||||
const char *model_name; /*!< Model name. */
|
||||
const char *mfg_name; /*!< Manufacturer. */
|
||||
amp_model_t amp_model; /*!< Amplifier model as defined in `amplist.h`. */
|
||||
const char *model_name; /*!< Model name, e.g. MM-5k. */
|
||||
const char *mfg_name; /*!< Manufacturer, e.g. Moonbeam. */
|
||||
const char *version; /*!< Driver version. */
|
||||
const char *copyright; /*!< Copyright info. */
|
||||
const char *copyright; /*!< Copyright info (should be LGPL). */
|
||||
enum rig_status_e status; /*!< Driver status. */
|
||||
|
||||
int amp_type; /*!< Amplifier type. */
|
||||
enum rig_port_e port_type; /*!< Type of communication port. */
|
||||
enum rig_port_e port_type; /*!< Type of communication port (serial, ethernet, etc.). */
|
||||
|
||||
int serial_rate_min; /*!< Minimal serial speed. */
|
||||
int serial_rate_max; /*!< Maximal serial speed. */
|
||||
|
@ -180,65 +201,65 @@ struct amp_caps
|
|||
int write_delay; /*!< Write delay. */
|
||||
int post_write_delay; /*!< Post-write delay. */
|
||||
int timeout; /*!< Timeout. */
|
||||
int retry; /*!< Number of retry if command fails. */
|
||||
int retry; /*!< Number of retries if a command fails. */
|
||||
|
||||
const struct confparams *cfgparams; /*!< Configuration parametres. */
|
||||
const struct confparams *cfgparams; /*!< Configuration parameters. */
|
||||
const rig_ptr_t priv; /*!< Private data. */
|
||||
const char *amp_model_macro_name; /*!< Model macro name */
|
||||
const char *amp_model_macro_name; /*!< Model macro name. */
|
||||
|
||||
setting_t has_get_level;
|
||||
setting_t has_set_level;
|
||||
setting_t has_get_level; /*!< Has get_level capability. */
|
||||
setting_t has_set_level; /*!< Has set_level capability. */
|
||||
|
||||
gran_t level_gran[RIG_SETTING_MAX]; /*!< level granularity */
|
||||
gran_t parm_gran[RIG_SETTING_MAX]; /*!< level granularity */
|
||||
gran_t level_gran[RIG_SETTING_MAX]; /*!< level granularity */
|
||||
gran_t parm_gran[RIG_SETTING_MAX]; /*!< level granularity */
|
||||
|
||||
/*
|
||||
* Amp Admin API
|
||||
*
|
||||
*/
|
||||
|
||||
int (*amp_init)(AMP *amp);
|
||||
int (*amp_cleanup)(AMP *amp);
|
||||
int (*amp_open)(AMP *amp);
|
||||
int (*amp_close)(AMP *amp);
|
||||
int (*amp_init)(AMP *amp); /*!< Initializes data structures and returns an #AMP handle--call before amp_open(). */
|
||||
int (*amp_cleanup)(AMP *amp); /*!< Frees the data structures associated with the #AMP handle--call after amp_close(). */
|
||||
int (*amp_open)(AMP *amp); /*!< Opens the communication channel to the amplifier. */
|
||||
int (*amp_close)(AMP *amp); /*!< Closes the communication channel to the amplifier. */
|
||||
|
||||
int (*set_freq)(AMP *amp, freq_t val);
|
||||
int (*get_freq)(AMP *amp, freq_t *val);
|
||||
int (*set_freq)(AMP *amp, freq_t val); /*!< Set the frequency of the amplifier. */
|
||||
int (*get_freq)(AMP *amp, freq_t *val); /*!< Query the frequency of the amplifier. */
|
||||
|
||||
int (*set_conf)(AMP *amp, token_t token, const char *val);
|
||||
int (*get_conf)(AMP *amp, token_t token, char *val);
|
||||
int (*set_conf)(AMP *amp, token_t token, const char *val); /*!< Set the configuration parameter \a val corresponding to the \a token. */
|
||||
int (*get_conf)(AMP *amp, token_t token, char *val); /*!< Query the configuration parameter \a val corresponding to the \a token. */
|
||||
|
||||
/*
|
||||
* General API commands, from most primitive to least.. :()
|
||||
* List Set/Get functions pairs
|
||||
*/
|
||||
|
||||
int (*reset)(AMP *amp, amp_reset_t reset);
|
||||
int (*get_level)(AMP *amp, setting_t level, value_t *val);
|
||||
int (*get_ext_level)(AMP *amp, token_t level, value_t *val);
|
||||
int (*set_powerstat)(AMP *amp, powerstat_t status);
|
||||
int (*get_powerstat)(AMP *amp, powerstat_t *status);
|
||||
int (*reset)(AMP *amp, amp_reset_t reset); /*!< Reset the amplifier (careful!). */
|
||||
int (*get_level)(AMP *amp, setting_t level, value_t *val); /*!< Query the \a val corresponding to the \a level. */
|
||||
int (*get_ext_level)(AMP *amp, token_t level, value_t *val); /*!< Query the \a val corresponding to the extra \a level. */
|
||||
int (*set_powerstat)(AMP *amp, powerstat_t status); /*!< Turn the amplifier On or Off or toggle the Standby or Operate status. */
|
||||
int (*get_powerstat)(AMP *amp, powerstat_t *status); /*!< Query the power or standby status of the amplifier. */
|
||||
|
||||
|
||||
/* get firmware info, etc. */
|
||||
const char *(*get_info)(AMP *amp);
|
||||
const char *(*get_info)(AMP *amp); /*!< Query available internal information of the amplifier (firmware version, etc.). */
|
||||
|
||||
//! @cond Doxygen_Suppress
|
||||
setting_t levels;
|
||||
unsigned ext_levels;
|
||||
const struct confparams *extlevels;
|
||||
const struct confparams *extparms;
|
||||
//! @endcond
|
||||
const struct confparams *extlevels; /*!< Extra levels structure. */
|
||||
const struct confparams *extparms; /*!< Extra parameters structure. */
|
||||
|
||||
const char *macro_name; /*!< Macro name. */
|
||||
};
|
||||
//! @endcond
|
||||
|
||||
|
||||
/**
|
||||
* Amplifier state
|
||||
* \struct amp_state
|
||||
* \brief Live data and customized fields.
|
||||
* \brief Amplifier state
|
||||
*
|
||||
* This struct contains live data, as well as a copy of capability fields
|
||||
* This structure contains live data, as well as a copy of capability fields
|
||||
* that may be updated (ie. customized)
|
||||
*
|
||||
* It is fine to move fields around, as this kind of struct should
|
||||
|
@ -264,21 +285,21 @@ struct amp_state
|
|||
//! @endcond
|
||||
|
||||
gran_t level_gran[RIG_SETTING_MAX]; /*!< level granularity */
|
||||
gran_t parm_gran[RIG_SETTING_MAX]; /*!< level granularity */
|
||||
gran_t parm_gran[RIG_SETTING_MAX]; /*!< level granularity */
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* Amplifier structure
|
||||
* \struct amp
|
||||
* \brief This is the master data structure,
|
||||
* acting as a handle for the controlled amplifier.
|
||||
* \brief Amplifier structure
|
||||
*
|
||||
* This is the master data structure, acting as a handle for the controlled
|
||||
* amplifier. A pointer to this structure is returned by the amp_init() API
|
||||
* function and is passed as a parameter to every amplifier specific API call.
|
||||
* Master amplifier data structure acting as a handle for the
|
||||
* controlled amplifier.
|
||||
*
|
||||
* \sa amp_init(), amp_caps(), amp_state()
|
||||
* A pointer to this structure is returned by the amp_init() API function and
|
||||
* is passed as a parameter to every amplifier specific API call.
|
||||
*
|
||||
* \sa amp_caps(), amp_state()
|
||||
*/
|
||||
struct amp
|
||||
{
|
||||
|
@ -406,12 +427,10 @@ extern HAMLIB_EXPORT(const char *) amp_strlevel(setting_t);
|
|||
|
||||
/**
|
||||
* \def amp_debug
|
||||
* \brief Convenience definition for debug level.
|
||||
* \brief Convenience macro for generating debugging messages.
|
||||
*
|
||||
* This is just as convenience definition of the amplifier debug level,
|
||||
* and is the same as for the rig debug level.
|
||||
*
|
||||
* \sa rig_debug()
|
||||
* This is an alias of the rig_debug() function call and is used in the same
|
||||
* manner.
|
||||
*/
|
||||
#define amp_debug rig_debug
|
||||
|
||||
|
|
Ładowanie…
Reference in New Issue