Elecraft KH1 Programmer's reference

Page 1
!
1!
ELECRAFT!KH1!PROGRAMMER’S!REFERENCE!
! Rev.!A,!!Oct.!20,!2023!! ! !
TABLE&OF&CONTENTS&
!
OVERVIEW!..............................................................................................................................................................!2!
!
COMMAND!LIST!.....................................................................................................................................................!3!
!
CHANGE!HISTORY!................................................................ ................................ ................................ ...................!5!
! !
! &
Page 2
!
2!
OVERVIEW&
! The!KH1!supports!100%!remote!control.!This!feature!is!primarily!intended!for!updating!firmware!and!for! automated!factory!testing!(see!the!Elecraft!KH1!Alignment!Manual!for!manual!procedures).!That!said,!it!could! also!be!used!to!operate!the!radio!using!custom!software,!in!applications!ranging!from!“HF-Pack!Lite”!to! putting!the!KH1!at!an!antenna!feedpoint.! ! KH1!commands!consist!of!one!or!two!letters!followed!by!zero!or!more!parameters.!There!is!some!overlap!with! the!command!sets!from!other!Elecraft!transceivers.!But!in!general!the!KH1!command!set!is!more!limited.! !
COMPUTER&INTERFACE&
! The!KH1!can!be!controlled!through!the!KEY/DATA!jack!using!a!KXUSB!cable!and!a!terminal!emulator!or! software!application.!MENU:KEY(JACK!must!be!set!to!RS232.!The!serial!interface!baud!rate!is!9600b!(fixed).!! ! When!the!KEY/DATA!jack!is!being!used!for!remote!control,!it!is!not!available!for!use!with!a!keyer!paddle!or! hand!key.!However,!there’s!a!host!command!(HK)!that!can!be!used!to!simulate!CW!keying,!as!if!using!a!hand! key.!This!is!used!during!manual!or!factory!alignment!procedures,!but!it!could!be!used!for!CW!transmission,! replacing!the!key!or!keyer!paddle.!The!software!application!would!be!responsible!for!ASCII!to!CW!translation! and/or!could!provide!a!keying!input!device.! !
COMMAND&TYPES&
! There!are!three!categories!of!KH1!remote-control!commands:!UI!emulation,!ID/firmware!load,!and!parametric.! There's!also!a!"help"!command!that!lists!available!commands!in!terse!form!(H).! ! EMULATION:!!The!EN!(encoder),!DS!(display),!HK!(hand!key),!MN!(menu),!and!SW!(switch)!commands!emulate! the!UI,!in!a!manner!that!is!completely!context-dependent,!like!the!panel!controls!themselves.!These! commands!can!be!used!to!access!menu!entries!or!emulate!radio!operation,!in!most!cases!providing!a!way!to! extend!the!radio's!remote!control!capabilities!in!lieu!of!other!specific!parametric!commands.!! ! Examples:!A!GET!of!the!filter!number!could!be!created!using!SW1H;!(bring!up!RCVR!functions)!followed!by! DS1;!(read!line!1!of!the!display).!A!SET!of!filter!number!2!could!be!effected!by!then!sending!SWT2;.!! ! ID/FIRMWARE0LOAD:!!This!group!includes!I!(rig!ID),!LD!(firmware!load),!RV!(firmware!rev.),!and!SN!(serial! number).!!"I;"!returns!"KH1;"!in!the!main!app!(upper!case),!while!the!boot!loader!responds!to!"I"!with!"kh1"! (lower!case).!This!allows!KH1!Utility!to!tell!whether!it's!talking!to!the!boot!loader!or!the!main!app.!"RV;"! returns!"RVnn.nn;"!(firmware!revision).!"LD;"!initiates!firmware!loading!and!is!only!used!by!KH1!utility.!SN!can! be!used!by!anyone!to!get!the!serial!number.!It!is!used!by!the!factory!to!set!the!serial!number,!which!requires!a! non-public!password.! ! PARAMETRIC:!!Commands!such!as!AG!(AF!gain),!MD!(mode),!and!FA!(frequency),!behave!like!similar! commands!on!the!KX2,!KX3,!etc.!In!most!cases!only!SETs!are!provided,!since!the!KH1!doesn't!have!“AI”! capability!(auto-info)!and!is!not!intended!to!support!apps!like!HRD,!etc.!If!required,!a!GET!can!be!simulated!by! using!a!display!read!command!(DS!command).!For!example!the!operating!frequency!could!be!obtained!by! reading!line!1!of!the!LCD.! !
! &
Page 3
!
3!
COMMAND&LIST&
! All!commands!and!responses!are!terminated!by!a!semicolon.! !
AG&(AF&Gain;&SET&only)&
!
FORMAT:!!AGnn;!!where!<nn>!is!00-30! NOTE1:!!The!AF!gain!value!is!stored!separately!for!phones!and!speaker.! NOTE2:!!AF!gain!can!be!incremented/decremented!using!the!ENAU/ENAD!commands.!
!
DS&(Display&Text;&GET/SET)&
!
FORMAT:!!DSls;!!!where:! ! <l>!=!'1'!(line!1,!or!upper!row)!or!'2'!(line!2,!or!lower!row)! ! <s>!=!Up!to!16-char!string!(string!is!returned!for!GET,!and!supplied!for!SET)! NOTE1:!!The!DS!SET!string!is!flashed!for!about!1.5!seconds.!Use!subsequent!DS!SETs!to!keep!the!flashed! string!on!the!display!longer.! NOTE2:!!The!LCD!supports!8!special!characters,!some!of!which!change!depending!on!the!radio's! operational!context.!For!a!GET,!the!host!app!must!translate!these!to!suitable!characters!within!the! host's!display!environment.!For!a!SET,!the!host!app!must!embed!low-hex!ASCII!values!for!special! characters!that!make!sense!in!the!KH1's!context.!List!of!characters!and!contexts!TBD.!
!
EN&(Encoder&Emulation;&SET&only)&
! ! FORMAT:!!ENed;! where:! ! ! <e>!=!encoder:!'A'!(AF!gain)!or!'V'!(VFO)! ! ! <d>!=!direction:!'U'!(up/clockwise)!or!'D'!(down/counter-clockwise)! !
FA&(VFO&Frequency;&SET&only)&
! ! FORMAT:!!FAf;!!where!<f>!is!in!10!Hz!units!(e.g.!1400000!=!14000.00!kHz)! !
H&(Help;&GET&only)&
! ! FORMAT:!!H;! Responds!with!terse!help!information.! !
HK&(Hand-Key&Emulation;&SET&only)&
! ! FORMAT:!!HKm;!!where!!m!==!1!for!key-down,!and!0!for!key-up.!! !
I&(ID;&GET&only)&
! ! FORMAT:!!I;! Responds!with!"KH1;".! ! NOTE:!!If!the!radio!is!in!the!boot!loader,!it!responds!to!"I"!with!"kh1".!! !
LD&(Firmware&Load;&SET&only)&
!
Page 4
!
4!
! FORMAT:!!LD;! !Jumps!to!bo ot!l oader.!! !
MD&(Operating&Mode;&SET&only)&
! ! FORMAT:!!MDn;!!!where!n!=!0!(CW),!1!(LSB),!2!(USB),!4!(RTTY).! ! NOTE:!!In!SSB!modes,!the!KH1!operates!cross-mode!(CW!transmit,!SSB!receive).!SSB!receiving!! ! operarators!hear!the!KH1’s!CW!at!a!700!Hz!pitch.! !
MN&(Menu&Open&by&Name;&SET&only)&
!
FORMAT:!!MNsss;!!!where!!<sss>!is!a!short-form!menu!ID!string.!See!list!below.!The!target!menu!entry! is!unlocked!if!applicable.!The!menu!can!be!exited!by!emulating!a!tap!of!the![x]!field!for!the!given!menu! entry.!In!most!cases!this!is!switch!4,!so:!!“SW4T;”.! NOTE!1:!These!3-characters!ID!strings!are!also!used!to!identify!programmable!switch! functions!in!the!associated!PFn!display!fields.!! NOTE!2:!Some!menu!parameters!can!be!changed!using!the!MP!command!(see!below).!
! ! ID& MENU&ENTRY& ! ! AGC!! ADJ!AGC!V! ! BFO!! ADJ!BFO! ! BIA!! ADJ!BIAS! ! BPF!! ADJ!BPF!! ! MP!command!applies! ! DAT! ADJ!DATE! ! OSC!! ADJ!OSCID! ! PWR!! ADJ!PWR! ! MP!command!applies! ! REF!! ADJ!REF! ! RTC!! ADJ!RTC! ! SMT!! ADJ!SMTR! ! SWR!! ADJ!SWR! ! TIM!! ADJ!TIME! ! WTM!! ADJ!WMTR! ! ATM!! ATU!MODE! ! ATP!! ATU!PARAM! ! DSP!! DISP!MODE! ! EE!!! EE!INIT! ! F/W!! FIRMWARE! ! IAM!! KEY!IAMB! ! PDL!! KEY!JACK! ! WGT!! KEY!WGHT! ! LOG!! LOGGING! ! RPT! MSG!RPT! ! PAN!! PAN!MODE! ! SPN!! PAN!SPAN! ! THR!! PAN!THR! ! PF1!! PF1!FUNC! ! PF2!! PF2!FUNC! ! PF3!! PF3!FUNC!
Page 5
!
5!
! CLR!! RIT!CLEAR! ! S/N!! SERIAL!NR! ! SWT!! SW!TONES! ! TXT!! TEXT!DEC! ! VBT!! VBAT! ! FST!! VFO!FAST! !
MP&(Menu&Parameter;&GET/SET)&
! ! FORMAT:!!MPnnn;!!where!<nnn>!is!a!decimal!value!from!0-999.!! ! This!command!must!be!preceeded!by!an!MN!command!that!opens!an!applicable!! ! entry!(and!unlocks!it!if!required).!These!menu!entries!include!ADJ!BPF!and!ADJ!PWR.! !
RV&(Firmware&Revision;&GET&only)&
! ! FORMAT:!!RV;!!!!Response!format:!"RVxx.xx;".! !
SN&(Serial&Number;&GET&only)&
! !!!!!!! FORMAT:!!!SN;!!!!Response!format:!“SNnnnnn;”.! !
SW&(Switch&Emulation;&SET&only)&
! ! FORMAT:!!SWnt;!!!where:! ! ! <n>!=!'1'-'4'!(regular!pushbutton!switches)!or!'5'-'6'!(encoder!switches)! ! ! <t>!=!'T'!(tap)!or!'H'!(hold)! ! !
CHANGE&HISTORY&
! Rev.!A,!!Oct.!9,!2023:!!Added!MP!command.!
Loading...