Ethernet, web server and Internet linking functionality in beta / development (DEFINEs are in HARDWARE_TEST files only right now)

      #define FEATURE_WEB_SERVER
      #define FEATURE_INTERNET_LINK

      #define OPTION_INTERNET_LINK_NO_UDP_SVC_DURING_KEY_DOWN

      #define FEATURE_ETHERNET_IP {192,168,1,179}                      // default IP address
      #define FEATURE_ETHERNET_MAC {0xDE,0xAD,0xBE,0xEF,0xFE,0xEE}

      #define FEATURE_ETHERNET_GATEWAY {192,168,1,1}                   // default gateway
      #define FEATURE_ETHERNET_SUBNET_MASK {255,255,255,0}                  // default subnet mask
      #define FEATURE_ETHERNET_WEB_LISTENER_PORT 80
      #define FEATURE_UDP_SEND_BUFFER_SIZE 128
      #define FEATURE_UDP_RECEIVE_BUFFER_SIZE 128

      #define FEATURE_INTERNET_LINK_MAX_LINKS 2
      #define FEATURE_INTERNET_LINK_DEFAULT_RCV_UDP_PORT 8888
      #define FEATURE_INTERNET_LINK_BUFFER_TIME_MS 500
pull/22/head
Anthony Good 2016-03-29 21:24:36 -04:00
rodzic 900054ddb4
commit c63234fdb4
10 zmienionych plików z 1840 dodań i 32 usunięć

Plik diff jest za duży Load Diff

Wyświetl plik

@ -32,5 +32,11 @@
// #define DEBUG_OPTION_CW_DECODER_GOERTZEL_AUDIO_DETECTOR
// #define DEBUG_FEATURE_COMPETITION_COMPRESSION_DETECTION
// #define DEBUG_FEATURE_STRAIGHT_KEY_ECHO
// #define DEBUG_UDP
// #define DEBUG_UDP_WRITE
// #define DEBUG_WEB_SERVER
// #define DEBUG_INTERNET_LINKING_RECEIVE
// #define DEBUG_INTERNET_LINKING_SEND
// #define DEBUG_UDP_PACKET_RECEIVE
// #define OPTION_WINKEY_IGNORE_FIRST_STATUS_REQUEST

Wyświetl plik

@ -19,3 +19,11 @@
#define FEATURE_STRAIGHT_KEY_DECODE
#endif
#if defined(FEATURE_WEB_SERVER) || defined(FEATURE_INTERNET_LINK)
#define FEATURE_ETHERNET
#endif
#if defined(FEATURE_INTERNET_LINK)
#define FEATURE_UDP
#endif

Wyświetl plik

@ -8,20 +8,20 @@
// ## ######## ###### ##
#define FEATURE_COMMAND_BUTTONS
// #define FEATURE_COMMAND_BUTTONS
#define FEATURE_COMMAND_LINE_INTERFACE // Command Line Interface functionality
#define FEATURE_MEMORIES // on the Arduino Due, you must have FEATURE_EEPROM_E24C1024 and E24C1024 EEPROM hardware in order to compile this
#define FEATURE_MEMORY_MACROS
// #define FEATURE_WINKEY_EMULATION // disabling Automatic Software Reset is highly recommended (see documentation) (this no longer requires FEATURE_SERIAL)
// #define FEATURE_BEACON
#define FEATURE_CALLSIGN_RECEIVE_PRACTICE
#define FEATURE_POTENTIOMETER // do not enable unless you have a potentiometer connected, otherwise noise will falsely trigger wpm changes
// #define FEATURE_CALLSIGN_RECEIVE_PRACTICE
// #define FEATURE_POTENTIOMETER // do not enable unless you have a potentiometer connected, otherwise noise will falsely trigger wpm changes
#define FEATURE_SERIAL_HELP
// #define FEATURE_HELL
// #define FEATURE_PS2_KEYBOARD // Use a PS2 keyboard to send code - Change keyboard layout (non-US) in K3NG_PS2Keyboard.h. Additional options below.
// #define FEATURE_USB_KEYBOARD // Use a USB keyboard to send code - Uncomment three lines in k3ng_keyer.ino (search for note_usb_uncomment_lines)
// #define FEATURE_CW_COMPUTER_KEYBOARD // Have an Arduino Due or Leonardo act as a USB HID (Human Interface Device) keyboard and use the paddle to "type" characters on the computer
#define FEATURE_DEAD_OP_WATCHDOG
// #define FEATURE_DEAD_OP_WATCHDOG
// #define FEATURE_AUTOSPACE
#define FEATURE_FARNSWORTH
// #define FEATURE_DL2SBA_BANKSWITCH // Switch memory banks feature as described here: http://dl2sba.com/index.php?option=com_content&view=article&id=131:nanokeyer&catid=15:shack&Itemid=27#english
@ -42,12 +42,14 @@
// #define FEATURE_LED_RING // Mayhew Labs Led Ring support
#define FEATURE_ALPHABET_SEND_PRACTICE // enables command mode S command - created by Ryan, KC2ZWM
// #define FEATURE_PTT_INTERLOCK
#define FEATURE_QLF
// #define FEATURE_QLF
// #define FEATURE_EEPROM_E24C1024
#define FEATURE_STRAIGHT_KEY
// #define FEATURE_STRAIGHT_KEY
// #define FEATURE_DYNAMIC_DAH_TO_DIT_RATIO
#define FEATURE_PADDLE_ECHO
#define FEATURE_STRAIGHT_KEY_ECHO
#define FEATURE_WEB_SERVER
#define FEATURE_INTERNET_LINK
@ -95,6 +97,7 @@
// #define OPTION_PROSIGN_SUPPORT // additional prosign support for paddle and straight key echo on display, CLI, and in memory storage
#define OPTION_RUSSIAN_LANGUAGE_SEND_CLI // Russian language CLI sending support (contributed by Павел Бирюков, UA1AQC)
#define OPTION_DO_NOT_SEND_UNKNOWN_CHAR_QUESTION
// #define OPTION_INTERNET_LINK_NO_UDP_SVC_DURING_KEY_DOWN
// #define FEATURE_COMPETITION_COMPRESSION_DETECTION //(Experimental)

Wyświetl plik

@ -19,7 +19,11 @@
#define tx_key_line_4 0
#define tx_key_line_5 0
#define tx_key_line_6 0
#define sidetone_line 4 // connect a speaker for sidetone
#if !defined(FEATURE_ETHERNET)
#define sidetone_line 4 // connect a speaker for sidetone - (pin 4 is used by Ethernet shield and will conflict with that)
#else
#define sidetone_line 31
#endif
#define potentiometer A0 // Speed potentiometer (0 to 5 V) Use pot from 1k to 10k
#define ptt_tx_1 0 // PTT ("push to talk") lines
#define ptt_tx_2 0 // Can be used for keying fox transmitter, T/R switch, or keying slow boatanchors
@ -40,7 +44,7 @@
//lcd pins
#ifdef FEATURE_LCD_4BIT
#define lcd_rs A2
#define lcd_enable 10
#define lcd_enable 10 // pin 10 is used by Ethernet shield and will conflict with that
#define lcd_d4 6
#define lcd_d5 7
#define lcd_d6 8
@ -50,7 +54,7 @@
#ifdef FEATURE_LCD1602_N07DH
#define lcd_rs 8
#define lcd_enable 9
#define lcd_d4 4
#define lcd_d4 4 // pin 4 is used by Ethernet shield and will conflict with that
#define lcd_d5 5
#define lcd_d6 6
#define lcd_d7 7

Wyświetl plik

@ -159,4 +159,21 @@
#if defined(FEATURE_SLEEP)
#define KEYER_AWAKE_PIN_AWAKE_STATE HIGH
#define KEYER_AWAKE_PIN_ASLEEP_STATE LOW
#endif
#endif
#if defined(FEATURE_ETHERNET)
// #define FEATURE_ETHERNET_IP {192,168,1,178} // default IP address ("192.168.1.178")
// #define FEATURE_ETHERNET_MAC {0xDE,0xAD,0xBE,0xEF,0xFE,0xED}
#define FEATURE_ETHERNET_IP {192,168,1,179} // default IP address ("192.168.1.178")
#define FEATURE_ETHERNET_MAC {0xDE,0xAD,0xBE,0xEF,0xFE,0xEE}
#define FEATURE_ETHERNET_GATEWAY {192,168,1,1} // default gateway
#define FEATURE_ETHERNET_SUBNET_MASK {255,255,255,0} // default subnet mask
#define FEATURE_ETHERNET_WEB_LISTENER_PORT 80
#define FEATURE_UDP_SEND_BUFFER_SIZE 128
#define FEATURE_UDP_RECEIVE_BUFFER_SIZE 128
#endif //FEATURE_ETHERNET
#define FEATURE_INTERNET_LINK_MAX_LINKS 2
#define FEATURE_INTERNET_LINK_DEFAULT_RCV_UDP_PORT 8888
#define FEATURE_INTERNET_LINK_BUFFER_TIME_MS 500

Wyświetl plik

@ -148,3 +148,20 @@
#define KEYER_AWAKE_PIN_AWAKE_STATE HIGH
#define KEYER_AWAKE_PIN_ASLEEP_STATE LOW
#endif
#if defined(FEATURE_ETHERNET)
// #define FEATURE_ETHERNET_IP {192,168,1,178} // default IP address ("192.168.1.178")
// #define FEATURE_ETHERNET_MAC {0xDE,0xAD,0xBE,0xEF,0xFE,0xED}
#define FEATURE_ETHERNET_IP {192,168,1,179} // default IP address ("192.168.1.178")
#define FEATURE_ETHERNET_MAC {0xDE,0xAD,0xBE,0xEF,0xFE,0xEE}
#define FEATURE_ETHERNET_GATEWAY {192,168,1,1} // default gateway
#define FEATURE_ETHERNET_SUBNET_MASK {255,255,255,0} // default subnet mask
#define FEATURE_ETHERNET_WEB_LISTENER_PORT 80
#define FEATURE_UDP_SEND_BUFFER_SIZE 128
#define FEATURE_UDP_RECEIVE_BUFFER_SIZE 128
#endif //FEATURE_ETHERNET
#define FEATURE_INTERNET_LINK_MAX_LINKS 2
#define FEATURE_INTERNET_LINK_DEFAULT_RCV_UDP_PORT 8888
#define FEATURE_INTERNET_LINK_BUFFER_TIME_MS 500

Wyświetl plik

@ -148,3 +148,20 @@
#define KEYER_AWAKE_PIN_AWAKE_STATE HIGH
#define KEYER_AWAKE_PIN_ASLEEP_STATE LOW
#endif
#if defined(FEATURE_ETHERNET)
// #define FEATURE_ETHERNET_IP {192,168,1,178} // default IP address ("192.168.1.178")
// #define FEATURE_ETHERNET_MAC {0xDE,0xAD,0xBE,0xEF,0xFE,0xED}
#define FEATURE_ETHERNET_IP {192,168,1,179} // default IP address ("192.168.1.178")
#define FEATURE_ETHERNET_MAC {0xDE,0xAD,0xBE,0xEF,0xFE,0xEE}
#define FEATURE_ETHERNET_GATEWAY {192,168,1,1} // default gateway
#define FEATURE_ETHERNET_SUBNET_MASK {255,255,255,0} // default subnet mask
#define FEATURE_ETHERNET_WEB_LISTENER_PORT 80
#define FEATURE_UDP_SEND_BUFFER_SIZE 128
#define FEATURE_UDP_RECEIVE_BUFFER_SIZE 128
#endif //FEATURE_ETHERNET
#define FEATURE_INTERNET_LINK_MAX_LINKS 2
#define FEATURE_INTERNET_LINK_DEFAULT_RCV_UDP_PORT 8888
#define FEATURE_INTERNET_LINK_BUFFER_TIME_MS 500

Wyświetl plik

@ -151,3 +151,20 @@
#define KEYER_AWAKE_PIN_AWAKE_STATE HIGH
#define KEYER_AWAKE_PIN_ASLEEP_STATE LOW
#endif
#if defined(FEATURE_ETHERNET)
// #define FEATURE_ETHERNET_IP {192,168,1,178} // default IP address ("192.168.1.178")
// #define FEATURE_ETHERNET_MAC {0xDE,0xAD,0xBE,0xEF,0xFE,0xED}
#define FEATURE_ETHERNET_IP {192,168,1,179} // default IP address ("192.168.1.178")
#define FEATURE_ETHERNET_MAC {0xDE,0xAD,0xBE,0xEF,0xFE,0xEE}
#define FEATURE_ETHERNET_GATEWAY {192,168,1,1} // default gateway
#define FEATURE_ETHERNET_SUBNET_MASK {255,255,255,0} // default subnet mask
#define FEATURE_ETHERNET_WEB_LISTENER_PORT 80
#define FEATURE_UDP_SEND_BUFFER_SIZE 128
#define FEATURE_UDP_RECEIVE_BUFFER_SIZE 128
#endif //FEATURE_ETHERNET
#define FEATURE_INTERNET_LINK_MAX_LINKS 2
#define FEATURE_INTERNET_LINK_DEFAULT_RCV_UDP_PORT 8888
#define FEATURE_INTERNET_LINK_BUFFER_TIME_MS 500

Wyświetl plik

@ -170,6 +170,24 @@
#define KEYER_AWAKE_PIN_ASLEEP_STATE LOW
#endif
#if defined(FEATURE_ETHERNET)
// #define FEATURE_ETHERNET_IP {192,168,1,178} // default IP address ("192.168.1.178")
// #define FEATURE_ETHERNET_MAC {0xDE,0xAD,0xBE,0xEF,0xFE,0xED}
#define FEATURE_ETHERNET_IP {192,168,1,179} // default IP address ("192.168.1.178")
#define FEATURE_ETHERNET_MAC {0xDE,0xAD,0xBE,0xEF,0xFE,0xEE}
#define FEATURE_ETHERNET_GATEWAY {192,168,1,1} // default gateway
#define FEATURE_ETHERNET_SUBNET_MASK {255,255,255,0} // default subnet mask
#define FEATURE_ETHERNET_WEB_LISTENER_PORT 80
#define FEATURE_UDP_SEND_BUFFER_SIZE 128
#define FEATURE_UDP_RECEIVE_BUFFER_SIZE 128
#endif //FEATURE_ETHERNET
#define FEATURE_INTERNET_LINK_MAX_LINKS 2
#define FEATURE_INTERNET_LINK_DEFAULT_RCV_UDP_PORT 8888
#define FEATURE_INTERNET_LINK_BUFFER_TIME_MS 500
// ######## ######## ###### ########
// ## ## ## ## ##