diff --git a/k3ng_keyer/k3ng_keyer.ino b/k3ng_keyer/k3ng_keyer.ino index 7547daf..42302e4 100644 --- a/k3ng_keyer/k3ng_keyer.ino +++ b/k3ng_keyer/k3ng_keyer.ino @@ -1396,7 +1396,10 @@ Recent Update History FEATURE_WINKEY_EMULATION: Now expect three parameters from deprecated Paddle A2D command 2023.10.28.2304 - FEATURE_AUDIOPWMSINEWAVE for Raspberry Pi Pico + FEATURE_AUDIOPWMSINEWAVE for Raspberry Pi Pico + + 2024.02.17.1400 + Fixed issues found by swalberg ( https://github.com/k3ng/k3ng_cw_keyer/commit/e79277672f4c04dfeeef5bfb9c82e384b59f32c4#r134909644 ). Thanks! qwerty @@ -1428,7 +1431,7 @@ If you offer a hardware kit using this software, show your appreciation by sendi */ -#define CODE_VERSION "2023.10.28.2304" +#define CODE_VERSION "2024.02.17.1400" #define eeprom_magic_number 41 // you can change this number to have the unit re-initialize EEPROM @@ -12189,11 +12192,15 @@ void service_winkey(byte action) { #endif //DEBUG_WINKEY winkey_status = WINKEY_NO_COMMAND_IN_PROGRESS; break; - case 0x09: // get cal + case 0x09: // get cal on WK1, unimplemented on WK2, getMajorVersion on WK3 #ifdef DEBUG_WINKEY debug_serial_port->println("service_winkey:ADMIN_CMDgetcal"); #endif //DEBUG_WINKEY - winkey_port_write(WINKEY_RETURN_THIS_FOR_ADMIN_GET_CAL,0); + #if defined(OPTION_WINKEY_2_SUPPORT) + winkey_port_write(WINKEY_RETURN_THIS_FOR_ADMIN_GET_CAL_WK2, 1); // Docs say this should be 0, but this is a hack for compatibility + #else + winkey_port_write(WINKEY_RETURN_THIS_FOR_ADMIN_GET_CAL_WK1, 1); + #endif winkey_status = WINKEY_NO_COMMAND_IN_PROGRESS; break; #ifdef OPTION_WINKEY_2_SUPPORT diff --git a/k3ng_keyer/keyer_settings.h b/k3ng_keyer/keyer_settings.h index 781d833..8443929 100644 --- a/k3ng_keyer/keyer_settings.h +++ b/k3ng_keyer/keyer_settings.h @@ -145,7 +145,8 @@ #define WINKEY_HANG_TIME_1_66 1.66 #define WINKEY_HANG_TIME_2_0 2.0 -#define WINKEY_RETURN_THIS_FOR_ADMIN_GET_CAL 0x16 +#define WINKEY_RETURN_THIS_FOR_ADMIN_GET_CAL_WK1 0x0a +#define WINKEY_RETURN_THIS_FOR_ADMIN_GET_CAL_WK2 0x18 #define WINKEY_RETURN_THIS_FOR_ADMIN_PADDLE_A2D 0xEE #define WINKEY_RETURN_THIS_FOR_ADMIN_SPEED_A2D 0x00 diff --git a/k3ng_keyer/keyer_settings_fk_10.h b/k3ng_keyer/keyer_settings_fk_10.h index 953a000..11e7654 100644 --- a/k3ng_keyer/keyer_settings_fk_10.h +++ b/k3ng_keyer/keyer_settings_fk_10.h @@ -164,7 +164,8 @@ #define WINKEY_HANG_TIME_1_66 1.66 #define WINKEY_HANG_TIME_2_0 2.0 -#define WINKEY_RETURN_THIS_FOR_ADMIN_GET_CAL 0x16 +#define WINKEY_RETURN_THIS_FOR_ADMIN_GET_CAL_WK1 0x0a +#define WINKEY_RETURN_THIS_FOR_ADMIN_GET_CAL_WK2 0x18 #define WINKEY_RETURN_THIS_FOR_ADMIN_PADDLE_A2D 0xEE #define WINKEY_RETURN_THIS_FOR_ADMIN_SPEED_A2D 0x00 diff --git a/k3ng_keyer/keyer_settings_fk_11.h b/k3ng_keyer/keyer_settings_fk_11.h index fa45742..50c5191 100644 --- a/k3ng_keyer/keyer_settings_fk_11.h +++ b/k3ng_keyer/keyer_settings_fk_11.h @@ -145,7 +145,8 @@ #define WINKEY_HANG_TIME_1_66 1.66 #define WINKEY_HANG_TIME_2_0 2.0 -#define WINKEY_RETURN_THIS_FOR_ADMIN_GET_CAL 0x16 +#define WINKEY_RETURN_THIS_FOR_ADMIN_GET_CAL_WK1 0x0a +#define WINKEY_RETURN_THIS_FOR_ADMIN_GET_CAL_WK2 0x18 #define WINKEY_RETURN_THIS_FOR_ADMIN_PADDLE_A2D 0xEE #define WINKEY_RETURN_THIS_FOR_ADMIN_SPEED_A2D 0x00 diff --git a/k3ng_keyer/keyer_settings_generic_STM32F103C.h b/k3ng_keyer/keyer_settings_generic_STM32F103C.h index 43480fa..9d7234e 100644 --- a/k3ng_keyer/keyer_settings_generic_STM32F103C.h +++ b/k3ng_keyer/keyer_settings_generic_STM32F103C.h @@ -151,7 +151,8 @@ GENERIC STM32F103C #define WINKEY_HANG_TIME_1_66 1.66 #define WINKEY_HANG_TIME_2_0 2.0 -#define WINKEY_RETURN_THIS_FOR_ADMIN_GET_CAL 0x16 +#define WINKEY_RETURN_THIS_FOR_ADMIN_GET_CAL_WK1 0x0a +#define WINKEY_RETURN_THIS_FOR_ADMIN_GET_CAL_WK2 0x18 #define WINKEY_RETURN_THIS_FOR_ADMIN_PADDLE_A2D 0xEE #define WINKEY_RETURN_THIS_FOR_ADMIN_SPEED_A2D 0x00 diff --git a/k3ng_keyer/keyer_settings_iz3gme.h b/k3ng_keyer/keyer_settings_iz3gme.h index 98a9173..5a60039 100644 --- a/k3ng_keyer/keyer_settings_iz3gme.h +++ b/k3ng_keyer/keyer_settings_iz3gme.h @@ -143,7 +143,8 @@ #define WINKEY_HANG_TIME_1_66 1.66 #define WINKEY_HANG_TIME_2_0 2.0 -#define WINKEY_RETURN_THIS_FOR_ADMIN_GET_CAL 0x16 +#define WINKEY_RETURN_THIS_FOR_ADMIN_GET_CAL_WK1 0x0a +#define WINKEY_RETURN_THIS_FOR_ADMIN_GET_CAL_WK2 0x18 #define WINKEY_RETURN_THIS_FOR_ADMIN_PADDLE_A2D 0xEE #define WINKEY_RETURN_THIS_FOR_ADMIN_SPEED_A2D 0x00 diff --git a/k3ng_keyer/keyer_settings_k5bcq.h b/k3ng_keyer/keyer_settings_k5bcq.h index 460a8d5..fbd38b2 100644 --- a/k3ng_keyer/keyer_settings_k5bcq.h +++ b/k3ng_keyer/keyer_settings_k5bcq.h @@ -143,7 +143,8 @@ #define WINKEY_HANG_TIME_1_66 1.66 #define WINKEY_HANG_TIME_2_0 2.0 -#define WINKEY_RETURN_THIS_FOR_ADMIN_GET_CAL 0x16 +#define WINKEY_RETURN_THIS_FOR_ADMIN_GET_CAL_WK1 0x0a +#define WINKEY_RETURN_THIS_FOR_ADMIN_GET_CAL_WK2 0x18 #define WINKEY_RETURN_THIS_FOR_ADMIN_PADDLE_A2D 0xEE #define WINKEY_RETURN_THIS_FOR_ADMIN_SPEED_A2D 0x00 diff --git a/k3ng_keyer/keyer_settings_maple_mini.h b/k3ng_keyer/keyer_settings_maple_mini.h index 162861b..f9655cc 100644 --- a/k3ng_keyer/keyer_settings_maple_mini.h +++ b/k3ng_keyer/keyer_settings_maple_mini.h @@ -156,7 +156,8 @@ #define WINKEY_HANG_TIME_1_66 1.66 #define WINKEY_HANG_TIME_2_0 2.0 -#define WINKEY_RETURN_THIS_FOR_ADMIN_GET_CAL 0x16 +#define WINKEY_RETURN_THIS_FOR_ADMIN_GET_CAL_WK1 0x0a +#define WINKEY_RETURN_THIS_FOR_ADMIN_GET_CAL_WK2 0x18 #define WINKEY_RETURN_THIS_FOR_ADMIN_PADDLE_A2D 0xEE #define WINKEY_RETURN_THIS_FOR_ADMIN_SPEED_A2D 0x00 diff --git a/k3ng_keyer/keyer_settings_megakeyer.h b/k3ng_keyer/keyer_settings_megakeyer.h index 143b89a..20d9a6c 100644 --- a/k3ng_keyer/keyer_settings_megakeyer.h +++ b/k3ng_keyer/keyer_settings_megakeyer.h @@ -148,7 +148,8 @@ #define WINKEY_HANG_TIME_1_66 1.66 #define WINKEY_HANG_TIME_2_0 2.0 -#define WINKEY_RETURN_THIS_FOR_ADMIN_GET_CAL 0x16 +#define WINKEY_RETURN_THIS_FOR_ADMIN_GET_CAL_WK1 0x0a +#define WINKEY_RETURN_THIS_FOR_ADMIN_GET_CAL_WK2 0x18 #define WINKEY_RETURN_THIS_FOR_ADMIN_PADDLE_A2D 0xEE #define WINKEY_RETURN_THIS_FOR_ADMIN_SPEED_A2D 0x00 diff --git a/k3ng_keyer/keyer_settings_mortty.h b/k3ng_keyer/keyer_settings_mortty.h index 40736f9..2e064a9 100755 --- a/k3ng_keyer/keyer_settings_mortty.h +++ b/k3ng_keyer/keyer_settings_mortty.h @@ -143,7 +143,8 @@ #define WINKEY_HANG_TIME_1_66 1.66 #define WINKEY_HANG_TIME_2_0 2.0 -#define WINKEY_RETURN_THIS_FOR_ADMIN_GET_CAL 0x16 +#define WINKEY_RETURN_THIS_FOR_ADMIN_GET_CAL_WK1 0x0a +#define WINKEY_RETURN_THIS_FOR_ADMIN_GET_CAL_WK2 0x18 #define WINKEY_RETURN_THIS_FOR_ADMIN_PADDLE_A2D 0xEE #define WINKEY_RETURN_THIS_FOR_ADMIN_SPEED_A2D 0x00 diff --git a/k3ng_keyer/keyer_settings_mortty_pico_over_usb.h b/k3ng_keyer/keyer_settings_mortty_pico_over_usb.h index 1c3b62d..762f002 100644 --- a/k3ng_keyer/keyer_settings_mortty_pico_over_usb.h +++ b/k3ng_keyer/keyer_settings_mortty_pico_over_usb.h @@ -148,7 +148,8 @@ #define WINKEY_HANG_TIME_1_66 1.66 #define WINKEY_HANG_TIME_2_0 2.0 -#define WINKEY_RETURN_THIS_FOR_ADMIN_GET_CAL 0x16 +#define WINKEY_RETURN_THIS_FOR_ADMIN_GET_CAL_WK1 0x0a +#define WINKEY_RETURN_THIS_FOR_ADMIN_GET_CAL_WK2 0x18 #define WINKEY_RETURN_THIS_FOR_ADMIN_PADDLE_A2D 0xEE #define WINKEY_RETURN_THIS_FOR_ADMIN_SPEED_A2D 0x00 diff --git a/k3ng_keyer/keyer_settings_mortty_regular.h b/k3ng_keyer/keyer_settings_mortty_regular.h index 40736f9..2e064a9 100644 --- a/k3ng_keyer/keyer_settings_mortty_regular.h +++ b/k3ng_keyer/keyer_settings_mortty_regular.h @@ -143,7 +143,8 @@ #define WINKEY_HANG_TIME_1_66 1.66 #define WINKEY_HANG_TIME_2_0 2.0 -#define WINKEY_RETURN_THIS_FOR_ADMIN_GET_CAL 0x16 +#define WINKEY_RETURN_THIS_FOR_ADMIN_GET_CAL_WK1 0x0a +#define WINKEY_RETURN_THIS_FOR_ADMIN_GET_CAL_WK2 0x18 #define WINKEY_RETURN_THIS_FOR_ADMIN_PADDLE_A2D 0xEE #define WINKEY_RETURN_THIS_FOR_ADMIN_SPEED_A2D 0x00 diff --git a/k3ng_keyer/keyer_settings_mortty_regular_with_potentiometer.h b/k3ng_keyer/keyer_settings_mortty_regular_with_potentiometer.h index 40736f9..2e064a9 100644 --- a/k3ng_keyer/keyer_settings_mortty_regular_with_potentiometer.h +++ b/k3ng_keyer/keyer_settings_mortty_regular_with_potentiometer.h @@ -143,7 +143,8 @@ #define WINKEY_HANG_TIME_1_66 1.66 #define WINKEY_HANG_TIME_2_0 2.0 -#define WINKEY_RETURN_THIS_FOR_ADMIN_GET_CAL 0x16 +#define WINKEY_RETURN_THIS_FOR_ADMIN_GET_CAL_WK1 0x0a +#define WINKEY_RETURN_THIS_FOR_ADMIN_GET_CAL_WK2 0x18 #define WINKEY_RETURN_THIS_FOR_ADMIN_PADDLE_A2D 0xEE #define WINKEY_RETURN_THIS_FOR_ADMIN_SPEED_A2D 0x00 diff --git a/k3ng_keyer/keyer_settings_mortty_so2r.h b/k3ng_keyer/keyer_settings_mortty_so2r.h index 40736f9..2e064a9 100644 --- a/k3ng_keyer/keyer_settings_mortty_so2r.h +++ b/k3ng_keyer/keyer_settings_mortty_so2r.h @@ -143,7 +143,8 @@ #define WINKEY_HANG_TIME_1_66 1.66 #define WINKEY_HANG_TIME_2_0 2.0 -#define WINKEY_RETURN_THIS_FOR_ADMIN_GET_CAL 0x16 +#define WINKEY_RETURN_THIS_FOR_ADMIN_GET_CAL_WK1 0x0a +#define WINKEY_RETURN_THIS_FOR_ADMIN_GET_CAL_WK2 0x18 #define WINKEY_RETURN_THIS_FOR_ADMIN_PADDLE_A2D 0xEE #define WINKEY_RETURN_THIS_FOR_ADMIN_SPEED_A2D 0x00 diff --git a/k3ng_keyer/keyer_settings_mortty_so2r_with_potentiometer.h b/k3ng_keyer/keyer_settings_mortty_so2r_with_potentiometer.h index 40736f9..2e064a9 100644 --- a/k3ng_keyer/keyer_settings_mortty_so2r_with_potentiometer.h +++ b/k3ng_keyer/keyer_settings_mortty_so2r_with_potentiometer.h @@ -143,7 +143,8 @@ #define WINKEY_HANG_TIME_1_66 1.66 #define WINKEY_HANG_TIME_2_0 2.0 -#define WINKEY_RETURN_THIS_FOR_ADMIN_GET_CAL 0x16 +#define WINKEY_RETURN_THIS_FOR_ADMIN_GET_CAL_WK1 0x0a +#define WINKEY_RETURN_THIS_FOR_ADMIN_GET_CAL_WK2 0x18 #define WINKEY_RETURN_THIS_FOR_ADMIN_PADDLE_A2D 0xEE #define WINKEY_RETURN_THIS_FOR_ADMIN_SPEED_A2D 0x00 diff --git a/k3ng_keyer/keyer_settings_nanokeyer_rev_b.h b/k3ng_keyer/keyer_settings_nanokeyer_rev_b.h index a6b5686..f0f4239 100644 --- a/k3ng_keyer/keyer_settings_nanokeyer_rev_b.h +++ b/k3ng_keyer/keyer_settings_nanokeyer_rev_b.h @@ -143,7 +143,8 @@ #define WINKEY_HANG_TIME_1_66 1.66 #define WINKEY_HANG_TIME_2_0 2.0 -#define WINKEY_RETURN_THIS_FOR_ADMIN_GET_CAL 0x16 +#define WINKEY_RETURN_THIS_FOR_ADMIN_GET_CAL_WK1 0x0a +#define WINKEY_RETURN_THIS_FOR_ADMIN_GET_CAL_WK2 0x18 #define WINKEY_RETURN_THIS_FOR_ADMIN_PADDLE_A2D 0xEE #define WINKEY_RETURN_THIS_FOR_ADMIN_SPEED_A2D 0x00 diff --git a/k3ng_keyer/keyer_settings_nanokeyer_rev_d.h b/k3ng_keyer/keyer_settings_nanokeyer_rev_d.h index 45e1849..e6d5b22 100755 --- a/k3ng_keyer/keyer_settings_nanokeyer_rev_d.h +++ b/k3ng_keyer/keyer_settings_nanokeyer_rev_d.h @@ -143,7 +143,8 @@ #define WINKEY_HANG_TIME_1_66 1.66 #define WINKEY_HANG_TIME_2_0 2.0 -#define WINKEY_RETURN_THIS_FOR_ADMIN_GET_CAL 0x16 +#define WINKEY_RETURN_THIS_FOR_ADMIN_GET_CAL_WK1 0x0a +#define WINKEY_RETURN_THIS_FOR_ADMIN_GET_CAL_WK2 0x18 #define WINKEY_RETURN_THIS_FOR_ADMIN_PADDLE_A2D 0xEE #define WINKEY_RETURN_THIS_FOR_ADMIN_SPEED_A2D 0x00 diff --git a/k3ng_keyer/keyer_settings_open_interface.h b/k3ng_keyer/keyer_settings_open_interface.h index 49936bc..e7c9f9e 100644 --- a/k3ng_keyer/keyer_settings_open_interface.h +++ b/k3ng_keyer/keyer_settings_open_interface.h @@ -145,7 +145,8 @@ #define WINKEY_HANG_TIME_1_66 1.66 #define WINKEY_HANG_TIME_2_0 2.0 -#define WINKEY_RETURN_THIS_FOR_ADMIN_GET_CAL 0x16 +#define WINKEY_RETURN_THIS_FOR_ADMIN_GET_CAL_WK1 0x0a +#define WINKEY_RETURN_THIS_FOR_ADMIN_GET_CAL_WK2 0x18 #define WINKEY_RETURN_THIS_FOR_ADMIN_PADDLE_A2D 0xEE #define WINKEY_RETURN_THIS_FOR_ADMIN_SPEED_A2D 0x00 diff --git a/k3ng_keyer/keyer_settings_opencwkeyer_mk2.h b/k3ng_keyer/keyer_settings_opencwkeyer_mk2.h index e32b561..78ec106 100644 --- a/k3ng_keyer/keyer_settings_opencwkeyer_mk2.h +++ b/k3ng_keyer/keyer_settings_opencwkeyer_mk2.h @@ -143,7 +143,8 @@ #define WINKEY_HANG_TIME_1_66 1.66 #define WINKEY_HANG_TIME_2_0 2.0 -#define WINKEY_RETURN_THIS_FOR_ADMIN_GET_CAL 0x16 +#define WINKEY_RETURN_THIS_FOR_ADMIN_GET_CAL_WK1 0x0a +#define WINKEY_RETURN_THIS_FOR_ADMIN_GET_CAL_WK2 0x18 #define WINKEY_RETURN_THIS_FOR_ADMIN_PADDLE_A2D 0xEE #define WINKEY_RETURN_THIS_FOR_ADMIN_SPEED_A2D 0x00 diff --git a/k3ng_keyer/keyer_settings_test.h b/k3ng_keyer/keyer_settings_test.h index cd2837c..3e0deb6 100644 --- a/k3ng_keyer/keyer_settings_test.h +++ b/k3ng_keyer/keyer_settings_test.h @@ -157,7 +157,8 @@ #define WINKEY_HANG_TIME_1_66 1.66 #define WINKEY_HANG_TIME_2_0 2.0 -#define WINKEY_RETURN_THIS_FOR_ADMIN_GET_CAL 0x16 +#define WINKEY_RETURN_THIS_FOR_ADMIN_GET_CAL_WK1 0x0a +#define WINKEY_RETURN_THIS_FOR_ADMIN_GET_CAL_WK2 0x18 #define WINKEY_RETURN_THIS_FOR_ADMIN_PADDLE_A2D 0xEE #define WINKEY_RETURN_THIS_FOR_ADMIN_SPEED_A2D 0x00 @@ -480,7 +481,8 @@ #define WINKEY_HANG_TIME_1_66 1.66 #define WINKEY_HANG_TIME_2_0 2.0 -#define WINKEY_RETURN_THIS_FOR_ADMIN_GET_CAL 0x16 +#define WINKEY_RETURN_THIS_FOR_ADMIN_GET_CAL_WK1 0x0a +#define WINKEY_RETURN_THIS_FOR_ADMIN_GET_CAL_WK2 0x18 #define WINKEY_RETURN_THIS_FOR_ADMIN_PADDLE_A2D 0xEE #define WINKEY_RETURN_THIS_FOR_ADMIN_SPEED_A2D 0x00 diff --git a/k3ng_keyer/keyer_settings_test_everything.h b/k3ng_keyer/keyer_settings_test_everything.h index 8321aa5..84c2348 100644 --- a/k3ng_keyer/keyer_settings_test_everything.h +++ b/k3ng_keyer/keyer_settings_test_everything.h @@ -153,7 +153,8 @@ #define WINKEY_HANG_TIME_1_66 1.66 #define WINKEY_HANG_TIME_2_0 2.0 -#define WINKEY_RETURN_THIS_FOR_ADMIN_GET_CAL 0x16 +#define WINKEY_RETURN_THIS_FOR_ADMIN_GET_CAL_WK1 0x0a +#define WINKEY_RETURN_THIS_FOR_ADMIN_GET_CAL_WK2 0x18 #define WINKEY_RETURN_THIS_FOR_ADMIN_PADDLE_A2D 0xEE #define WINKEY_RETURN_THIS_FOR_ADMIN_SPEED_A2D 0x00 diff --git a/k3ng_keyer/keyer_settings_tinykeyer.h b/k3ng_keyer/keyer_settings_tinykeyer.h index 3676d67..b11062c 100755 --- a/k3ng_keyer/keyer_settings_tinykeyer.h +++ b/k3ng_keyer/keyer_settings_tinykeyer.h @@ -144,7 +144,8 @@ #define WINKEY_HANG_TIME_1_66 1.66 #define WINKEY_HANG_TIME_2_0 2.0 -#define WINKEY_RETURN_THIS_FOR_ADMIN_GET_CAL 0x16 +#define WINKEY_RETURN_THIS_FOR_ADMIN_GET_CAL_WK1 0x0a +#define WINKEY_RETURN_THIS_FOR_ADMIN_GET_CAL_WK2 0x18 #define WINKEY_RETURN_THIS_FOR_ADMIN_PADDLE_A2D 0xEE #define WINKEY_RETURN_THIS_FOR_ADMIN_SPEED_A2D 0x00 diff --git a/k3ng_keyer/keyer_settings_yaacwk.h b/k3ng_keyer/keyer_settings_yaacwk.h index e33ccf6..be84e3b 100644 --- a/k3ng_keyer/keyer_settings_yaacwk.h +++ b/k3ng_keyer/keyer_settings_yaacwk.h @@ -144,7 +144,8 @@ #define WINKEY_HANG_TIME_1_66 1.66 #define WINKEY_HANG_TIME_2_0 2.0 -#define WINKEY_RETURN_THIS_FOR_ADMIN_GET_CAL 0x16 +#define WINKEY_RETURN_THIS_FOR_ADMIN_GET_CAL_WK1 0x0a +#define WINKEY_RETURN_THIS_FOR_ADMIN_GET_CAL_WK2 0x18 #define WINKEY_RETURN_THIS_FOR_ADMIN_PADDLE_A2D 0xEE #define WINKEY_RETURN_THIS_FOR_ADMIN_SPEED_A2D 0x00 diff --git a/k3ng_keyer/keyer_settings_yccc_so2r_mini.h b/k3ng_keyer/keyer_settings_yccc_so2r_mini.h index f86c997..c0a0f88 100644 --- a/k3ng_keyer/keyer_settings_yccc_so2r_mini.h +++ b/k3ng_keyer/keyer_settings_yccc_so2r_mini.h @@ -143,7 +143,8 @@ #define WINKEY_HANG_TIME_1_66 1.66 #define WINKEY_HANG_TIME_2_0 2.0 -#define WINKEY_RETURN_THIS_FOR_ADMIN_GET_CAL 0x16 +#define WINKEY_RETURN_THIS_FOR_ADMIN_GET_CAL_WK1 0x0a +#define WINKEY_RETURN_THIS_FOR_ADMIN_GET_CAL_WK2 0x18 #define WINKEY_RETURN_THIS_FOR_ADMIN_PADDLE_A2D 0xEE #define WINKEY_RETURN_THIS_FOR_ADMIN_SPEED_A2D 0x00