diff --git a/external/hamlib/32/libhamlib-4.def b/external/hamlib/32/libhamlib-4.def index 1dcb853..50a1cf3 100644 --- a/external/hamlib/32/libhamlib-4.def +++ b/external/hamlib/32/libhamlib-4.def @@ -30,366 +30,379 @@ EXPORTS 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 + cookie_use @32 DATA + debugmsgsave @33 DATA + debugmsgsave2 @34 DATA + debugmsgsave3 @35 DATA + dec2dmmm @36 + dec2dms @37 + distance_long_path @38 + dmmm2dec @39 + dms2dec @40 + dot10ths_to_millis @41 + dump_hex @42 + elapsed_ms @43 + from_bcd @44 + from_bcd_be @45 + get_rig_conf_type @46 + hamlib_copyright @47 DATA + hamlib_copyright2 @48 DATA + hamlib_version @49 DATA + hamlib_version2 @50 DATA + hl_usleep @51 + initamps4_dummy @52 + initamps4_kpa1500 @53 + initrigs4_adat @54 + initrigs4_alinco @55 + initrigs4_aor @56 + initrigs4_barrett @57 + initrigs4_dorji @58 + initrigs4_drake @59 + initrigs4_dummy @60 + initrigs4_elad @61 + initrigs4_flexradio @62 + initrigs4_icm710 @63 + initrigs4_icmarine @64 + initrigs4_icom @65 + initrigs4_jrc @66 + initrigs4_kachina @67 + initrigs4_kenwood @68 + initrigs4_kit @69 + initrigs4_lowe @70 + initrigs4_pcr @71 + initrigs4_prm80 @72 + initrigs4_racal @73 + initrigs4_rft @74 + initrigs4_rs @75 + initrigs4_skanti @76 + initrigs4_tapr @77 + initrigs4_tentec @78 + initrigs4_tuner @79 + initrigs4_uniden @80 + initrigs4_winradio @81 + initrigs4_wj @82 + initrigs4_yaesu @83 + initrots4_amsat @84 + initrots4_ars @85 + initrots4_celestron @86 + initrots4_cnctrk @87 + initrots4_dummy @88 + initrots4_easycomm @89 + initrots4_ether6 @90 + initrots4_fodtrack @91 + initrots4_gs232a @92 + initrots4_heathkit @93 + initrots4_ioptron @94 + initrots4_kit @95 + initrots4_m2 @96 + initrots4_meade @97 + initrots4_prosistel @98 + initrots4_radant @99 + initrots4_rotorez @100 + initrots4_sartek @101 + initrots4_satel @102 + initrots4_spid @103 + initrots4_ts7400 @104 + locator2longlat @105 + longlat2locator @106 + millis_to_dot10ths @107 + morse_code_dot_to_millis @108 + netrigctl_get_vfo_mode @109 + network_multicast_server @110 + par_lock @111 + par_read_control @112 + par_read_data @113 + par_read_status @114 + par_unlock @115 + par_write_control @116 + par_write_data @117 + parse_hoststr @118 + port_close @119 + port_open @120 + print_ext_param @121 + probeallrigs4_adat @122 + probeallrigs4_drake @123 + probeallrigs4_elad @124 + probeallrigs4_icom @125 + probeallrigs4_kenwood @126 + probeallrigs4_lowe @127 + probeallrigs4_uniden @128 + probeallrigs4_yaesu @129 + qrb @130 + read_block @131 + read_string @132 + rig_check_backend @133 + rig_check_cache_timeout @134 + rig_cleanup @135 + rig_close @136 + rig_confparam_lookup @137 + rig_cookie @138 + rig_copyright @139 + rig_debug @140 + rig_ext_func_foreach @141 + rig_ext_level_foreach @142 + rig_ext_lookup @143 + rig_ext_lookup_tok @144 + rig_ext_parm_foreach @145 + rig_ext_token_lookup @146 + rig_flush @147 + rig_force_cache_timeout @148 + rig_get_ant @149 + rig_get_cache @150 + rig_get_cache_timeout_ms @151 + rig_get_caps @152 + rig_get_caps_cptr @153 + rig_get_caps_int @154 + rig_get_chan_all @155 + rig_get_chan_all_cb @156 + rig_get_channel @157 + rig_get_clock @158 + rig_get_conf @159 + rig_get_ctcss_sql @160 + rig_get_ctcss_tone @161 + rig_get_dcd @162 + rig_get_dcs_code @163 + rig_get_dcs_sql @164 + rig_get_ext_func @165 + rig_get_ext_level @166 + rig_get_ext_parm @167 + rig_get_freq @168 + rig_get_func @169 + rig_get_function_ptr @170 + rig_get_info @171 + rig_get_level @172 + rig_get_mem @173 + rig_get_mem_all @174 + rig_get_mem_all_cb @175 + rig_get_mode @176 + rig_get_parm @177 + rig_get_powerstat @178 + rig_get_ptt @179 + rig_get_range @180 + rig_get_resolution @181 + rig_get_rig_info @182 + rig_get_rit @183 + rig_get_rptr_offs @184 + rig_get_rptr_shift @185 + rig_get_split_freq @186 + rig_get_split_freq_mode @187 + rig_get_split_mode @188 + rig_get_split_vfo @189 + rig_get_trn @190 + rig_get_ts @191 + rig_get_twiddle @192 + rig_get_vfo @193 + rig_get_vfo_info @194 + rig_get_vfo_list @195 + rig_get_xit @196 + rig_has_get_func @197 + rig_has_get_level @198 + rig_has_get_parm @199 + rig_has_scan @200 + rig_has_set_func @201 + rig_has_set_level @202 + rig_has_set_parm @203 + rig_has_vfo_op @204 + rig_idx2setting @205 + rig_init @206 + rig_license @207 + rig_list_foreach @208 + rig_list_foreach_model @209 + rig_load_all_backends @210 + rig_load_backend @211 + rig_lookup_mem_caps @212 + rig_mW2power @213 + rig_mem_count @214 + rig_need_debug @215 + rig_no_restore_ai @216 + rig_open @217 + rig_parse_func @218 + rig_parse_level @219 + rig_parse_mode @220 + rig_parse_mtype @221 + rig_parse_parm @222 + rig_parse_rptr_shift @223 + rig_parse_scan @224 + rig_parse_vfo @225 + rig_parse_vfo_op @226 + rig_passband_narrow @227 + rig_passband_normal @228 + rig_passband_wide @229 + rig_power2mW @230 + rig_probe @231 + rig_probe_all @232 + rig_raw2val @233 + rig_raw2val_float @234 + rig_recv_dtmf @235 + rig_register @236 + rig_reset @237 + rig_scan @238 + rig_send_dtmf @239 + rig_send_morse @240 + rig_send_voice_mem @241 + rig_set_ant @242 + rig_set_bank @243 + rig_set_cache_timeout_ms @244 + rig_set_chan_all @245 + rig_set_chan_all_cb @246 + rig_set_channel @247 + rig_set_clock @248 + rig_set_conf @249 + rig_set_ctcss_sql @250 + rig_set_ctcss_tone @251 + rig_set_dcd_callback @252 + rig_set_dcs_code @253 + rig_set_dcs_sql @254 + rig_set_debug @255 + rig_set_debug_callback @256 + rig_set_debug_file @257 + rig_set_debug_time_stamp @258 + rig_set_ext_func @259 + rig_set_ext_level @260 + rig_set_ext_parm @261 + rig_set_freq @262 + rig_set_freq_callback @263 + rig_set_func @264 + rig_set_level @265 + rig_set_mem @266 + rig_set_mem_all @267 + rig_set_mem_all_cb @268 + rig_set_mode @269 + rig_set_mode_callback @270 + rig_set_parm @271 + rig_set_pltune_callback @272 + rig_set_powerstat @273 + rig_set_ptt @274 + rig_set_ptt_callback @275 + rig_set_rit @276 + rig_set_rptr_offs @277 + rig_set_rptr_shift @278 + rig_set_spectrum_callback @279 + rig_set_split_freq @280 + rig_set_split_freq_mode @281 + rig_set_split_mode @282 + rig_set_split_vfo @283 + rig_set_trn @284 + rig_set_ts @285 + rig_set_twiddle @286 + rig_set_uplink @287 + rig_set_vfo @288 + rig_set_vfo_callback @289 + rig_set_vfo_opt @290 + rig_set_xit @291 + rig_setting2idx @292 + rig_sprintf_ant @293 + rig_sprintf_func @294 + rig_sprintf_level @295 + rig_sprintf_level_gran @296 + rig_sprintf_mode @297 + rig_sprintf_parm @298 + rig_sprintf_parm_gran @299 + rig_sprintf_scan @300 + rig_sprintf_spectrum_avg_modes @301 + rig_sprintf_spectrum_modes @302 + rig_sprintf_spectrum_spans @303 + rig_sprintf_vfo @304 + rig_sprintf_vfop @305 + rig_stop_morse @306 + rig_stragclevel @307 + rig_strfunc @308 + rig_strlevel @309 + rig_strmtype @310 + rig_strparm @311 + rig_strptrshift @312 + rig_strrmode @313 + rig_strrmodes @314 + rig_strscan @315 + rig_strspectrummode @316 + rig_strstatus @317 + rig_strvfo @318 + rig_strvfop @319 + rig_token_foreach @320 + rig_token_lookup @321 + rig_unregister @322 + rig_version @323 + rig_vfo_op @324 + rig_wait_morse @325 + rigerror @326 + rot_check_backend @327 + rot_cleanup @328 + rot_close @329 + rot_confparam_lookup @330 + rot_ext_func_foreach @331 + rot_ext_level_foreach @332 + rot_ext_lookup @333 + rot_ext_lookup_tok @334 + rot_ext_parm_foreach @335 + rot_ext_token_lookup @336 + rot_get_caps @337 + rot_get_conf @338 + rot_get_ext_func @339 + rot_get_ext_level @340 + rot_get_ext_parm @341 + rot_get_func @342 + rot_get_info @343 + rot_get_level @344 + rot_get_parm @345 + rot_get_position @346 + rot_get_status @347 + rot_has_get_func @348 + rot_has_get_level @349 + rot_has_get_parm @350 + rot_has_set_func @351 + rot_has_set_level @352 + rot_has_set_parm @353 + rot_init @354 + rot_list_foreach @355 + rot_load_all_backends @356 + rot_load_backend @357 + rot_move @358 + rot_open @359 + rot_park @360 + rot_parse_func @361 + rot_parse_level @362 + rot_parse_parm @363 + rot_probe_all @364 + rot_register @365 + rot_reset @366 + rot_set_conf @367 + rot_set_ext_func @368 + rot_set_ext_level @369 + rot_set_ext_parm @370 + rot_set_func @371 + rot_set_level @372 + rot_set_parm @373 + rot_set_position @374 + rot_sprintf_func @375 + rot_sprintf_level @376 + rot_sprintf_level_gran @377 + rot_sprintf_parm @378 + rot_sprintf_parm_gran @379 + rot_sprintf_status @380 + rot_stop @381 + rot_strfunc @382 + rot_strlevel @383 + rot_strparm @384 + rot_strstatus @385 + rot_token_foreach @386 + rot_token_lookup @387 + rot_unregister @388 + ser_get_car @389 + ser_get_cts @390 + ser_get_dsr @391 + ser_get_dtr @392 + ser_get_rts @393 + ser_set_brk @394 + ser_set_dtr @395 + ser_set_rts @396 + serial_flush @397 + serial_open @398 + serial_setup @399 + sprintf_freq @400 + sprintf_level_ext @401 + sync_callback @402 + to_bcd @403 + to_bcd_be @404 + vfo_fixup @405 + vfo_fixup2a @406 + write_block @407 diff --git a/external/hamlib/32/libhamlib-4.dll b/external/hamlib/32/libhamlib-4.dll index 1d971d4..9879636 100644 Binary files a/external/hamlib/32/libhamlib-4.dll and b/external/hamlib/32/libhamlib-4.dll differ diff --git a/external/hamlib/32/libhamlib-4.exp b/external/hamlib/32/libhamlib-4.exp index 7a15918..81a1f93 100644 Binary files a/external/hamlib/32/libhamlib-4.exp and b/external/hamlib/32/libhamlib-4.exp differ diff --git a/external/hamlib/32/libhamlib-4.lib b/external/hamlib/32/libhamlib-4.lib index de5df36..b71755f 100644 Binary files a/external/hamlib/32/libhamlib-4.lib and b/external/hamlib/32/libhamlib-4.lib differ diff --git a/external/hamlib/64/libhamlib-4.def b/external/hamlib/64/libhamlib-4.def index 1dcb853..50a1cf3 100644 --- a/external/hamlib/64/libhamlib-4.def +++ b/external/hamlib/64/libhamlib-4.def @@ -30,366 +30,379 @@ EXPORTS 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 + cookie_use @32 DATA + debugmsgsave @33 DATA + debugmsgsave2 @34 DATA + debugmsgsave3 @35 DATA + dec2dmmm @36 + dec2dms @37 + distance_long_path @38 + dmmm2dec @39 + dms2dec @40 + dot10ths_to_millis @41 + dump_hex @42 + elapsed_ms @43 + from_bcd @44 + from_bcd_be @45 + get_rig_conf_type @46 + hamlib_copyright @47 DATA + hamlib_copyright2 @48 DATA + hamlib_version @49 DATA + hamlib_version2 @50 DATA + hl_usleep @51 + initamps4_dummy @52 + initamps4_kpa1500 @53 + initrigs4_adat @54 + initrigs4_alinco @55 + initrigs4_aor @56 + initrigs4_barrett @57 + initrigs4_dorji @58 + initrigs4_drake @59 + initrigs4_dummy @60 + initrigs4_elad @61 + initrigs4_flexradio @62 + initrigs4_icm710 @63 + initrigs4_icmarine @64 + initrigs4_icom @65 + initrigs4_jrc @66 + initrigs4_kachina @67 + initrigs4_kenwood @68 + initrigs4_kit @69 + initrigs4_lowe @70 + initrigs4_pcr @71 + initrigs4_prm80 @72 + initrigs4_racal @73 + initrigs4_rft @74 + initrigs4_rs @75 + initrigs4_skanti @76 + initrigs4_tapr @77 + initrigs4_tentec @78 + initrigs4_tuner @79 + initrigs4_uniden @80 + initrigs4_winradio @81 + initrigs4_wj @82 + initrigs4_yaesu @83 + initrots4_amsat @84 + initrots4_ars @85 + initrots4_celestron @86 + initrots4_cnctrk @87 + initrots4_dummy @88 + initrots4_easycomm @89 + initrots4_ether6 @90 + initrots4_fodtrack @91 + initrots4_gs232a @92 + initrots4_heathkit @93 + initrots4_ioptron @94 + initrots4_kit @95 + initrots4_m2 @96 + initrots4_meade @97 + initrots4_prosistel @98 + initrots4_radant @99 + initrots4_rotorez @100 + initrots4_sartek @101 + initrots4_satel @102 + initrots4_spid @103 + initrots4_ts7400 @104 + locator2longlat @105 + longlat2locator @106 + millis_to_dot10ths @107 + morse_code_dot_to_millis @108 + netrigctl_get_vfo_mode @109 + network_multicast_server @110 + par_lock @111 + par_read_control @112 + par_read_data @113 + par_read_status @114 + par_unlock @115 + par_write_control @116 + par_write_data @117 + parse_hoststr @118 + port_close @119 + port_open @120 + print_ext_param @121 + probeallrigs4_adat @122 + probeallrigs4_drake @123 + probeallrigs4_elad @124 + probeallrigs4_icom @125 + probeallrigs4_kenwood @126 + probeallrigs4_lowe @127 + probeallrigs4_uniden @128 + probeallrigs4_yaesu @129 + qrb @130 + read_block @131 + read_string @132 + rig_check_backend @133 + rig_check_cache_timeout @134 + rig_cleanup @135 + rig_close @136 + rig_confparam_lookup @137 + rig_cookie @138 + rig_copyright @139 + rig_debug @140 + rig_ext_func_foreach @141 + rig_ext_level_foreach @142 + rig_ext_lookup @143 + rig_ext_lookup_tok @144 + rig_ext_parm_foreach @145 + rig_ext_token_lookup @146 + rig_flush @147 + rig_force_cache_timeout @148 + rig_get_ant @149 + rig_get_cache @150 + rig_get_cache_timeout_ms @151 + rig_get_caps @152 + rig_get_caps_cptr @153 + rig_get_caps_int @154 + rig_get_chan_all @155 + rig_get_chan_all_cb @156 + rig_get_channel @157 + rig_get_clock @158 + rig_get_conf @159 + rig_get_ctcss_sql @160 + rig_get_ctcss_tone @161 + rig_get_dcd @162 + rig_get_dcs_code @163 + rig_get_dcs_sql @164 + rig_get_ext_func @165 + rig_get_ext_level @166 + rig_get_ext_parm @167 + rig_get_freq @168 + rig_get_func @169 + rig_get_function_ptr @170 + rig_get_info @171 + rig_get_level @172 + rig_get_mem @173 + rig_get_mem_all @174 + rig_get_mem_all_cb @175 + rig_get_mode @176 + rig_get_parm @177 + rig_get_powerstat @178 + rig_get_ptt @179 + rig_get_range @180 + rig_get_resolution @181 + rig_get_rig_info @182 + rig_get_rit @183 + rig_get_rptr_offs @184 + rig_get_rptr_shift @185 + rig_get_split_freq @186 + rig_get_split_freq_mode @187 + rig_get_split_mode @188 + rig_get_split_vfo @189 + rig_get_trn @190 + rig_get_ts @191 + rig_get_twiddle @192 + rig_get_vfo @193 + rig_get_vfo_info @194 + rig_get_vfo_list @195 + rig_get_xit @196 + rig_has_get_func @197 + rig_has_get_level @198 + rig_has_get_parm @199 + rig_has_scan @200 + rig_has_set_func @201 + rig_has_set_level @202 + rig_has_set_parm @203 + rig_has_vfo_op @204 + rig_idx2setting @205 + rig_init @206 + rig_license @207 + rig_list_foreach @208 + rig_list_foreach_model @209 + rig_load_all_backends @210 + rig_load_backend @211 + rig_lookup_mem_caps @212 + rig_mW2power @213 + rig_mem_count @214 + rig_need_debug @215 + rig_no_restore_ai @216 + rig_open @217 + rig_parse_func @218 + rig_parse_level @219 + rig_parse_mode @220 + rig_parse_mtype @221 + rig_parse_parm @222 + rig_parse_rptr_shift @223 + rig_parse_scan @224 + rig_parse_vfo @225 + rig_parse_vfo_op @226 + rig_passband_narrow @227 + rig_passband_normal @228 + rig_passband_wide @229 + rig_power2mW @230 + rig_probe @231 + rig_probe_all @232 + rig_raw2val @233 + rig_raw2val_float @234 + rig_recv_dtmf @235 + rig_register @236 + rig_reset @237 + rig_scan @238 + rig_send_dtmf @239 + rig_send_morse @240 + rig_send_voice_mem @241 + rig_set_ant @242 + rig_set_bank @243 + rig_set_cache_timeout_ms @244 + rig_set_chan_all @245 + rig_set_chan_all_cb @246 + rig_set_channel @247 + rig_set_clock @248 + rig_set_conf @249 + rig_set_ctcss_sql @250 + rig_set_ctcss_tone @251 + rig_set_dcd_callback @252 + rig_set_dcs_code @253 + rig_set_dcs_sql @254 + rig_set_debug @255 + rig_set_debug_callback @256 + rig_set_debug_file @257 + rig_set_debug_time_stamp @258 + rig_set_ext_func @259 + rig_set_ext_level @260 + rig_set_ext_parm @261 + rig_set_freq @262 + rig_set_freq_callback @263 + rig_set_func @264 + rig_set_level @265 + rig_set_mem @266 + rig_set_mem_all @267 + rig_set_mem_all_cb @268 + rig_set_mode @269 + rig_set_mode_callback @270 + rig_set_parm @271 + rig_set_pltune_callback @272 + rig_set_powerstat @273 + rig_set_ptt @274 + rig_set_ptt_callback @275 + rig_set_rit @276 + rig_set_rptr_offs @277 + rig_set_rptr_shift @278 + rig_set_spectrum_callback @279 + rig_set_split_freq @280 + rig_set_split_freq_mode @281 + rig_set_split_mode @282 + rig_set_split_vfo @283 + rig_set_trn @284 + rig_set_ts @285 + rig_set_twiddle @286 + rig_set_uplink @287 + rig_set_vfo @288 + rig_set_vfo_callback @289 + rig_set_vfo_opt @290 + rig_set_xit @291 + rig_setting2idx @292 + rig_sprintf_ant @293 + rig_sprintf_func @294 + rig_sprintf_level @295 + rig_sprintf_level_gran @296 + rig_sprintf_mode @297 + rig_sprintf_parm @298 + rig_sprintf_parm_gran @299 + rig_sprintf_scan @300 + rig_sprintf_spectrum_avg_modes @301 + rig_sprintf_spectrum_modes @302 + rig_sprintf_spectrum_spans @303 + rig_sprintf_vfo @304 + rig_sprintf_vfop @305 + rig_stop_morse @306 + rig_stragclevel @307 + rig_strfunc @308 + rig_strlevel @309 + rig_strmtype @310 + rig_strparm @311 + rig_strptrshift @312 + rig_strrmode @313 + rig_strrmodes @314 + rig_strscan @315 + rig_strspectrummode @316 + rig_strstatus @317 + rig_strvfo @318 + rig_strvfop @319 + rig_token_foreach @320 + rig_token_lookup @321 + rig_unregister @322 + rig_version @323 + rig_vfo_op @324 + rig_wait_morse @325 + rigerror @326 + rot_check_backend @327 + rot_cleanup @328 + rot_close @329 + rot_confparam_lookup @330 + rot_ext_func_foreach @331 + rot_ext_level_foreach @332 + rot_ext_lookup @333 + rot_ext_lookup_tok @334 + rot_ext_parm_foreach @335 + rot_ext_token_lookup @336 + rot_get_caps @337 + rot_get_conf @338 + rot_get_ext_func @339 + rot_get_ext_level @340 + rot_get_ext_parm @341 + rot_get_func @342 + rot_get_info @343 + rot_get_level @344 + rot_get_parm @345 + rot_get_position @346 + rot_get_status @347 + rot_has_get_func @348 + rot_has_get_level @349 + rot_has_get_parm @350 + rot_has_set_func @351 + rot_has_set_level @352 + rot_has_set_parm @353 + rot_init @354 + rot_list_foreach @355 + rot_load_all_backends @356 + rot_load_backend @357 + rot_move @358 + rot_open @359 + rot_park @360 + rot_parse_func @361 + rot_parse_level @362 + rot_parse_parm @363 + rot_probe_all @364 + rot_register @365 + rot_reset @366 + rot_set_conf @367 + rot_set_ext_func @368 + rot_set_ext_level @369 + rot_set_ext_parm @370 + rot_set_func @371 + rot_set_level @372 + rot_set_parm @373 + rot_set_position @374 + rot_sprintf_func @375 + rot_sprintf_level @376 + rot_sprintf_level_gran @377 + rot_sprintf_parm @378 + rot_sprintf_parm_gran @379 + rot_sprintf_status @380 + rot_stop @381 + rot_strfunc @382 + rot_strlevel @383 + rot_strparm @384 + rot_strstatus @385 + rot_token_foreach @386 + rot_token_lookup @387 + rot_unregister @388 + ser_get_car @389 + ser_get_cts @390 + ser_get_dsr @391 + ser_get_dtr @392 + ser_get_rts @393 + ser_set_brk @394 + ser_set_dtr @395 + ser_set_rts @396 + serial_flush @397 + serial_open @398 + serial_setup @399 + sprintf_freq @400 + sprintf_level_ext @401 + sync_callback @402 + to_bcd @403 + to_bcd_be @404 + vfo_fixup @405 + vfo_fixup2a @406 + write_block @407 diff --git a/external/hamlib/64/libhamlib-4.dll b/external/hamlib/64/libhamlib-4.dll index f621c4c..acbfe29 100644 Binary files a/external/hamlib/64/libhamlib-4.dll and b/external/hamlib/64/libhamlib-4.dll differ diff --git a/external/hamlib/64/libhamlib-4.exp b/external/hamlib/64/libhamlib-4.exp index b70075b..e965282 100644 Binary files a/external/hamlib/64/libhamlib-4.exp and b/external/hamlib/64/libhamlib-4.exp differ diff --git a/external/hamlib/64/libhamlib-4.lib b/external/hamlib/64/libhamlib-4.lib index 94180fe..c114fbc 100644 Binary files a/external/hamlib/64/libhamlib-4.lib and b/external/hamlib/64/libhamlib-4.lib differ diff --git a/external/hamlib/Hamlib_deps_on_Windows.txt b/external/hamlib/Hamlib_deps_on_Windows.txt index 763f737..ce12cb2 100644 --- a/external/hamlib/Hamlib_deps_on_Windows.txt +++ b/external/hamlib/Hamlib_deps_on_Windows.txt @@ -7,4 +7,9 @@ and also Those dependencies are installed from external/msvc/[x86|x64] dirs. In addition, Hamlib also uses libusb but since it is a common -dependency with SoapySDR, it is not included in the external dirs. \ No newline at end of file +dependency with SoapySDR, it is not included in the external dirs. + +For Hamlib v4.x releases, only the export file 'libhamlib-4.def' is provided, so we need to re-generate .lib to work on Visual Studio projects: +- Open the 'Developper Command Prompt for VS 2022' +- For Win32, go to hamlib/32 directory and run 'LIB /DEF:libhamlib-4.def /MACHINE:X86' +- For Win64, go to hamlib/64 directory and run 'LIB /DEF:libhamlib-4.def /MACHINE:X64' diff --git a/external/hamlib/hamlib/rig.h b/external/hamlib/hamlib/rig.h index 68014eb..b421184 100644 --- a/external/hamlib/hamlib/rig.h +++ b/external/hamlib/hamlib/rig.h @@ -24,6 +24,7 @@ #ifndef _RIG_H #define _RIG_H 1 +#define TRACE rig_debug(RIG_DEBUG_TRACE,"%s(%d) trace\n", __FILE__, __LINE__) #define __FILENAME__ (strrchr(__FILE__, '/') ? strrchr(__FILE__, '/') + 1 : __FILE__) #include @@ -31,6 +32,9 @@ #include #include #include +#ifndef _WIN32 +#include +#endif /* Rig list is in a separate file so as not to mess up w/ this one */ #include @@ -97,7 +101,7 @@ constant from a constant number literal using ull */ // #define CONSTANT_64BIT_FLAG(BIT) (1 << (BIT)) // #define SWIGLUAHIDE -/* But this appears to have been fixed so we'll use the correct one now +/* But this appears to have been fixed so we'll use the correct one now If you have the older version of SWIG comment out this line and use the two above */ // This 1ul definition works on swig 4.0.1 and lua 5.3.5 @@ -106,6 +110,14 @@ __BEGIN_DECLS +/** + * \brief size of cookie request buffer + * Minimum size of cookie buffer to pass to rig_cookie + */ +// cookie is 26-char time code plus 10-char (2^31-1) random number +#define HAMLIB_COOKIE_SIZE 37 +extern int cookie_use; // this is global as once one client requests it everybody needs to honor it + //! @cond Doxygen_Suppress extern HAMLIB_EXPORT_VAR(const char) hamlib_version[]; extern HAMLIB_EXPORT_VAR(const char) hamlib_copyright[]; @@ -195,6 +207,11 @@ typedef struct s_rig RIG; #define HAMLIB_FLTLSTSIZ 60 /* max mode/filter list size, zero ended */ #define HAMLIB_MAXDBLSTSIZ 8 /* max preamp/att levels supported, zero ended */ #define HAMLIB_CHANLSTSIZ 16 /* max mem_list size, zero ended */ +#define HAMLIB_MAX_AGC_LEVELS 8 /* max AGC levels supported */ +#define HAMLIB_MAX_SPECTRUM_SCOPES 4 /* max number of spectrum scopes supported */ +#define HAMLIB_MAX_SPECTRUM_MODES 5 /* max number of spectrum modes supported */ +#define HAMLIB_MAX_SPECTRUM_AVG_MODES 12 /* max number of spectrum averaging modes supported */ +#define HAMLIB_MAX_SPECTRUM_SPANS 20 /* max number of spectrum modes supported */ #define HAMLIB_MAX_CAL_LENGTH 32 /* max calibration plots in cal_table_t */ #define HAMLIB_MAX_MODES 63 #define HAMLIB_MAX_VFOS 31 @@ -414,7 +431,7 @@ typedef unsigned int vfo_t; /** \brief '' -- used in caps */ -#define RIG_VFO_N(n) ((vfo_t)(1u<<(n))) +#define RIG_VFO_N(n) (1u<<(n)) /** \brief \c VFONone -- vfo unknown */ #define RIG_VFO_NONE 0 @@ -449,6 +466,9 @@ typedef unsigned int vfo_t; /** \brief \c MainC -- alias for MAIN_C */ #define RIG_VFO_MAIN_C RIG_VFO_N(4) +/** \brief \c Other -- alias for OTHER -- e.g. Icom rigs without get_vfo capability */ +#define RIG_VFO_OTHER RIG_VFO_N(5) + /** \brief \c Sub -- alias for SUB */ #define RIG_VFO_SUB RIG_VFO_N(25) @@ -504,6 +524,7 @@ typedef unsigned int vfo_t; #define RIG_TARGETABLE_BANK (1<<9) #define RIG_TARGETABLE_ANT (1<<10) #define RIG_TARGETABLE_ROOFING (1<<11) // roofing filter targetable by VFO +#define RIG_TARGETABLE_SPECTRUM (1<<12) // spectrum scope targetable by VFO #define RIG_TARGETABLE_COMMON (RIG_TARGETABLE_RITXIT | RIG_TARGETABLE_PTT | RIG_TARGETABLE_MEM | RIG_TARGETABLE_BANK) #define RIG_TARGETABLE_ALL 0x7fffffff //! @endcond @@ -759,7 +780,7 @@ typedef enum { /** * \brief Antenna number * \def RIG_ANT_NONE - * No antenna set yet or unknown + * No antenna set yet or unknown */ /** * \brief Antenna conversion macro @@ -920,14 +941,15 @@ typedef uint64_t rig_level_e; #define RIG_LEVEL_MONITOR_GAIN CONSTANT_64BIT_FLAG(37) /*!< \c MONITOR_GAIN -- Monitor gain (level for monitoring of transmitted audio) arg float [0.0 ... 1.0] */ #define RIG_LEVEL_NB CONSTANT_64BIT_FLAG(38) /*!< \c NB -- Noise Blanker level, arg float [0.0 ... 1.0] */ #define RIG_LEVEL_RFPOWER_METER_WATTS CONSTANT_64BIT_FLAG(39) /*!< \c RFPOWER_METER_WATTS -- RF power output meter, arg float [0.0 ... MAX] (output power in watts) */ -#define RIG_LEVEL_40 CONSTANT_64BIT_FLAG(40) /*!< \c Future use */ -#define RIG_LEVEL_41 CONSTANT_64BIT_FLAG(41) /*!< \c Future use */ -#define RIG_LEVEL_42 CONSTANT_64BIT_FLAG(42) /*!< \c Future use */ -#define RIG_LEVEL_43 CONSTANT_64BIT_FLAG(43) /*!< \c Future use */ -#define RIG_LEVEL_44 CONSTANT_64BIT_FLAG(44) /*!< \c Future use */ -#define RIG_LEVEL_45 CONSTANT_64BIT_FLAG(45) /*!< \c Future use */ -#define RIG_LEVEL_46 CONSTANT_64BIT_FLAG(46) /*!< \c Future use */ -#define RIG_LEVEL_47 CONSTANT_64BIT_FLAG(47) /*!< \c Future use */ +#define RIG_LEVEL_SPECTRUM_MODE CONSTANT_64BIT_FLAG(40) /*!< \c SPECTRUM_MODE -- Spectrum scope mode, arg int (see enum rig_spectrum_mode_e). Supported modes defined in rig caps. */ +#define RIG_LEVEL_SPECTRUM_SPAN CONSTANT_64BIT_FLAG(41) /*!< \c SPECTRUM_SPAN -- Spectrum scope span in center mode, arg int (Hz). Supported spans defined in rig caps. */ +#define RIG_LEVEL_SPECTRUM_EDGE_LOW CONSTANT_64BIT_FLAG(42) /*!< \c SPECTRUM_EDGE_LOW -- Spectrum scope low edge in fixed mode, arg int (Hz) */ +#define RIG_LEVEL_SPECTRUM_EDGE_HIGH CONSTANT_64BIT_FLAG(43) /*!< \c SPECTRUM_EDGE_HIGH -- Spectrum scope high edge in fixed mode, arg int (Hz) */ +#define RIG_LEVEL_SPECTRUM_SPEED CONSTANT_64BIT_FLAG(44) /*!< \c SPECTRUM_SPEED -- Spectrum scope update speed, arg int (highest is fastest, define rig-specific granularity) */ +#define RIG_LEVEL_SPECTRUM_REF CONSTANT_64BIT_FLAG(45) /*!< \c SPECTRUM_REF -- Spectrum scope reference display level, arg float (dB, define rig-specific granularity) */ +#define RIG_LEVEL_SPECTRUM_AVG CONSTANT_64BIT_FLAG(46) /*!< \c SPECTRUM_AVG -- Spectrum scope averaging mode, arg int (see struct rig_spectrum_avg_mode). Supported averaging modes defined in rig caps. */ +#define RIG_LEVEL_SPECTRUM_ATT CONSTANT_64BIT_FLAG(47) /*!< \c SPECTRUM_ATT -- Spectrum scope attenuator, arg int (dB). Supported attenuator values defined in rig caps. */ +#define RIG_LEVEL_TEMP_METER CONSTANT_64BIT_FLAG(48) /*!< \c TEMP_METER -- arg int (C, centigrade) */ #define RIG_LEVEL_48 CONSTANT_64BIT_FLAG(48) /*!< \c Future use */ #define RIG_LEVEL_49 CONSTANT_64BIT_FLAG(49) /*!< \c Future use */ #define RIG_LEVEL_50 CONSTANT_64BIT_FLAG(50) /*!< \c Future use */ @@ -946,7 +968,7 @@ typedef uint64_t rig_level_e; #define RIG_LEVEL_63 CONSTANT_64BIT_FLAG(63) /*!< \c Future use */ //! @cond Doxygen_Suppress -#define RIG_LEVEL_FLOAT_LIST (RIG_LEVEL_AF|RIG_LEVEL_RF|RIG_LEVEL_SQL|RIG_LEVEL_APF|RIG_LEVEL_NR|RIG_LEVEL_PBT_IN|RIG_LEVEL_PBT_OUT|RIG_LEVEL_RFPOWER|RIG_LEVEL_MICGAIN|RIG_LEVEL_COMP|RIG_LEVEL_BALANCE|RIG_LEVEL_SWR|RIG_LEVEL_ALC|RIG_LEVEL_VOXGAIN|RIG_LEVEL_ANTIVOX|RIG_LEVEL_RFPOWER_METER|RIG_LEVEL_RFPOWER_METER_WATTS|RIG_LEVEL_COMP_METER|RIG_LEVEL_VD_METER|RIG_LEVEL_ID_METER|RIG_LEVEL_NOTCHF_RAW|RIG_LEVEL_MONITOR_GAIN|RIG_LEVEL_NB) +#define RIG_LEVEL_FLOAT_LIST (RIG_LEVEL_AF|RIG_LEVEL_RF|RIG_LEVEL_SQL|RIG_LEVEL_APF|RIG_LEVEL_NR|RIG_LEVEL_PBT_IN|RIG_LEVEL_PBT_OUT|RIG_LEVEL_RFPOWER|RIG_LEVEL_MICGAIN|RIG_LEVEL_COMP|RIG_LEVEL_BALANCE|RIG_LEVEL_SWR|RIG_LEVEL_ALC|RIG_LEVEL_VOXGAIN|RIG_LEVEL_ANTIVOX|RIG_LEVEL_RFPOWER_METER|RIG_LEVEL_RFPOWER_METER_WATTS|RIG_LEVEL_COMP_METER|RIG_LEVEL_VD_METER|RIG_LEVEL_ID_METER|RIG_LEVEL_NOTCHF_RAW|RIG_LEVEL_MONITOR_GAIN|RIG_LEVEL_NB|RIG_LEVEL_SPECTRUM_REF) #define RIG_LEVEL_READONLY_LIST (RIG_LEVEL_SWR|RIG_LEVEL_ALC|RIG_LEVEL_STRENGTH|RIG_LEVEL_RAWSTR|RIG_LEVEL_RFPOWER_METER|RIG_LEVEL_COMP_METER|RIG_LEVEL_VD_METER|RIG_LEVEL_ID_METER) @@ -975,6 +997,30 @@ enum rig_parm_e { RIG_PARM_SCREENSAVER = (1 << 8) /*!< \c SCREENSAVER -- rig specific timeouts */ }; +/** + * \brief Rig Cookie enumerations + * + * Cookies are used for a client to request exclusive control of the rig until the client releases the cookie + * Cookies will expire after 1 second unless renewed + * Normal flow would be cookie=rig_cookie(NULL, RIG_COOKIE_GET), rig op, rig_cookie(cookie, RIG_COOKIE_RENEW), rig op, etc.... + * + */ +enum cookie_e { + RIG_COOKIE_GET, /*!< Setup a cookie */ + RIG_COOKIE_RELEASE, /*!< Release a cookie */ + RIG_COOKIE_RENEW, /*!< Renew a cookie */ +}; + +/** + * \brief Multicast data items + * 3 different data item can be included in the multicast JSON + */ +enum multicast_item_e { + RIG_MULTICAST_POLL, // hamlib will be polling the rig for all rig items + RIG_MULTICAST_TRANSCEIVE, // transceive will be turned on and processed + RIG_MULTICAST_SPECTRUM // spectrum data will be included +}; + //! @cond Doxygen_Suppress #define RIG_PARM_FLOAT_LIST (RIG_PARM_BACKLIGHT|RIG_PARM_BAT|RIG_PARM_KEYLIGHT) #define RIG_PARM_READONLY_LIST (RIG_PARM_BAT) @@ -998,14 +1044,14 @@ typedef uint64_t setting_t; #define RIG_SETTING_MAX 64 /** - * \brief Tranceive mode + * \brief Transceive mode * The rig notifies the host of any event, like freq changed, mode changed, etc. * \def RIG_TRN_OFF * Turn it off - * \brief Tranceive mode + * \brief Transceive mode * \def RIG_TRN_RIG - * RIG_TRN_RIG means the rig acts asynchrousnly - * \brief Tranceive mode + * RIG_TRN_RIG means the rig acts asynchronously + * \brief Transceive mode * \def RIG_TRN_POLL * RIG_TRN_POLL means we have to poll the rig * @@ -1044,7 +1090,7 @@ typedef uint64_t setting_t; #define RIG_FUNC_ANF CONSTANT_64BIT_FLAG (8) /*!< \c ANF -- Automatic Notch Filter (DSP) */ #define RIG_FUNC_NR CONSTANT_64BIT_FLAG (9) /*!< \c NR -- Noise Reduction (DSP) */ #define RIG_FUNC_AIP CONSTANT_64BIT_FLAG (10) /*!< \c AIP -- RF pre-amp (AIP on Kenwood, IPO on Yaesu, etc.) */ -#define RIG_FUNC_APF CONSTANT_64BIT_FLAG (11) /*!< \c APF -- Auto Passband/Audio Peak Filter */ +#define RIG_FUNC_APF CONSTANT_64BIT_FLAG (11) /*!< \c APF -- Audio Peak Filter */ #define RIG_FUNC_MON CONSTANT_64BIT_FLAG (12) /*!< \c MON -- Monitor transmitted signal */ #define RIG_FUNC_MN CONSTANT_64BIT_FLAG (13) /*!< \c MN -- Manual Notch */ #define RIG_FUNC_RF CONSTANT_64BIT_FLAG (14) /*!< \c RF -- RTTY Filter */ @@ -1077,9 +1123,9 @@ typedef uint64_t setting_t; #define RIG_FUNC_DSQL CONSTANT_64BIT_FLAG (39) /*!< \c DSQL -- Digital modes squelch */ #define RIG_FUNC_SCEN CONSTANT_64BIT_FLAG (40) /*!< \c SCEN -- scrambler/encryption */ #define RIG_FUNC_SLICE CONSTANT_64BIT_FLAG (41) /*!< \c Rig slice selection -- Flex */ -#define RIG_FUNC_BIT42 CONSTANT_64BIT_FLAG (42) /*!< \c available for future RIG_FUNC items */ -#define RIG_FUNC_BIT43 CONSTANT_64BIT_FLAG (43) /*!< \c available for future RIG_FUNC items */ -#define RIG_FUNC_BIT44 CONSTANT_64BIT_FLAG (44) /*!< \c available for future RIG_FUNC items */ +#define RIG_FUNC_TRANSCEIVE CONSTANT_64BIT_FLAG (42) /*!< \c TRANSCEIVE -- Send radio state changes automatically ON/OFF */ +#define RIG_FUNC_SPECTRUM CONSTANT_64BIT_FLAG (43) /*!< \c SPECTRUM -- Spectrum scope data output ON/OFF */ +#define RIG_FUNC_SPECTRUM_HOLD CONSTANT_64BIT_FLAG (44) /*!< \c SPECTRUM_HOLD -- Pause spectrum scope updates ON/OFF */ #define RIG_FUNC_BIT45 CONSTANT_64BIT_FLAG (45) /*!< \c available for future RIG_FUNC items */ #define RIG_FUNC_BIT46 CONSTANT_64BIT_FLAG (46) /*!< \c available for future RIG_FUNC items */ #define RIG_FUNC_BIT47 CONSTANT_64BIT_FLAG (47) /*!< \c available for future RIG_FUNC items */ @@ -1184,8 +1230,8 @@ typedef uint64_t rmode_t; #define RIG_MODE_C4FM CONSTANT_64BIT_FLAG (33) /*!< \c Yaesu C4FM mode */ #define RIG_MODE_PKTFMN CONSTANT_64BIT_FLAG (34) /*!< \c Yaesu DATA-FM-N */ #define RIG_MODE_SPEC CONSTANT_64BIT_FLAG (35) /*!< \c Unfiltered as in PowerSDR */ -#define RIG_MODE_BIT36 CONSTANT_64BIT_FLAG (36) /*!< \c reserved for future expansion */ -#define RIG_MODE_BIT37 CONSTANT_64BIT_FLAG (37) /*!< \c reserved for future expansion */ +#define RIG_MODE_CWN CONSTANT_64BIT_FLAG (36) /*!< \c CWN -- Narrow band CW (FT-736R) */ +#define RIG_MODE_IQ CONSTANT_64BIT_FLAG (37) /*!< \c IQ mode for a couple of kit rigs */ #define RIG_MODE_BIT38 CONSTANT_64BIT_FLAG (38) /*!< \c reserved for future expansion */ #define RIG_MODE_BIT39 CONSTANT_64BIT_FLAG (39) /*!< \c reserved for future expansion */ #define RIG_MODE_BIT40 CONSTANT_64BIT_FLAG (40) /*!< \c reserved for future expansion */ @@ -1580,6 +1626,66 @@ typedef int (* confval_cb_t)(RIG *, rig_ptr_t); //! @endcond +/** + * \brief Spectrum scope + */ +struct rig_spectrum_scope +{ + int id; + char *name; +}; + +/** + * \brief Spectrum scope modes + */ +enum rig_spectrum_mode_e { + RIG_SPECTRUM_MODE_NONE = 0, + RIG_SPECTRUM_MODE_CENTER, /*!< Spectrum scope centered around the VFO frequency */ + RIG_SPECTRUM_MODE_FIXED, /*!< Spectrum scope edge frequencies are fixed */ + RIG_SPECTRUM_MODE_CENTER_SCROLL, /*!< Spectrum scope edge frequencies are fixed, but identical to what the center mode would use. Scrolling is enabled. */ + RIG_SPECTRUM_MODE_FIXED_SCROLL, /*!< Spectrum scope edge frequencies are fixed with scrolling enabled */ +}; + +/** + * \brief Spectrum scope averaging modes + */ +struct rig_spectrum_avg_mode +{ + int id; + char *name; +}; + +/** + * \brief Represents a single line of rig spectrum scope FFT data. + * + * The data levels specify the range of the spectrum scope FFT data. + * The minimum level should represent the lowest numeric value and the lowest signal level in dB. + * The maximum level should represent the highest numeric value and the highest signal level in dB. + * The data level values are assumed to represent the dB strength scale in a linear way. + * + * Note that the data level and signal strength ranges may change depending on the settings of the rig. + * At least on Kenwood the sub-scope provides different kind of data compared to the main scope. + */ +struct rig_spectrum_line +{ + int id; /*!< Numeric ID of the spectrum scope data stream identifying the VFO/receiver. First ID is zero. Rigs with multiple scopes usually have identifiers, such as 0 = Main, 1 = Sub. */ + + int data_level_min; /*!< The numeric value that represents the minimum signal level. */ + int data_level_max; /*!< The numeric value that represents the maximum signal level. */ + double signal_strength_min; /*!< The strength of the minimum signal level in dB. */ + double signal_strength_max; /*!< The strength of the maximum signal level in dB. */ + + enum rig_spectrum_mode_e spectrum_mode; /*!< Spectrum mode. */ + + freq_t center_freq; /*!< Center frequency of the spectrum scope in Hz in RIG_SPECTRUM_CENTER mode. */ + freq_t span_freq; /*!< Span of the spectrum scope in Hz in RIG_SPECTRUM_CENTER mode. */ + + freq_t low_edge_freq; /*!< Low edge frequency of the spectrum scope in Hz in RIG_SPECTRUM_FIXED mode. */ + freq_t high_edge_freq; /*!< High edge frequency of the spectrum scope in Hz in RIG_SPECTRUM_FIXED mode. */ + + int spectrum_data_length; /*!< Number of bytes of 8-bit spectrum data in the data buffer. The amount of data may vary if the rig has multiple spectrum scopes, depending on the scope. */ + unsigned char *spectrum_data; /*!< 8-bit spectrum data covering bandwidth of either the span_freq in center mode or from low edge to high edge in fixed mode. A higher value represents higher signal strength. */ +}; /** * \brief Rig data structure. @@ -1646,11 +1752,14 @@ struct rig_caps { tone_t *dcs_list; /*!< DCS code list, zero ended */ int preamp[HAMLIB_MAXDBLSTSIZ]; /*!< Preamp list in dB, 0 terminated */ - int attenuator[HAMLIB_MAXDBLSTSIZ]; /*!< Preamp list in dB, 0 terminated */ + int attenuator[HAMLIB_MAXDBLSTSIZ]; /*!< Attenuator list in dB, 0 terminated */ shortfreq_t max_rit; /*!< max absolute RIT */ shortfreq_t max_xit; /*!< max absolute XIT */ shortfreq_t max_ifshift; /*!< max absolute IF-SHIFT */ + int agc_level_count; /*!< Number of supported AGC levels. Zero indicates all modes should be available (for backwards-compatibility). */ + enum agc_level_e agc_levels[HAMLIB_MAX_AGC_LEVELS]; /*!< Supported AGC levels */ + ann_t announces; /*!< Announces bit field list */ vfo_op_t vfo_ops; /*!< VFO op bit field list */ @@ -1666,7 +1775,7 @@ struct rig_caps { // As of 2020-02-12 we know of 5 models from Icom USA, EUR, ITR, TPE, KOR for the IC-9700 // So we currently have 5 ranges we need to deal with // The backend for the model should fill in the label field to explain what model it is - // The the IC-9700 in ic7300.c for an example + // The the IC-9700 in ic7300.c for an example freq_range_t rx_range_list1[HAMLIB_FRQRANGESIZ]; /*!< Receive frequency range list #1 */ freq_range_t tx_range_list1[HAMLIB_FRQRANGESIZ]; /*!< Transmit frequency range list #1 */ freq_range_t rx_range_list2[HAMLIB_FRQRANGESIZ]; /*!< Receive frequency range list #2 */ @@ -1689,7 +1798,13 @@ struct rig_caps { cal_table_float_t vd_meter_cal; /*!< Voltage meter calibration table */ cal_table_float_t id_meter_cal; /*!< Current draw meter calibration table */ - const struct confparams *cfgparams; /*!< Configuration parametres. */ + struct rig_spectrum_scope spectrum_scopes[HAMLIB_MAX_SPECTRUM_SCOPES]; /*!< Supported spectrum scopes. The array index must match the scope ID. Last entry must have NULL name. */ + enum rig_spectrum_mode_e spectrum_modes[HAMLIB_MAX_SPECTRUM_MODES]; /*!< Supported spectrum scope modes. Last entry must be RIG_SPECTRUM_MODE_NONE. */ + freq_t spectrum_spans[HAMLIB_MAX_SPECTRUM_SPANS]; /*!< Supported spectrum scope frequency spans in Hz in center mode. Last entry must be 0. */ + struct rig_spectrum_avg_mode spectrum_avg_modes[HAMLIB_MAX_SPECTRUM_AVG_MODES]; /*!< Supported spectrum scope averaging modes. Last entry must have NULL name. */ + int spectrum_attenuator[HAMLIB_MAXDBLSTSIZ]; /*!< Spectrum attenuator list in dB, 0 terminated */ + + const struct confparams *cfgparams; /*!< Configuration parameters. */ const rig_ptr_t priv; /*!< Private data. */ /* @@ -1867,6 +1982,8 @@ struct rig_caps { rmode_t *mode, pbwidth_t *width, split_t *split); + int(*set_clock) (RIG *rig, int year, int month, int day, int hour, int min, int sec, double msec, int utc_offset); + int(*get_clock) (RIG *rig, int *year, int *month, int *day, int *hour, int *min, int *sec, double *msec, int *utc_offset); const char *clone_combo_set; /*!< String describing key combination to enter load cloning mode */ const char *clone_combo_get; /*!< String describing key combination to enter save cloning mode */ @@ -1948,7 +2065,6 @@ enum rig_function_e { RIG_FUNCTION_SEND_MORSE, RIG_FUNCTION_STOP_MORSE, RIG_FUNCTION_WAIT_MORSE, - RIG_FUNCTION_SEND_VOICE_MEM, RIG_FUNCTION_SET_BANK, RIG_FUNCTION_SET_MEM, RIG_FUNCTION_GET_MEM, @@ -1964,7 +2080,7 @@ enum rig_function_e { RIG_FUNCTION_GET_CHAN_ALL_CB, RIG_FUNCTION_SET_MEM_ALL_CB, RIG_FUNCTION_GET_MEM_ALL_CB, - RIG_FUNCTION_SET_VFO_OPT + RIG_FUNCTION_SET_VFO_OPT, }; /** @@ -2072,6 +2188,8 @@ typedef struct hamlib_port { int value; /*!< Toggle PTT ON or OFF */ } gpio; /*!< GPIO attributes */ } parm; /*!< Port parameter union */ + int client_port; /*!< client socket port for tcp connection */ + RIG *rig; /*!< our parent RIG device */ } hamlib_port_t; //! @endcond @@ -2083,6 +2201,8 @@ typedef hamlib_port_t port_t; #define HAMLIB_ELAPSED_SET 1 #define HAMLIB_ELAPSED_INVALIDATE 2 +#define HAMLIB_CACHE_ALWAYS -1 /*< value to set cache timeout to always use cache */ + typedef enum { HAMLIB_CACHE_ALL, // to set all cache timeouts at once HAMLIB_CACHE_VFO, @@ -2100,7 +2220,7 @@ typedef enum { /** * \brief Rig cache data - * + * * This struct contains all the items we cache at the highest level */ struct rig_cache { @@ -2114,13 +2234,17 @@ struct rig_cache { // Most rigs have MainA and MainB // Dual VFO rigs can have SubA and SubB too // For dual VFO rigs simplex operations are all done on MainA/MainB -- ergo this abstraction + freq_t freqCurr; // Other VFO + freq_t freqOther; // Other VFO freq_t freqMainA; // VFO_A, VFO_MAIN, and VFO_MAINA freq_t freqMainB; // VFO_B, VFO_SUB, and VFO_MAINB freq_t freqMainC; // VFO_C, VFO_MAINC freq_t freqSubA; // VFO_SUBA -- only for rigs with dual Sub VFOs freq_t freqSubB; // VFO_SUBB -- only for rigs with dual Sub VFOs freq_t freqSubC; // VFO_SUBC -- only for rigs with 3 Sub VFOs - freq_t freqMem; // VFO_MEM -- last MEM channel + freq_t freqMem; // VFO_MEM -- last MEM channel + rmode_t modeCurr; + rmode_t modeOther; rmode_t modeMainA; rmode_t modeMainB; rmode_t modeMainC; @@ -2128,6 +2252,8 @@ struct rig_cache { rmode_t modeSubB; rmode_t modeSubC; rmode_t modeMem; + pbwidth_t widthCurr; // if non-zero then rig has separate width for MainA + pbwidth_t widthOther; // if non-zero then rig has separate width for MainA pbwidth_t widthMainA; // if non-zero then rig has separate width for MainA pbwidth_t widthMainB; // if non-zero then rig has separate width for MainB pbwidth_t widthMainC; // if non-zero then rig has separate width for MainC @@ -2138,6 +2264,8 @@ struct rig_cache { ptt_t ptt; split_t split; vfo_t split_vfo; // split caches two values + struct timespec time_freqCurr; + struct timespec time_freqOther; struct timespec time_freqMainA; struct timespec time_freqMainB; struct timespec time_freqMainC; @@ -2146,6 +2274,8 @@ struct rig_cache { struct timespec time_freqSubC; struct timespec time_freqMem; struct timespec time_vfo; + struct timespec time_modeCurr; + struct timespec time_modeOther; struct timespec time_modeMainA; struct timespec time_modeMainB; struct timespec time_modeMainC; @@ -2153,6 +2283,8 @@ struct rig_cache { struct timespec time_modeSubB; struct timespec time_modeSubC; struct timespec time_modeMem; + struct timespec time_widthCurr; + struct timespec time_widthOther; struct timespec time_widthMainA; struct timespec time_widthMainB; struct timespec time_widthMainC; @@ -2237,7 +2369,7 @@ struct rig_state { pbwidth_t current_width; /*!< Passband width currently set */ vfo_t tx_vfo; /*!< Tx VFO currently set */ rmode_t mode_list; /*!< Complete list of modes for this rig */ - // mode_list is used by some + // mode_list is used by some // so anything added to this structure must be below here int transmit; /*!< rig should be transmitting i.e. hard wired PTT asserted - used by rigs that @@ -2263,6 +2395,7 @@ struct rig_state { unsigned char disable_yaesu_bandselect; /*!< Disables Yaeus band select logic */ int twiddle_rit; /*!< Suppresses VFOB reading (cached value used) so RIT control can be used */ int twiddle_state; /*!< keeps track of twiddle status */ + vfo_t rx_vfo; /*!< Rx VFO currently set */ }; //! @cond Doxygen_Suppress @@ -2281,6 +2414,9 @@ typedef int (*pltune_cb_t)(RIG *, rmode_t *, pbwidth_t *, rig_ptr_t); +typedef int (*spectrum_cb_t)(RIG *, + struct rig_spectrum_line *, + rig_ptr_t); //! @endcond @@ -2314,6 +2450,8 @@ struct rig_callbacks { rig_ptr_t dcd_arg; /*!< DCD change argument */ pltune_cb_t pltune; /*!< Pipeline tuning module freq/mode/width callback */ rig_ptr_t pltune_arg; /*!< Pipeline tuning argument */ + spectrum_cb_t spectrum_event; /*!< Spectrum line reception event */ + rig_ptr_t spectrum_arg; /*!< Spectrum line reception argument */ /* etc.. */ }; @@ -2370,19 +2508,26 @@ rig_get_mode HAMLIB_PARAMS((RIG *rig, rmode_t *mode, pbwidth_t *width)); +#if 0 +#define rig_set_vfo(r,v) rig_set_vfo(r,v,__builtin_FUNCTION()) +extern HAMLIB_EXPORT(int) +rig_set_vfo HAMLIB_PARAMS((RIG *rig, + vfo_t vfo, const char *func)); +#else extern HAMLIB_EXPORT(int) rig_set_vfo HAMLIB_PARAMS((RIG *rig, vfo_t vfo)); +#endif extern HAMLIB_EXPORT(int) rig_get_vfo HAMLIB_PARAMS((RIG *rig, vfo_t *vfo)); extern HAMLIB_EXPORT(int) rig_get_vfo_info HAMLIB_PARAMS((RIG *rig, - vfo_t vfo, - freq_t *freq, - rmode_t *mode, - pbwidth_t *width, + vfo_t vfo, + freq_t *freq, + rmode_t *mode, + pbwidth_t *width, split_t *split, int *satmode)); @@ -2782,30 +2927,30 @@ rig_has_scan HAMLIB_PARAMS((RIG *rig, scan_t scan)); extern HAMLIB_EXPORT(int) -rig_set_channel HAMLIB_PARAMS((RIG *rig, +rig_set_channel HAMLIB_PARAMS((RIG *rig, vfo_t vfo, const channel_t *chan)); /* mem */ extern HAMLIB_EXPORT(int) -rig_get_channel HAMLIB_PARAMS((RIG *rig, +rig_get_channel HAMLIB_PARAMS((RIG *rig, vfo_t vfo, channel_t *chan, int read_only)); extern HAMLIB_EXPORT(int) -rig_set_chan_all HAMLIB_PARAMS((RIG *rig, +rig_set_chan_all HAMLIB_PARAMS((RIG *rig, vfo_t vfo, const channel_t chans[])); extern HAMLIB_EXPORT(int) -rig_get_chan_all HAMLIB_PARAMS((RIG *rig, +rig_get_chan_all HAMLIB_PARAMS((RIG *rig, vfo_t vfo, channel_t chans[])); extern HAMLIB_EXPORT(int) -rig_set_chan_all_cb HAMLIB_PARAMS((RIG *rig, +rig_set_chan_all_cb HAMLIB_PARAMS((RIG *rig, vfo_t vfo, chan_cb_t chan_cb, rig_ptr_t)); extern HAMLIB_EXPORT(int) -rig_get_chan_all_cb HAMLIB_PARAMS((RIG *rig, +rig_get_chan_all_cb HAMLIB_PARAMS((RIG *rig, vfo_t vfo, chan_cb_t chan_cb, rig_ptr_t)); @@ -2817,7 +2962,7 @@ rig_set_mem_all_cb HAMLIB_PARAMS((RIG *rig, confval_cb_t parm_cb, rig_ptr_t)); extern HAMLIB_EXPORT(int) -rig_get_mem_all_cb HAMLIB_PARAMS((RIG *rig, +rig_get_mem_all_cb HAMLIB_PARAMS((RIG *rig, vfo_t vfo, chan_cb_t chan_cb, confval_cb_t parm_cb, @@ -2879,6 +3024,11 @@ rig_set_pltune_callback HAMLIB_PARAMS((RIG *, pltune_cb_t, rig_ptr_t)); +extern HAMLIB_EXPORT(int) +rig_set_spectrum_callback HAMLIB_PARAMS((RIG *, + spectrum_cb_t, + rig_ptr_t)); + extern HAMLIB_EXPORT(int) rig_set_twiddle HAMLIB_PARAMS((RIG *rig, int seconds)); @@ -2999,11 +3149,13 @@ extern HAMLIB_EXPORT(const char *) rig_strvfo(vfo_t vfo); extern HAMLIB_EXPORT(const char *) rig_strfunc(setting_t); extern HAMLIB_EXPORT(const char *) rig_strlevel(setting_t); extern HAMLIB_EXPORT(const char *) rig_strparm(setting_t); +extern HAMLIB_EXPORT(const char *) rig_stragclevel(enum agc_level_e level); extern HAMLIB_EXPORT(const char *) rig_strptrshift(rptr_shift_t); extern HAMLIB_EXPORT(const char *) rig_strvfop(vfo_op_t op); extern HAMLIB_EXPORT(const char *) rig_strscan(scan_t scan); extern HAMLIB_EXPORT(const char *) rig_strstatus(enum rig_status_e status); extern HAMLIB_EXPORT(const char *) rig_strmtype(chan_type_t mtype); +extern HAMLIB_EXPORT(const char *) rig_strspectrummode(enum rig_spectrum_mode_e mode); extern HAMLIB_EXPORT(rmode_t) rig_parse_mode(const char *s); extern HAMLIB_EXPORT(vfo_t) rig_parse_vfo(const char *s); @@ -3029,10 +3181,14 @@ extern HAMLIB_EXPORT(int) rig_get_vfo_info(RIG *rig, vfo_t vfo, freq_t *freq, rm extern HAMLIB_EXPORT(int) rig_get_rig_info(RIG *rig, char *response, int max_response_len); extern HAMLIB_EXPORT(int) rig_get_cache(RIG *rig, vfo_t vfo, freq_t *freq, int * cache_ms_freq, rmode_t *mode, int *cache_ms_mode, pbwidth_t *width, int *cache_ms_width); +extern HAMLIB_EXPORT(int) rig_set_clock(RIG *rig, int year, int month, int day, int hour, int min, int sec, double msec, int utc_offset); +extern HAMLIB_EXPORT(int) rig_get_clock(RIG *rig, int *year, int *month, int *day, int *hour, int *min, int *sec, double *msec, int *utc_offset); typedef unsigned long rig_useconds_t; extern HAMLIB_EXPORT(int) hl_usleep(rig_useconds_t msec); +extern HAMLIB_EXPORT(int) rig_cookie(RIG *rig, enum cookie_e cookie_cmd, char *cookie, int cookie_len); + //! @endcond __END_DECLS diff --git a/external/hamlib/hamlib/riglist.h b/external/hamlib/hamlib/riglist.h index 1aeac09..e4d6316 100644 --- a/external/hamlib/hamlib/riglist.h +++ b/external/hamlib/hamlib/riglist.h @@ -70,6 +70,7 @@ #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) +#define RIG_MODEL_TCI1X RIG_MAKE_MODEL(RIG_DUMMY, 7) /* @@ -121,6 +122,7 @@ #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) +#define RIG_MODEL_MCHFQRP RIG_MAKE_MODEL(RIG_YAESU, 45) /* diff --git a/external/hamlib/hamlib/rotator.h b/external/hamlib/hamlib/rotator.h index 1637a36..5174e1e 100644 --- a/external/hamlib/hamlib/rotator.h +++ b/external/hamlib/hamlib/rotator.h @@ -497,6 +497,7 @@ struct rot_state { * non overridable fields, internal use */ hamlib_port_t rotport; /*!< Rotator port (internal use). */ + hamlib_port_t rotport2; /*!< 2nd Rotator port (internal use). */ int comm_state; /*!< Comm port state, i.e. opened or closed. */ rig_ptr_t priv; /*!< Pointer to private rotator state data. */ diff --git a/external/hamlib/hamlib/rotlist.h b/external/hamlib/hamlib/rotlist.h index 939cad5..522d4ac 100644 --- a/external/hamlib/hamlib/rotlist.h +++ b/external/hamlib/hamlib/rotlist.h @@ -619,6 +619,11 @@ #define ROT_MODEL_RADANT ROT_MAKE_MODEL(ROT_RADANT, 1) +#define ROT_ANDROIDSENSOR 23 +#define ROT_BACKEND_ANDROIDSENSOR "androidsensor" +#define ROT_MODEL_ANDROIDSENSOR ROT_MAKE_MODEL(ROT_ANDROIDSENSOR, 1) + + /** * \brief Convenience type definition for a rotator model. *