Updated Hamlib to v4.2 (#867)

OK, looks like it should work. Let's go !
This commit is contained in:
Vincent Sonnier 2021-08-02 14:29:29 +02:00 committed by GitHub
parent 29db1bde99
commit 3a08df72ad
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
26 changed files with 3274 additions and 1062 deletions

View File

@ -159,7 +159,7 @@ IF (MSVC)
SET(LIQUID_INCLUDES "${PROJECT_SOURCE_DIR}/external/liquid-dsp/include/" CACHE STRING "Liquid-DSP include directory")
SET(LIQUID_LIBRARIES "${PROJECT_SOURCE_DIR}/external/liquid-dsp/msvc/${EX_PLATFORM}/libliquid.lib" CACHE STRING "Liquid-DSP Library")
SET(LIQUID_DLL "${PROJECT_SOURCE_DIR}/external/liquid-dsp/msvc/${EX_PLATFORM}/libliquid.dll" CACHE STRING "Liquid-DSP DLL")
SET(HAMLIB_DLLS "${PROJECT_SOURCE_DIR}/external/hamlib/${EX_PLATFORM}/libhamlib-2.dll" CACHE STRING "HAMLIB DLLS")
SET(HAMLIB_DLLS "${PROJECT_SOURCE_DIR}/external/hamlib/${EX_PLATFORM}/libhamlib-4.dll" CACHE STRING "HAMLIB DLLS")
ELSE (MSVC)
ADD_DEFINITIONS(
-std=c++0x

View File

@ -1,271 +0,0 @@
EXPORTS
azimuth_long_path @1
dec2dmmm @2
dec2dms @3
distance_long_path @4
dmmm2dec @5
dms2dec @6
from_bcd @7
from_bcd_be @8
hamlib_copyright @9 DATA
hamlib_copyright2 @10 DATA
hamlib_version @11 DATA
hamlib_version2 @12 DATA
initrigs3_adat @13
initrigs3_alinco @14
initrigs3_aor @15
initrigs3_barrett @16
initrigs3_dorji @17
initrigs3_drake @18
initrigs3_dummy @19
initrigs3_flexradio @20
initrigs3_icm710 @21
initrigs3_icmarine @22
initrigs3_icom @23
initrigs3_jrc @24
initrigs3_kachina @25
initrigs3_kenwood @26
initrigs3_kit @27
initrigs3_lowe @28
initrigs3_pcr @29
initrigs3_prm80 @30
initrigs3_racal @31
initrigs3_rft @32
initrigs3_rs @33
initrigs3_skanti @34
initrigs3_tapr @35
initrigs3_tentec @36
initrigs3_tuner @37
initrigs3_uniden @38
initrigs3_winradio @39
initrigs3_wj @40
initrigs3_yaesu @41
initrots3_amsat @42
initrots3_ars @43
initrots3_celestron @44
initrots3_cnctrk @45
initrots3_dummy @46
initrots3_easycomm @47
initrots3_ether6 @48
initrots3_fodtrack @49
initrots3_gs232a @50
initrots3_heathkit @51
initrots3_kit @52
initrots3_m2 @53
initrots3_meade @54
initrots3_prosistel @55
initrots3_rotorez @56
initrots3_sartek @57
initrots3_spid @58
initrots3_ts7400 @59
locator2longlat @60
longlat2locator @61
par_lock @62
par_read_control @63
par_read_data @64
par_read_status @65
par_unlock @66
par_write_control @67
par_write_data @68
port_close @69
port_open @70
probeallrigs3_adat @71
probeallrigs3_drake @72
probeallrigs3_icom @73
probeallrigs3_kenwood @74
probeallrigs3_lowe @75
probeallrigs3_uniden @76
probeallrigs3_yaesu @77
qrb @78
read_block @79
read_string @80
rig_check_backend @81
rig_check_cache_timeout @82
rig_cleanup @83
rig_close @84
rig_confparam_lookup @85
rig_copyright @86
rig_debug @87
rig_ext_level_foreach @88
rig_ext_lookup @89
rig_ext_lookup_tok @90
rig_ext_parm_foreach @91
rig_ext_token_lookup @92
rig_force_cache_timeout @93
rig_get_ant @94
rig_get_caps @95
rig_get_chan_all @96
rig_get_chan_all_cb @97
rig_get_channel @98
rig_get_conf @99
rig_get_ctcss_sql @100
rig_get_ctcss_tone @101
rig_get_dcd @102
rig_get_dcs_code @103
rig_get_dcs_sql @104
rig_get_ext_level @105
rig_get_ext_parm @106
rig_get_freq @107
rig_get_func @108
rig_get_info @109
rig_get_level @110
rig_get_mem @111
rig_get_mem_all @112
rig_get_mem_all_cb @113
rig_get_mode @114
rig_get_parm @115
rig_get_powerstat @116
rig_get_ptt @117
rig_get_range @118
rig_get_resolution @119
rig_get_rit @120
rig_get_rptr_offs @121
rig_get_rptr_shift @122
rig_get_split_freq @123
rig_get_split_freq_mode @124
rig_get_split_mode @125
rig_get_split_vfo @126
rig_get_trn @127
rig_get_ts @128
rig_get_vfo @129
rig_get_xit @130
rig_has_get_func @131
rig_has_get_level @132
rig_has_get_parm @133
rig_has_scan @134
rig_has_set_func @135
rig_has_set_level @136
rig_has_set_parm @137
rig_has_vfo_op @138
rig_init @139
rig_license @140
rig_list_foreach @141
rig_load_all_backends @142
rig_load_backend @143
rig_lookup_mem_caps @144
rig_mW2power @145
rig_mem_count @146
rig_need_debug @147
rig_no_restore_ai @148
rig_open @149
rig_parse_func @150
rig_parse_level @151
rig_parse_mode @152
rig_parse_mtype @153
rig_parse_parm @154
rig_parse_rptr_shift @155
rig_parse_scan @156
rig_parse_vfo @157
rig_parse_vfo_op @158
rig_passband_narrow @159
rig_passband_normal @160
rig_passband_wide @161
rig_power2mW @162
rig_probe @163
rig_probe_all @164
rig_raw2val @165
rig_recv_dtmf @166
rig_register @167
rig_reset @168
rig_scan @169
rig_send_dtmf @170
rig_send_morse @171
rig_set_ant @172
rig_set_bank @173
rig_set_chan_all @174
rig_set_chan_all_cb @175
rig_set_channel @176
rig_set_conf @177
rig_set_ctcss_sql @178
rig_set_ctcss_tone @179
rig_set_dcd_callback @180
rig_set_dcs_code @181
rig_set_dcs_sql @182
rig_set_debug @183
rig_set_debug_callback @184
rig_set_debug_file @185
rig_set_debug_time_stamp @186
rig_set_ext_level @187
rig_set_ext_parm @188
rig_set_freq @189
rig_set_freq_callback @190
rig_set_func @191
rig_set_level @192
rig_set_mem @193
rig_set_mem_all @194
rig_set_mem_all_cb @195
rig_set_mode @196
rig_set_mode_callback @197
rig_set_parm @198
rig_set_pltune_callback @199
rig_set_powerstat @200
rig_set_ptt @201
rig_set_ptt_callback @202
rig_set_rit @203
rig_set_rptr_offs @204
rig_set_rptr_shift @205
rig_set_split_freq @206
rig_set_split_freq_mode @207
rig_set_split_mode @208
rig_set_split_vfo @209
rig_set_trn @210
rig_set_ts @211
rig_set_vfo @212
rig_set_vfo_callback @213
rig_set_xit @214
rig_setting2idx @215
rig_strfunc @216
rig_strlevel @217
rig_strmtype @218
rig_strparm @219
rig_strptrshift @220
rig_strrmode @221
rig_strscan @222
rig_strstatus @223
rig_strvfo @224
rig_strvfop @225
rig_token_foreach @226
rig_token_lookup @227
rig_unregister @228
rig_version @229
rig_vfo_op @230
rigerror @231
rot_check_backend @232
rot_cleanup @233
rot_close @234
rot_confparam_lookup @235
rot_get_caps @236
rot_get_conf @237
rot_get_info @238
rot_get_position @239
rot_init @240
rot_list_foreach @241
rot_load_all_backends @242
rot_load_backend @243
rot_move @244
rot_open @245
rot_park @246
rot_probe_all @247
rot_register @248
rot_reset @249
rot_set_conf @250
rot_set_position @251
rot_stop @252
rot_token_foreach @253
rot_token_lookup @254
rot_unregister @255
ser_get_car @256
ser_get_cts @257
ser_get_dsr @258
ser_get_dtr @259
ser_get_rts @260
ser_set_brk @261
ser_set_dtr @262
ser_set_rts @263
serial_flush @264
serial_open @265
serial_setup @266
sprintf_freq @267
to_bcd @268
to_bcd_be @269
write_block @270

Binary file not shown.

Binary file not shown.

Binary file not shown.

395
external/hamlib/32/libhamlib-4.def vendored Normal file
View File

@ -0,0 +1,395 @@
EXPORTS
CRC32_function @1
amp_check_backend @2
amp_cleanup @3
amp_close @4
amp_confparam_lookup @5
amp_ext_lookup @6
amp_get_caps @7
amp_get_conf @8
amp_get_ext_level @9
amp_get_freq @10
amp_get_info @11
amp_get_level @12
amp_get_powerstat @13
amp_has_get_level @14
amp_init @15
amp_list_foreach @16
amp_load_all_backends @17
amp_load_backend @18
amp_open @19
amp_parse_level @20
amp_probe_all @21
amp_register @22
amp_reset @23
amp_set_conf @24
amp_set_freq @25
amp_set_powerstat @26
amp_sprintf_level @27
amp_strlevel @28
amp_token_lookup @29
amp_unregister @30
azimuth_long_path @31
debugmsgsave @32 DATA
debugmsgsave2 @33 DATA
debugmsgsave3 @34 DATA
dec2dmmm @35
dec2dms @36
distance_long_path @37
dmmm2dec @38
dms2dec @39
dot10ths_to_millis @40
dump_hex @41
elapsed_ms @42
from_bcd @43
from_bcd_be @44
get_rig_conf_type @45
hamlib_copyright @46 DATA
hamlib_copyright2 @47 DATA
hamlib_version @48 DATA
hamlib_version2 @49 DATA
hl_usleep @50
initamps4_dummy @51
initamps4_kpa1500 @52
initrigs4_adat @53
initrigs4_alinco @54
initrigs4_aor @55
initrigs4_barrett @56
initrigs4_dorji @57
initrigs4_drake @58
initrigs4_dummy @59
initrigs4_elad @60
initrigs4_flexradio @61
initrigs4_icm710 @62
initrigs4_icmarine @63
initrigs4_icom @64
initrigs4_jrc @65
initrigs4_kachina @66
initrigs4_kenwood @67
initrigs4_kit @68
initrigs4_lowe @69
initrigs4_pcr @70
initrigs4_prm80 @71
initrigs4_racal @72
initrigs4_rft @73
initrigs4_rs @74
initrigs4_skanti @75
initrigs4_tapr @76
initrigs4_tentec @77
initrigs4_tuner @78
initrigs4_uniden @79
initrigs4_winradio @80
initrigs4_wj @81
initrigs4_yaesu @82
initrots4_amsat @83
initrots4_ars @84
initrots4_celestron @85
initrots4_cnctrk @86
initrots4_dummy @87
initrots4_easycomm @88
initrots4_ether6 @89
initrots4_fodtrack @90
initrots4_gs232a @91
initrots4_heathkit @92
initrots4_ioptron @93
initrots4_kit @94
initrots4_m2 @95
initrots4_meade @96
initrots4_prosistel @97
initrots4_radant @98
initrots4_rotorez @99
initrots4_sartek @100
initrots4_satel @101
initrots4_spid @102
initrots4_ts7400 @103
locator2longlat @104
longlat2locator @105
millis_to_dot10ths @106
morse_code_dot_to_millis @107
netrigctl_get_vfo_mode @108
par_lock @109
par_read_control @110
par_read_data @111
par_read_status @112
par_unlock @113
par_write_control @114
par_write_data @115
parse_hoststr @116
port_close @117
port_open @118
print_ext_param @119
probeallrigs4_adat @120
probeallrigs4_drake @121
probeallrigs4_elad @122
probeallrigs4_icom @123
probeallrigs4_kenwood @124
probeallrigs4_lowe @125
probeallrigs4_uniden @126
probeallrigs4_yaesu @127
qrb @128
read_block @129
read_string @130
rig_check_backend @131
rig_check_cache_timeout @132
rig_cleanup @133
rig_close @134
rig_confparam_lookup @135
rig_copyright @136
rig_debug @137
rig_ext_func_foreach @138
rig_ext_level_foreach @139
rig_ext_lookup @140
rig_ext_lookup_tok @141
rig_ext_parm_foreach @142
rig_ext_token_lookup @143
rig_flush @144
rig_force_cache_timeout @145
rig_get_ant @146
rig_get_cache @147
rig_get_cache_timeout_ms @148
rig_get_caps @149
rig_get_caps_cptr @150
rig_get_caps_int @151
rig_get_chan_all @152
rig_get_chan_all_cb @153
rig_get_channel @154
rig_get_conf @155
rig_get_ctcss_sql @156
rig_get_ctcss_tone @157
rig_get_dcd @158
rig_get_dcs_code @159
rig_get_dcs_sql @160
rig_get_ext_func @161
rig_get_ext_level @162
rig_get_ext_parm @163
rig_get_freq @164
rig_get_func @165
rig_get_function_ptr @166
rig_get_info @167
rig_get_level @168
rig_get_mem @169
rig_get_mem_all @170
rig_get_mem_all_cb @171
rig_get_mode @172
rig_get_parm @173
rig_get_powerstat @174
rig_get_ptt @175
rig_get_range @176
rig_get_resolution @177
rig_get_rig_info @178
rig_get_rit @179
rig_get_rptr_offs @180
rig_get_rptr_shift @181
rig_get_split_freq @182
rig_get_split_freq_mode @183
rig_get_split_mode @184
rig_get_split_vfo @185
rig_get_trn @186
rig_get_ts @187
rig_get_twiddle @188
rig_get_vfo @189
rig_get_vfo_info @190
rig_get_vfo_list @191
rig_get_xit @192
rig_has_get_func @193
rig_has_get_level @194
rig_has_get_parm @195
rig_has_scan @196
rig_has_set_func @197
rig_has_set_level @198
rig_has_set_parm @199
rig_has_vfo_op @200
rig_idx2setting @201
rig_init @202
rig_license @203
rig_list_foreach @204
rig_list_foreach_model @205
rig_load_all_backends @206
rig_load_backend @207
rig_lookup_mem_caps @208
rig_mW2power @209
rig_mem_count @210
rig_need_debug @211
rig_no_restore_ai @212
rig_open @213
rig_parse_func @214
rig_parse_level @215
rig_parse_mode @216
rig_parse_mtype @217
rig_parse_parm @218
rig_parse_rptr_shift @219
rig_parse_scan @220
rig_parse_vfo @221
rig_parse_vfo_op @222
rig_passband_narrow @223
rig_passband_normal @224
rig_passband_wide @225
rig_power2mW @226
rig_probe @227
rig_probe_all @228
rig_raw2val @229
rig_raw2val_float @230
rig_recv_dtmf @231
rig_register @232
rig_reset @233
rig_scan @234
rig_send_dtmf @235
rig_send_morse @236
rig_send_voice_mem @237
rig_set_ant @238
rig_set_bank @239
rig_set_cache_timeout_ms @240
rig_set_chan_all @241
rig_set_chan_all_cb @242
rig_set_channel @243
rig_set_conf @244
rig_set_ctcss_sql @245
rig_set_ctcss_tone @246
rig_set_dcd_callback @247
rig_set_dcs_code @248
rig_set_dcs_sql @249
rig_set_debug @250
rig_set_debug_callback @251
rig_set_debug_file @252
rig_set_debug_time_stamp @253
rig_set_ext_func @254
rig_set_ext_level @255
rig_set_ext_parm @256
rig_set_freq @257
rig_set_freq_callback @258
rig_set_func @259
rig_set_level @260
rig_set_mem @261
rig_set_mem_all @262
rig_set_mem_all_cb @263
rig_set_mode @264
rig_set_mode_callback @265
rig_set_parm @266
rig_set_pltune_callback @267
rig_set_powerstat @268
rig_set_ptt @269
rig_set_ptt_callback @270
rig_set_rit @271
rig_set_rptr_offs @272
rig_set_rptr_shift @273
rig_set_split_freq @274
rig_set_split_freq_mode @275
rig_set_split_mode @276
rig_set_split_vfo @277
rig_set_trn @278
rig_set_ts @279
rig_set_twiddle @280
rig_set_uplink @281
rig_set_vfo @282
rig_set_vfo_callback @283
rig_set_vfo_opt @284
rig_set_xit @285
rig_setting2idx @286
rig_sprintf_ant @287
rig_sprintf_func @288
rig_sprintf_level @289
rig_sprintf_level_gran @290
rig_sprintf_mode @291
rig_sprintf_parm @292
rig_sprintf_parm_gran @293
rig_sprintf_scan @294
rig_sprintf_vfo @295
rig_sprintf_vfop @296
rig_stop_morse @297
rig_strfunc @298
rig_strlevel @299
rig_strmtype @300
rig_strparm @301
rig_strptrshift @302
rig_strrmode @303
rig_strrmodes @304
rig_strscan @305
rig_strstatus @306
rig_strvfo @307
rig_strvfop @308
rig_token_foreach @309
rig_token_lookup @310
rig_unregister @311
rig_version @312
rig_vfo_op @313
rig_wait_morse @314
rigerror @315
rot_check_backend @316
rot_cleanup @317
rot_close @318
rot_confparam_lookup @319
rot_ext_func_foreach @320
rot_ext_level_foreach @321
rot_ext_lookup @322
rot_ext_lookup_tok @323
rot_ext_parm_foreach @324
rot_ext_token_lookup @325
rot_get_caps @326
rot_get_conf @327
rot_get_ext_func @328
rot_get_ext_level @329
rot_get_ext_parm @330
rot_get_func @331
rot_get_info @332
rot_get_level @333
rot_get_parm @334
rot_get_position @335
rot_get_status @336
rot_has_get_func @337
rot_has_get_level @338
rot_has_get_parm @339
rot_has_set_func @340
rot_has_set_level @341
rot_has_set_parm @342
rot_init @343
rot_list_foreach @344
rot_load_all_backends @345
rot_load_backend @346
rot_move @347
rot_open @348
rot_park @349
rot_parse_func @350
rot_parse_level @351
rot_parse_parm @352
rot_probe_all @353
rot_register @354
rot_reset @355
rot_set_conf @356
rot_set_ext_func @357
rot_set_ext_level @358
rot_set_ext_parm @359
rot_set_func @360
rot_set_level @361
rot_set_parm @362
rot_set_position @363
rot_sprintf_func @364
rot_sprintf_level @365
rot_sprintf_level_gran @366
rot_sprintf_parm @367
rot_sprintf_parm_gran @368
rot_sprintf_status @369
rot_stop @370
rot_strfunc @371
rot_strlevel @372
rot_strparm @373
rot_strstatus @374
rot_token_foreach @375
rot_token_lookup @376
rot_unregister @377
ser_get_car @378
ser_get_cts @379
ser_get_dsr @380
ser_get_dtr @381
ser_get_rts @382
ser_set_brk @383
ser_set_dtr @384
ser_set_rts @385
serial_flush @386
serial_open @387
serial_setup @388
sprintf_freq @389
sprintf_level_ext @390
to_bcd @391
to_bcd_be @392
vfo_fixup @393
write_block @394

BIN
external/hamlib/32/libhamlib-4.dll vendored Normal file

Binary file not shown.

BIN
external/hamlib/32/libhamlib-4.exp vendored Normal file

Binary file not shown.

BIN
external/hamlib/32/libhamlib-4.lib vendored Normal file

Binary file not shown.

View File

@ -1,271 +0,0 @@
EXPORTS
azimuth_long_path @1
dec2dmmm @2
dec2dms @3
distance_long_path @4
dmmm2dec @5
dms2dec @6
from_bcd @7
from_bcd_be @8
hamlib_copyright @9 DATA
hamlib_copyright2 @10 DATA
hamlib_version @11 DATA
hamlib_version2 @12 DATA
initrigs3_adat @13
initrigs3_alinco @14
initrigs3_aor @15
initrigs3_barrett @16
initrigs3_dorji @17
initrigs3_drake @18
initrigs3_dummy @19
initrigs3_flexradio @20
initrigs3_icm710 @21
initrigs3_icmarine @22
initrigs3_icom @23
initrigs3_jrc @24
initrigs3_kachina @25
initrigs3_kenwood @26
initrigs3_kit @27
initrigs3_lowe @28
initrigs3_pcr @29
initrigs3_prm80 @30
initrigs3_racal @31
initrigs3_rft @32
initrigs3_rs @33
initrigs3_skanti @34
initrigs3_tapr @35
initrigs3_tentec @36
initrigs3_tuner @37
initrigs3_uniden @38
initrigs3_winradio @39
initrigs3_wj @40
initrigs3_yaesu @41
initrots3_amsat @42
initrots3_ars @43
initrots3_celestron @44
initrots3_cnctrk @45
initrots3_dummy @46
initrots3_easycomm @47
initrots3_ether6 @48
initrots3_fodtrack @49
initrots3_gs232a @50
initrots3_heathkit @51
initrots3_kit @52
initrots3_m2 @53
initrots3_meade @54
initrots3_prosistel @55
initrots3_rotorez @56
initrots3_sartek @57
initrots3_spid @58
initrots3_ts7400 @59
locator2longlat @60
longlat2locator @61
par_lock @62
par_read_control @63
par_read_data @64
par_read_status @65
par_unlock @66
par_write_control @67
par_write_data @68
port_close @69
port_open @70
probeallrigs3_adat @71
probeallrigs3_drake @72
probeallrigs3_icom @73
probeallrigs3_kenwood @74
probeallrigs3_lowe @75
probeallrigs3_uniden @76
probeallrigs3_yaesu @77
qrb @78
read_block @79
read_string @80
rig_check_backend @81
rig_check_cache_timeout @82
rig_cleanup @83
rig_close @84
rig_confparam_lookup @85
rig_copyright @86
rig_debug @87
rig_ext_level_foreach @88
rig_ext_lookup @89
rig_ext_lookup_tok @90
rig_ext_parm_foreach @91
rig_ext_token_lookup @92
rig_force_cache_timeout @93
rig_get_ant @94
rig_get_caps @95
rig_get_chan_all @96
rig_get_chan_all_cb @97
rig_get_channel @98
rig_get_conf @99
rig_get_ctcss_sql @100
rig_get_ctcss_tone @101
rig_get_dcd @102
rig_get_dcs_code @103
rig_get_dcs_sql @104
rig_get_ext_level @105
rig_get_ext_parm @106
rig_get_freq @107
rig_get_func @108
rig_get_info @109
rig_get_level @110
rig_get_mem @111
rig_get_mem_all @112
rig_get_mem_all_cb @113
rig_get_mode @114
rig_get_parm @115
rig_get_powerstat @116
rig_get_ptt @117
rig_get_range @118
rig_get_resolution @119
rig_get_rit @120
rig_get_rptr_offs @121
rig_get_rptr_shift @122
rig_get_split_freq @123
rig_get_split_freq_mode @124
rig_get_split_mode @125
rig_get_split_vfo @126
rig_get_trn @127
rig_get_ts @128
rig_get_vfo @129
rig_get_xit @130
rig_has_get_func @131
rig_has_get_level @132
rig_has_get_parm @133
rig_has_scan @134
rig_has_set_func @135
rig_has_set_level @136
rig_has_set_parm @137
rig_has_vfo_op @138
rig_init @139
rig_license @140
rig_list_foreach @141
rig_load_all_backends @142
rig_load_backend @143
rig_lookup_mem_caps @144
rig_mW2power @145
rig_mem_count @146
rig_need_debug @147
rig_no_restore_ai @148
rig_open @149
rig_parse_func @150
rig_parse_level @151
rig_parse_mode @152
rig_parse_mtype @153
rig_parse_parm @154
rig_parse_rptr_shift @155
rig_parse_scan @156
rig_parse_vfo @157
rig_parse_vfo_op @158
rig_passband_narrow @159
rig_passband_normal @160
rig_passband_wide @161
rig_power2mW @162
rig_probe @163
rig_probe_all @164
rig_raw2val @165
rig_recv_dtmf @166
rig_register @167
rig_reset @168
rig_scan @169
rig_send_dtmf @170
rig_send_morse @171
rig_set_ant @172
rig_set_bank @173
rig_set_chan_all @174
rig_set_chan_all_cb @175
rig_set_channel @176
rig_set_conf @177
rig_set_ctcss_sql @178
rig_set_ctcss_tone @179
rig_set_dcd_callback @180
rig_set_dcs_code @181
rig_set_dcs_sql @182
rig_set_debug @183
rig_set_debug_callback @184
rig_set_debug_file @185
rig_set_debug_time_stamp @186
rig_set_ext_level @187
rig_set_ext_parm @188
rig_set_freq @189
rig_set_freq_callback @190
rig_set_func @191
rig_set_level @192
rig_set_mem @193
rig_set_mem_all @194
rig_set_mem_all_cb @195
rig_set_mode @196
rig_set_mode_callback @197
rig_set_parm @198
rig_set_pltune_callback @199
rig_set_powerstat @200
rig_set_ptt @201
rig_set_ptt_callback @202
rig_set_rit @203
rig_set_rptr_offs @204
rig_set_rptr_shift @205
rig_set_split_freq @206
rig_set_split_freq_mode @207
rig_set_split_mode @208
rig_set_split_vfo @209
rig_set_trn @210
rig_set_ts @211
rig_set_vfo @212
rig_set_vfo_callback @213
rig_set_xit @214
rig_setting2idx @215
rig_strfunc @216
rig_strlevel @217
rig_strmtype @218
rig_strparm @219
rig_strptrshift @220
rig_strrmode @221
rig_strscan @222
rig_strstatus @223
rig_strvfo @224
rig_strvfop @225
rig_token_foreach @226
rig_token_lookup @227
rig_unregister @228
rig_version @229
rig_vfo_op @230
rigerror @231
rot_check_backend @232
rot_cleanup @233
rot_close @234
rot_confparam_lookup @235
rot_get_caps @236
rot_get_conf @237
rot_get_info @238
rot_get_position @239
rot_init @240
rot_list_foreach @241
rot_load_all_backends @242
rot_load_backend @243
rot_move @244
rot_open @245
rot_park @246
rot_probe_all @247
rot_register @248
rot_reset @249
rot_set_conf @250
rot_set_position @251
rot_stop @252
rot_token_foreach @253
rot_token_lookup @254
rot_unregister @255
ser_get_car @256
ser_get_cts @257
ser_get_dsr @258
ser_get_dtr @259
ser_get_rts @260
ser_set_brk @261
ser_set_dtr @262
ser_set_rts @263
serial_flush @264
serial_open @265
serial_setup @266
sprintf_freq @267
to_bcd @268
to_bcd_be @269
write_block @270

Binary file not shown.

Binary file not shown.

Binary file not shown.

395
external/hamlib/64/libhamlib-4.def vendored Normal file
View File

@ -0,0 +1,395 @@
EXPORTS
CRC32_function @1
amp_check_backend @2
amp_cleanup @3
amp_close @4
amp_confparam_lookup @5
amp_ext_lookup @6
amp_get_caps @7
amp_get_conf @8
amp_get_ext_level @9
amp_get_freq @10
amp_get_info @11
amp_get_level @12
amp_get_powerstat @13
amp_has_get_level @14
amp_init @15
amp_list_foreach @16
amp_load_all_backends @17
amp_load_backend @18
amp_open @19
amp_parse_level @20
amp_probe_all @21
amp_register @22
amp_reset @23
amp_set_conf @24
amp_set_freq @25
amp_set_powerstat @26
amp_sprintf_level @27
amp_strlevel @28
amp_token_lookup @29
amp_unregister @30
azimuth_long_path @31
debugmsgsave @32 DATA
debugmsgsave2 @33 DATA
debugmsgsave3 @34 DATA
dec2dmmm @35
dec2dms @36
distance_long_path @37
dmmm2dec @38
dms2dec @39
dot10ths_to_millis @40
dump_hex @41
elapsed_ms @42
from_bcd @43
from_bcd_be @44
get_rig_conf_type @45
hamlib_copyright @46 DATA
hamlib_copyright2 @47 DATA
hamlib_version @48 DATA
hamlib_version2 @49 DATA
hl_usleep @50
initamps4_dummy @51
initamps4_kpa1500 @52
initrigs4_adat @53
initrigs4_alinco @54
initrigs4_aor @55
initrigs4_barrett @56
initrigs4_dorji @57
initrigs4_drake @58
initrigs4_dummy @59
initrigs4_elad @60
initrigs4_flexradio @61
initrigs4_icm710 @62
initrigs4_icmarine @63
initrigs4_icom @64
initrigs4_jrc @65
initrigs4_kachina @66
initrigs4_kenwood @67
initrigs4_kit @68
initrigs4_lowe @69
initrigs4_pcr @70
initrigs4_prm80 @71
initrigs4_racal @72
initrigs4_rft @73
initrigs4_rs @74
initrigs4_skanti @75
initrigs4_tapr @76
initrigs4_tentec @77
initrigs4_tuner @78
initrigs4_uniden @79
initrigs4_winradio @80
initrigs4_wj @81
initrigs4_yaesu @82
initrots4_amsat @83
initrots4_ars @84
initrots4_celestron @85
initrots4_cnctrk @86
initrots4_dummy @87
initrots4_easycomm @88
initrots4_ether6 @89
initrots4_fodtrack @90
initrots4_gs232a @91
initrots4_heathkit @92
initrots4_ioptron @93
initrots4_kit @94
initrots4_m2 @95
initrots4_meade @96
initrots4_prosistel @97
initrots4_radant @98
initrots4_rotorez @99
initrots4_sartek @100
initrots4_satel @101
initrots4_spid @102
initrots4_ts7400 @103
locator2longlat @104
longlat2locator @105
millis_to_dot10ths @106
morse_code_dot_to_millis @107
netrigctl_get_vfo_mode @108
par_lock @109
par_read_control @110
par_read_data @111
par_read_status @112
par_unlock @113
par_write_control @114
par_write_data @115
parse_hoststr @116
port_close @117
port_open @118
print_ext_param @119
probeallrigs4_adat @120
probeallrigs4_drake @121
probeallrigs4_elad @122
probeallrigs4_icom @123
probeallrigs4_kenwood @124
probeallrigs4_lowe @125
probeallrigs4_uniden @126
probeallrigs4_yaesu @127
qrb @128
read_block @129
read_string @130
rig_check_backend @131
rig_check_cache_timeout @132
rig_cleanup @133
rig_close @134
rig_confparam_lookup @135
rig_copyright @136
rig_debug @137
rig_ext_func_foreach @138
rig_ext_level_foreach @139
rig_ext_lookup @140
rig_ext_lookup_tok @141
rig_ext_parm_foreach @142
rig_ext_token_lookup @143
rig_flush @144
rig_force_cache_timeout @145
rig_get_ant @146
rig_get_cache @147
rig_get_cache_timeout_ms @148
rig_get_caps @149
rig_get_caps_cptr @150
rig_get_caps_int @151
rig_get_chan_all @152
rig_get_chan_all_cb @153
rig_get_channel @154
rig_get_conf @155
rig_get_ctcss_sql @156
rig_get_ctcss_tone @157
rig_get_dcd @158
rig_get_dcs_code @159
rig_get_dcs_sql @160
rig_get_ext_func @161
rig_get_ext_level @162
rig_get_ext_parm @163
rig_get_freq @164
rig_get_func @165
rig_get_function_ptr @166
rig_get_info @167
rig_get_level @168
rig_get_mem @169
rig_get_mem_all @170
rig_get_mem_all_cb @171
rig_get_mode @172
rig_get_parm @173
rig_get_powerstat @174
rig_get_ptt @175
rig_get_range @176
rig_get_resolution @177
rig_get_rig_info @178
rig_get_rit @179
rig_get_rptr_offs @180
rig_get_rptr_shift @181
rig_get_split_freq @182
rig_get_split_freq_mode @183
rig_get_split_mode @184
rig_get_split_vfo @185
rig_get_trn @186
rig_get_ts @187
rig_get_twiddle @188
rig_get_vfo @189
rig_get_vfo_info @190
rig_get_vfo_list @191
rig_get_xit @192
rig_has_get_func @193
rig_has_get_level @194
rig_has_get_parm @195
rig_has_scan @196
rig_has_set_func @197
rig_has_set_level @198
rig_has_set_parm @199
rig_has_vfo_op @200
rig_idx2setting @201
rig_init @202
rig_license @203
rig_list_foreach @204
rig_list_foreach_model @205
rig_load_all_backends @206
rig_load_backend @207
rig_lookup_mem_caps @208
rig_mW2power @209
rig_mem_count @210
rig_need_debug @211
rig_no_restore_ai @212
rig_open @213
rig_parse_func @214
rig_parse_level @215
rig_parse_mode @216
rig_parse_mtype @217
rig_parse_parm @218
rig_parse_rptr_shift @219
rig_parse_scan @220
rig_parse_vfo @221
rig_parse_vfo_op @222
rig_passband_narrow @223
rig_passband_normal @224
rig_passband_wide @225
rig_power2mW @226
rig_probe @227
rig_probe_all @228
rig_raw2val @229
rig_raw2val_float @230
rig_recv_dtmf @231
rig_register @232
rig_reset @233
rig_scan @234
rig_send_dtmf @235
rig_send_morse @236
rig_send_voice_mem @237
rig_set_ant @238
rig_set_bank @239
rig_set_cache_timeout_ms @240
rig_set_chan_all @241
rig_set_chan_all_cb @242
rig_set_channel @243
rig_set_conf @244
rig_set_ctcss_sql @245
rig_set_ctcss_tone @246
rig_set_dcd_callback @247
rig_set_dcs_code @248
rig_set_dcs_sql @249
rig_set_debug @250
rig_set_debug_callback @251
rig_set_debug_file @252
rig_set_debug_time_stamp @253
rig_set_ext_func @254
rig_set_ext_level @255
rig_set_ext_parm @256
rig_set_freq @257
rig_set_freq_callback @258
rig_set_func @259
rig_set_level @260
rig_set_mem @261
rig_set_mem_all @262
rig_set_mem_all_cb @263
rig_set_mode @264
rig_set_mode_callback @265
rig_set_parm @266
rig_set_pltune_callback @267
rig_set_powerstat @268
rig_set_ptt @269
rig_set_ptt_callback @270
rig_set_rit @271
rig_set_rptr_offs @272
rig_set_rptr_shift @273
rig_set_split_freq @274
rig_set_split_freq_mode @275
rig_set_split_mode @276
rig_set_split_vfo @277
rig_set_trn @278
rig_set_ts @279
rig_set_twiddle @280
rig_set_uplink @281
rig_set_vfo @282
rig_set_vfo_callback @283
rig_set_vfo_opt @284
rig_set_xit @285
rig_setting2idx @286
rig_sprintf_ant @287
rig_sprintf_func @288
rig_sprintf_level @289
rig_sprintf_level_gran @290
rig_sprintf_mode @291
rig_sprintf_parm @292
rig_sprintf_parm_gran @293
rig_sprintf_scan @294
rig_sprintf_vfo @295
rig_sprintf_vfop @296
rig_stop_morse @297
rig_strfunc @298
rig_strlevel @299
rig_strmtype @300
rig_strparm @301
rig_strptrshift @302
rig_strrmode @303
rig_strrmodes @304
rig_strscan @305
rig_strstatus @306
rig_strvfo @307
rig_strvfop @308
rig_token_foreach @309
rig_token_lookup @310
rig_unregister @311
rig_version @312
rig_vfo_op @313
rig_wait_morse @314
rigerror @315
rot_check_backend @316
rot_cleanup @317
rot_close @318
rot_confparam_lookup @319
rot_ext_func_foreach @320
rot_ext_level_foreach @321
rot_ext_lookup @322
rot_ext_lookup_tok @323
rot_ext_parm_foreach @324
rot_ext_token_lookup @325
rot_get_caps @326
rot_get_conf @327
rot_get_ext_func @328
rot_get_ext_level @329
rot_get_ext_parm @330
rot_get_func @331
rot_get_info @332
rot_get_level @333
rot_get_parm @334
rot_get_position @335
rot_get_status @336
rot_has_get_func @337
rot_has_get_level @338
rot_has_get_parm @339
rot_has_set_func @340
rot_has_set_level @341
rot_has_set_parm @342
rot_init @343
rot_list_foreach @344
rot_load_all_backends @345
rot_load_backend @346
rot_move @347
rot_open @348
rot_park @349
rot_parse_func @350
rot_parse_level @351
rot_parse_parm @352
rot_probe_all @353
rot_register @354
rot_reset @355
rot_set_conf @356
rot_set_ext_func @357
rot_set_ext_level @358
rot_set_ext_parm @359
rot_set_func @360
rot_set_level @361
rot_set_parm @362
rot_set_position @363
rot_sprintf_func @364
rot_sprintf_level @365
rot_sprintf_level_gran @366
rot_sprintf_parm @367
rot_sprintf_parm_gran @368
rot_sprintf_status @369
rot_stop @370
rot_strfunc @371
rot_strlevel @372
rot_strparm @373
rot_strstatus @374
rot_token_foreach @375
rot_token_lookup @376
rot_unregister @377
ser_get_car @378
ser_get_cts @379
ser_get_dsr @380
ser_get_dtr @381
ser_get_rts @382
ser_set_brk @383
ser_set_dtr @384
ser_set_rts @385
serial_flush @386
serial_open @387
serial_setup @388
sprintf_freq @389
sprintf_level_ext @390
to_bcd @391
to_bcd_be @392
vfo_fixup @393
write_block @394

BIN
external/hamlib/64/libhamlib-4.dll vendored Normal file

Binary file not shown.

BIN
external/hamlib/64/libhamlib-4.exp vendored Normal file

Binary file not shown.

BIN
external/hamlib/64/libhamlib-4.lib vendored Normal file

Binary file not shown.

446
external/hamlib/hamlib/amplifier.h vendored Normal file
View File

@ -0,0 +1,446 @@
/*
* Hamlib Interface - Amplifier API header
* Copyright (c) 2000-2005 by Stephane Fillod
*
*
* 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 _AMPLIFIER_H
#define _AMPLIFIER_H 1
#include <hamlib/rig.h>
#include <hamlib/amplist.h>
/**
* \addtogroup amplifier
* @{
*/
/**
* \brief Hamlib amplifier data structures.
*
* \file amplifier.h
*
* This file contains the data structures and declarations for the Hamlib
* amplifier Application Programming Interface (API).
*
* See the amplifier.c file for details on the amplifier API functions.
*/
__BEGIN_DECLS
/* Forward struct references */
struct amp;
struct amp_state;
/**
* \brief Main amplifier handle type definition.
*
* \typedef typedef struct amp AMP
*
* 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;
/**
* \brief Type definition for
* <a href="https://en.wikipedia.org/wiki/Standing_wave_ratio" >SWR (Standing Wave Ratio)</a>.
*
* \typedef typedef float swr_t
*
* The \a swr_t type is used as a parameter for the amp_get_swr() function.
*
* The unit of \a 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;
/**
* \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>.
*
* \typedef typedef float tune_value_t
*
* The \a tune_value_t type is used as a parameter for amp_get_level().
*
* The unit of \a 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 The token in the netampctl protocol for returning an error condition code.
*/
#define NETAMPCTL_RET "RPRT "
//! @cond Doxygen_Suppress
typedef enum
{
AMP_RESET_MEM, // erase tuner memory
AMP_RESET_FAULT, // reset any fault
AMP_RESET_AMP // for kpa1500
} amp_reset_t;
//! @endcond
/**
* \brief Amplifier type flags
*/
typedef enum
{
AMP_FLAG_1 = (1 << 1), /*!< TBD */
AMP_FLAG_2 = (1 << 2) /*!< TBD */
} amp_type_t;
//! @cond Doxygen_Suppress
// TBD AMP_TYPE
#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)
//! @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 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
//! @cond Doxygen_Suppress
#define AMP_LEVEL_FLOAT_LIST (AMP_LEVEL_SWR)
#define AMP_LEVEL_STRING_LIST (AMP_LEVEL_FAULT)
#define AMP_LEVEL_IS_FLOAT(l) ((l)&AMP_LEVEL_FLOAT_LIST)
#define AMP_LEVEL_IS_STRING(l) ((l)&AMP_LEVEL_STRING_LIST)
//! @endcond
/* Basic amp type, can store some useful info about different amplifiers. Each
* lib must be able to populate this structure, so we can make useful
* enquiries about capabilities.
*/
//! @cond Doxygen_Suppress
#define AMP_MODEL(arg) .amp_model=arg,.macro_name=#arg
//! @endcond
/**
* \brief Amplifier capabilities.
*
* \struct amp_caps
*
* 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
* amp_state structure, which is the private memory area of the #AMP instance.
*
* This way you can have several amplifiers running within the same
* application, sharing the amp_caps structure 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
* amp_caps structure. Shared libraries and DLLs depend on a constant
* structure to maintain compatibility.
*/
struct amp_caps
{
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, typically in YYYYMMDD.x format. */
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 (serial, ethernet, etc.). */
int serial_rate_min; /*!< Minimal serial speed. */
int serial_rate_max; /*!< Maximal serial speed. */
int serial_data_bits; /*!< Number of data bits. */
int serial_stop_bits; /*!< Number of stop bits. */
enum serial_parity_e serial_parity; /*!< Parity. */
enum serial_handshake_e serial_handshake; /*!< Handshake. */
int write_delay; /*!< Write delay. */
int post_write_delay; /*!< Post-write delay. */
int timeout; /*!< Timeout. */
int retry; /*!< Number of retries if a command fails. */
const struct confparams *cfgparams; /*!< Configuration parameters. */
const rig_ptr_t priv; /*!< Private data. */
const char *amp_model_macro_name; /*!< Model macro name. */
setting_t has_get_level; /*!< List of get levels. */
setting_t has_set_level; /*!< List of set levels. */
gran_t level_gran[RIG_SETTING_MAX]; /*!< Level granularity. */
gran_t parm_gran[RIG_SETTING_MAX]; /*!< Parameter granularity. */
/*
* Amp Admin API
*
*/
int (*amp_init)(AMP *amp); /*!< Pointer to backend implementation of ::amp_init(). */
int (*amp_cleanup)(AMP *amp); /*!< Pointer to backend implementation of ::amp_cleanup(). */
int (*amp_open)(AMP *amp); /*!< Pointer to backend implementation of ::amp_open(). */
int (*amp_close)(AMP *amp); /*!< Pointer to backend implementation of ::amp_close(). */
int (*set_freq)(AMP *amp, freq_t val); /*!< Pointer to backend implementation of ::amp_set_freq(). */
int (*get_freq)(AMP *amp, freq_t *val); /*!< Pointer to backend implementation of ::amp_get_freq(). */
int (*set_conf)(AMP *amp, token_t token, const char *val); /*!< Pointer to backend implementation of ::amp_set_conf(). */
int (*get_conf)(AMP *amp, token_t token, char *val); /*!< Pointer to backend implementation of ::amp_get_conf(). */
/*
* General API commands, from most primitive to least.. :()
* List Set/Get functions pairs
*/
int (*reset)(AMP *amp, amp_reset_t reset); /*!< Pointer to backend implementation of ::amp_reset(). */
int (*get_level)(AMP *amp, setting_t level, value_t *val); /*!< Pointer to backend implementation of ::amp_get_level(). */
int (*get_ext_level)(AMP *amp, token_t level, value_t *val); /*!< Pointer to backend implementation of ::amp_get_ext_level(). */
int (*set_powerstat)(AMP *amp, powerstat_t status); /*!< Pointer to backend implementation of ::amp_set_powerstat(). */
int (*get_powerstat)(AMP *amp, powerstat_t *status); /*!< Pointer to backend implementation of ::amp_get_powerstat(). */
/* get firmware info, etc. */
const char *(*get_info)(AMP *amp); /*!< Pointer to backend implementation of ::amp_get_info(). */
//! @cond Doxygen_Suppress
setting_t levels;
unsigned ext_levels;
//! @endcond
const struct confparams *extlevels; /*!< Extension levels list. \sa extamp.c */
const struct confparams *extparms; /*!< Extension parameters list. \sa extamp.c */
const char *macro_name; /*!< Amplifier model macro name. */
};
/**
* \brief Amplifier state structure.
*
* \struct amp_state
*
* This structure contains live data, as well as a copy of capability fields
* that may be updated, i.e. customized while the #AMP handle is instantiated.
*
* It is fine to move fields around, as this kind of struct should not be
* initialized like amp_caps are.
*/
struct amp_state
{
/*
* overridable fields
*/
/*
* non overridable fields, internal use
*/
hamlib_port_t ampport; /*!< Amplifier port (internal use). */
int comm_state; /*!< Comm port state, opened/closed. */
rig_ptr_t priv; /*!< Pointer to private amplifier state data. */
rig_ptr_t obj; /*!< Internal use by hamlib++ for event handling. */
setting_t has_get_level; /*!< List of get levels. */
gran_t level_gran[RIG_SETTING_MAX]; /*!< Level granularity. */
gran_t parm_gran[RIG_SETTING_MAX]; /*!< Parameter granularity. */
};
/**
* \brief Master amplifier structure.
*
* \struct amp
*
* Master amplifier data structure acting as the #AMP 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.
*
* \sa amp_init(), amp_caps, amp_state
*/
struct amp
{
struct amp_caps *caps; /*!< Amplifier caps. */
struct amp_state state; /*!< Amplifier state. */
};
//! @cond Doxygen_Suppress
/* --------------- API function prototypes -----------------*/
extern HAMLIB_EXPORT(AMP *)
amp_init HAMLIB_PARAMS((amp_model_t amp_model));
extern HAMLIB_EXPORT(int)
amp_open HAMLIB_PARAMS((AMP *amp));
extern HAMLIB_EXPORT(int)
amp_close HAMLIB_PARAMS((AMP *amp));
extern HAMLIB_EXPORT(int)
amp_cleanup HAMLIB_PARAMS((AMP *amp));
extern HAMLIB_EXPORT(int)
amp_set_conf HAMLIB_PARAMS((AMP *amp,
token_t token,
const char *val));
extern HAMLIB_EXPORT(int)
amp_get_conf HAMLIB_PARAMS((AMP *amp,
token_t token,
char *val));
extern HAMLIB_EXPORT(int)
amp_set_powerstat HAMLIB_PARAMS((AMP *amp,
powerstat_t status));
extern HAMLIB_EXPORT(int)
amp_get_powerstat HAMLIB_PARAMS((AMP *amp,
powerstat_t *status));
/*
* General API commands, from most primitive to least.. )
* List Set/Get functions pairs
*/
extern HAMLIB_EXPORT(int)
amp_get_freq HAMLIB_PARAMS((AMP *amp,
freq_t *freq));
extern HAMLIB_EXPORT(int)
amp_set_freq HAMLIB_PARAMS((AMP *amp,
freq_t freq));
extern HAMLIB_EXPORT(int)
amp_reset HAMLIB_PARAMS((AMP *amp,
amp_reset_t reset));
extern HAMLIB_EXPORT(const char *)
amp_get_info HAMLIB_PARAMS((AMP *amp));
extern HAMLIB_EXPORT(int)
amp_get_level HAMLIB_PARAMS((AMP *amp, setting_t level, value_t *val));
extern HAMLIB_EXPORT(int)
amp_register HAMLIB_PARAMS((const struct amp_caps *caps));
extern HAMLIB_EXPORT(int)
amp_unregister HAMLIB_PARAMS((amp_model_t amp_model));
extern HAMLIB_EXPORT(int)
amp_list_foreach HAMLIB_PARAMS((int (*cfunc)(const struct amp_caps *,
rig_ptr_t),
rig_ptr_t data));
extern HAMLIB_EXPORT(int)
amp_load_backend HAMLIB_PARAMS((const char *be_name));
extern HAMLIB_EXPORT(int)
amp_check_backend HAMLIB_PARAMS((amp_model_t amp_model));
extern HAMLIB_EXPORT(int)
amp_load_all_backends HAMLIB_PARAMS((void));
extern HAMLIB_EXPORT(amp_model_t)
amp_probe_all HAMLIB_PARAMS((hamlib_port_t *p));
extern HAMLIB_EXPORT(int)
amp_token_foreach HAMLIB_PARAMS((AMP *amp,
int (*cfunc)(const struct confparams *,
rig_ptr_t),
rig_ptr_t data));
extern HAMLIB_EXPORT(const struct confparams *)
amp_confparam_lookup HAMLIB_PARAMS((AMP *amp,
const char *name));
extern HAMLIB_EXPORT(token_t)
amp_token_lookup HAMLIB_PARAMS((AMP *amp,
const char *name));
extern HAMLIB_EXPORT(const struct amp_caps *)
amp_get_caps HAMLIB_PARAMS((amp_model_t amp_model));
extern HAMLIB_EXPORT(setting_t)
amp_has_get_level HAMLIB_PARAMS((AMP *amp,
setting_t level));
extern HAMLIB_EXPORT(const struct confparams *)
amp_ext_lookup HAMLIB_PARAMS((AMP *amp,
const char *name));
extern HAMLIB_EXPORT(int)
amp_get_ext_level HAMLIB_PARAMS((AMP *amp,
token_t token,
value_t *val));
extern HAMLIB_EXPORT(const char *) amp_strlevel(setting_t);
extern HAMLIB_EXPORT(const struct confparams *)
rig_ext_lookup HAMLIB_PARAMS((RIG *rig,
const char *name));
extern HAMLIB_EXPORT(setting_t) amp_parse_level(const char *s);
extern HAMLIB_EXPORT(const char *) amp_strlevel(setting_t);
//! @endcond
/**
* \brief Convenience macro for generating debugging messages.
*
* \def amp_debug
*
* This is an alias of the rig_debug() function call and is used in the same
* manner.
*/
#define amp_debug rig_debug
__END_DECLS
#endif /* _AMPLIFIER_H */
/** @} */

120
external/hamlib/hamlib/amplist.h vendored Normal file
View File

@ -0,0 +1,120 @@
/*
* Hamlib Interface - list of known amplifiers
* Copyright (c) 2000-2011 by Stephane Fillod
* Copyright (c) 2000-2002 by Frank Singleton
* Copyright (C) 2019 by Michael Black W9MDB. Derived from rotlist.h
*
*
* 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 _AMPLIST_H
#define _AMPLIST_H 1
//! @cond Doxygen_Suppress
#define AMP_MAKE_MODEL(a,b) ((a)*100+(b))
#define AMP_BACKEND_NUM(a) ((a)/100)
//! @endcond
/**
* \addtogroup amplifier
* @{
*/
/**
* \brief Hamlib amplifier model definitions.
*
* \file amplist.h
*
* This file contains amplifier model definitions for the Hamlib amplifier
* Application Programming Interface (API). Each distinct amplifier type has
* a unique model number (ID) and is used by Hamlib to identify and
* distinguish between the different hardware drivers. The exact model
* numbers can be acquired using the macros in this file. To obtain a list of
* supported amplifier branches, one can use the statically defined
* AMP_BACKEND_LIST macro (defined in configure.ac). To obtain a full list of
* supported amplifiers (including each model in every branch), the
* foreach_opened_amp() API function can be used.
*
* The model number, or ID, is used to tell Hamlib which amplifier the client
* wishes to use which is done with the amp_init() API call.
*/
/**
* \brief A macro that returns the model number for an unknown model.
*
* \def AMP_MODEL_NONE
*
* The none backend, as the name suggests, does nothing. It is mainly for
* internal use.
*/
#define AMP_MODEL_NONE 0
/**
* \brief A macro that returns the model number for the DUMMY backend.
*
* \def AMP_MODEL_DUMMY
*
* The DUMMY backend, as the name suggests, is a backend which performs no
* hardware operations and always behaves as one would expect. It can be
* thought of as a hardware simulator and is very useful for testing client
* applications.
*/
/**
* \brief A macro that returns the model number for the NETAMPCTL backend.
*
* \def AMP_MODEL_NETAMPCTL
*
* The NETAMPCTL backend allows use of the `ampctld` daemon through the normal
* Hamlib API.
*/
//! @cond Doxygen_Suppress
#define AMP_DUMMY 0
#define AMP_BACKEND_DUMMY "dummy"
//! @endcond
#define AMP_MODEL_DUMMY AMP_MAKE_MODEL(AMP_DUMMY, 1)
#define AMP_MODEL_NETAMPCTL AMP_MAKE_MODEL(AMP_DUMMY, 2)
/**
* \brief A macro that returns the model number of the KPA1500 backend.
*
* \def AMP_MODEL_ELECRAFT_KPA1500
*
* The KPA1500 backend can be used with amplifiers that support the Elecraft
* KPA-1500 protocol.
*/
//! @cond Doxygen_Suppress
#define AMP_ELECRAFT 2
#define AMP_BACKEND_ELECRAFT "elecraft"
//! @endcond
#define AMP_MODEL_ELECRAFT_KPA1500 AMP_MAKE_MODEL(AMP_ELECRAFT, 1)
//#define AMP_MODEL_ELECRAFT_KPA500 AMP_MAKE_MODEL(AMP_ELECRAFT, 2)
/**
* \brief Convenience type definition for an amplifier model.
*
* \typedef typedef int amp_model_t
*/
typedef int amp_model_t;
#endif /* _AMPLIST_H */
/** @} */

File diff suppressed because it is too large Load Diff

View File

@ -32,7 +32,7 @@
#if defined(_WIN32) && !defined(__CYGWIN__)
# undef HAMLIB_IMPEXP
# undef BACKEND_IMPEXP
# undef HAMLIB_CPP_IMPEXP
# undef HAMLIB_API
# undef HAMLIB_EXPORT
# undef HAMLIB_EXPORT_VAR
@ -53,15 +53,15 @@
/* HAMLIB_API may be set to __stdcall for VB, .. */
# define HAMLIB_API __cdecl
# ifdef IN_HAMLIB
# define BACKEND_IMPEXP HAMLIB_DLL_EXPORT
# define HAMLIB_CPP_IMPEXP HAMLIB_DLL_EXPORT
# define HAMLIB_IMPEXP HAMLIB_DLL_EXPORT
# else
# define BACKEND_IMPEXP HAMLIB_DLL_EXPORT
# define HAMLIB_CPP_IMPEXP HAMLIB_DLL_IMPORT
# define HAMLIB_IMPEXP HAMLIB_DLL_IMPORT
# endif
# else
/* static build, only export the backend entry points for lt_dlsym */
# define BACKEND_IMPEXP HAMLIB_DLL_EXPORT
# define HAMLIB_CPP_IMPEXP HAMLIB_DLL_EXPORT
# endif
#endif
@ -70,8 +70,8 @@
#if !defined(HAMLIB_IMPEXP)
# define HAMLIB_IMPEXP
#endif
#if !defined(BACKEND_IMPEXP)
# define BACKEND_IMPEXP
#if !defined(HAMLIB_CPP_IMPEXP)
# define HAMLIB_CPP_IMPEXP
#endif
#if !defined(HAMLIB_API)
# define HAMLIB_API
@ -83,8 +83,8 @@
# define HAMLIB_EXPORT_VAR(type) HAMLIB_IMPEXP type
#endif
#if !defined(BACKEND_EXPORT)
# define BACKEND_EXPORT(type) BACKEND_IMPEXP type HAMLIB_API
# define BACKEND_EXPORT(type) HAMLIB_CPP_IMPEXP type HAMLIB_API
#endif
#if !defined(BACKEND_EXPORT_VAR)
# define BACKEND_EXPORT_VAR(type) BACKEND_IMPEXP type
# define BACKEND_EXPORT_VAR(type) HAMLIB_CPP_IMPEXP type
#endif

View File

@ -23,8 +23,15 @@
#ifndef _RIGLIST_H
#define _RIGLIST_H 1
#define RIG_MAKE_MODEL(a,b) ((a)*100+(b))
#define RIG_BACKEND_NUM(a) ((a)/100)
//! @cond Doxygen_Suppress
// The rig model number is designed to fit in a 32-bit int
// As of 2020-02-18 we have 33 backends defined
// With a max of 1000 models per backend we get total a model number range of 1001-33001
// This MAX was 100 prior to 2020-02-18 and Icom was close to running out of the 100 range
#define MAX_MODELS_PER_BACKEND 1000
#define RIG_MAKE_MODEL(a,b) ((a)*MAX_MODELS_PER_BACKEND+(b))
#define RIG_BACKEND_NUM(a) ((a)/MAX_MODELS_PER_BACKEND)
/*! \file riglist.h
* \brief Hamlib rig(radio) model definitions.
@ -49,7 +56,7 @@
*
* The dummy backend, as the name suggests, is a backend which performs no
* hardware operations and always behaves as one would expect. It can be
* thought of as a hardware simulator and is very usefull for testing client
* thought of as a hardware simulator and is very useful for testing client
* applications.
*
* It has also been expanded to provide support to "virtual" type of rigs
@ -61,6 +68,8 @@
#define RIG_MODEL_NETRIGCTL RIG_MAKE_MODEL(RIG_DUMMY, 2)
#define RIG_MODEL_ARMSTRONG RIG_MAKE_MODEL(RIG_DUMMY, 3)
#define RIG_MODEL_FLRIG RIG_MAKE_MODEL(RIG_DUMMY, 4)
#define RIG_MODEL_TRXMANAGER_RIG RIG_MAKE_MODEL(RIG_DUMMY, 5)
#define RIG_MODEL_DUMMY_NOVFO RIG_MAKE_MODEL(RIG_DUMMY, 6)
/*
@ -101,9 +110,17 @@
#define RIG_MODEL_FT980 RIG_MAKE_MODEL(RIG_YAESU, 31)
#define RIG_MODEL_FTDX5000 RIG_MAKE_MODEL(RIG_YAESU, 32)
#define RIG_MODEL_VX1700 RIG_MAKE_MODEL(RIG_YAESU, 33)
#define RIG_MODEL_FT1200 RIG_MAKE_MODEL(RIG_YAESU, 34)
#define RIG_MODEL_FTDX1200 RIG_MAKE_MODEL(RIG_YAESU, 34)
#define RIG_MODEL_FT991 RIG_MAKE_MODEL(RIG_YAESU, 35)
#define RIG_MODEL_FT891 RIG_MAKE_MODEL(RIG_YAESU, 36)
#define RIG_MODEL_FTDX3000 RIG_MAKE_MODEL(RIG_YAESU, 37)
#define RIG_MODEL_FT847UNI RIG_MAKE_MODEL(RIG_YAESU, 38)
#define RIG_MODEL_FT600 RIG_MAKE_MODEL(RIG_YAESU, 39)
#define RIG_MODEL_FTDX101D RIG_MAKE_MODEL(RIG_YAESU, 40)
#define RIG_MODEL_FT818 RIG_MAKE_MODEL(RIG_YAESU, 41)
#define RIG_MODEL_FTDX10 RIG_MAKE_MODEL(RIG_YAESU, 42)
#define RIG_MODEL_FT897D RIG_MAKE_MODEL(RIG_YAESU, 43)
#define RIG_MODEL_FTDX101MP RIG_MAKE_MODEL(RIG_YAESU, 44)
/*
@ -122,7 +139,7 @@
#define RIG_MODEL_TS850 RIG_MAKE_MODEL(RIG_KENWOOD, 9)
#define RIG_MODEL_TS870S RIG_MAKE_MODEL(RIG_KENWOOD, 10)
#define RIG_MODEL_TS940 RIG_MAKE_MODEL(RIG_KENWOOD, 11)
#define RIG_MODEL_TS950 RIG_MAKE_MODEL(RIG_KENWOOD, 12)
#define RIG_MODEL_TS950S RIG_MAKE_MODEL(RIG_KENWOOD, 12)
#define RIG_MODEL_TS950SDX RIG_MAKE_MODEL(RIG_KENWOOD, 13)
#define RIG_MODEL_TS2000 RIG_MAKE_MODEL(RIG_KENWOOD, 14)
#define RIG_MODEL_R5000 RIG_MAKE_MODEL(RIG_KENWOOD, 15)
@ -151,7 +168,15 @@
#define RIG_MODEL_XG3 RIG_MAKE_MODEL(RIG_KENWOOD, 38) /* Elecraft XG-3 signal generator */
#define RIG_MODEL_TS990S RIG_MAKE_MODEL(RIG_KENWOOD, 39)
#define RIG_MODEL_HPSDR RIG_MAKE_MODEL(RIG_KENWOOD, 40) /* OpenHPSDR, PiHPSDR */
#define RIG_MODEL_TS890S RIG_MAKE_MODEL(RIG_KENWOOD, 41)
#define RIG_MODEL_THD74 RIG_MAKE_MODEL(RIG_KENWOOD, 42)
#define RIG_MODEL_K3S RIG_MAKE_MODEL(RIG_KENWOOD, 43)
#define RIG_MODEL_KX2 RIG_MAKE_MODEL(RIG_KENWOOD, 44)
#define RIG_MODEL_KX3 RIG_MAKE_MODEL(RIG_KENWOOD, 45)
#define RIG_MODEL_PT8000A RIG_MAKE_MODEL(RIG_KENWOOD, 46)
#define RIG_MODEL_K4 RIG_MAKE_MODEL(RIG_KENWOOD, 47)
#define RIG_MODEL_POWERSDR RIG_MAKE_MODEL(RIG_KENWOOD, 48)
#define RIG_MODEL_MALACHITE RIG_MAKE_MODEL(RIG_KENWOOD, 49)
/*
* Icom
@ -190,7 +215,7 @@
#define RIG_MODEL_IC775 RIG_MAKE_MODEL(RIG_ICOM, 30)
#define RIG_MODEL_IC781 RIG_MAKE_MODEL(RIG_ICOM, 31)
#define RIG_MODEL_IC820 RIG_MAKE_MODEL(RIG_ICOM, 32)
#define RIG_MODEL_IC821 RIG_MAKE_MODEL(RIG_ICOM, 33)
//#define RIG_MODEL_IC821 RIG_MAKE_MODEL(RIG_ICOM, 33) // not implemented and can be reused
#define RIG_MODEL_IC821H RIG_MAKE_MODEL(RIG_ICOM, 34)
#define RIG_MODEL_IC970 RIG_MAKE_MODEL(RIG_ICOM, 35)
#define RIG_MODEL_ICR10 RIG_MAKE_MODEL(RIG_ICOM, 36)
@ -228,7 +253,14 @@
#define RIG_MODEL_X108G RIG_MAKE_MODEL(RIG_ICOM, 76) /* Xiegu X108 */
#define RIG_MODEL_ICR6 RIG_MAKE_MODEL(RIG_ICOM, 77)
#define RIG_MODEL_IC7610 RIG_MAKE_MODEL(RIG_ICOM, 78)
/* next one is 79 */
#define RIG_MODEL_ICR8600 RIG_MAKE_MODEL(RIG_ICOM, 79)
#define RIG_MODEL_ICR30 RIG_MAKE_MODEL(RIG_ICOM, 80)
#define RIG_MODEL_IC9700 RIG_MAKE_MODEL(RIG_ICOM, 81)
#define RIG_MODEL_ID4100 RIG_MAKE_MODEL(RIG_ICOM, 82)
#define RIG_MODEL_ID31 RIG_MAKE_MODEL(RIG_ICOM, 83)
#define RIG_MODEL_ID51 RIG_MAKE_MODEL(RIG_ICOM, 84)
#define RIG_MODEL_IC705 RIG_MAKE_MODEL(RIG_ICOM, 85)
/* next one is 86 */
/*
@ -299,7 +331,7 @@
/*
* Radio Shack
* Actualy, they might be either Icom or Uniden. TBC --SF
* Actually, they might be either Icom or Uniden. TBC --SF
*/
#define RIG_RADIOSHACK 7
#define RIG_BACKEND_RADIOSHACK "radioshack"
@ -440,6 +472,7 @@
#define RIG_ALINCO 17
#define RIG_BACKEND_ALINCO "alinco"
#define RIG_MODEL_DX77 RIG_MAKE_MODEL(RIG_ALINCO, 1)
#define RIG_MODEL_DXSR8 RIG_MAKE_MODEL(RIG_ALINCO, 2)
/*
@ -492,7 +525,7 @@
/*
* VEB Funkwerk Köpenick RFT
* VEB Funkwerk Köpenick RFT
*/
#define RIG_RFT 24
#define RIG_BACKEND_RFT "rft"
@ -571,6 +604,7 @@
#define RIG_MODEL_IC_M700PRO RIG_MAKE_MODEL(RIG_ICMARINE, 1)
#define RIG_MODEL_IC_M802 RIG_MAKE_MODEL(RIG_ICMARINE, 2)
#define RIG_MODEL_IC_M710 RIG_MAKE_MODEL(RIG_ICMARINE, 3)
#define RIG_MODEL_IC_M803 RIG_MAKE_MODEL(RIG_ICMARINE, 4)
/*
@ -587,6 +621,15 @@
#define RIG_BARRETT 32
#define RIG_BACKEND_BARRETT "barrett"
#define RIG_MODEL_BARRETT_2050 RIG_MAKE_MODEL(RIG_BARRETT, 1)
#define RIG_MODEL_BARRETT_950 RIG_MAKE_MODEL(RIG_BARRETT, 2)
/*
* Elad
*/
#define RIG_ELAD 33
#define RIG_BACKEND_ELAD "elad"
#define RIG_MODEL_ELAD_FDM_DUO RIG_MAKE_MODEL(RIG_ELAD, 1)
//! @endcond
/*
@ -600,7 +643,7 @@
/*! \typedef typedef int rig_model_t
\brief Convenience type definition for rig model.
*/
typedef int rig_model_t;
typedef uint32_t rig_model_t;
/*

View File

@ -31,11 +31,13 @@
*/
/**
* \file rotator.h
* \brief Hamlib rotator data structures.
* \file rotator.h
* \brief Hamlib rotator data structures.
*
* This file contains the data structures and declarations for the Hamlib
* rotator API. see the rotator.c file for more details on the rotator API.
* This file contains the data structures and declarations for the Hamlib
* rotator Application Programming Interface (API).
*
* See the rotator.c file for more details on the rotator API functions.
*/
@ -49,70 +51,89 @@ struct rot_state;
/**
* \typedef typedef struct rot ROT
* \brief Rotator structure definition (see rot for details).
* \typedef typedef struct s_rot ROT
* \brief Main rotator handle type definition.
*
* The #ROT handle is returned by rot_init() and is passed as a parameter to
* every rotator specific API call.
*
* rot_cleanup() must be called when this handle is no longer needed.
*/
typedef struct rot ROT;
typedef struct s_rot ROT;
/**
* \typedef typedef float elevation_t
* \brief Type definition for elevation.
* \typedef typedef float elevation_t
* \brief Type definition for elevation.
*
* The elevation_t type is used as parameter for the rot_set_position() and
* rot_get_position() functions.
* The \a elevation_t type is used as parameter for the rot_set_position() and
* rot_get_position() functions.
*
* Unless specified otherwise, the unit of elevation_t is decimal degrees.
* Unless specified otherwise, the unit of \a elevation_t is decimal degrees.
*/
typedef float elevation_t;
/**
* \typedef typedef float azimuth_t
* \brief Type definition for azimuth.
* \typedef typedef float azimuth_t
* \brief Type definition for azimuth.
*
* The azimuth_t type is used as parameter for the rot_set_position() and
* rot_get_position() functions.
* The \a azimuth_t type is used as parameter for the rot_set_position() and
* rot_get_position() functions.
*
* Unless specified otherwise, the unit of azimuth_t is decimal degrees.
* Unless specified otherwise, the unit of \a azimuth_t is decimal degrees.
*/
typedef float azimuth_t;
/**
* \brief Token in the netrotctl protocol for returning error code
* \brief The token in the netrotctl protocol for returning an error condition code.
*/
#define NETROTCTL_RET "RPRT "
/**
* \def ROT_RESET_ALL
* \brief A macro that returns the flag for the \b reset operation.
* \sa rot_reset(), rot_reset_t()
* \def ROT_RESET_ALL
* \brief A macro that returns the flag for the \b reset operation.
*
* \sa rot_reset(), rot_reset_t
*/
#define ROT_RESET_ALL 1
/**
* \typedef typedef int rot_reset_t
* \brief Type definition for rotator reset.
* \typedef typedef int rot_reset_t
* \brief Type definition for rotator reset.
*
* The rot_reset_t type is used as parameter for the rot_reset() API
* function.
* The \a rot_reset_t type is used as parameter for the rot_reset() API
* function.
*/
typedef int rot_reset_t;
/**
* \brief Rotator type flags
* \brief Rotator type flags for bitmasks.
*/
typedef enum {
ROT_FLAG_AZIMUTH = (1 << 1), /*!< Azimuth */
ROT_FLAG_ELEVATION = (1 << 2) /*!< Elevation */
} rot_type_t;
//! @cond Doxygen_Suppress
/* So far only used in ests/dumpcaps_rot.c. */
#define ROT_TYPE_MASK (ROT_FLAG_AZIMUTH|ROT_FLAG_ELEVATION)
//! @endcond
/**
* \def ROT_TYPE_OTHER
* \brief Other type of rotator.
* \def ROT_TYPE_AZIMUTH
* \brief Azimuth only rotator.
* \def ROT_TYPE_ELEVATION
* \brief Elevation only rotator.
* \def ROT_TYPE_AZEL
* \brief Combination azimuth/elevation rotator.
*/
#define ROT_TYPE_OTHER 0
#define ROT_TYPE_AZIMUTH ROT_FLAG_AZIMUTH
#define ROT_TYPE_ELEVATION ROT_FLAG_ELEVATION
@ -120,112 +141,223 @@ typedef enum {
/**
* \def ROT_MOVE_UP
* \brief A macro that returns the flag for the \b UP direction.
* \def ROT_MOVE_UP
* \brief A macro that returns the flag for the \b UP direction.
*
* This macro defines the value of the \b UP direction which can be
* used with the rot_move() function.
* This macro defines the value of the \b UP direction which can be
* used with the rot_move() function.
*
* \sa rot_move(), ROT_MOVE_DOWN, ROT_MOVE_LEFT, ROT_MOVE_CCW,
* ROT_MOVE_RIGHT, ROT_MOVE_CW
* \sa rot_move(), ROT_MOVE_DOWN, ROT_MOVE_LEFT, ROT_MOVE_CCW,
* ROT_MOVE_RIGHT, ROT_MOVE_CW
*/
#define ROT_MOVE_UP (1<<1)
/**
* \def ROT_MOVE_DOWN
* \brief A macro that returns the flag for the \b DOWN direction.
* \def ROT_MOVE_DOWN
* \brief A macro that returns the flag for the \b DOWN direction.
*
* This macro defines the value of the \b DOWN direction which can be
* used with the rot_move() function.
* This macro defines the value of the \b DOWN direction which can be
* used with the rot_move() function.
*
* \sa rot_move(), ROT_MOVE_UP, ROT_MOVE_LEFT, ROT_MOVE_CCW, ROT_MOVE_RIGHT,
* ROT_MOVE_CW
* \sa rot_move(), ROT_MOVE_UP, ROT_MOVE_LEFT, ROT_MOVE_CCW, ROT_MOVE_RIGHT,
* ROT_MOVE_CW
*/
#define ROT_MOVE_DOWN (1<<2)
/**
* \def ROT_MOVE_LEFT
* \brief A macro that returns the flag for the \b LEFT direction.
* \def ROT_MOVE_LEFT
* \brief A macro that returns the flag for the \b LEFT direction.
*
* This macro defines the value of the \b LEFT direction which can be
* used with the rot_move function.
* This macro defines the value of the \b LEFT direction which can be
* used with the rot_move function.
*
* \sa rot_move(), ROT_MOVE_UP, ROT_MOVE_DOWN, ROT_MOVE_CCW, ROT_MOVE_RIGHT,
* ROT_MOVE_CW
* \sa rot_move(), ROT_MOVE_UP, ROT_MOVE_DOWN, ROT_MOVE_CCW, ROT_MOVE_RIGHT,
* ROT_MOVE_CW
*/
#define ROT_MOVE_LEFT (1<<3)
/**
* \def ROT_MOVE_CCW
* \brief A macro that returns the flag for the \b counterclockwise direction.
* \def ROT_MOVE_CCW
* \brief A macro that returns the flag for the \b counterclockwise direction.
*
* This macro defines the value of the \b counterclockwise direction which
* can be used with the rot_move() function. This value is equivalent to
* ROT_MOVE_LEFT .
* This macro defines the value of the \b counterclockwise direction which
* can be used with the rot_move() function. This value is equivalent to
* ROT_MOVE_LEFT.
*
* \sa rot_move(), ROT_MOVE_UP, ROT_MOVE_DOWN, ROT_MOVE_LEFT, ROT_MOVE_RIGHT,
* ROT_MOVE_CW
* \sa rot_move(), ROT_MOVE_UP, ROT_MOVE_DOWN, ROT_MOVE_LEFT, ROT_MOVE_RIGHT,
* ROT_MOVE_CW
*/
#define ROT_MOVE_CCW ROT_MOVE_LEFT
/**
* \def ROT_MOVE_RIGHT
* \brief A macro that returns the flag for the \b RIGHT direction.
* \def ROT_MOVE_RIGHT
* \brief A macro that returns the flag for the \b RIGHT direction.
*
* This macro defines the value of the \b RIGHT direction which can be used
* with the rot_move() function.
* This macro defines the value of the \b RIGHT direction which can be used
* with the rot_move() function.
*
* \sa rot_move(), ROT_MOVE_UP, ROT_MOVE_DOWN, ROT_MOVE_LEFT, ROT_MOVE_CCW,
* ROT_MOVE_CW
* \sa rot_move(), ROT_MOVE_UP, ROT_MOVE_DOWN, ROT_MOVE_LEFT, ROT_MOVE_CCW,
* ROT_MOVE_CW
*/
#define ROT_MOVE_RIGHT (1<<4)
/**
* \def ROT_MOVE_CW
* \brief A macro that returns the flag for the \b clockwise direction.
* \def ROT_MOVE_CW
* \brief A macro that returns the flag for the \b clockwise direction.
*
* This macro defines the value of the \b clockwise direction wich can be
* used with the rot_move() function. This value is equivalent to
* ROT_MOVE_RIGHT .
* This macro defines the value of the \b clockwise direction which can be
* used with the rot_move() function. This value is equivalent to
* ROT_MOVE_RIGHT.
*
* \sa rot_move(), ROT_MOVE_UP, ROT_MOVE_DOWN, ROT_MOVE_LEFT, ROT_MOVE_CCW,
* ROT_MOVE_RIGHT
* \sa rot_move(), ROT_MOVE_UP, ROT_MOVE_DOWN, ROT_MOVE_LEFT, ROT_MOVE_CCW,
* ROT_MOVE_RIGHT
*/
#define ROT_MOVE_CW ROT_MOVE_RIGHT
/**
* \brief Rotator status flags
*/
typedef enum {
ROT_STATUS_NONE = 0, /*!< '' -- No status. */
ROT_STATUS_BUSY = (1 << 0), /*!< Rotator is busy, not accepting commands. */
ROT_STATUS_MOVING = (1 << 1), /*!< Rotator is currently moving (direction type not specified). */
ROT_STATUS_MOVING_AZ = (1 << 2), /*!< Azimuth rotator is currently moving (direction not specified). */
ROT_STATUS_MOVING_LEFT = (1 << 3), /*!< Azimuth rotator is currently moving left. */
ROT_STATUS_MOVING_RIGHT = (1 << 4), /*!< Azimuth rotator is currently moving right. */
ROT_STATUS_MOVING_EL = (1 << 5), /*!< Elevation rotator is currently moving (direction not specified). */
ROT_STATUS_MOVING_UP = (1 << 6), /*!< Elevation rotator is currently moving up. */
ROT_STATUS_MOVING_DOWN = (1 << 7), /*!< Elevation rotator is currently moving down. */
ROT_STATUS_LIMIT_UP = (1 << 8), /*!< The elevation rotator has reached its limit to move up. */
ROT_STATUS_LIMIT_DOWN = (1 << 9), /*!< The elevation rotator has reached its limit to move down.*/
ROT_STATUS_LIMIT_LEFT = (1 << 10), /*!< The azimuth rotator has reached its limit to move left (CCW). */
ROT_STATUS_LIMIT_RIGHT = (1 << 11), /*!< The azimuth rotator has reached its limit to move right (CW). */
ROT_STATUS_OVERLAP_UP = (1 << 12), /*!< The elevation rotator has rotated up past 360 degrees. */
ROT_STATUS_OVERLAP_DOWN = (1 << 13), /*!< The elevation rotator has rotated down past 0 degrees. */
ROT_STATUS_OVERLAP_LEFT = (1 << 14), /*!< The azimuth rotator has rotated left (CCW) past 0 degrees. */
ROT_STATUS_OVERLAP_RIGHT = (1 << 16), /*!< The azimuth rotator has rotated right (CW) past 360 degrees. */
} rot_status_t;
//! @cond Doxygen_Suppress
/* So far only used in tests/sprintflst.c. */
#define ROT_STATUS_N(n) (1u<<(n))
//! @endcond
/**
* \brief Macro for not changing the rotator speed with move() function.
*/
#define ROT_SPEED_NOCHANGE (-1)
/**
* \brief Rotator Level Settings.
*
* Various operating levels supported by a rotator.
*
* \c STRING used in the \c rotctl and \c rotctld utilities.
*
* \sa rot_parse_level(), rot_strlevel()
*/
enum rot_level_e {
ROT_LEVEL_NONE = 0, /*!< '' -- No Level. */
ROT_LEVEL_SPEED = (1 << 0), /*!< \c SPEED -- Rotation speed, arg int (default range 1-100 if not specified). */
ROT_LEVEL_63 = CONSTANT_64BIT_FLAG(63), /*!< **Future use**, last level. */
};
//! @cond Doxygen_Suppress
#define ROT_LEVEL_FLOAT_LIST (0)
#define ROT_LEVEL_READONLY_LIST (0)
#define ROT_LEVEL_IS_FLOAT(l) ((l)&ROT_LEVEL_FLOAT_LIST)
#define ROT_LEVEL_SET(l) ((l)&~ROT_LEVEL_READONLY_LIST)
//! @endcond
/** @cond Doxygen_Suppress
* FIXME: The following needs more explanation about how STRING relates
* to this macro.
* @endcond
*/
/**
* \brief Rotator Parameters
*
* Parameters are settings that are not related to core rotator functionality,
* i.e. antenna rotation.
*
* \c STRING used in the \c rotctl and \c rotctld utilities.
*
* \sa rot_parse_parm(), rot_strparm()
*/
enum rot_parm_e {
ROT_PARM_NONE = 0, /*!< '' -- No Parm */
};
//! @cond Doxygen_Suppress
#define ROT_PARM_FLOAT_LIST (0)
#define ROT_PARM_READONLY_LIST (0)
#define ROT_PARM_IS_FLOAT(l) ((l)&ROT_PARM_FLOAT_LIST)
#define ROT_PARM_SET(l) ((l)&~ROT_PARM_READONLY_LIST)
//! @endcond
/** @cond Doxygen_Suppress
* FIXME: The following needs more explanation about how STRING relates
* to these macros.
* @endcond
*/
/**
* \brief Rotator Function Settings.
*
* Various operating functions supported by a rotator.
*
* \c STRING used in the \c rotctl and \c rotctld utilities.
*
* \sa rot_parse_func(), rot_strfunc()
*/
#define ROT_FUNC_NONE 0 /*!< '' -- No Function */
#ifndef SWIGLUAHIDE
/* Hide the top 32 bits from the old Lua binding as they can't be represented */
#define ROT_FUNC_BIT63 CONSTANT_64BIT_FLAG (63) /*!< **Future use**, ROT_FUNC items. */
/* 63 is this highest bit number that can be used */
#endif
/* Basic rot type, can store some useful info about different rotators. Each
* lib must be able to populate this structure, so we can make useful
* enquiries about capablilities.
* enquiries about capabilities.
*/
/**
* Rotator Caps
* \struct rot_caps
* \brief Rotator data structure.
* \brief Rotator capability data structure.
*
* The main idea of this struct is that it will be defined by the backend
* rotator driver, and will remain readonly for the application. Fields that
* need to be modifiable by the application are copied into the struct
* rot_state, which is a kind of private of the ROT instance.
* The main idea of this structure is that it will be defined by the backend
* rotator driver, and will remain read-only for the application. Fields that
* need to be modifiable by the application are copied into the rot_state
* structure, which is the private memory area of the #ROT instance.
*
* This way, you can have several rigs running within the same application,
* sharing the struct rot_caps of the backend, while keeping their own
* customized data.
* This way, you can have several rotators running within the same
* application, sharing the rot_caps structure of the backend, while keeping
* their own customized data.
*
* n.b.: Don't move fields around, as the backends depend on it when
* initializing their caps.
* \b Note: Don't move fields around and only add new fields at the end of the
* rot_caps structure. Shared libraries and DLLs depend on a constant
* structure to maintain compatibility.
*/
struct rot_caps {
rot_model_t rot_model; /*!< Rotator model. */
const char *model_name; /*!< Model name. */
const char *mfg_name; /*!< Manufacturer. */
const char *version; /*!< Driver version. */
const char *copyright; /*!< Copyright info. */
rot_model_t rot_model; /*!< Rotator model as defined in rotlist.h. */
const char *model_name; /*!< Model name, e.g. TT-360. */
const char *mfg_name; /*!< Manufacturer, e.g. Tower Torquer. */
const char *version; /*!< Driver version, typically in YYYYMMDD.x format. */
const char *copyright; /*!< Copyright info (should be LGPL). */
enum rig_status_e status; /*!< Driver status. */
int rot_type; /*!< Rotator 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. */
@ -237,7 +369,24 @@ struct rot_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 command fails. */
setting_t has_get_func; /*!< List of get functions. */
setting_t has_set_func; /*!< List of set functions. */
setting_t has_get_level; /*!< List of get levels. */
setting_t has_set_level; /*!< List of set levels. */
setting_t has_get_parm; /*!< List of get parameters. */
setting_t has_set_parm; /*!< List of set parameters. */
rot_status_t has_status; /*!< Supported status flags. */
gran_t level_gran[RIG_SETTING_MAX]; /*!< level granularity (i.e. steps). */
gran_t parm_gran[RIG_SETTING_MAX]; /*!< parm granularity (i.e. steps). */
const struct confparams *extparms; /*!< Extension parameters list, \sa rot_ext.c. */
const struct confparams *extlevels; /*!< Extension levels list, \sa rot_ext.c. */
const struct confparams *extfuncs; /*!< Extension functions list, \sa rot_ext.c. */
int *ext_tokens; /*!< Extension token list. */
/*
* Movement range, az is relative to North
@ -251,7 +400,7 @@ struct rot_caps {
max_el; /*!< Upper limit for elevation. */
const struct confparams *cfgparams; /*!< Configuration parametres. */
const struct confparams *cfgparams; /*!< Configuration parameters. */
const rig_ptr_t priv; /*!< Private data. */
/*
@ -259,44 +408,66 @@ struct rot_caps {
*
*/
int (*rot_init)(ROT *rot);
int (*rot_cleanup)(ROT *rot);
int (*rot_open)(ROT *rot);
int (*rot_close)(ROT *rot);
int (*rot_init)(ROT *rot); /*!< Pointer to backend implementation of ::rot_init(). */
int (*rot_cleanup)(ROT *rot); /*!< Pointer to backend implementation of ::rot_cleanup(). */
int (*rot_open)(ROT *rot); /*!< Pointer to backend implementation of ::rot_open(). */
int (*rot_close)(ROT *rot); /*!< Pointer to backend implementation of ::rot_close(). */
int (*set_conf)(ROT *rot, token_t token, const char *val);
int (*get_conf)(ROT *rot, token_t token, char *val);
int (*set_conf)(ROT *rot, token_t token, const char *val); /*!< Pointer to backend implementation of ::rot_set_conf(). */
int (*get_conf)(ROT *rot, token_t token, char *val); /*!< Pointer to backend implementation of ::rot_get_conf(). */
/*
* General API commands, from most primitive to least.. :()
* List Set/Get functions pairs
*/
int (*set_position)(ROT *rot, azimuth_t azimuth, elevation_t elevation);
int (*get_position)(ROT *rot, azimuth_t *azimuth, elevation_t *elevation);
int (*set_position)(ROT *rot, azimuth_t azimuth, elevation_t elevation); /*!< Pointer to backend implementation of ::rot_set_position(). */
int (*get_position)(ROT *rot, azimuth_t *azimuth, elevation_t *elevation); /*!< Pointer to backend implementation of ::rot_get_position(). */
int (*stop)(ROT *rot);
int (*park)(ROT *rot);
int (*reset)(ROT *rot, rot_reset_t reset);
int (*move)(ROT *rot, int direction, int speed);
int (*stop)(ROT *rot); /*!< Pointer to backend implementation of ::rot_stop(). */
int (*park)(ROT *rot); /*!< Pointer to backend implementation of ::rot_park(). */
int (*reset)(ROT *rot, rot_reset_t reset); /*!< Pointer to backend implementation of ::rot_reset(). */
int (*move)(ROT *rot, int direction, int speed); /*!< Pointer to backend implementation of ::rot_move(). */
/* get firmware info, etc. */
const char * (*get_info)(ROT *rot);
const char * (*get_info)(ROT *rot); /*!< Pointer to backend implementation of ::rot_get_info(). */
/* more to come... */
int (*set_level)(ROT *rot, setting_t level, value_t val); /*!< Pointer to backend implementation of ::rot_set_level(). */
int (*get_level)(ROT *rot, setting_t level, value_t *val); /*!< Pointer to backend implementation of ::rot_get_level(). */
int (*set_func)(ROT *rot, setting_t func, int status); /*!< Pointer to backend implementation of ::rot_set_func(). */
int (*get_func)(ROT *rot, setting_t func, int *status); /*!< Pointer to backend implementation of ::rot_get_func(). */
int (*set_parm)(ROT *rot, setting_t parm, value_t val); /*!< Pointer to backend implementation of ::rot_set_parm(). */
int (*get_parm)(ROT *rot, setting_t parm, value_t *val); /*!< Pointer to backend implementation of ::rot_get_parm(). */
int (*set_ext_level)(ROT *rot, token_t token, value_t val); /*!< Pointer to backend implementation of ::rot_set_ext_level(). */
int (*get_ext_level)(ROT *rot, token_t token, value_t *val); /*!< Pointer to backend implementation of ::rot_get_ext_level(). */
int (*set_ext_func)(ROT *rot, token_t token, int status); /*!< Pointer to backend implementation of ::rot_set_ext_func(). */
int (*get_ext_func)(ROT *rot, token_t token, int *status); /*!< Pointer to backend implementation of ::rot_get_ext_func(). */
int (*set_ext_parm)(ROT *rot, token_t token, value_t val); /*!< Pointer to backend implementation of ::rot_set_ext_parm(). */
int (*get_ext_parm)(ROT *rot, token_t token, value_t *val); /*!< Pointer to backend implementation of ::rot_get_ext_parm(). */
int (*get_status)(ROT *rot, rot_status_t *status); /*!< Pointer to backend implementation of ::rot_get_status(). */
const char *macro_name; /*!< Rotator model macro name. */
};
//! @cond Doxygen_Suppress
#define ROT_MODEL(arg) .rot_model=arg,.macro_name=#arg
//! @endcond
/**
* Rotator state
* \struct rot_state
* \brief Live data and customized fields.
* \brief Rotator state structure
*
* This struct contains live data, as well as a copy of capability fields
* that may be updated (ie. customized)
* This structure contains live data, as well as a copy of capability fields
* that may be updated, i.e. customized while the #ROT handle is instantiated.
*
* It is fine to move fields around, as this kind of struct should
* not be initialized like caps are.
* It is fine to move fields around, as this kind of structure should not be
* initialized like rot_caps are.
*/
struct rot_state {
/*
@ -306,38 +477,54 @@ struct rot_state {
azimuth_t max_az; /*!< Upper limit for azimuth (overridable). */
elevation_t min_el; /*!< Lower limit for elevation (overridable). */
elevation_t max_el; /*!< Upper limit for elevation (overridable). */
int south_zero; /*!< South is zero degrees. */
azimuth_t az_offset; /*!< Offset to be applied to azimuth. */
elevation_t el_offset; /*!< Offset to be applied to elevation. */
setting_t has_get_func; /*!< List of get functions. */
setting_t has_set_func; /*!< List of set functions. */
setting_t has_get_level; /*!< List of get levels. */
setting_t has_set_level; /*!< List of set levels. */
setting_t has_get_parm; /*!< List of get parameters. */
setting_t has_set_parm; /*!< List of set parameters. */
rot_status_t has_status; /*!< Supported status flags. */
gran_t level_gran[RIG_SETTING_MAX]; /*!< Level granularity. */
gran_t parm_gran[RIG_SETTING_MAX]; /*!< Parameter granularity. */
/*
* non overridable fields, internal use
*/
hamlib_port_t rotport; /*!< Rotator port (internal use). */
int comm_state; /*!< Comm port state, opened/closed. */
int comm_state; /*!< Comm port state, i.e. opened or closed. */
rig_ptr_t priv; /*!< Pointer to private rotator state data. */
rig_ptr_t obj; /*!< Internal use by hamlib++ for event handling. */
int current_speed; /*!< Current speed 1-100, to be used when no change to speed is requested. */
/* etc... */
};
/**
* Rotator structure
* \struct rot
* \brief This is the master data structure,
* acting as a handle for the controlled rotator.
* \struct s_rot
* \brief Master rotator structure.
*
* This is the master data structure, acting as a handle for the controlled
* rotator. A pointer to this structure is returned by the rot_init() API
* function and is passed as a parameter to every rotator specific API call.
* This is the master data structure acting as the #ROT handle for the
* controlled rotator. A pointer to this structure is returned by the
* rot_init() API function and is passed as a parameter to every rotator
* specific API call.
*
* \sa rot_init(), rot_caps(), rot_state()
* \sa rot_init(), rot_caps, rot_state
*/
struct rot {
struct s_rot {
struct rot_caps *caps; /*!< Rotator caps. */
struct rot_state state; /*!< Rotator state. */
};
//! @cond Doxygen_Suppress
/* --------------- API function prototypes -----------------*/
extern HAMLIB_EXPORT(ROT *)
@ -389,9 +576,88 @@ rot_move HAMLIB_PARAMS((ROT *rot,
int direction,
int speed));
extern HAMLIB_EXPORT(setting_t)
rot_has_get_level HAMLIB_PARAMS((ROT *rot,
setting_t level));
extern HAMLIB_EXPORT(setting_t)
rot_has_set_level HAMLIB_PARAMS((ROT *rot,
setting_t level));
extern HAMLIB_EXPORT(setting_t)
rot_has_get_parm HAMLIB_PARAMS((ROT *rot,
setting_t parm));
extern HAMLIB_EXPORT(setting_t)
rot_has_set_parm HAMLIB_PARAMS((ROT *rot,
setting_t parm));
extern HAMLIB_EXPORT(setting_t)
rot_has_get_func HAMLIB_PARAMS((ROT *rot,
setting_t func));
extern HAMLIB_EXPORT(setting_t)
rot_has_set_func HAMLIB_PARAMS((ROT *rot,
setting_t func));
extern HAMLIB_EXPORT(int)
rot_set_func HAMLIB_PARAMS((ROT *rot,
setting_t func,
int status));
extern HAMLIB_EXPORT(int)
rot_get_func HAMLIB_PARAMS((ROT *rot,
setting_t func,
int *status));
extern HAMLIB_EXPORT(int)
rot_set_level HAMLIB_PARAMS((ROT *rig,
setting_t level,
value_t val));
extern HAMLIB_EXPORT(int)
rot_get_level HAMLIB_PARAMS((ROT *rig,
setting_t level,
value_t *val));
extern HAMLIB_EXPORT(int)
rot_set_parm HAMLIB_PARAMS((ROT *rig,
setting_t parm,
value_t val));
extern HAMLIB_EXPORT(int)
rot_get_parm HAMLIB_PARAMS((ROT *rig,
setting_t parm,
value_t *val));
extern HAMLIB_EXPORT(int)
rot_set_ext_level HAMLIB_PARAMS((ROT *rig,
token_t token,
value_t val));
extern HAMLIB_EXPORT(int)
rot_get_ext_level HAMLIB_PARAMS((ROT *rig,
token_t token,
value_t *val));
extern HAMLIB_EXPORT(int)
rot_set_ext_func HAMLIB_PARAMS((ROT *rig,
token_t token,
int status));
extern HAMLIB_EXPORT(int)
rot_get_ext_func HAMLIB_PARAMS((ROT *rig,
token_t token,
int *status));
extern HAMLIB_EXPORT(int)
rot_set_ext_parm HAMLIB_PARAMS((ROT *rig,
token_t token,
value_t val));
extern HAMLIB_EXPORT(int)
rot_get_ext_parm HAMLIB_PARAMS((ROT *rig,
token_t token,
value_t *val));
extern HAMLIB_EXPORT(const char *)
rot_get_info HAMLIB_PARAMS((ROT *rot));
extern HAMLIB_EXPORT(int)
rot_get_status HAMLIB_PARAMS((ROT *rot,
rot_status_t *status));
extern HAMLIB_EXPORT(int)
rot_register HAMLIB_PARAMS((const struct rot_caps *caps));
@ -429,6 +695,36 @@ extern HAMLIB_EXPORT(token_t)
rot_token_lookup HAMLIB_PARAMS((ROT *rot,
const char *name));
extern HAMLIB_EXPORT(int)
rot_ext_func_foreach HAMLIB_PARAMS((ROT *rot,
int (*cfunc)(ROT *,
const struct confparams *,
rig_ptr_t),
rig_ptr_t data));
extern HAMLIB_EXPORT(int)
rot_ext_level_foreach HAMLIB_PARAMS((ROT *rot,
int (*cfunc)(ROT *,
const struct confparams *,
rig_ptr_t),
rig_ptr_t data));
extern HAMLIB_EXPORT(int)
rot_ext_parm_foreach HAMLIB_PARAMS((ROT *rot,
int (*cfunc)(ROT *,
const struct confparams *,
rig_ptr_t),
rig_ptr_t data));
extern HAMLIB_EXPORT(const struct confparams *)
rot_ext_lookup HAMLIB_PARAMS((ROT *rot,
const char *name));
extern HAMLIB_EXPORT(const struct confparams *)
rot_ext_lookup_tok HAMLIB_PARAMS((ROT *rot,
token_t token));
extern HAMLIB_EXPORT(token_t)
rot_ext_token_lookup HAMLIB_PARAMS((ROT *rot,
const char *name));
extern HAMLIB_EXPORT(const struct rot_caps *)
rot_get_caps HAMLIB_PARAMS((rot_model_t rot_model));
@ -479,17 +775,25 @@ dec2dmmm HAMLIB_PARAMS((double dec,
extern HAMLIB_EXPORT(double)
dmmm2dec HAMLIB_PARAMS((int degrees,
double minutes,
double seconds,
int sw));
extern HAMLIB_EXPORT(setting_t) rot_parse_func(const char *s);
extern HAMLIB_EXPORT(setting_t) rot_parse_level(const char *s);
extern HAMLIB_EXPORT(setting_t) rot_parse_parm(const char *s);
extern HAMLIB_EXPORT(const char *) rot_strfunc(setting_t);
extern HAMLIB_EXPORT(const char *) rot_strlevel(setting_t);
extern HAMLIB_EXPORT(const char *) rot_strparm(setting_t);
extern HAMLIB_EXPORT(const char *) rot_strstatus(rot_status_t);
//! @endcond
/**
* \def rot_debug
* \brief Convenience definition for debug level.
* \def rot_debug
* \brief Convenience macro for generating debugging messages.
*
* This is just as convenience definition of the rotator 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 rot_debug rig_debug

View File

@ -23,8 +23,10 @@
#ifndef _ROTLIST_H
#define _ROTLIST_H 1
//! @cond Doxygen_Suppress
#define ROT_MAKE_MODEL(a,b) ((a)*100+(b))
#define ROT_BACKEND_NUM(a) ((a)/100)
//! @endcond
/**
@ -33,123 +35,151 @@
*/
/**
* \file rotlist.h
* \brief Hamlib rotator model definitions.
* \file rotlist.h
* \brief Hamlib rotator model definitions.
*
* This file contains rotator model definitions for the Hamlib rotator API.
* Each distinct rotator type has a unique model number (ID) and is used by
* hamlib to identify and distinguish between the different hardware drivers.
* The exact model numbers can be acquired using the macros in this file. To
* obtain a list of supported rotator branches, one can use the statically
* defined ROT_BACKEND_LIST macro. To obtain a full list of supported
* rotators (including each model in every branch), the foreach_opened_rot()
* API function can be used.
* This file contains rotator model definitions for the Hamlib rotator
* Application Programming Interface (API). Each distinct rotator type has a
* unique model number (ID) and is used by Hamlib to identify and distinguish
* between the different hardware drivers. The exact model numbers can be
* acquired using the macros in this file. To obtain a list of supported
* rotator branches, one can use the statically defined ROT_BACKEND_LIST macro
* (defined in configure.ac). To obtain a full list of supported rotators
* (including each model in every branch), the foreach_opened_rot() API
* function can be used.
*
* The model number, or ID, is used to tell Hamlib which rotator the client
* whishes to use. It is done with the rot_init() API call.
* The model number, or ID, is used to tell Hamlib which rotator the client
* wishes to use which is done with the rot_init() API call.
*/
/**
* \def ROT_MODEL_NONE
* \brief A macro that returns the model number for an unknown model.
*
* The none backend, as the name suggests, does nothing. It is mainly for
* internal use.
*/
#define ROT_MODEL_NONE 0
/**
* \def ROT_MODEL_DUMMY
* \brief A macro that returns the model number for the dummy backend.
* \brief A macro that returns the model number for the DUMMY backend.
*
* The dummy backend, as the name suggests, is a backend which performs
* no hardware operations and always behaves as one would expect. It can
* be thought of as a hardware simulator and is very usefull for testing
* client applications.
* \def ROT_MODEL_DUMMY
*
* The DUMMY backend, as the name suggests, is a backend which performs
* no hardware operations and always behaves as one would expect. It can
* be thought of as a hardware simulator and is very useful for testing
* client applications.
*/
/**
* \def ROT_MODEL_NETROTCTL
* \brief A macro that returns the model number for the Network backend.
* \brief A macro that returns the model number for the NETROTCTL backend.
*
* This backend allows use of the rotctld daemon through the normal
* Hamlib API.
* \def ROT_MODEL_NETROTCTL
*
* The NETROTCTL backend allows use of the `rotctld` daemon through the normal
* Hamlib API.
*/
//! @cond Doxygen_Suppress
#define ROT_DUMMY 0
#define ROT_BACKEND_DUMMY "dummy"
//! @endcond
#define ROT_MODEL_DUMMY ROT_MAKE_MODEL(ROT_DUMMY, 1)
#define ROT_MODEL_NETROTCTL ROT_MAKE_MODEL(ROT_DUMMY, 2)
/*
* Easycomm
*/
/**
* \def ROT_MODEL_EASYCOMM1
* \brief A macro that returns the model number of the EasyComm 1 backend.
* \brief A macro that returns the model number of the EASYCOMM 1 backend.
*
* The EasyComm 1 backend can be used with rotators that support the
* EASYCOMM I Standard.
* \def ROT_MODEL_EASYCOMM1
*
* The EASYCOMM1 backend can be used with rotators that support the EASYCOMM
* I Standard.
*/
/**
* \def ROT_MODEL_EASYCOMM2
* \brief A macro that returns the model number of the EasyComm 2 backend.
* \brief A macro that returns the model number of the EASYCOMM 2 backend.
*
* The EasyComm 2 backend can be used with rotators that support the
* EASYCOMM II Standard.
* \def ROT_MODEL_EASYCOMM2
*
* The EASYCOMM2 backend can be used with rotators that support the EASYCOMM
* II Standard.
*/
/**
* \brief A macro that returns the model number of the EASYCOMM 3 backend.
*
* \def ROT_MODEL_EASYCOMM3
*
* The EASYCOMM3 backend can be used with rotators that support the EASYCOMM
* III Standard.
*/
//! @cond Doxygen_Suppress
#define ROT_EASYCOMM 2
#define ROT_BACKEND_EASYCOMM "easycomm"
//! @endcond
#define ROT_MODEL_EASYCOMM1 ROT_MAKE_MODEL(ROT_EASYCOMM, 1)
#define ROT_MODEL_EASYCOMM2 ROT_MAKE_MODEL(ROT_EASYCOMM, 2)
#define ROT_MODEL_TRAKBOX ROT_MAKE_MODEL(ROT_EASYCOMM, 3)
#define ROT_MODEL_EASYCOMM3 ROT_MAKE_MODEL(ROT_EASYCOMM, 4)
/**
* \def ROT_MODEL_FODTRACK
* \brief A macro that returns the model number of the Fodtrack backend.
* \brief A macro that returns the model number of the FODTRACK backend.
*
* The Fodtrack backend can be used with rotators that support the
* FODTRACK Standard.
* \def ROT_MODEL_FODTRACK
*
* The FODTRACK backend can be used with rotators that support the FODTRACK
* Standard.
*/
//! @cond Doxygen_Suppress
#define ROT_FODTRACK 3
#define ROT_BACKEND_FODTRACK "fodtrack"
//! @endcond
#define ROT_MODEL_FODTRACK ROT_MAKE_MODEL(ROT_FODTRACK, 1)
/**
* \def ROT_MODEL_ROTOREZ
* \brief A macro that returns the model number of the Rotor-EZ backend.
* \brief A macro that returns the model number of the ROTOREZ backend.
*
* The Rotor-EZ backend can be used with Hy-Gain rotators that support
* the extended DCU command set by Idiom Press Rotor-EZ board.
* \def ROT_MODEL_ROTOREZ
*
* The ROTOREZ backend can be used with Hy-Gain rotators that support the
* extended DCU command set by the Idiom Press Rotor-EZ board.
*/
/**
* \def ROT_MODEL_ROTORCARD
* \brief A macro that returns the model number of the Rotor Card backend.
* \brief A macro that returns the model number of the ROTORCARD backend.
*
* The Rotor-EZ backend can be used with Yaesu rotators that support the
* extended DCU command set by Idiom Press Rotor Card board.
* \def ROT_MODEL_ROTORCARD
*
* The ROTORCARD backend can be used with Yaesu rotators that support the
* extended DCU command set by the Idiom Press Rotor Card board.
*/
/**
* \def ROT_MODEL_DCU
* \brief A macro that returns the model number of the DCU backend.
* \brief A macro that returns the model number of the DCU backend.
*
* The Rotor-EZ backend can be used with rotators that support the DCU
* command set by Hy-Gain (currently the DCU-1).
* \def ROT_MODEL_DCU
*
* The DCU backend can be used with rotators that support the DCU command set
* by Hy-Gain (currently the DCU-1).
*/
/**
* \def ROT_MODEL_ERC
* \brief A macro that returns the model number of the ERC backend.
* \brief A macro that returns the model number of the ERC backend.
*
* The Rotor-EZ backend can be used with rotators that support the DCU
* command set by DF9GR (currently the ERC).
* \def ROT_MODEL_ERC
*
* The ERC backend can be used with rotators that support the DCU command set
* by DF9GR (currently the ERC).
*/
/**
* \def ROT_MODEL_RT21
* \brief A macro that returns the model number of the RT21 backend.
* \brief A macro that returns the model number of the RT21 backend.
*
* The Rotor-EZ backend can be used with rotators that support the DCU
* command set by Green Heron (currently the RT-21).
* \def ROT_MODEL_RT21
*
* The RT21 backend can be used with rotators that support the DCU command set
* by Green Heron (currently the RT-21).
*/
//! @cond Doxygen_Suppress
#define ROT_ROTOREZ 4
#define ROT_BACKEND_ROTOREZ "rotorez"
//! @endcond
#define ROT_MODEL_ROTOREZ ROT_MAKE_MODEL(ROT_ROTOREZ, 1)
#define ROT_MODEL_ROTORCARD ROT_MAKE_MODEL(ROT_ROTOREZ, 2)
#define ROT_MODEL_DCU ROT_MAKE_MODEL(ROT_ROTOREZ, 3)
@ -158,201 +188,441 @@
/**
* \def ROT_MODEL_SARTEK1
* \brief A macro that returns the model number of the SARtek-1 backend.
* \brief A macro that returns the model number of the SARTEK1 backend.
*
* The sartek backend can be used with rotators that support the SARtek
* protocol.
* \def ROT_MODEL_SARTEK1
*
* The SARTEK1 backend can be used with rotators that support the SARtek
* protocol.
*/
//! @cond Doxygen_Suppress
#define ROT_SARTEK 5
#define ROT_BACKEND_SARTEK "sartek"
//! @endcond
#define ROT_MODEL_SARTEK1 ROT_MAKE_MODEL(ROT_SARTEK, 1)
/**
* \def ROT_MODEL_GS232A
* \brief A macro that returns the model number of the GS-232A backend.
* \brief A macro that returns the model number of the GS232A backend.
*
* The GS-232A backend can be used with rotators that support the GS-232A
* protocol.
* \def ROT_MODEL_GS232A
*
* The GS232A backend can be used with rotators that support the GS-232A
* protocol.
*/
/**
* \def ROT_MODEL_GS232
* \brief A macro that returns the model number of the GS-232 backend.
* \brief A macro that returns the model number of the GS232 backend.
*
* The GS-232 backend can be used with rotators that support the GS-232
* protocol.
* \def ROT_MODEL_GS232_GENERIC
*
* The GS232_GENERIC backend can be used with rotators that support the
* generic (even if not coded correctly) GS-232 protocol.
*/
/**
* \def ROT_MODEL_GS232B
* \brief A macro that returns the model number of the GS-232B backend.
* \brief A macro that returns the model number of the GS232B backend.
*
* The GS-232B backend can be used with rotators that support the GS-232B
* protocol.
* \def ROT_MODEL_GS232B
*
* The GS232B backend can be used with rotators that support the GS232B
* protocol.
*/
/**
* \def ROT_MODEL_F1TETRACKER
* \brief A macro that returns the model number of the F1TETRACKER backend.
* \brief A macro that returns the model number of the F1TETRACKER backend.
*
* The F1TETRACKER backend can be used with rotators that support the
* F1TETRACKER protocol.
* \def ROT_MODEL_F1TETRACKER
*
* The F1TETRACKER backend can be used with rotators that support the F1TE
* Tracker protocol.
*/
/**
* \brief A macro that returns the model number of the GS23 backend.
*
* \def ROT_MODEL_GS23
*
* The GS23 backend can be used with rotators that support the GS-23 protocol.
*/
/**
* \brief A macro that returns the model number of the GS232 backend.
*
* \def ROT_MODEL_GS232
*
* The GS232 backend can be used with rotators that support the GS-232
* protocol.
*/
/**
* \brief A macro that returns the model number of the LVB backend.
*
* \def ROT_MODEL_LVB
*
* The LVB backend can be used with rotators that support the G6LVB AMSAT LVB
* Tracker GS-232 based protocol.
*/
/**
* \brief A macro that returns the model number of the ST2 backend.
*
* \def ROT_MODEL_ST2
*
* The ST2 backend can be used with rotators that support the Fox Delta ST2
* GS-232 based protocol.
*/
/**
* \brief A macro that returns the model number of the GS232A_AZ Azimuth backend.
*
* \def ROT_MODEL_GS232A_AZ
*
* The GS232A_AZ backend can be used with azimuth rotators that support the
* GS-232A protocol.
*/
/**
* \brief A macro that returns the model number of the GS232A_EL Elevation backend.
*
* \def ROT_MODEL_GS232A_EL
*
* The GS232A_EL backend can be used with elevation rotators that support the
* GS-232A protocol.
*/
/**
* \brief A macro that returns the model number of the GS232B_AZ Azimuth backend.
*
* \def ROT_MODEL_GS232B_AZ
*
* The GS232B_AZ backend can be used with azimuth rotators that support the
* GS-232B protocol.
*/
/**
* \brief A macro that returns the model number of the GS232B_EL Elevation backend.
*
* \def ROT_MODEL_GS232B_EL
*
* The GS232B_EL backend can be used with elevation rotators that support the
* GS-232B protocol.
*/
//! @cond Doxygen_Suppress
#define ROT_GS232A 6
#define ROT_BACKEND_GS232A "gs232a"
//! @endcond
#define ROT_MODEL_GS232A ROT_MAKE_MODEL(ROT_GS232A, 1)
#define ROT_MODEL_GS232 ROT_MAKE_MODEL(ROT_GS232A, 2) /* Not A or B */
#define ROT_MODEL_GS232_GENERIC ROT_MAKE_MODEL(ROT_GS232A, 2) /* GENERIC */
#define ROT_MODEL_GS232B ROT_MAKE_MODEL(ROT_GS232A, 3)
#define ROT_MODEL_F1TETRACKER ROT_MAKE_MODEL(ROT_GS232A, 4)
#define ROT_MODEL_GS23 ROT_MAKE_MODEL(ROT_GS232A, 5)
#define ROT_MODEL_GS232 ROT_MAKE_MODEL(ROT_GS232A, 6) /* Not A or B */
#define ROT_MODEL_LVB ROT_MAKE_MODEL(ROT_GS232A, 7)
#define ROT_MODEL_ST2 ROT_MAKE_MODEL(ROT_GS232A, 8)
#define ROT_MODEL_GS232A_AZ ROT_MAKE_MODEL(ROT_GS232A, 9)
#define ROT_MODEL_GS232A_EL ROT_MAKE_MODEL(ROT_GS232A, 10)
#define ROT_MODEL_GS232B_AZ ROT_MAKE_MODEL(ROT_GS232A, 11)
#define ROT_MODEL_GS232B_EL ROT_MAKE_MODEL(ROT_GS232A, 12)
/**
* \def ROT_MODEL_PCROTOR
* \brief A macro that returns the model number of the PcRotor/WA6UFQ backend.
* \brief A macro that returns the model number of the PCROTOR backend.
*
* The kit backend can be used with home brewed rotators.
* \def ROT_MODEL_PCROTOR
*
* The PCROTOR backend is a member of the kit backend group that can be used
* with home brewed rotators.
*/
//! @cond Doxygen_Suppress
#define ROT_KIT 7
#define ROT_BACKEND_KIT "kit"
//! @endcond
#define ROT_MODEL_PCROTOR ROT_MAKE_MODEL(ROT_KIT, 1)
/**
* \def ROT_MODEL_HD1780
* \brief A macro that returns the model number of the HD 1780 backend.
* \brief A macro that returns the model number of the HD1780 backend.
*
* \def ROT_MODEL_HD1780
*
* The HD1780 backend can be used with rotators that support the Heathkit
* HD-1780 protocol.
*/
//! @cond Doxygen_Suppress
#define ROT_HEATHKIT 8
#define ROT_BACKEND_HEATHKIT "heathkit"
//! @endcond
#define ROT_MODEL_HD1780 ROT_MAKE_MODEL(ROT_HEATHKIT, 1)
/**
* \def ROT_MODEL_SPID_ROT2PROG
* \brief A macro that returns the model number of the ROT2PROG backend.
* \brief A macro that returns the model number of the ROT2PROG backend.
*
* The SPID backend can be used with rotators that support the SPID protocol.
* \def ROT_MODEL_SPID_ROT2PROG
*
* The SPID_ROT2PROG backend can be used with rotators that support the SPID
* azimuth and elevation protocol.
*/
/**
* \def ROT_MODEL_SPID_ROT1PROG
* \brief A macro that returns the model number of the ROT1PROG backend.
* \brief A macro that returns the model number of the ROT1PROG backend.
*
* The SPID backend can be used with rotators that support the SPID protocol.
* \def ROT_MODEL_SPID_ROT1PROG
*
* The SPID_ROT1PROG backend can be used with rotators that support the SPID
* azimuth protocol.
*/
/**
* \def ROT_MODEL_SPID_MD01_ROT2PROG
* \brief A macro that returns the model number of the MD-01/02 (ROT2PROG protocol) backend.
* \brief A macro that returns the model number of the SPID_MD01_ROT2PROG backend.
*
* The SPID backend can be used with rotators that support the SPID protocol.
* \def ROT_MODEL_SPID_MD01_ROT2PROG
*
* The SPID_MD01_ROT2PROG backend can be used with rotators that support the
* extended SPID ROT2PROG azimuth and elevation protocol.
*/
//! @cond Doxygen_Suppress
#define ROT_SPID 9
#define ROT_BACKEND_SPID "spid"
//! @endcond
#define ROT_MODEL_SPID_ROT2PROG ROT_MAKE_MODEL(ROT_SPID, 1)
#define ROT_MODEL_SPID_ROT1PROG ROT_MAKE_MODEL(ROT_SPID, 2)
#define ROT_MODEL_SPID_MD01_ROT2PROG ROT_MAKE_MODEL(ROT_SPID, 3)
/**
* \def ROT_MODEL_RC2800
* \brief A macro that returns the model number of the RC2800 backend.
* \brief A macro that returns the model number of the RC2800 backend.
*
* The M2 backend can be used with rotators that support the RC2800 protocol
* and alike.
* \def ROT_MODEL_RC2800
*
* The RC2800 backend can be used with rotators that support the M2 (M
* Squared) RC2800 protocol.
*/
/**
* \brief A macro that returns the model number of the RC2800_EARLY_AZ
* backend.
*
* \def ROT_MODEL_RC2800_EARLY_AZ
*
* The RC2800_EARLY_AZ backend can be used with rotators that support the M2
* (M Squared) RC2800 early azimuth protocol.
*/
/**
* \brief A macro that returns the model number of the RC2800_EARLY_AZEL
* backend.
*
* \def ROT_MODEL_RC2800_EARLY_AZEL
*
* The RC2800_EARLY_AZEL backend can be used with rotators that support the M2
* (M Squared) RC2800 early azimuth and elevation protocol.
*/
//! @cond Doxygen_Suppress
#define ROT_M2 10
#define ROT_BACKEND_M2 "m2"
//! @endcond
#define ROT_MODEL_RC2800 ROT_MAKE_MODEL(ROT_M2, 1)
#define ROT_MODEL_RC2800_EARLY_AZ ROT_MAKE_MODEL(ROT_M2, 2)
#define ROT_MODEL_RC2800_EARLY_AZEL ROT_MAKE_MODEL(ROT_M2, 3)
/**
* \def ROT_MODEL_RCI_AZEL
* \brief A macro that returns the model number of the RCI_AZEL backend.
* \brief A macro that returns the model number of the RCI_AZEL backend.
*
* The ARS backend can be used with rotators that support the ARS protocol.
* \def ROT_MODEL_RCI_AZEL
*
* The RCI_AZEL backend can be used with rotators that support the ARS azimuth
* and elevation protocol.
*/
/**
* \def ROT_MODEL_RCI_AZ
* \brief A macro that returns the model number of the RCI_AZ backend.
* \brief A macro that returns the model number of the RCI_AZ backend.
*
* The ARS backend can be used with rotators that support the ARS protocol.
* \def ROT_MODEL_RCI_AZ
*
* The RCI_AZ backend can be used with rotators that support the ARS azimuth
* protocol.
*/
//! @cond Doxygen_Suppress
#define ROT_ARS 11
#define ROT_BACKEND_ARS "ars"
//! @endcond
#define ROT_MODEL_RCI_AZEL ROT_MAKE_MODEL(ROT_ARS, 1)
#define ROT_MODEL_RCI_AZ ROT_MAKE_MODEL(ROT_ARS, 2)
/**
* \def ROT_MODEL_IF100
* \brief A macro that returns the model number of the IF-100 backend.
* \brief A macro that returns the model number of the IF100 backend.
*
* The AMSAT backend can be used with rotators that support, among other, the
* IF-100 interface.
* \def ROT_MODEL_IF100
*
* The IF100 backend can be used with rotators that support the AMSAT IF-100
* interface.
*/
//! @cond Doxygen_Suppress
#define ROT_AMSAT 12
#define ROT_BACKEND_AMSAT "amsat"
//! @endcond
#define ROT_MODEL_IF100 ROT_MAKE_MODEL(ROT_AMSAT, 1)
/**
* \def ROT_MODEL_TS7400
* \brief A macro that returns the model number of the TS7400 backend.
* \brief A macro that returns the model number of the TS7400 backend.
*
* The TS-7400 backend supports and embedded ARM board using the TS-7400
* Linux board. More information is at http://www.embeddedarm.com
* \def ROT_MODEL_TS7400
*
* The TS7400 backend supports an embedded ARM board using the TS-7400 Linux
* board. More information is at https://www.embeddedarm.com
*/
//! @cond Doxygen_Suppress
#define ROT_TS7400 13
#define ROT_BACKEND_TS7400 "ts7400"
//! @endcond
#define ROT_MODEL_TS7400 ROT_MAKE_MODEL(ROT_TS7400, 1)
/**
* \def ROT_MODEL_NEXSTAR
* \brief A macro that returns the model number of the NEXSTAR backend.
* \brief A macro that returns the model number of the NEXSTAR backend.
*
* The CELESTRON backend can be used with rotators that support the Celestron
* protocol and alike.
* \def ROT_MODEL_NEXSTAR
*
* The NEXSTAR backend can be used with rotators that support the Celestron
* NexStar protocol and alike.
*/
//! @cond Doxygen_Suppress
#define ROT_CELESTRON 14
#define ROT_BACKEND_CELESTRON "celestron"
//! @endcond
#define ROT_MODEL_NEXSTAR ROT_MAKE_MODEL(ROT_CELESTRON, 1)
/**
* \def ROT_MODEL_ETHER6
* \brief A macro that returns the model number of the Ether6 backend.
* \brief A macro that returns the model number of the ETHER6 backend.
*
* The Ether6 backend can be used with rotators that support the Ether6
* protocol and alike.
* \def ROT_MODEL_ETHER6
*
* The ETHER6 backend can be used with rotators that support the Ether6
* protocol.
*/
//! @cond Doxygen_Suppress
#define ROT_ETHER6 15
#define ROT_BACKEND_ETHER6 "ether6"
//! @endcond
#define ROT_MODEL_ETHER6 ROT_MAKE_MODEL(ROT_ETHER6, 1)
/**
* \def ROT_MODEL_CNCTRK
* \brief A macro that returns the model number of the CNCTRK backend.
* \brief A macro that returns the model number of the CNCTRK backend.
*
* The CNCTRK backend can be used with rotators that support the LinuxCNC
* running Axis GUI interface.
* \def ROT_MODEL_CNCTRK
*
* The CNCTRK backend can be used with rotators that support the LinuxCNC
* running Axis GUI interface.
*/
//! @cond Doxygen_Suppress
#define ROT_CNCTRK 16
#define ROT_BACKEND_CNCTRK "cnctrk"
//! @endcond
#define ROT_MODEL_CNCTRK ROT_MAKE_MODEL(ROT_CNCTRK, 1)
/**
* \def ROT_MODEL_PROSISTEL
* \brief A macro that returns the model number of the PROSISTEL backend.
* \brief A macro that returns the model number of the PROSISTEL_D_AZ backend.
*
* \def ROT_MODEL_PROSISTEL_D_AZ
*
* The PROSISTEL_D_AZ backend can be used with rotators that support the Prosistel
* azimuth protocol.
*/
/**
* \brief A macro that returns the model number of the PROSISTEL_D_EL backend.
*
* \def ROT_MODEL_PROSISTEL_D_EL
*
* The PROSISTEL_D_EL backend can be used with rotators that support the Prosistel
* elevation protocol.
*/
/**
* \brief A macro that returns the model number of the
* PROSISTEL_COMBI_TRACK_AZEL backend.
*
* \def ROT_MODEL_PROSISTEL_COMBI_TRACK_AZEL
*
* The PROSISTEL_AZEL_COMBI_TRACK_AZEL backend can be used with rotators that
* support the Prosistel combination azimuth and elevation protocol.
*/
//! @cond Doxygen_Suppress
#define ROT_PROSISTEL 17
#define ROT_BACKEND_PROSISTEL "prosistel"
#define ROT_MODEL_PROSISTEL ROT_MAKE_MODEL(ROT_PROSISTEL, 1)
//! @endcond
#define ROT_MODEL_PROSISTEL_D_AZ ROT_MAKE_MODEL(ROT_PROSISTEL, 1)
#define ROT_MODEL_PROSISTEL_D_EL ROT_MAKE_MODEL(ROT_PROSISTEL, 2)
#define ROT_MODEL_PROSISTEL_COMBI_TRACK_AZEL ROT_MAKE_MODEL(ROT_PROSISTEL, 3)
/**
* \typedef typedef int rot_model_t
* \brief Convenience type definition for rotator model.
* \brief A macro that returns the model number of the MEADE backend.
*
* \def ROT_MODEL_MEADE
*
* The MEADE backend can be used with Meade telescope rotators like the
* DS-2000.
*/
//! @cond Doxygen_Suppress
#define ROT_MEADE 18
#define ROT_BACKEND_MEADE "meade"
//! @endcond
#define ROT_MODEL_MEADE ROT_MAKE_MODEL(ROT_MEADE, 1)
/**
* \brief A macro that returns the model number of the IOPTRON backend.
*
* \def ROT_MODEL_IOPTRON
*
* The IOPTRON backend can be used with IOPTRON telescope mounts.
*/
//! @cond Doxygen_Suppress
#define ROT_IOPTRON 19
#define ROT_BACKEND_IOPTRON "ioptron"
//! @endcond
#define ROT_MODEL_IOPTRON ROT_MAKE_MODEL(ROT_IOPTRON, 1)
/**
* \brief A macro that returns the model number of the INDI backend.
*
* \def ROT_MODEL_INDI
*
* The INDI backend can be used with rotators that support the INDI interface.
*/
//! @cond Doxygen_Suppress
#define ROT_INDI 20
#define ROT_BACKEND_INDI "indi"
//! @endcond
#define ROT_MODEL_INDI ROT_MAKE_MODEL(ROT_INDI, 1)
/**
* \brief A macro that returns the model number of the SATEL backend.
*
* \def ROT_MODEL_SATEL
*
* The SATEL backend can be used with rotators that support the VE5FP
* interface.
*/
//! @cond Doxygen_Suppress
#define ROT_SATEL 21
#define ROT_BACKEND_SATEL "satel"
//! @endcond
#define ROT_MODEL_SATEL ROT_MAKE_MODEL(ROT_SATEL, 1)
/**
* \brief A macro that returns the model number of the RADANT backend.
*
* \def ROT_MODEL_RADANT
*
* The RADANT backend can be used with rotators that support the MS232
* interface.
*/
//! @cond Doxygen_Suppress
#define ROT_RADANT 22
#define ROT_BACKEND_RADANT "radant"
//! @endcond
#define ROT_MODEL_RADANT ROT_MAKE_MODEL(ROT_RADANT, 1)
/**
* \brief Convenience type definition for a rotator model.
*
* \typedef typedef int rot_model_t
*/
typedef int rot_model_t;

Binary file not shown.

View File

@ -112,7 +112,7 @@ void RigThread::run() {
std::cout << "Rig thread starting." << std::endl;
rig = rig_init(rigModel);
strncpy(rig->state.rigport.pathname, rigFile.c_str(), FILPATHLEN - 1);
strncpy(rig->state.rigport.pathname, rigFile.c_str(), HAMLIB_FILPATHLEN - 1);
rig->state.rigport.parm.serial.rate = serialRate;
retcode = rig_open(rig);