kopia lustrzana https://github.com/k3ng/k3ng_cw_keyer
				
				
				
			
							rodzic
							
								
									ab66d62b20
								
							
						
					
					
						commit
						583f47ba72
					
				|  | @ -290,13 +290,17 @@ New fetures in this stable release: | ||||||
|     #define qlf_dah_min 100 |     #define qlf_dah_min 100 | ||||||
|     #define qlf_on_by_default 0 |     #define qlf_on_by_default 0 | ||||||
| 
 | 
 | ||||||
|     keyerhardware.h and HARDWARE_NANOKEYER_REV_B |     keyer_hardware.h and HARDWARE_NANOKEYER_REV_B | ||||||
| 
 | 
 | ||||||
|     OPTION_SAVE_MEMORY_NANOKEYER |     OPTION_SAVE_MEMORY_NANOKEYER | ||||||
| 
 | 
 | ||||||
|  |     OPTION_WINKEY_IGNORE_FIRST_STATUS_REQUEST | ||||||
|  | 
 | ||||||
|  |     changed reset method to 'asm volatile ("jmp 0");' | ||||||
|  | 
 | ||||||
| */ | */ | ||||||
| 
 | 
 | ||||||
| #define CODE_VERSION "2.2.2015021701" | #define CODE_VERSION "2.2.2015030401" | ||||||
| #define eeprom_magic_number 19 | #define eeprom_magic_number 19 | ||||||
| 
 | 
 | ||||||
| #include <stdio.h> | #include <stdio.h> | ||||||
|  | @ -5799,7 +5803,9 @@ void service_winkey(byte action) { | ||||||
|   } |   } | ||||||
|   #endif //OPTION_WINKEY_DISCARD_BYTES_AT_STARTUP
 |   #endif //OPTION_WINKEY_DISCARD_BYTES_AT_STARTUP
 | ||||||
|    |    | ||||||
|    |   #ifdef OPTION_WINKEY_IGNORE_FIRST_STATUS_REQUEST | ||||||
|  |   static byte ignored_first_status_request = 0; | ||||||
|  |   #endif //OPTION_WINKEY_IGNORE_FIRST_STATUS_REQUEST
 | ||||||
|    |    | ||||||
|   if (action == HOUSEKEEPING) { |   if (action == HOUSEKEEPING) { | ||||||
|     if (winkey_last_unbuffered_speed_wpm == 0) { |     if (winkey_last_unbuffered_speed_wpm == 0) { | ||||||
|  | @ -6055,10 +6061,8 @@ void service_winkey(byte action) { | ||||||
|             #endif //DEBUG_AUX_SERIAL_PORT_DEBUG_WINKEY                 
 |             #endif //DEBUG_AUX_SERIAL_PORT_DEBUG_WINKEY                 
 | ||||||
|             break; |             break; | ||||||
|           case 0x15:  // report status
 |           case 0x15:  // report status
 | ||||||
|  |             #ifndef OPTION_WINKEY_IGNORE_FIRST_STATUS_REQUEST //--------------------
 | ||||||
|             status_byte_to_send = 0xc0|winkey_sending|winkey_xoff; |             status_byte_to_send = 0xc0|winkey_sending|winkey_xoff; | ||||||
| //            if (winkey_sending) {
 |  | ||||||
| //              status_byte_to_send = status_byte_to_send | 4;
 |  | ||||||
| //            }
 |  | ||||||
|             if (send_buffer_status == SERIAL_SEND_BUFFER_TIMED_COMMAND) { |             if (send_buffer_status == SERIAL_SEND_BUFFER_TIMED_COMMAND) { | ||||||
|               status_byte_to_send = status_byte_to_send | 16; |               status_byte_to_send = status_byte_to_send | 16; | ||||||
|             } |             } | ||||||
|  | @ -6066,7 +6070,26 @@ void service_winkey(byte action) { | ||||||
|             #ifdef DEBUG_AUX_SERIAL_PORT_DEBUG_WINKEY |             #ifdef DEBUG_AUX_SERIAL_PORT_DEBUG_WINKEY | ||||||
|             debug_port->print("service_winkey: 0x15 rpt status: "); |             debug_port->print("service_winkey: 0x15 rpt status: "); | ||||||
|             debug_port->println(status_byte_to_send); |             debug_port->println(status_byte_to_send); | ||||||
|             #endif //DEBUG_AUX_SERIAL_PORT_DEBUG_WINKEY                 
 |             #endif //DEBUG_AUX_SERIAL_PORT_DEBUG_WINKEY  
 | ||||||
|  |             #else //OPTION_WINKEY_IGNORE_FIRST_STATUS_REQUEST ------------------------
 | ||||||
|  |             if (ignored_first_status_request){ | ||||||
|  |               status_byte_to_send = 0xc0|winkey_sending|winkey_xoff; | ||||||
|  |               if (send_buffer_status == SERIAL_SEND_BUFFER_TIMED_COMMAND) { | ||||||
|  |                 status_byte_to_send = status_byte_to_send | 16; | ||||||
|  |               } | ||||||
|  |               main_serial_port->write(status_byte_to_send); | ||||||
|  |               #ifdef DEBUG_AUX_SERIAL_PORT_DEBUG_WINKEY | ||||||
|  |               debug_port->print("service_winkey: 0x15 rpt status: "); | ||||||
|  |               debug_port->println(status_byte_to_send); | ||||||
|  |               #endif //DEBUG_AUX_SERIAL_PORT_DEBUG_WINKEY 
 | ||||||
|  |               } else { | ||||||
|  |                 ignored_first_status_request = 1; | ||||||
|  |                 #ifdef DEBUG_AUX_SERIAL_PORT_DEBUG_WINKEY | ||||||
|  |                 debug_port->println("service_winkey: ignored first 0x15 status request"); | ||||||
|  |                 #endif //DEBUG_AUX_SERIAL_PORT_DEBUG_WINKEY                
 | ||||||
|  |               } | ||||||
|  |             #endif //OPTION_WINKEY_IGNORE_FIRST_STATUS_REQUEST -------------------- 
 | ||||||
|  | 
 | ||||||
|             break; |             break; | ||||||
|           case 0x16:  // Pointer operation
 |           case 0x16:  // Pointer operation
 | ||||||
|             winkey_status = WINKEY_POINTER_COMMAND; |             winkey_status = WINKEY_POINTER_COMMAND; | ||||||
|  | @ -6326,7 +6349,7 @@ void service_winkey(byte action) { | ||||||
|             debug_port->println("service_winkey: calibrate command (WINKEY_UNSUPPORTED_COMMAND) awaiting 1 parm"); |             debug_port->println("service_winkey: calibrate command (WINKEY_UNSUPPORTED_COMMAND) awaiting 1 parm"); | ||||||
|             #endif //DEBUG_AUX_SERIAL_PORT_DEBUG_WINKEY            
 |             #endif //DEBUG_AUX_SERIAL_PORT_DEBUG_WINKEY            
 | ||||||
|             break;  // calibrate command
 |             break;  // calibrate command
 | ||||||
|           case 0x01: wdt_enable(WDTO_30MS); while(1) {}; break;  // reset command
 |           case 0x01: asm volatile ("jmp 0"); /*wdt_enable(WDTO_30MS); while(1) {};*/ break;  // reset command
 | ||||||
|           case 0x02:  // host open command - send version back to host
 |           case 0x02:  // host open command - send version back to host
 | ||||||
|             #ifdef OPTION_WINKEY_2_SUPPORT |             #ifdef OPTION_WINKEY_2_SUPPORT | ||||||
|             main_serial_port->write(WINKEY_2_REPORT_VERSION_NUMBER); |             main_serial_port->write(WINKEY_2_REPORT_VERSION_NUMBER); | ||||||
|  | @ -6793,7 +6816,7 @@ void process_serial_command() { | ||||||
|          |          | ||||||
|   main_serial_port->println(); |   main_serial_port->println(); | ||||||
|   switch (incoming_serial_byte) { |   switch (incoming_serial_byte) { | ||||||
|     case 126: wdt_enable(WDTO_30MS); while(1) {} ; break;  // ~ - reset unit
 |     case 126: asm volatile ("jmp 0"); /*wdt_enable(WDTO_30MS); while(1) {} ;*/ break;  // ~ - reset unit
 | ||||||
|     case 42:                                                // * - paddle echo on / off
 |     case 42:                                                // * - paddle echo on / off
 | ||||||
|       if (cli_paddle_echo) { |       if (cli_paddle_echo) { | ||||||
|         cli_paddle_echo = 0; |         cli_paddle_echo = 0; | ||||||
|  |  | ||||||
|  | @ -64,3 +64,5 @@ | ||||||
| //#define OPTION_PS2_NON_ENGLISH_CHAR_LCD_DISPLAY_SUPPORT // makes some non-English characters from the PS2 keyboard display correctly in the LCD display (donated by Marcin sp5iou)
 | //#define OPTION_PS2_NON_ENGLISH_CHAR_LCD_DISPLAY_SUPPORT // makes some non-English characters from the PS2 keyboard display correctly in the LCD display (donated by Marcin sp5iou)
 | ||||||
| //#define OPTION_PS2_KEYBOARD_RESET // reset the PS2 keyboard upon startup with 0xFF (contributed by Bill, W9BEL)
 | //#define OPTION_PS2_KEYBOARD_RESET // reset the PS2 keyboard upon startup with 0xFF (contributed by Bill, W9BEL)
 | ||||||
| //#define OPTION_SAVE_MEMORY_NANOKEYER
 | //#define OPTION_SAVE_MEMORY_NANOKEYER
 | ||||||
|  | //#define OPTION_WINKEY_IGNORE_FIRST_STATUS_REQUEST     // DEBUG PURPOSES ONLY!!!
 | ||||||
|  | 
 | ||||||
|  |  | ||||||
		Ładowanie…
	
		Reference in New Issue
	
	 Anthony Good
						Anthony Good