Main page
Recent changes
Open interface III
B
I
U
S
link
image
code
list
Show page
Syntax
!Firmware For beginners [Getting Started with Arduino|https://arduino.cc/en/Guide/HomePage] This manual describes the function of the modified firmware from K3NG, which in addition includes: *'''Switch MODE -''' preset board for each mode separately *'''MENU -''' show many actual value and firmware preset *'''Band decoder''' - sniffing CAT or generate own request for read frequency, with BCD (IP in future) output *'''FSK keying''' - RTTY keying from memory button or serial line *'''FSK decode''' - RTTY decode signal generate from PC (EXTFSK) !!Download available on [github|https://github.com/ok1hra/k3ng_cw_keyer] * if install Ethernet module hardware, need copy Ethernet2 library to arduino IDE * and before upload change timeout in Dhcp.h file from{{int beginWithDHCP(uint8_t *, unsigned long timeout = 60000, unsigned long responseTimeout = 5000);}}to{{int beginWithDHCP(uint8_t *, unsigned long timeout = 6000, unsigned long responseTimeout = 5000);}} !!Configure * '''CW keyer''' functionality configure in external files same as in original K3NG code ([manual|https://github.com/k3ng/k3ng_cw_keyer/wiki]) * '''Other function''' configure in master .ino file from line [1198|https://github.com/ok1hra/k3ng_cw_keyer/blob/master/k3ng_keyer/k3ng_keyer.ino#L1198] * how to [upload|https://remoteqth.com/wiki/index.php?page=Open+interface+III#How_to_upload] !!!WinTest Need enable line {{#define OPTION_WINKEY_2_HOST_CLOSE_NO_SERIAL_PORT_RESET}} in file '''keyer_features_and_options_open_interface.h''' [https://remoteqth.com/img/wiki-open-interface-3-wintest.png|noborder] Tested version 4.24.0-DXP !!!N1MM Need enable line {{#define OPTION_WINKEY_2_HOST_CLOSE_NO_SERIAL_PORT_RESET}} in file '''keyer_features_and_options_open_interface.h''' [https://remoteqth.com/img/wiki-open-interface-3-n1mm.png|noborder] Tested version 1.0.6164.0 !!! PTT TRX For TRX you can configure one from three PTT outputs for each mode seperatly * '''PTT1''' - pin 8 on DB25 * '''PTT2''' - pin 20 on DB25 * '''PTT3(mic)''' - pin 22 on DB25 (typicaly for front mic PTT) Firmware configure section: {{ // 1 = pin8 at DB25 | 2 = pin20 at DB25 | 3 = pin22 at DB25 #define PTTmodeCW 1 // [1-3] How PTT TRX output use in mode CW #define PTTmodeSSB 3 // [1-3] How PTT TRX output use in mode SSB #define PTTmodeFSK 1 // [1-3] How PTT TRX output use in mode FSK #define PTTmodeDIGI 2 // [1-3] How PTT TRX output use in mode DIGI(AFSK) }} !!! Sequencer controled four outputs in precise seqenced time # '''SEQUENCER''' - RCA cinch on rear panel # '''PTT-PA''' - RCA cinch on rear panel + pin7 in DB25 # '''PTT-TRX''' - one from three PTT outputs, see previous section {{#define SEQUENCERlead 0 // SEQUENCER output lead delay ms between SEQ-->PA #define SEQUENCERtail 200 // SEQUENCER output tail delay ms : : : PA-->SEQ #define PAlead 10 // PA output lead delay ms between : PA-->TRX : : : #define PAtail 200 // PA output tail delay ms : : : TRX-->PA : #define PTTlead 10 // PTT (FSK) lead delay ms between : : TRX-->FSK : : : #define PTTtail 350 // PTT (FSK) tail delay ms : : : FSK-->TRX : : /* | ^ ^ ^ ^ ^ ^ Master SEQUENCERlead ______| | | | | |_____ SEQUENCERtail for CW PAlead ___________| | | |___________ PAtail tail delay PTTlead ________________| |________________ PTTtail }} [https://remoteqth.com/img/wiki-open-interface-3-11.png|noborder] !!!Ethernet * Enable {{#define ETHERNET_MODULE // enable ETHERNET module (must be installed) EXPERIMENTAL}} * DHCP {{#define __USE_DHCP__ // Uncoment to Enable DHCP}} * Fixed IP{{IPAddress ip(192, 168, 1, 220); // IP IPAddress gateway(192, 168, 1, 200); // GATE IPAddress subnet(255, 255, 255, 0); // MASK IPAddress myDns(8, 8, 8, 8); // DNS (google pub)}} !!!!Incoming UDP command * FSK ASCII {{#define UDP_RTTY_PORT 89 // UDP port listen to RTTY character (FSK mode)}} * Commands {{#define UDP_COMMAND_PORT 88 // UDP port listen to command EXPERIMENTAL! // m:#; - Mode # 0-5 // i:#; - INTERLOCK # 0/1 (on/off) // p:#:%; - PTT # 0/1 (on/off), % 0-3 (0=PTTPA, 1=PTT1, 2=PTT2, 3=PTT3)}} !!!!MQTT {{#define MQTT_PATH "oi3" // Identificator your device in MQTT #define MQTT_PORT 1883 // MQTT broker PORT //#define MQTT_LOGIN // enable MQTT broker login #define MQTT_USER "hra" // MQTT broker user login #define MQTT_PASS "" // MQTT broker password IPAddress server(37, 187, 106, 16); // test.mosquitto.org MQTT broker}} [https://remoteqth.com/img/wiki-open-interface-3-10.png|noborder] !!!Master features {{#define K3NG_KEYER // enable CW keyer #define BAND_DECODER // enable Band decoder #define FSK_TX // enable RTTY keying #define FSK_RX // enable RTTY decoder}} !!!Details {{#define YOUR_CALL "call" #define MODE_AFTER_POWER_UP 4 // MODE after start up #define MENU_AFTER_POWER_UP 7 // MENU after start up #define PCB_REV_3_141 // revision of PCB #define BUTTON_BEEP // Mode button beep enable #define VOLTAGE_MEASURE_ADJUST 0.3 // ofset for precise adjust voltage measure}} !!!Band decoder {{// BAND DECODER Inputs #define SERBAUD2 9600 // [baud] CAT Serial port in/out baudrate #define ICOM_CIV // read frequency from CIV (icom_civ.h) ** you must enabled 'CI-V transceive' in TRX settings ** // #define KENWOOD_PC // RS232 CAT (kenwood_pc.h) // #define YAESU_CAT // RS232 CAT (yaesu_cat.h) YAESU CAT since 2015 ascii format // #define YAESU_CAT_OLD // Old binary format RS232 CAT (yaesu_cat_old.h) <------- ** tested on FT-817 ** // #define INPUT_SERIAL // telnet ascii input - cvs format [band],[freq]\n (serial.h) // #define YAESU_BCD // TTL BCD in A (yaesu_bcd.h) // #define ICOM_ACC // voltage 0-8V on pin? ACC connector - need calibrate // BAND DECODER Outputs #define SERBAUD3 115200 // [baud] CAT Serial port in/out baudrate #define BCD_OUT // output 11-14 relay used as Yaesu BCD // #define ICOM_CIV_OUT // send frequency to CIV ** you must set TRX CIV_ADRESS, and disable ICOM_CIV ** // #define KENWOOD_PC_OUT // send frequency to RS232 CAT ** for operation must disable REQUEST ** // #define YAESU_CAT_OUT // send frequency to RS232 CAT ** for operation must disable REQUEST ** // #define REMOTE_RELAY // TCP/IP remote relay - need install and configure TCP232 module // #define SERIAL_echo // Feedback on serial line in same baudrate, CVS format <[band],[freq]>\n // BAND DECODER Settings #define WATCHDOG // determines the time, after which the BCD output switch to OFF and Frequency to 0 - uncomment for the enabled <------------------- nefunguje v request modu #define REQUEST // use TXD output for sending frequency request, if not detect frequency in sniff mode (Kenwood PC, Yaesu CAT, Yaesu CAT old, Icom CIV) #define CIV_ADRESS 0x56 // CIV input HEX Icom adress (0x is prefix) // #define CIV_ADR_OUT 0x56 // CIV output HEX Icom adress (0x is prefix) char* ANTname[17] = { // Name antennas on LCD "-", "Dipole", // Band 1 "Vertical", // Band 2 "Yagi", // Band 3 "Windom", // Band 4 "DeltaLoop", // Band 5 "20m Stack", // Band 6 "-", // Band 7 "-", // Band 8 "-", // Band 9 "-", // Band 10 "-", // Band 11 "-", // Band 12 "-", // Band 13 "-", // Band 14 "-", // Band 15 "-" // Band 16 };}} **'''Frequency to Band''' rules{{//=====[ Frequency (Hz) to Band rules ]====================================== // you can expand rules up to 16 BCD Bands if (freq >= 1810000 && freq <= 2000000 ) {BAND=1;} // 160m else if (freq >= 3500000 && freq <= 3800000 ) {BAND=2;} // 80m else if (freq >= 7000000 && freq <= 7200000 ) {BAND=3;} // 40m else if (freq >= 10100000 && freq <= 10150000 ) {BAND=4;} // 30m else if (freq >= 14000000 && freq <= 14350000 ) {BAND=5;} // 20m else if (freq >= 18068000 && freq <= 18168000 ) {BAND=6;} // 17m else if (freq >= 21000000 && freq <= 21450000 ) {BAND=7;} // 15m else if (freq >= 24890000 && freq <= 24990000 ) {BAND=8;} // 12m else if (freq >= 28000000 && freq <= 29700000 ) {BAND=9;} // 10m else if (freq >= 50000000 && freq <= 52000000 ) {BAND=10;} // 6m else if (freq >= 144000000 && freq <= 146000000 ) {BAND=11;} // 2m else {BAND=0;} // out of range //=========================================================================== }} **'''BCD Output''' matrix table{{ -------------------------------------------------------------------- Band # to output relay 0 1 2 3 4 5 6 7 8 9 10 (Yaesu BCD) 160 80 40 30 20 17 15 12 10 6m -------------------------------------------------------------------- | | | | | | | | | | | V V V V V V V V V V V */ { 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0 }, /* --> BCD1 */ { 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1 }, /* --> BCD2 */ { 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0 }, /* --> BCD3 */ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1 }, /* --> BCD4 */}; }} !!!FSK (RTTY) {{// Serial2FSK (FSK TX) #define SERBAUD0 115200 // Serial0 in/out baudrate (seria2fsk, ) #define AFSK_ENABLE // AFSK AUDIO (serial2fsk, fsk memory) //#define SERIAL_FSK_TX_ECHO // enable TX echo on serial port //#define SHOW_HIDDEN_FSK_CHAR // show invisible TX characters on LCD #define PTTlead 400 // FSK PTT lead delay ms #define PTTtail 200 // FSK PTT tail delay ms #define MARK 1445 // AFSK mark 1445 / 2295 Hz #define SPACE 1275 // AFSK space 1275 / 2125 Hz #define FMARK HIGH // FSK mark level [LOW/HIGH] #define FSPACE LOW // FSK space level [LOW/HIGH] #define BaudRate 45.45 // RTTY baud rate #define StopBit 1.5 // stop bit long String FSKmemory[3]= { "cq de call call k", // Memory 0 button " call ", // Memory 1 button " 599 15 " // Memory 2 button };}} !!How to upload *Open enclosure (remove screws on lef, right and rear side) *'''Short JP3 jumper''' (enable reset from serial line - DTR) *Upload (signalized green serial converter LED) *'''Open JP3 jumper''' (disable reset) *Close enclosure !!LCD [https://remoteqth.com/img/wiki-open-interface-3-04.png|noborder] *'''First line''' show **TX signal in CW and FSK mode **RX sniffing decode RTTY (lowercase) during keying from PC *'''Second status line''' show **MENU **Source keying **MODE **microSD card icon, if insert or INTERLOCK PTT lock if enable by input !!Modes Modes are switch automaticaly by TRX CAT. Translate table between TRX and OpenInterface mode in firmware. If CAT not available you can change with MODE button on front panel. *|'''CWK''' - CW Keyer by [K3NG|https://blog.radioartisan.com/arduino-cw-keyer/] ** WinKey/CLI emulation ** SOURCE: USB/Serial interface ** INPUTS: Paddle Interlock Encoder Set/Mem_buttons ** OUTPUTS: CW1/2 PTT1/2 *>'''CWD''' - CW Daemon **Keyng from PC ** SOURCE: USB/Serial interface DTR/RTS ** INPUTS: DTR(CW) RTS(PTT) ** OUTPUTS: CW1 PTT1 *|'''SSB''' - SSB ** LSB USB AM FM ** SOURCE: Mic-audio ** INPUTS: FootSwitch RTS ** OUTPUTS: PTT1 *>'''FSK''' - PC FSK keying **RTTY keying from [EXTFSK|https://hamsoft.ca/pages/mmtty/ext-fsk.php] with sniffing and decode signal (lowercase) by [JI3BNB|https://k183.bake-neko.net/ji3bnb/page13.html] / OK1HRA ** SOURCE: USB/Serial interface, Memory0-2_button ** INPUTS: DTR RTS ** OUTPUTS: PTT1 FSK *|'''FSK''' generator by [JI3BNB|https://k183.bake-neko.net/ji3bnb/page13.html] **generator from Serial ASCII ** SOURCE: USB/Serial interface ** INPUTS: ASCII, Memory0-2_button ** OUTPUTS: PTT1 FSK *|'''DIG''' - Audio FSK **AFSK PSK and any modes modulate fom audio ** SOURCE: USB souncard ** INPUTS: RTS(PTT) ** OUTPUTS: PTT
Password
Summary of changes