Add support for the shift flag draft

Sun, 25 Oct 2020 23:00:17 +0100

author
David Douard <david.douard@sdf3.org>
date
Sun, 25 Oct 2020 23:00:17 +0100
changeset 36
a6c7292742a0
parent 35
b2dca6b935bb
child 37
07e8ca2bdf6d

Add support for the shift flag

src/main.cpp file | annotate | diff | comparison | revisions
--- a/src/main.cpp	Sun Oct 25 22:45:24 2020 +0100
+++ b/src/main.cpp	Sun Oct 25 23:00:17 2020 +0100
@@ -72,35 +72,35 @@
 		KP_C4
 };
 
-/* mapping (RxC)
-	 0x2 0x00:  View
-	 0x1 0x01:  Mon
-	 3x3 0x02:  Sto/Rcl
-	 0x0 0x03:  Scan
-	 1x2 0x04:  Alarm
-	 1x1 0x05:  Mx+B
-	 1x0 0x06:  Measure
-	 2x0 0x07:  Interval
-	 3x2 0x08:  Card Reset
-	 3x1 0x09:  Close
-	 3x0 0x0A:  Open
-	 0x3 0x0B:  Read
-	 2x3 0x0C:  Shift
-	 1x3 0x0D:  Write
-	 0x4 0x0E:  Left
-	 1x4 0x0F:  Right
-	 2x2 0x10:  Advanced
-	 2x1 0x11:  Step
+/* key mapping
+   RxC   code   name
+	 0x2   0x00   View
+	 0x1   0x01   Mon
+	 3x3   0x02   Sto/Rcl
+	 0x0   0x03   Scan
+	 1x2   0x04   Alarm
+	 1x1   0x05   Mx+B
+	 1x0   0x06   Measure
+	 2x0   0x07   Interval
+	 3x2   0x08   Card Reset
+	 3x1   0x09   Close
+	 3x0   0x0A   Open
+	 0x3   0x0B   Read
+	 2x3   0x0C   Shift
+	 1x3   0x0D   Write
+	 0x4   0x0E   Left
+	 1x4   0x0F   Right
+	 2x2   0x10   Advanced
+	 2x1   0x11   Step
 */
 
-uint8_t kp_mapping[KP_NROWS][KP_NCOLS] = { // [row][column]
+uint8_t kp_mapping[KP_NROWS][KP_NCOLS] = {
 		{0x03, 0x01, 0x00, 0x0B, 0x0E},
 		{0x06, 0x05, 0x04, 0x0D, 0x0F},
 		{0x07, 0x11, 0x10, 0x0C, 0xFF},
 		{0x0A, 0x09, 0x08, 0x02, 0xFF}
 };
 
-
 void kp_cb(uint8_t row, uint8_t col);
 void kr_cb(uint8_t row, uint8_t col);
 
@@ -770,6 +770,8 @@
 
 				printf("CMD[%d] %02X", (int)cmd.id, cmd.cmd);
 
+				// 0x00: main display
+				// 0x0C: channel display
 				if ((cmd.cmd == 0x00) || (cmd.cmd == 0x0C))
 					printf(": '%s'\r\n", cmd.value);
 				else {
@@ -778,7 +780,20 @@
 						printf("%02x ", cmd.value[i]);
 					printf("\r\n");
 				}
-				show(cmd.cmd, cmd.value, cmd.size);
+
+				if (cmd.cmd == 0x01) {
+          // clear a flag
+					if (cmd.value[0] == 0x0E) {
+            // clear the Shift flag
+						shift = false;
+					}
+				} else if (cmd.cmd == 0x86) {
+          // shutdown
+					// TODO
+				} else {
+          // display related commands
+					show(cmd.cmd, cmd.value, cmd.size);
+				}
 #if defined(HAS_LED)
 				led = 0;
 #endif

mercurial

PKhM.8 whatever-08c0c0d695e8/content/images/hp3562a/a18_psu.jpgUTH[PKhM,[\^A whatever-08c0c0d695e8/content/images/hp3562a/a1_burst_control.pngUTH[PKhMqЯd? NA B )whatever-08c0c0d695e8/content/images/hp3562a/a1_digital_source.jpgUTH[PKhMr8E B hwhatever-08c0c0d695e8/content/images/hp3562a/a1_digital_source.pngUTH[PKhMNgN{RD mwhatever-08c0c0d695e8/content/images/hp3562a/a1_phase_resolution.pngUTH[PKhM -}B whatever-08c0c0d695e8/content/images/hp3562a/a1_timing_control.pngUTH[PKhMC < 5whatever-08c0c0d695e8/content/images/hp3562a/a31_trigger.jpgUTH[PKhM` b > @whatever-08c0c0d695e8/content/images/hp3562a/a32_input_adc.jpgUTH[PKhM A 5NJwhatever-08c0c0d695e8/content/images/hp3562a/a32_input_adc_bb.jpgUTH[PKhMJi1 Z: DSwhatever-08c0c0d695e8/content/images/hp3562a/a33_input.jpgUTH[PKhMrrצA C ; SYwhatever-08c0c0d695e8/content/images/hp3562a/a38_memory.jpgUTH[PKhM~Obe7 kewhatever-08c0c0d695e8/content/images/hp3562a/a3_rom.pngUTH[PKhM m  7 ewhatever-08c0c0d695e8/content/images/hp3562a/a4_loc.jpgUTH[PKhM D pwhatever-08c0c0d695e8/content/images/hp3562a/a4_local_oscillator.pngUTH[PKhM SBECD 7qwhatever-08c0c0d695e8/content/images/hp3562a/a5_a6_block_diagram.pngUTH[PKhM:f;A Nqwhatever-08c0c0d695e8/content/images/hp3562a/a5_block_diagram.pngUTH[PKhMw] 9 : rwhatever-08c0c0d695e8/content/images/hp3562a/a5_filter.jpgUTH[PKhM$a@bA (~whatever-08c0c0d695e8/content/images/hp3562a/a6_block_diagram.pngUTH[PKhM@ ; k~whatever-08c0c0d695e8/content/images/hp3562a/a6_control.jpgUTH[PKhM@ > whatever-08c0c0d695e8/content/images/hp3562a/a6_controller.jpgUTH[PKhM`k118 {whatever-08c0c0d695e8/content/images/hp3562a/a6_zoom.pngUTH[PKhMhg6 48 7 whatever-08c0c0d695e8/content/images/hp3562a/a7_fpp.jpgUTH[PKhM)d@9L7 \whatever-08c0c0d695e8/content/images/hp3562a/a7_fpp.pngUTH[PKhM '&SU? $whatever-08c0c0d695e8/content/images/hp3562a/a8_a17_display.pngUTH[PKhM 7 ywhatever-08c0c0d695e8/content/images/hp3562a/a8_ram.pngUTH[PKhMj;s u 7 ]Ewhatever-08c0c0d695e8/content/images/hp3562a/a9_fft.jpgUTH[PKhMz87 whatever-08c0c0d695e8/content/images/hp3562a/a9_fft.pngUTH[PKhMA> "whatever-08c0c0d695e8/content/images/hp3562a/analog_source.pngUTH[PKhMZD CT> ,whatever-08c0c0d695e8/content/images/hp3562a/block_diagram.pngUTH[PKhM*nc8<5 /whatever-08c0c0d695e8/content/images/hp3562a/caps.jpgUTH[PKhM ƘP4 _hwhatever-08c0c0d695e8/content/images/hp3562a/cpu.jpgUTH[PKhM pC)7 whatever-08c0c0d695e8/content/images/hp3562a/filter.jpgUTH[PKhMl;z|6 'whatever-08c0c0d695e8/content/images/hp3562a/front.jpgUTH[PKhM+8- E; nwhatever-08c0c0d695e8/content/images/hp3562a/front_open.jpgUTH[PKhM;]8 n{whatever-08c0c0d695e8/content/images/hp3562a/hp1345a.jpgUTH[PKhM!e?F Nwhatever-08c0c0d695e8/content/images/hp3562a/hp1345a_block_diagram.pngUTH[PKhM2wB Twhatever-08c0c0d695e8/content/images/hp3562a/hp1345a_dead_caps.jpgUTH[PKhMꜛ``G "Mwhatever-08c0c0d695e8/content/images/hp3562a/hp1345a_ramp_generator.pngUTH[PKhMbL(EoEF ;whatever-08c0c0d695e8/content/images/hp3562a/hp1345a_raster_vector.pngUTH[PKhMl8  = whatever-08c0c0d695e8/content/images/hp3562a/hp1345a_side.jpgUTH[PKhM|wO{> whatever-08c0c0d695e8/content/images/hp3562a/hp1345a_side2.jpgUTH[PKhMV WI lxwhatever-08c0c0d695e8/content/images/hp3562a/hp1345a_stroke_generator.pngUTH[PKhME whatever-08c0c0d695e8/content/images/hp3562a/hp1345a_test_pattern.pngUTH[PKhM4On< 3whatever-08c0c0d695e8/content/images/hp3562a/hp1345a_top.jpgUTH[PKhMcAuBI whatever-08c0c0d695e8/content/images/hp3562a/hp1345a_vector_processor.pngUTH[PKhMT+vyyI mwhatever-08c0c0d695e8/content/images/hp3562a/hp1345a_vpc_architecture.pngUTH[PKhM<;XJ =whatever-08c0c0d695e8/content/images/hp3562a/hp3562a_a15_block_diagram.pngUTH[PKhMH/֭N Wwhatever-08c0c0d695e8/content/images/hp3562a/hp3562a_a18_psu_block_diagram.pngUTH[PKhMojI wwhatever-08c0c0d695e8/content/images/hp3562a/hp3562a_a1_block_diagram.pngUTH[PKhM,]noQ whatever-08c0c0d695e8/content/images/hp3562a/hp3562a_a1_burst_control_circuit.pngUTH[PKhMRZuZT  whatever-08c0c0d695e8/content/images/hp3562a/hp3562a_a1_phase_resolution_circuit.pngUTH[PKhM(R whatever-08c0c0d695e8/content/images/hp3562a/hp3562a_a1_timing_control_circuit.pngUTH[PKhMbǁQI LI!whatever-08c0c0d695e8/content/images/hp3562a/hp3562a_a2_block_diagram.pngUTH[PKhM%`g֌J "whatever-08c0c0d695e8/content/images/hp3562a/hp3562a_a30_block_diagram.pngUTH[PKhMQyUyV_J X#whatever-08c0c0d695e8/content/images/hp3562a/hp3562a_a32_block_diagram.pngUTH[PKhMJ $whatever-08c0c0d695e8/content/images/hp3562a/hp3562a_a33_block_diagram.pngUTH[PKhM'Ҍ Q /%whatever-08c0c0d695e8/content/images/hp3562a/hp3562a_a38_memory_block_diagram.pngUTH[PKhMy raz%}N 7'whatever-08c0c0d695e8/content/images/hp3562a/hp3562a_a38_ram_block_diagram.pngUTH[PKhMX^"y{N o'whatever-08c0c0d695e8/content/images/hp3562a/hp3562a_a38_rom_block_diagram.pngUTH[PKhMF>CI ,(whatever-08c0c0d695e8/content/images/hp3562a/hp3562a_a4_block_diagram.pngUTH[PKhM)/I ])whatever-08c0c0d695e8/content/images/hp3562a/hp3562a_a5_block_diagram.pngUTH[PKhM `rtI )whatever-08c0c0d695e8/content/images/hp3562a/hp3562a_a7_block_diagram.pngUTH[PKhM(NI h+whatever-08c0c0d695e8/content/images/hp3562a/hp3562a_a9_block_diagram.pngUTH[PKhMm,J :,whatever-08c0c0d695e8/content/images/hp3562a/hp3562a_block_diagram_new.pngUTH[PKhMz[VnZK :-whatever-08c0c0d695e8/content/images/hp3562a/hp3562a_floating_input_amp.pngUTH[PKEE %.