JeffDeCola/control-fpga-via-raspi-and-webserver

View on GitHub
section-4-web-server/control-an-fpga/js/opcode.js

Summary

Maintainability
F
1 mo
Test Coverage

File opcode.js has 1413 lines of code (exceeds 250 allowed). Consider refactoring.
Open

/* opcode.js */

console.log("STARTING opcode.js JAVASCRIPT");

var compute_go_state = "ready";
Severity: Major
Found in section-4-web-server/control-an-fpga/js/opcode.js - About 3 days to fix

    Function compute has 47 lines of code (exceeds 25 allowed). Consider refactoring.
    Open

    function compute() {
        
        console.log("STEP 4 - SEND OPCODE, DATA_IN_A, DATA_IN_B AND GO TO WEB SERVER");
        document.getElementById("data_out_7").innerHTML=" ";
        document.getElementById("data_out_6").innerHTML="W";
    Severity: Minor
    Found in section-4-web-server/control-an-fpga/js/opcode.js - About 1 hr to fix

      Function show_data_out has 29 lines of code (exceeds 25 allowed). Consider refactoring.
      Open

      function show_data_out(data) {
      
          console.log("SHOW DATA_OUT FROM FPGA");
          console.log("data = " + data.data_out);
          document.getElementById("data_out").classList.remove("pulse"); // PULSE DATA_OUT OFF
      Severity: Minor
      Found in section-4-web-server/control-an-fpga/js/opcode.js - About 1 hr to fix

        Function server_error has 29 lines of code (exceeds 25 allowed). Consider refactoring.
        Open

        function server_error() {
        
            console.log("SERVER ERROR");
            document.getElementById("data_out").classList.remove("pulse"); // PULSE DATA_OUT OFF
            document.getElementById("html_interface_arrow_right").classList.remove("pulse"); // PULSE ARROW RIGHT OFF
        Severity: Minor
        Found in section-4-web-server/control-an-fpga/js/opcode.js - About 1 hr to fix

          Similar blocks of code found in 3 locations. Consider refactoring.
          Open

          function opcode_zero_0_onclick() {
              switch(opcode_0_state) {
                  case "high":
                      opcode_0_state = "low";
                      console.log("opcode_0_state = " + opcode_0_state);
          Severity: Major
          Found in section-4-web-server/control-an-fpga/js/opcode.js and 2 other locations - About 3 hrs to fix
          section-4-web-server/control-an-fpga/js/opcode.js on lines 778..788
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1277..1287

          Duplicated Code

          Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

          Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

          When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

          Tuning

          This issue has a mass of 106.

          We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

          The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

          If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

          See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

          Refactorings

          Further Reading

          Similar blocks of code found in 3 locations. Consider refactoring.
          Open

          function data_in_a_zero_0_onclick() {
            switch(data_in_a_0_state) {
                case "high":
                    data_in_a_0_state = "low";
                    console.log("data_in_a_0_state = " + data_in_a_0_state);
          Severity: Major
          Found in section-4-web-server/control-an-fpga/js/opcode.js and 2 other locations - About 3 hrs to fix
          section-4-web-server/control-an-fpga/js/opcode.js on lines 279..289
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1277..1287

          Duplicated Code

          Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

          Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

          When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

          Tuning

          This issue has a mass of 106.

          We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

          The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

          If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

          See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

          Refactorings

          Further Reading

          Similar blocks of code found in 3 locations. Consider refactoring.
          Open

          function data_in_b_zero_0_onclick() {
          switch(data_in_b_0_state) {
              case "high":
                  data_in_b_0_state = "low";
                  console.log("data_in_b_0_state = " + data_in_b_0_state);
          Severity: Major
          Found in section-4-web-server/control-an-fpga/js/opcode.js and 2 other locations - About 3 hrs to fix
          section-4-web-server/control-an-fpga/js/opcode.js on lines 279..289
          section-4-web-server/control-an-fpga/js/opcode.js on lines 778..788

          Duplicated Code

          Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

          Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

          When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

          Tuning

          This issue has a mass of 106.

          We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

          The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

          If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

          See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

          Refactorings

          Further Reading

          Similar blocks of code found in 37 locations. Consider refactoring.
          Open

          function data_in_b_zero_2_onclick() {
          switch(data_in_b_2_state) {
              case "high":
                  data_in_b_2_state = "low";
                  console.log("data_in_b_2_state = " + data_in_b_2_state);
          Severity: Major
          Found in section-4-web-server/control-an-fpga/js/opcode.js and 36 other locations - About 3 hrs to fix
          section-4-web-server/control-an-fpga/js/opcode.js on lines 62..72
          section-4-web-server/control-an-fpga/js/opcode.js on lines 93..103
          section-4-web-server/control-an-fpga/js/opcode.js on lines 124..134
          section-4-web-server/control-an-fpga/js/opcode.js on lines 155..165
          section-4-web-server/control-an-fpga/js/opcode.js on lines 186..196
          section-4-web-server/control-an-fpga/js/opcode.js on lines 217..227
          section-4-web-server/control-an-fpga/js/opcode.js on lines 248..258
          section-4-web-server/control-an-fpga/js/opcode.js on lines 313..323
          section-4-web-server/control-an-fpga/js/opcode.js on lines 344..354
          section-4-web-server/control-an-fpga/js/opcode.js on lines 375..385
          section-4-web-server/control-an-fpga/js/opcode.js on lines 406..416
          section-4-web-server/control-an-fpga/js/opcode.js on lines 437..447
          section-4-web-server/control-an-fpga/js/opcode.js on lines 468..478
          section-4-web-server/control-an-fpga/js/opcode.js on lines 499..509
          section-4-web-server/control-an-fpga/js/opcode.js on lines 530..540
          section-4-web-server/control-an-fpga/js/opcode.js on lines 561..571
          section-4-web-server/control-an-fpga/js/opcode.js on lines 592..602
          section-4-web-server/control-an-fpga/js/opcode.js on lines 623..633
          section-4-web-server/control-an-fpga/js/opcode.js on lines 654..664
          section-4-web-server/control-an-fpga/js/opcode.js on lines 685..695
          section-4-web-server/control-an-fpga/js/opcode.js on lines 716..726
          section-4-web-server/control-an-fpga/js/opcode.js on lines 747..757
          section-4-web-server/control-an-fpga/js/opcode.js on lines 812..822
          section-4-web-server/control-an-fpga/js/opcode.js on lines 843..853
          section-4-web-server/control-an-fpga/js/opcode.js on lines 874..884
          section-4-web-server/control-an-fpga/js/opcode.js on lines 905..915
          section-4-web-server/control-an-fpga/js/opcode.js on lines 936..946
          section-4-web-server/control-an-fpga/js/opcode.js on lines 967..977
          section-4-web-server/control-an-fpga/js/opcode.js on lines 998..1008
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1029..1039
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1060..1070
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1091..1101
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1122..1132
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1184..1194
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1215..1225
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1246..1256

          Duplicated Code

          Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

          Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

          When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

          Tuning

          This issue has a mass of 104.

          We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

          The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

          If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

          See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

          Refactorings

          Further Reading

          Similar blocks of code found in 37 locations. Consider refactoring.
          Open

          function data_in_a_one_1_onclick() {
            switch(data_in_a_1_state) {
                case "low":
                    data_in_a_1_state = "high";
                    console.log("data_in_a_1_state = " + data_in_a_1_state);
          Severity: Major
          Found in section-4-web-server/control-an-fpga/js/opcode.js and 36 other locations - About 3 hrs to fix
          section-4-web-server/control-an-fpga/js/opcode.js on lines 62..72
          section-4-web-server/control-an-fpga/js/opcode.js on lines 93..103
          section-4-web-server/control-an-fpga/js/opcode.js on lines 124..134
          section-4-web-server/control-an-fpga/js/opcode.js on lines 155..165
          section-4-web-server/control-an-fpga/js/opcode.js on lines 186..196
          section-4-web-server/control-an-fpga/js/opcode.js on lines 217..227
          section-4-web-server/control-an-fpga/js/opcode.js on lines 248..258
          section-4-web-server/control-an-fpga/js/opcode.js on lines 313..323
          section-4-web-server/control-an-fpga/js/opcode.js on lines 344..354
          section-4-web-server/control-an-fpga/js/opcode.js on lines 375..385
          section-4-web-server/control-an-fpga/js/opcode.js on lines 406..416
          section-4-web-server/control-an-fpga/js/opcode.js on lines 437..447
          section-4-web-server/control-an-fpga/js/opcode.js on lines 468..478
          section-4-web-server/control-an-fpga/js/opcode.js on lines 499..509
          section-4-web-server/control-an-fpga/js/opcode.js on lines 530..540
          section-4-web-server/control-an-fpga/js/opcode.js on lines 561..571
          section-4-web-server/control-an-fpga/js/opcode.js on lines 592..602
          section-4-web-server/control-an-fpga/js/opcode.js on lines 623..633
          section-4-web-server/control-an-fpga/js/opcode.js on lines 654..664
          section-4-web-server/control-an-fpga/js/opcode.js on lines 716..726
          section-4-web-server/control-an-fpga/js/opcode.js on lines 747..757
          section-4-web-server/control-an-fpga/js/opcode.js on lines 812..822
          section-4-web-server/control-an-fpga/js/opcode.js on lines 843..853
          section-4-web-server/control-an-fpga/js/opcode.js on lines 874..884
          section-4-web-server/control-an-fpga/js/opcode.js on lines 905..915
          section-4-web-server/control-an-fpga/js/opcode.js on lines 936..946
          section-4-web-server/control-an-fpga/js/opcode.js on lines 967..977
          section-4-web-server/control-an-fpga/js/opcode.js on lines 998..1008
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1029..1039
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1060..1070
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1091..1101
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1122..1132
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1153..1163
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1184..1194
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1215..1225
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1246..1256

          Duplicated Code

          Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

          Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

          When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

          Tuning

          This issue has a mass of 104.

          We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

          The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

          If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

          See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

          Refactorings

          Further Reading

          Similar blocks of code found in 37 locations. Consider refactoring.
          Open

          function data_in_a_zero_6_onclick() {
              switch(data_in_a_6_state) {
                  case "high":
                      data_in_a_6_state = "low";
                      console.log("data_in_a_6_state = " + data_in_a_6_state);
          Severity: Major
          Found in section-4-web-server/control-an-fpga/js/opcode.js and 36 other locations - About 3 hrs to fix
          section-4-web-server/control-an-fpga/js/opcode.js on lines 62..72
          section-4-web-server/control-an-fpga/js/opcode.js on lines 93..103
          section-4-web-server/control-an-fpga/js/opcode.js on lines 124..134
          section-4-web-server/control-an-fpga/js/opcode.js on lines 155..165
          section-4-web-server/control-an-fpga/js/opcode.js on lines 186..196
          section-4-web-server/control-an-fpga/js/opcode.js on lines 217..227
          section-4-web-server/control-an-fpga/js/opcode.js on lines 248..258
          section-4-web-server/control-an-fpga/js/opcode.js on lines 313..323
          section-4-web-server/control-an-fpga/js/opcode.js on lines 344..354
          section-4-web-server/control-an-fpga/js/opcode.js on lines 375..385
          section-4-web-server/control-an-fpga/js/opcode.js on lines 437..447
          section-4-web-server/control-an-fpga/js/opcode.js on lines 468..478
          section-4-web-server/control-an-fpga/js/opcode.js on lines 499..509
          section-4-web-server/control-an-fpga/js/opcode.js on lines 530..540
          section-4-web-server/control-an-fpga/js/opcode.js on lines 561..571
          section-4-web-server/control-an-fpga/js/opcode.js on lines 592..602
          section-4-web-server/control-an-fpga/js/opcode.js on lines 623..633
          section-4-web-server/control-an-fpga/js/opcode.js on lines 654..664
          section-4-web-server/control-an-fpga/js/opcode.js on lines 685..695
          section-4-web-server/control-an-fpga/js/opcode.js on lines 716..726
          section-4-web-server/control-an-fpga/js/opcode.js on lines 747..757
          section-4-web-server/control-an-fpga/js/opcode.js on lines 812..822
          section-4-web-server/control-an-fpga/js/opcode.js on lines 843..853
          section-4-web-server/control-an-fpga/js/opcode.js on lines 874..884
          section-4-web-server/control-an-fpga/js/opcode.js on lines 905..915
          section-4-web-server/control-an-fpga/js/opcode.js on lines 936..946
          section-4-web-server/control-an-fpga/js/opcode.js on lines 967..977
          section-4-web-server/control-an-fpga/js/opcode.js on lines 998..1008
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1029..1039
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1060..1070
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1091..1101
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1122..1132
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1153..1163
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1184..1194
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1215..1225
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1246..1256

          Duplicated Code

          Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

          Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

          When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

          Tuning

          This issue has a mass of 104.

          We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

          The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

          If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

          See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

          Refactorings

          Further Reading

          Similar blocks of code found in 37 locations. Consider refactoring.
          Open

          function data_in_a_one_4_onclick() {
            switch(data_in_a_4_state) {
                case "low":
                    data_in_a_4_state = "high";
                    console.log("data_in_a_4_state = " + data_in_a_4_state);
          Severity: Major
          Found in section-4-web-server/control-an-fpga/js/opcode.js and 36 other locations - About 3 hrs to fix
          section-4-web-server/control-an-fpga/js/opcode.js on lines 62..72
          section-4-web-server/control-an-fpga/js/opcode.js on lines 93..103
          section-4-web-server/control-an-fpga/js/opcode.js on lines 124..134
          section-4-web-server/control-an-fpga/js/opcode.js on lines 155..165
          section-4-web-server/control-an-fpga/js/opcode.js on lines 186..196
          section-4-web-server/control-an-fpga/js/opcode.js on lines 217..227
          section-4-web-server/control-an-fpga/js/opcode.js on lines 248..258
          section-4-web-server/control-an-fpga/js/opcode.js on lines 313..323
          section-4-web-server/control-an-fpga/js/opcode.js on lines 344..354
          section-4-web-server/control-an-fpga/js/opcode.js on lines 375..385
          section-4-web-server/control-an-fpga/js/opcode.js on lines 406..416
          section-4-web-server/control-an-fpga/js/opcode.js on lines 437..447
          section-4-web-server/control-an-fpga/js/opcode.js on lines 468..478
          section-4-web-server/control-an-fpga/js/opcode.js on lines 530..540
          section-4-web-server/control-an-fpga/js/opcode.js on lines 561..571
          section-4-web-server/control-an-fpga/js/opcode.js on lines 592..602
          section-4-web-server/control-an-fpga/js/opcode.js on lines 623..633
          section-4-web-server/control-an-fpga/js/opcode.js on lines 654..664
          section-4-web-server/control-an-fpga/js/opcode.js on lines 685..695
          section-4-web-server/control-an-fpga/js/opcode.js on lines 716..726
          section-4-web-server/control-an-fpga/js/opcode.js on lines 747..757
          section-4-web-server/control-an-fpga/js/opcode.js on lines 812..822
          section-4-web-server/control-an-fpga/js/opcode.js on lines 843..853
          section-4-web-server/control-an-fpga/js/opcode.js on lines 874..884
          section-4-web-server/control-an-fpga/js/opcode.js on lines 905..915
          section-4-web-server/control-an-fpga/js/opcode.js on lines 936..946
          section-4-web-server/control-an-fpga/js/opcode.js on lines 967..977
          section-4-web-server/control-an-fpga/js/opcode.js on lines 998..1008
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1029..1039
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1060..1070
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1091..1101
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1122..1132
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1153..1163
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1184..1194
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1215..1225
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1246..1256

          Duplicated Code

          Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

          Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

          When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

          Tuning

          This issue has a mass of 104.

          We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

          The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

          If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

          See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

          Refactorings

          Further Reading

          Similar blocks of code found in 37 locations. Consider refactoring.
          Open

          function data_in_a_one_2_onclick() {
            switch(data_in_a_2_state) {
                case "low":
                    data_in_a_2_state = "high";
                    console.log("data_in_a_2_state = " + data_in_a_2_state);
          Severity: Major
          Found in section-4-web-server/control-an-fpga/js/opcode.js and 36 other locations - About 3 hrs to fix
          section-4-web-server/control-an-fpga/js/opcode.js on lines 62..72
          section-4-web-server/control-an-fpga/js/opcode.js on lines 93..103
          section-4-web-server/control-an-fpga/js/opcode.js on lines 124..134
          section-4-web-server/control-an-fpga/js/opcode.js on lines 155..165
          section-4-web-server/control-an-fpga/js/opcode.js on lines 186..196
          section-4-web-server/control-an-fpga/js/opcode.js on lines 217..227
          section-4-web-server/control-an-fpga/js/opcode.js on lines 248..258
          section-4-web-server/control-an-fpga/js/opcode.js on lines 313..323
          section-4-web-server/control-an-fpga/js/opcode.js on lines 344..354
          section-4-web-server/control-an-fpga/js/opcode.js on lines 375..385
          section-4-web-server/control-an-fpga/js/opcode.js on lines 406..416
          section-4-web-server/control-an-fpga/js/opcode.js on lines 437..447
          section-4-web-server/control-an-fpga/js/opcode.js on lines 468..478
          section-4-web-server/control-an-fpga/js/opcode.js on lines 499..509
          section-4-web-server/control-an-fpga/js/opcode.js on lines 530..540
          section-4-web-server/control-an-fpga/js/opcode.js on lines 561..571
          section-4-web-server/control-an-fpga/js/opcode.js on lines 592..602
          section-4-web-server/control-an-fpga/js/opcode.js on lines 654..664
          section-4-web-server/control-an-fpga/js/opcode.js on lines 685..695
          section-4-web-server/control-an-fpga/js/opcode.js on lines 716..726
          section-4-web-server/control-an-fpga/js/opcode.js on lines 747..757
          section-4-web-server/control-an-fpga/js/opcode.js on lines 812..822
          section-4-web-server/control-an-fpga/js/opcode.js on lines 843..853
          section-4-web-server/control-an-fpga/js/opcode.js on lines 874..884
          section-4-web-server/control-an-fpga/js/opcode.js on lines 905..915
          section-4-web-server/control-an-fpga/js/opcode.js on lines 936..946
          section-4-web-server/control-an-fpga/js/opcode.js on lines 967..977
          section-4-web-server/control-an-fpga/js/opcode.js on lines 998..1008
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1029..1039
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1060..1070
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1091..1101
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1122..1132
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1153..1163
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1184..1194
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1215..1225
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1246..1256

          Duplicated Code

          Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

          Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

          When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

          Tuning

          This issue has a mass of 104.

          We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

          The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

          If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

          See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

          Refactorings

          Further Reading

          Similar blocks of code found in 37 locations. Consider refactoring.
          Open

          function data_in_b_zero_5_onclick() {
            switch(data_in_b_5_state) {
                case "high":
                    data_in_b_5_state = "low";
                    console.log("data_in_b_5_state = " + data_in_b_5_state);
          Severity: Major
          Found in section-4-web-server/control-an-fpga/js/opcode.js and 36 other locations - About 3 hrs to fix
          section-4-web-server/control-an-fpga/js/opcode.js on lines 62..72
          section-4-web-server/control-an-fpga/js/opcode.js on lines 93..103
          section-4-web-server/control-an-fpga/js/opcode.js on lines 124..134
          section-4-web-server/control-an-fpga/js/opcode.js on lines 155..165
          section-4-web-server/control-an-fpga/js/opcode.js on lines 186..196
          section-4-web-server/control-an-fpga/js/opcode.js on lines 217..227
          section-4-web-server/control-an-fpga/js/opcode.js on lines 248..258
          section-4-web-server/control-an-fpga/js/opcode.js on lines 313..323
          section-4-web-server/control-an-fpga/js/opcode.js on lines 344..354
          section-4-web-server/control-an-fpga/js/opcode.js on lines 375..385
          section-4-web-server/control-an-fpga/js/opcode.js on lines 406..416
          section-4-web-server/control-an-fpga/js/opcode.js on lines 437..447
          section-4-web-server/control-an-fpga/js/opcode.js on lines 468..478
          section-4-web-server/control-an-fpga/js/opcode.js on lines 499..509
          section-4-web-server/control-an-fpga/js/opcode.js on lines 530..540
          section-4-web-server/control-an-fpga/js/opcode.js on lines 561..571
          section-4-web-server/control-an-fpga/js/opcode.js on lines 592..602
          section-4-web-server/control-an-fpga/js/opcode.js on lines 623..633
          section-4-web-server/control-an-fpga/js/opcode.js on lines 654..664
          section-4-web-server/control-an-fpga/js/opcode.js on lines 685..695
          section-4-web-server/control-an-fpga/js/opcode.js on lines 716..726
          section-4-web-server/control-an-fpga/js/opcode.js on lines 747..757
          section-4-web-server/control-an-fpga/js/opcode.js on lines 812..822
          section-4-web-server/control-an-fpga/js/opcode.js on lines 843..853
          section-4-web-server/control-an-fpga/js/opcode.js on lines 874..884
          section-4-web-server/control-an-fpga/js/opcode.js on lines 905..915
          section-4-web-server/control-an-fpga/js/opcode.js on lines 936..946
          section-4-web-server/control-an-fpga/js/opcode.js on lines 998..1008
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1029..1039
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1060..1070
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1091..1101
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1122..1132
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1153..1163
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1184..1194
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1215..1225
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1246..1256

          Duplicated Code

          Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

          Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

          When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

          Tuning

          This issue has a mass of 104.

          We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

          The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

          If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

          See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

          Refactorings

          Further Reading

          Similar blocks of code found in 37 locations. Consider refactoring.
          Open

          function data_in_a_zero_7_onclick() {
              switch(data_in_a_7_state) {
                  case "high":
                      data_in_a_7_state = "low";
                      console.log("data_in_a_7_state = " + data_in_a_7_state);
          Severity: Major
          Found in section-4-web-server/control-an-fpga/js/opcode.js and 36 other locations - About 3 hrs to fix
          section-4-web-server/control-an-fpga/js/opcode.js on lines 62..72
          section-4-web-server/control-an-fpga/js/opcode.js on lines 93..103
          section-4-web-server/control-an-fpga/js/opcode.js on lines 124..134
          section-4-web-server/control-an-fpga/js/opcode.js on lines 155..165
          section-4-web-server/control-an-fpga/js/opcode.js on lines 186..196
          section-4-web-server/control-an-fpga/js/opcode.js on lines 217..227
          section-4-web-server/control-an-fpga/js/opcode.js on lines 248..258
          section-4-web-server/control-an-fpga/js/opcode.js on lines 313..323
          section-4-web-server/control-an-fpga/js/opcode.js on lines 375..385
          section-4-web-server/control-an-fpga/js/opcode.js on lines 406..416
          section-4-web-server/control-an-fpga/js/opcode.js on lines 437..447
          section-4-web-server/control-an-fpga/js/opcode.js on lines 468..478
          section-4-web-server/control-an-fpga/js/opcode.js on lines 499..509
          section-4-web-server/control-an-fpga/js/opcode.js on lines 530..540
          section-4-web-server/control-an-fpga/js/opcode.js on lines 561..571
          section-4-web-server/control-an-fpga/js/opcode.js on lines 592..602
          section-4-web-server/control-an-fpga/js/opcode.js on lines 623..633
          section-4-web-server/control-an-fpga/js/opcode.js on lines 654..664
          section-4-web-server/control-an-fpga/js/opcode.js on lines 685..695
          section-4-web-server/control-an-fpga/js/opcode.js on lines 716..726
          section-4-web-server/control-an-fpga/js/opcode.js on lines 747..757
          section-4-web-server/control-an-fpga/js/opcode.js on lines 812..822
          section-4-web-server/control-an-fpga/js/opcode.js on lines 843..853
          section-4-web-server/control-an-fpga/js/opcode.js on lines 874..884
          section-4-web-server/control-an-fpga/js/opcode.js on lines 905..915
          section-4-web-server/control-an-fpga/js/opcode.js on lines 936..946
          section-4-web-server/control-an-fpga/js/opcode.js on lines 967..977
          section-4-web-server/control-an-fpga/js/opcode.js on lines 998..1008
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1029..1039
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1060..1070
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1091..1101
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1122..1132
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1153..1163
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1184..1194
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1215..1225
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1246..1256

          Duplicated Code

          Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

          Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

          When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

          Tuning

          This issue has a mass of 104.

          We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

          The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

          If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

          See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

          Refactorings

          Further Reading

          Similar blocks of code found in 37 locations. Consider refactoring.
          Open

          function data_in_a_one_6_onclick() {
              switch(data_in_a_6_state) {
                  case "low":
                      data_in_a_6_state = "high";
                      console.log("data_in_a_6_state = " + data_in_a_6_state);
          Severity: Major
          Found in section-4-web-server/control-an-fpga/js/opcode.js and 36 other locations - About 3 hrs to fix
          section-4-web-server/control-an-fpga/js/opcode.js on lines 62..72
          section-4-web-server/control-an-fpga/js/opcode.js on lines 93..103
          section-4-web-server/control-an-fpga/js/opcode.js on lines 124..134
          section-4-web-server/control-an-fpga/js/opcode.js on lines 155..165
          section-4-web-server/control-an-fpga/js/opcode.js on lines 186..196
          section-4-web-server/control-an-fpga/js/opcode.js on lines 217..227
          section-4-web-server/control-an-fpga/js/opcode.js on lines 248..258
          section-4-web-server/control-an-fpga/js/opcode.js on lines 313..323
          section-4-web-server/control-an-fpga/js/opcode.js on lines 344..354
          section-4-web-server/control-an-fpga/js/opcode.js on lines 406..416
          section-4-web-server/control-an-fpga/js/opcode.js on lines 437..447
          section-4-web-server/control-an-fpga/js/opcode.js on lines 468..478
          section-4-web-server/control-an-fpga/js/opcode.js on lines 499..509
          section-4-web-server/control-an-fpga/js/opcode.js on lines 530..540
          section-4-web-server/control-an-fpga/js/opcode.js on lines 561..571
          section-4-web-server/control-an-fpga/js/opcode.js on lines 592..602
          section-4-web-server/control-an-fpga/js/opcode.js on lines 623..633
          section-4-web-server/control-an-fpga/js/opcode.js on lines 654..664
          section-4-web-server/control-an-fpga/js/opcode.js on lines 685..695
          section-4-web-server/control-an-fpga/js/opcode.js on lines 716..726
          section-4-web-server/control-an-fpga/js/opcode.js on lines 747..757
          section-4-web-server/control-an-fpga/js/opcode.js on lines 812..822
          section-4-web-server/control-an-fpga/js/opcode.js on lines 843..853
          section-4-web-server/control-an-fpga/js/opcode.js on lines 874..884
          section-4-web-server/control-an-fpga/js/opcode.js on lines 905..915
          section-4-web-server/control-an-fpga/js/opcode.js on lines 936..946
          section-4-web-server/control-an-fpga/js/opcode.js on lines 967..977
          section-4-web-server/control-an-fpga/js/opcode.js on lines 998..1008
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1029..1039
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1060..1070
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1091..1101
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1122..1132
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1153..1163
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1184..1194
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1215..1225
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1246..1256

          Duplicated Code

          Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

          Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

          When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

          Tuning

          This issue has a mass of 104.

          We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

          The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

          If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

          See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

          Refactorings

          Further Reading

          Similar blocks of code found in 37 locations. Consider refactoring.
          Open

          function data_in_b_one_7_onclick() {
            switch(data_in_b_7_state) {
                case "low":
                    data_in_b_7_state = "high";
                    console.log("data_in_b_7_state = " + data_in_b_7_state);
          Severity: Major
          Found in section-4-web-server/control-an-fpga/js/opcode.js and 36 other locations - About 3 hrs to fix
          section-4-web-server/control-an-fpga/js/opcode.js on lines 62..72
          section-4-web-server/control-an-fpga/js/opcode.js on lines 93..103
          section-4-web-server/control-an-fpga/js/opcode.js on lines 124..134
          section-4-web-server/control-an-fpga/js/opcode.js on lines 155..165
          section-4-web-server/control-an-fpga/js/opcode.js on lines 186..196
          section-4-web-server/control-an-fpga/js/opcode.js on lines 217..227
          section-4-web-server/control-an-fpga/js/opcode.js on lines 248..258
          section-4-web-server/control-an-fpga/js/opcode.js on lines 313..323
          section-4-web-server/control-an-fpga/js/opcode.js on lines 344..354
          section-4-web-server/control-an-fpga/js/opcode.js on lines 375..385
          section-4-web-server/control-an-fpga/js/opcode.js on lines 406..416
          section-4-web-server/control-an-fpga/js/opcode.js on lines 437..447
          section-4-web-server/control-an-fpga/js/opcode.js on lines 468..478
          section-4-web-server/control-an-fpga/js/opcode.js on lines 499..509
          section-4-web-server/control-an-fpga/js/opcode.js on lines 530..540
          section-4-web-server/control-an-fpga/js/opcode.js on lines 561..571
          section-4-web-server/control-an-fpga/js/opcode.js on lines 592..602
          section-4-web-server/control-an-fpga/js/opcode.js on lines 623..633
          section-4-web-server/control-an-fpga/js/opcode.js on lines 654..664
          section-4-web-server/control-an-fpga/js/opcode.js on lines 685..695
          section-4-web-server/control-an-fpga/js/opcode.js on lines 716..726
          section-4-web-server/control-an-fpga/js/opcode.js on lines 747..757
          section-4-web-server/control-an-fpga/js/opcode.js on lines 843..853
          section-4-web-server/control-an-fpga/js/opcode.js on lines 874..884
          section-4-web-server/control-an-fpga/js/opcode.js on lines 905..915
          section-4-web-server/control-an-fpga/js/opcode.js on lines 936..946
          section-4-web-server/control-an-fpga/js/opcode.js on lines 967..977
          section-4-web-server/control-an-fpga/js/opcode.js on lines 998..1008
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1029..1039
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1060..1070
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1091..1101
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1122..1132
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1153..1163
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1184..1194
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1215..1225
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1246..1256

          Duplicated Code

          Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

          Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

          When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

          Tuning

          This issue has a mass of 104.

          We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

          The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

          If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

          See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

          Refactorings

          Further Reading

          Similar blocks of code found in 37 locations. Consider refactoring.
          Open

          function data_in_b_one_4_onclick() {
          switch(data_in_b_4_state) {
              case "low":
                  data_in_b_4_state = "high";
                  console.log("data_in_b_4_state = " + data_in_b_4_state);
          Severity: Major
          Found in section-4-web-server/control-an-fpga/js/opcode.js and 36 other locations - About 3 hrs to fix
          section-4-web-server/control-an-fpga/js/opcode.js on lines 62..72
          section-4-web-server/control-an-fpga/js/opcode.js on lines 93..103
          section-4-web-server/control-an-fpga/js/opcode.js on lines 124..134
          section-4-web-server/control-an-fpga/js/opcode.js on lines 155..165
          section-4-web-server/control-an-fpga/js/opcode.js on lines 186..196
          section-4-web-server/control-an-fpga/js/opcode.js on lines 217..227
          section-4-web-server/control-an-fpga/js/opcode.js on lines 248..258
          section-4-web-server/control-an-fpga/js/opcode.js on lines 313..323
          section-4-web-server/control-an-fpga/js/opcode.js on lines 344..354
          section-4-web-server/control-an-fpga/js/opcode.js on lines 375..385
          section-4-web-server/control-an-fpga/js/opcode.js on lines 406..416
          section-4-web-server/control-an-fpga/js/opcode.js on lines 437..447
          section-4-web-server/control-an-fpga/js/opcode.js on lines 468..478
          section-4-web-server/control-an-fpga/js/opcode.js on lines 499..509
          section-4-web-server/control-an-fpga/js/opcode.js on lines 530..540
          section-4-web-server/control-an-fpga/js/opcode.js on lines 561..571
          section-4-web-server/control-an-fpga/js/opcode.js on lines 592..602
          section-4-web-server/control-an-fpga/js/opcode.js on lines 623..633
          section-4-web-server/control-an-fpga/js/opcode.js on lines 654..664
          section-4-web-server/control-an-fpga/js/opcode.js on lines 685..695
          section-4-web-server/control-an-fpga/js/opcode.js on lines 716..726
          section-4-web-server/control-an-fpga/js/opcode.js on lines 747..757
          section-4-web-server/control-an-fpga/js/opcode.js on lines 812..822
          section-4-web-server/control-an-fpga/js/opcode.js on lines 843..853
          section-4-web-server/control-an-fpga/js/opcode.js on lines 874..884
          section-4-web-server/control-an-fpga/js/opcode.js on lines 905..915
          section-4-web-server/control-an-fpga/js/opcode.js on lines 936..946
          section-4-web-server/control-an-fpga/js/opcode.js on lines 967..977
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1029..1039
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1060..1070
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1091..1101
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1122..1132
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1153..1163
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1184..1194
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1215..1225
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1246..1256

          Duplicated Code

          Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

          Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

          When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

          Tuning

          This issue has a mass of 104.

          We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

          The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

          If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

          See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

          Refactorings

          Further Reading

          Similar blocks of code found in 37 locations. Consider refactoring.
          Open

          function data_in_a_zero_3_onclick() {
            switch(data_in_a_3_state) {
                case "high":
                    data_in_a_3_state = "low";
                    console.log("data_in_a_3_state = " + data_in_a_3_state);
          Severity: Major
          Found in section-4-web-server/control-an-fpga/js/opcode.js and 36 other locations - About 3 hrs to fix
          section-4-web-server/control-an-fpga/js/opcode.js on lines 62..72
          section-4-web-server/control-an-fpga/js/opcode.js on lines 93..103
          section-4-web-server/control-an-fpga/js/opcode.js on lines 124..134
          section-4-web-server/control-an-fpga/js/opcode.js on lines 155..165
          section-4-web-server/control-an-fpga/js/opcode.js on lines 186..196
          section-4-web-server/control-an-fpga/js/opcode.js on lines 217..227
          section-4-web-server/control-an-fpga/js/opcode.js on lines 248..258
          section-4-web-server/control-an-fpga/js/opcode.js on lines 313..323
          section-4-web-server/control-an-fpga/js/opcode.js on lines 344..354
          section-4-web-server/control-an-fpga/js/opcode.js on lines 375..385
          section-4-web-server/control-an-fpga/js/opcode.js on lines 406..416
          section-4-web-server/control-an-fpga/js/opcode.js on lines 437..447
          section-4-web-server/control-an-fpga/js/opcode.js on lines 468..478
          section-4-web-server/control-an-fpga/js/opcode.js on lines 499..509
          section-4-web-server/control-an-fpga/js/opcode.js on lines 530..540
          section-4-web-server/control-an-fpga/js/opcode.js on lines 561..571
          section-4-web-server/control-an-fpga/js/opcode.js on lines 623..633
          section-4-web-server/control-an-fpga/js/opcode.js on lines 654..664
          section-4-web-server/control-an-fpga/js/opcode.js on lines 685..695
          section-4-web-server/control-an-fpga/js/opcode.js on lines 716..726
          section-4-web-server/control-an-fpga/js/opcode.js on lines 747..757
          section-4-web-server/control-an-fpga/js/opcode.js on lines 812..822
          section-4-web-server/control-an-fpga/js/opcode.js on lines 843..853
          section-4-web-server/control-an-fpga/js/opcode.js on lines 874..884
          section-4-web-server/control-an-fpga/js/opcode.js on lines 905..915
          section-4-web-server/control-an-fpga/js/opcode.js on lines 936..946
          section-4-web-server/control-an-fpga/js/opcode.js on lines 967..977
          section-4-web-server/control-an-fpga/js/opcode.js on lines 998..1008
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1029..1039
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1060..1070
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1091..1101
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1122..1132
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1153..1163
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1184..1194
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1215..1225
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1246..1256

          Duplicated Code

          Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

          Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

          When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

          Tuning

          This issue has a mass of 104.

          We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

          The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

          If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

          See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

          Refactorings

          Further Reading

          Similar blocks of code found in 37 locations. Consider refactoring.
          Open

          function opcode_one_2_onclick() {
              switch(opcode_2_state) {
                  case "low":
                      opcode_2_state = "high";
                      console.log("opcode_2_state = " + opcode_2_state);
          Severity: Major
          Found in section-4-web-server/control-an-fpga/js/opcode.js and 36 other locations - About 3 hrs to fix
          section-4-web-server/control-an-fpga/js/opcode.js on lines 62..72
          section-4-web-server/control-an-fpga/js/opcode.js on lines 93..103
          section-4-web-server/control-an-fpga/js/opcode.js on lines 155..165
          section-4-web-server/control-an-fpga/js/opcode.js on lines 186..196
          section-4-web-server/control-an-fpga/js/opcode.js on lines 217..227
          section-4-web-server/control-an-fpga/js/opcode.js on lines 248..258
          section-4-web-server/control-an-fpga/js/opcode.js on lines 313..323
          section-4-web-server/control-an-fpga/js/opcode.js on lines 344..354
          section-4-web-server/control-an-fpga/js/opcode.js on lines 375..385
          section-4-web-server/control-an-fpga/js/opcode.js on lines 406..416
          section-4-web-server/control-an-fpga/js/opcode.js on lines 437..447
          section-4-web-server/control-an-fpga/js/opcode.js on lines 468..478
          section-4-web-server/control-an-fpga/js/opcode.js on lines 499..509
          section-4-web-server/control-an-fpga/js/opcode.js on lines 530..540
          section-4-web-server/control-an-fpga/js/opcode.js on lines 561..571
          section-4-web-server/control-an-fpga/js/opcode.js on lines 592..602
          section-4-web-server/control-an-fpga/js/opcode.js on lines 623..633
          section-4-web-server/control-an-fpga/js/opcode.js on lines 654..664
          section-4-web-server/control-an-fpga/js/opcode.js on lines 685..695
          section-4-web-server/control-an-fpga/js/opcode.js on lines 716..726
          section-4-web-server/control-an-fpga/js/opcode.js on lines 747..757
          section-4-web-server/control-an-fpga/js/opcode.js on lines 812..822
          section-4-web-server/control-an-fpga/js/opcode.js on lines 843..853
          section-4-web-server/control-an-fpga/js/opcode.js on lines 874..884
          section-4-web-server/control-an-fpga/js/opcode.js on lines 905..915
          section-4-web-server/control-an-fpga/js/opcode.js on lines 936..946
          section-4-web-server/control-an-fpga/js/opcode.js on lines 967..977
          section-4-web-server/control-an-fpga/js/opcode.js on lines 998..1008
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1029..1039
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1060..1070
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1091..1101
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1122..1132
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1153..1163
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1184..1194
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1215..1225
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1246..1256

          Duplicated Code

          Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

          Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

          When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

          Tuning

          This issue has a mass of 104.

          We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

          The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

          If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

          See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

          Refactorings

          Further Reading

          Similar blocks of code found in 37 locations. Consider refactoring.
          Open

          function opcode_one_0_onclick() {
              switch(opcode_0_state) {
                  case "low":
                      opcode_0_state = "high";
                      console.log("opcode_0_state = " + opcode_0_state);
          Severity: Major
          Found in section-4-web-server/control-an-fpga/js/opcode.js and 36 other locations - About 3 hrs to fix
          section-4-web-server/control-an-fpga/js/opcode.js on lines 62..72
          section-4-web-server/control-an-fpga/js/opcode.js on lines 93..103
          section-4-web-server/control-an-fpga/js/opcode.js on lines 124..134
          section-4-web-server/control-an-fpga/js/opcode.js on lines 155..165
          section-4-web-server/control-an-fpga/js/opcode.js on lines 186..196
          section-4-web-server/control-an-fpga/js/opcode.js on lines 217..227
          section-4-web-server/control-an-fpga/js/opcode.js on lines 313..323
          section-4-web-server/control-an-fpga/js/opcode.js on lines 344..354
          section-4-web-server/control-an-fpga/js/opcode.js on lines 375..385
          section-4-web-server/control-an-fpga/js/opcode.js on lines 406..416
          section-4-web-server/control-an-fpga/js/opcode.js on lines 437..447
          section-4-web-server/control-an-fpga/js/opcode.js on lines 468..478
          section-4-web-server/control-an-fpga/js/opcode.js on lines 499..509
          section-4-web-server/control-an-fpga/js/opcode.js on lines 530..540
          section-4-web-server/control-an-fpga/js/opcode.js on lines 561..571
          section-4-web-server/control-an-fpga/js/opcode.js on lines 592..602
          section-4-web-server/control-an-fpga/js/opcode.js on lines 623..633
          section-4-web-server/control-an-fpga/js/opcode.js on lines 654..664
          section-4-web-server/control-an-fpga/js/opcode.js on lines 685..695
          section-4-web-server/control-an-fpga/js/opcode.js on lines 716..726
          section-4-web-server/control-an-fpga/js/opcode.js on lines 747..757
          section-4-web-server/control-an-fpga/js/opcode.js on lines 812..822
          section-4-web-server/control-an-fpga/js/opcode.js on lines 843..853
          section-4-web-server/control-an-fpga/js/opcode.js on lines 874..884
          section-4-web-server/control-an-fpga/js/opcode.js on lines 905..915
          section-4-web-server/control-an-fpga/js/opcode.js on lines 936..946
          section-4-web-server/control-an-fpga/js/opcode.js on lines 967..977
          section-4-web-server/control-an-fpga/js/opcode.js on lines 998..1008
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1029..1039
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1060..1070
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1091..1101
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1122..1132
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1153..1163
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1184..1194
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1215..1225
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1246..1256

          Duplicated Code

          Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

          Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

          When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

          Tuning

          This issue has a mass of 104.

          We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

          The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

          If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

          See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

          Refactorings

          Further Reading

          Similar blocks of code found in 37 locations. Consider refactoring.
          Open

          function data_in_a_one_0_onclick() {
            switch(data_in_a_0_state) {
                case "low":
                    data_in_a_0_state = "high";
                    console.log("data_in_a_0_state = " + data_in_a_0_state);
          Severity: Major
          Found in section-4-web-server/control-an-fpga/js/opcode.js and 36 other locations - About 3 hrs to fix
          section-4-web-server/control-an-fpga/js/opcode.js on lines 62..72
          section-4-web-server/control-an-fpga/js/opcode.js on lines 93..103
          section-4-web-server/control-an-fpga/js/opcode.js on lines 124..134
          section-4-web-server/control-an-fpga/js/opcode.js on lines 155..165
          section-4-web-server/control-an-fpga/js/opcode.js on lines 186..196
          section-4-web-server/control-an-fpga/js/opcode.js on lines 217..227
          section-4-web-server/control-an-fpga/js/opcode.js on lines 248..258
          section-4-web-server/control-an-fpga/js/opcode.js on lines 313..323
          section-4-web-server/control-an-fpga/js/opcode.js on lines 344..354
          section-4-web-server/control-an-fpga/js/opcode.js on lines 375..385
          section-4-web-server/control-an-fpga/js/opcode.js on lines 406..416
          section-4-web-server/control-an-fpga/js/opcode.js on lines 437..447
          section-4-web-server/control-an-fpga/js/opcode.js on lines 468..478
          section-4-web-server/control-an-fpga/js/opcode.js on lines 499..509
          section-4-web-server/control-an-fpga/js/opcode.js on lines 530..540
          section-4-web-server/control-an-fpga/js/opcode.js on lines 561..571
          section-4-web-server/control-an-fpga/js/opcode.js on lines 592..602
          section-4-web-server/control-an-fpga/js/opcode.js on lines 623..633
          section-4-web-server/control-an-fpga/js/opcode.js on lines 654..664
          section-4-web-server/control-an-fpga/js/opcode.js on lines 685..695
          section-4-web-server/control-an-fpga/js/opcode.js on lines 716..726
          section-4-web-server/control-an-fpga/js/opcode.js on lines 812..822
          section-4-web-server/control-an-fpga/js/opcode.js on lines 843..853
          section-4-web-server/control-an-fpga/js/opcode.js on lines 874..884
          section-4-web-server/control-an-fpga/js/opcode.js on lines 905..915
          section-4-web-server/control-an-fpga/js/opcode.js on lines 936..946
          section-4-web-server/control-an-fpga/js/opcode.js on lines 967..977
          section-4-web-server/control-an-fpga/js/opcode.js on lines 998..1008
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1029..1039
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1060..1070
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1091..1101
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1122..1132
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1153..1163
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1184..1194
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1215..1225
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1246..1256

          Duplicated Code

          Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

          Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

          When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

          Tuning

          This issue has a mass of 104.

          We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

          The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

          If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

          See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

          Refactorings

          Further Reading

          Similar blocks of code found in 37 locations. Consider refactoring.
          Open

          function opcode_zero_2_onclick() {
              switch(opcode_2_state) {
                  case "high":
                      opcode_2_state = "low";
                      console.log("opcode_2_state = " + opcode_2_state);
          Severity: Major
          Found in section-4-web-server/control-an-fpga/js/opcode.js and 36 other locations - About 3 hrs to fix
          section-4-web-server/control-an-fpga/js/opcode.js on lines 62..72
          section-4-web-server/control-an-fpga/js/opcode.js on lines 93..103
          section-4-web-server/control-an-fpga/js/opcode.js on lines 124..134
          section-4-web-server/control-an-fpga/js/opcode.js on lines 186..196
          section-4-web-server/control-an-fpga/js/opcode.js on lines 217..227
          section-4-web-server/control-an-fpga/js/opcode.js on lines 248..258
          section-4-web-server/control-an-fpga/js/opcode.js on lines 313..323
          section-4-web-server/control-an-fpga/js/opcode.js on lines 344..354
          section-4-web-server/control-an-fpga/js/opcode.js on lines 375..385
          section-4-web-server/control-an-fpga/js/opcode.js on lines 406..416
          section-4-web-server/control-an-fpga/js/opcode.js on lines 437..447
          section-4-web-server/control-an-fpga/js/opcode.js on lines 468..478
          section-4-web-server/control-an-fpga/js/opcode.js on lines 499..509
          section-4-web-server/control-an-fpga/js/opcode.js on lines 530..540
          section-4-web-server/control-an-fpga/js/opcode.js on lines 561..571
          section-4-web-server/control-an-fpga/js/opcode.js on lines 592..602
          section-4-web-server/control-an-fpga/js/opcode.js on lines 623..633
          section-4-web-server/control-an-fpga/js/opcode.js on lines 654..664
          section-4-web-server/control-an-fpga/js/opcode.js on lines 685..695
          section-4-web-server/control-an-fpga/js/opcode.js on lines 716..726
          section-4-web-server/control-an-fpga/js/opcode.js on lines 747..757
          section-4-web-server/control-an-fpga/js/opcode.js on lines 812..822
          section-4-web-server/control-an-fpga/js/opcode.js on lines 843..853
          section-4-web-server/control-an-fpga/js/opcode.js on lines 874..884
          section-4-web-server/control-an-fpga/js/opcode.js on lines 905..915
          section-4-web-server/control-an-fpga/js/opcode.js on lines 936..946
          section-4-web-server/control-an-fpga/js/opcode.js on lines 967..977
          section-4-web-server/control-an-fpga/js/opcode.js on lines 998..1008
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1029..1039
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1060..1070
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1091..1101
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1122..1132
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1153..1163
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1184..1194
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1215..1225
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1246..1256

          Duplicated Code

          Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

          Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

          When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

          Tuning

          This issue has a mass of 104.

          We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

          The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

          If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

          See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

          Refactorings

          Further Reading

          Similar blocks of code found in 37 locations. Consider refactoring.
          Open

          function data_in_b_zero_4_onclick() {
          switch(data_in_b_4_state) {
              case "high":
                  data_in_b_4_state = "low";
                  console.log("data_in_b_4_state = " + data_in_b_4_state);
          Severity: Major
          Found in section-4-web-server/control-an-fpga/js/opcode.js and 36 other locations - About 3 hrs to fix
          section-4-web-server/control-an-fpga/js/opcode.js on lines 62..72
          section-4-web-server/control-an-fpga/js/opcode.js on lines 93..103
          section-4-web-server/control-an-fpga/js/opcode.js on lines 124..134
          section-4-web-server/control-an-fpga/js/opcode.js on lines 155..165
          section-4-web-server/control-an-fpga/js/opcode.js on lines 186..196
          section-4-web-server/control-an-fpga/js/opcode.js on lines 217..227
          section-4-web-server/control-an-fpga/js/opcode.js on lines 248..258
          section-4-web-server/control-an-fpga/js/opcode.js on lines 313..323
          section-4-web-server/control-an-fpga/js/opcode.js on lines 344..354
          section-4-web-server/control-an-fpga/js/opcode.js on lines 375..385
          section-4-web-server/control-an-fpga/js/opcode.js on lines 406..416
          section-4-web-server/control-an-fpga/js/opcode.js on lines 437..447
          section-4-web-server/control-an-fpga/js/opcode.js on lines 468..478
          section-4-web-server/control-an-fpga/js/opcode.js on lines 499..509
          section-4-web-server/control-an-fpga/js/opcode.js on lines 530..540
          section-4-web-server/control-an-fpga/js/opcode.js on lines 561..571
          section-4-web-server/control-an-fpga/js/opcode.js on lines 592..602
          section-4-web-server/control-an-fpga/js/opcode.js on lines 623..633
          section-4-web-server/control-an-fpga/js/opcode.js on lines 654..664
          section-4-web-server/control-an-fpga/js/opcode.js on lines 685..695
          section-4-web-server/control-an-fpga/js/opcode.js on lines 716..726
          section-4-web-server/control-an-fpga/js/opcode.js on lines 747..757
          section-4-web-server/control-an-fpga/js/opcode.js on lines 812..822
          section-4-web-server/control-an-fpga/js/opcode.js on lines 843..853
          section-4-web-server/control-an-fpga/js/opcode.js on lines 874..884
          section-4-web-server/control-an-fpga/js/opcode.js on lines 905..915
          section-4-web-server/control-an-fpga/js/opcode.js on lines 936..946
          section-4-web-server/control-an-fpga/js/opcode.js on lines 967..977
          section-4-web-server/control-an-fpga/js/opcode.js on lines 998..1008
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1060..1070
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1091..1101
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1122..1132
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1153..1163
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1184..1194
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1215..1225
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1246..1256

          Duplicated Code

          Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

          Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

          When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

          Tuning

          This issue has a mass of 104.

          We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

          The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

          If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

          See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

          Refactorings

          Further Reading

          Similar blocks of code found in 37 locations. Consider refactoring.
          Open

          function data_in_b_one_3_onclick() {
          switch(data_in_b_3_state) {
              case "low":
                  data_in_b_3_state = "high";
                  console.log("data_in_b_3_state = " + data_in_b_3_state);
          Severity: Major
          Found in section-4-web-server/control-an-fpga/js/opcode.js and 36 other locations - About 3 hrs to fix
          section-4-web-server/control-an-fpga/js/opcode.js on lines 62..72
          section-4-web-server/control-an-fpga/js/opcode.js on lines 93..103
          section-4-web-server/control-an-fpga/js/opcode.js on lines 124..134
          section-4-web-server/control-an-fpga/js/opcode.js on lines 155..165
          section-4-web-server/control-an-fpga/js/opcode.js on lines 186..196
          section-4-web-server/control-an-fpga/js/opcode.js on lines 217..227
          section-4-web-server/control-an-fpga/js/opcode.js on lines 248..258
          section-4-web-server/control-an-fpga/js/opcode.js on lines 313..323
          section-4-web-server/control-an-fpga/js/opcode.js on lines 344..354
          section-4-web-server/control-an-fpga/js/opcode.js on lines 375..385
          section-4-web-server/control-an-fpga/js/opcode.js on lines 406..416
          section-4-web-server/control-an-fpga/js/opcode.js on lines 437..447
          section-4-web-server/control-an-fpga/js/opcode.js on lines 468..478
          section-4-web-server/control-an-fpga/js/opcode.js on lines 499..509
          section-4-web-server/control-an-fpga/js/opcode.js on lines 530..540
          section-4-web-server/control-an-fpga/js/opcode.js on lines 561..571
          section-4-web-server/control-an-fpga/js/opcode.js on lines 592..602
          section-4-web-server/control-an-fpga/js/opcode.js on lines 623..633
          section-4-web-server/control-an-fpga/js/opcode.js on lines 654..664
          section-4-web-server/control-an-fpga/js/opcode.js on lines 685..695
          section-4-web-server/control-an-fpga/js/opcode.js on lines 716..726
          section-4-web-server/control-an-fpga/js/opcode.js on lines 747..757
          section-4-web-server/control-an-fpga/js/opcode.js on lines 812..822
          section-4-web-server/control-an-fpga/js/opcode.js on lines 843..853
          section-4-web-server/control-an-fpga/js/opcode.js on lines 874..884
          section-4-web-server/control-an-fpga/js/opcode.js on lines 905..915
          section-4-web-server/control-an-fpga/js/opcode.js on lines 936..946
          section-4-web-server/control-an-fpga/js/opcode.js on lines 967..977
          section-4-web-server/control-an-fpga/js/opcode.js on lines 998..1008
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1029..1039
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1091..1101
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1122..1132
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1153..1163
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1184..1194
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1215..1225
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1246..1256

          Duplicated Code

          Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

          Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

          When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

          Tuning

          This issue has a mass of 104.

          We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

          The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

          If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

          See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

          Refactorings

          Further Reading

          Similar blocks of code found in 37 locations. Consider refactoring.
          Open

          function opcode_zero_1_onclick() {
              switch(opcode_1_state) {
                  case "high":
                      opcode_1_state = "low";
                      console.log("opcode_1_state = " + opcode_1_state);
          Severity: Major
          Found in section-4-web-server/control-an-fpga/js/opcode.js and 36 other locations - About 3 hrs to fix
          section-4-web-server/control-an-fpga/js/opcode.js on lines 62..72
          section-4-web-server/control-an-fpga/js/opcode.js on lines 93..103
          section-4-web-server/control-an-fpga/js/opcode.js on lines 124..134
          section-4-web-server/control-an-fpga/js/opcode.js on lines 155..165
          section-4-web-server/control-an-fpga/js/opcode.js on lines 186..196
          section-4-web-server/control-an-fpga/js/opcode.js on lines 248..258
          section-4-web-server/control-an-fpga/js/opcode.js on lines 313..323
          section-4-web-server/control-an-fpga/js/opcode.js on lines 344..354
          section-4-web-server/control-an-fpga/js/opcode.js on lines 375..385
          section-4-web-server/control-an-fpga/js/opcode.js on lines 406..416
          section-4-web-server/control-an-fpga/js/opcode.js on lines 437..447
          section-4-web-server/control-an-fpga/js/opcode.js on lines 468..478
          section-4-web-server/control-an-fpga/js/opcode.js on lines 499..509
          section-4-web-server/control-an-fpga/js/opcode.js on lines 530..540
          section-4-web-server/control-an-fpga/js/opcode.js on lines 561..571
          section-4-web-server/control-an-fpga/js/opcode.js on lines 592..602
          section-4-web-server/control-an-fpga/js/opcode.js on lines 623..633
          section-4-web-server/control-an-fpga/js/opcode.js on lines 654..664
          section-4-web-server/control-an-fpga/js/opcode.js on lines 685..695
          section-4-web-server/control-an-fpga/js/opcode.js on lines 716..726
          section-4-web-server/control-an-fpga/js/opcode.js on lines 747..757
          section-4-web-server/control-an-fpga/js/opcode.js on lines 812..822
          section-4-web-server/control-an-fpga/js/opcode.js on lines 843..853
          section-4-web-server/control-an-fpga/js/opcode.js on lines 874..884
          section-4-web-server/control-an-fpga/js/opcode.js on lines 905..915
          section-4-web-server/control-an-fpga/js/opcode.js on lines 936..946
          section-4-web-server/control-an-fpga/js/opcode.js on lines 967..977
          section-4-web-server/control-an-fpga/js/opcode.js on lines 998..1008
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1029..1039
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1060..1070
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1091..1101
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1122..1132
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1153..1163
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1184..1194
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1215..1225
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1246..1256

          Duplicated Code

          Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

          Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

          When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

          Tuning

          This issue has a mass of 104.

          We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

          The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

          If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

          See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

          Refactorings

          Further Reading

          Similar blocks of code found in 37 locations. Consider refactoring.
          Open

          function data_in_b_one_5_onclick() {
            switch(data_in_b_5_state) {
                case "low":
                    data_in_b_5_state = "high";
                    console.log("data_in_b_5_state = " + data_in_b_5_state);
          Severity: Major
          Found in section-4-web-server/control-an-fpga/js/opcode.js and 36 other locations - About 3 hrs to fix
          section-4-web-server/control-an-fpga/js/opcode.js on lines 62..72
          section-4-web-server/control-an-fpga/js/opcode.js on lines 93..103
          section-4-web-server/control-an-fpga/js/opcode.js on lines 124..134
          section-4-web-server/control-an-fpga/js/opcode.js on lines 155..165
          section-4-web-server/control-an-fpga/js/opcode.js on lines 186..196
          section-4-web-server/control-an-fpga/js/opcode.js on lines 217..227
          section-4-web-server/control-an-fpga/js/opcode.js on lines 248..258
          section-4-web-server/control-an-fpga/js/opcode.js on lines 313..323
          section-4-web-server/control-an-fpga/js/opcode.js on lines 344..354
          section-4-web-server/control-an-fpga/js/opcode.js on lines 375..385
          section-4-web-server/control-an-fpga/js/opcode.js on lines 406..416
          section-4-web-server/control-an-fpga/js/opcode.js on lines 437..447
          section-4-web-server/control-an-fpga/js/opcode.js on lines 468..478
          section-4-web-server/control-an-fpga/js/opcode.js on lines 499..509
          section-4-web-server/control-an-fpga/js/opcode.js on lines 530..540
          section-4-web-server/control-an-fpga/js/opcode.js on lines 561..571
          section-4-web-server/control-an-fpga/js/opcode.js on lines 592..602
          section-4-web-server/control-an-fpga/js/opcode.js on lines 623..633
          section-4-web-server/control-an-fpga/js/opcode.js on lines 654..664
          section-4-web-server/control-an-fpga/js/opcode.js on lines 685..695
          section-4-web-server/control-an-fpga/js/opcode.js on lines 716..726
          section-4-web-server/control-an-fpga/js/opcode.js on lines 747..757
          section-4-web-server/control-an-fpga/js/opcode.js on lines 812..822
          section-4-web-server/control-an-fpga/js/opcode.js on lines 843..853
          section-4-web-server/control-an-fpga/js/opcode.js on lines 874..884
          section-4-web-server/control-an-fpga/js/opcode.js on lines 905..915
          section-4-web-server/control-an-fpga/js/opcode.js on lines 967..977
          section-4-web-server/control-an-fpga/js/opcode.js on lines 998..1008
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1029..1039
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1060..1070
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1091..1101
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1122..1132
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1153..1163
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1184..1194
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1215..1225
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1246..1256

          Duplicated Code

          Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

          Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

          When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

          Tuning

          This issue has a mass of 104.

          We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

          The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

          If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

          See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

          Refactorings

          Further Reading

          Similar blocks of code found in 37 locations. Consider refactoring.
          Open

          function data_in_a_one_3_onclick() {
            switch(data_in_a_3_state) {
                case "low":
                    data_in_a_3_state = "high";
                    console.log("data_in_a_3_state = " + data_in_a_3_state);
          Severity: Major
          Found in section-4-web-server/control-an-fpga/js/opcode.js and 36 other locations - About 3 hrs to fix
          section-4-web-server/control-an-fpga/js/opcode.js on lines 62..72
          section-4-web-server/control-an-fpga/js/opcode.js on lines 93..103
          section-4-web-server/control-an-fpga/js/opcode.js on lines 124..134
          section-4-web-server/control-an-fpga/js/opcode.js on lines 155..165
          section-4-web-server/control-an-fpga/js/opcode.js on lines 186..196
          section-4-web-server/control-an-fpga/js/opcode.js on lines 217..227
          section-4-web-server/control-an-fpga/js/opcode.js on lines 248..258
          section-4-web-server/control-an-fpga/js/opcode.js on lines 313..323
          section-4-web-server/control-an-fpga/js/opcode.js on lines 344..354
          section-4-web-server/control-an-fpga/js/opcode.js on lines 375..385
          section-4-web-server/control-an-fpga/js/opcode.js on lines 406..416
          section-4-web-server/control-an-fpga/js/opcode.js on lines 437..447
          section-4-web-server/control-an-fpga/js/opcode.js on lines 468..478
          section-4-web-server/control-an-fpga/js/opcode.js on lines 499..509
          section-4-web-server/control-an-fpga/js/opcode.js on lines 530..540
          section-4-web-server/control-an-fpga/js/opcode.js on lines 592..602
          section-4-web-server/control-an-fpga/js/opcode.js on lines 623..633
          section-4-web-server/control-an-fpga/js/opcode.js on lines 654..664
          section-4-web-server/control-an-fpga/js/opcode.js on lines 685..695
          section-4-web-server/control-an-fpga/js/opcode.js on lines 716..726
          section-4-web-server/control-an-fpga/js/opcode.js on lines 747..757
          section-4-web-server/control-an-fpga/js/opcode.js on lines 812..822
          section-4-web-server/control-an-fpga/js/opcode.js on lines 843..853
          section-4-web-server/control-an-fpga/js/opcode.js on lines 874..884
          section-4-web-server/control-an-fpga/js/opcode.js on lines 905..915
          section-4-web-server/control-an-fpga/js/opcode.js on lines 936..946
          section-4-web-server/control-an-fpga/js/opcode.js on lines 967..977
          section-4-web-server/control-an-fpga/js/opcode.js on lines 998..1008
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1029..1039
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1060..1070
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1091..1101
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1122..1132
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1153..1163
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1184..1194
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1215..1225
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1246..1256

          Duplicated Code

          Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

          Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

          When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

          Tuning

          This issue has a mass of 104.

          We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

          The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

          If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

          See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

          Refactorings

          Further Reading

          Similar blocks of code found in 37 locations. Consider refactoring.
          Open

          function data_in_a_zero_2_onclick() {
            switch(data_in_a_2_state) {
                case "high":
                    data_in_a_2_state = "low";
                    console.log("data_in_a_2_state = " + data_in_a_2_state);
          Severity: Major
          Found in section-4-web-server/control-an-fpga/js/opcode.js and 36 other locations - About 3 hrs to fix
          section-4-web-server/control-an-fpga/js/opcode.js on lines 62..72
          section-4-web-server/control-an-fpga/js/opcode.js on lines 93..103
          section-4-web-server/control-an-fpga/js/opcode.js on lines 124..134
          section-4-web-server/control-an-fpga/js/opcode.js on lines 155..165
          section-4-web-server/control-an-fpga/js/opcode.js on lines 186..196
          section-4-web-server/control-an-fpga/js/opcode.js on lines 217..227
          section-4-web-server/control-an-fpga/js/opcode.js on lines 248..258
          section-4-web-server/control-an-fpga/js/opcode.js on lines 313..323
          section-4-web-server/control-an-fpga/js/opcode.js on lines 344..354
          section-4-web-server/control-an-fpga/js/opcode.js on lines 375..385
          section-4-web-server/control-an-fpga/js/opcode.js on lines 406..416
          section-4-web-server/control-an-fpga/js/opcode.js on lines 437..447
          section-4-web-server/control-an-fpga/js/opcode.js on lines 468..478
          section-4-web-server/control-an-fpga/js/opcode.js on lines 499..509
          section-4-web-server/control-an-fpga/js/opcode.js on lines 530..540
          section-4-web-server/control-an-fpga/js/opcode.js on lines 561..571
          section-4-web-server/control-an-fpga/js/opcode.js on lines 592..602
          section-4-web-server/control-an-fpga/js/opcode.js on lines 623..633
          section-4-web-server/control-an-fpga/js/opcode.js on lines 685..695
          section-4-web-server/control-an-fpga/js/opcode.js on lines 716..726
          section-4-web-server/control-an-fpga/js/opcode.js on lines 747..757
          section-4-web-server/control-an-fpga/js/opcode.js on lines 812..822
          section-4-web-server/control-an-fpga/js/opcode.js on lines 843..853
          section-4-web-server/control-an-fpga/js/opcode.js on lines 874..884
          section-4-web-server/control-an-fpga/js/opcode.js on lines 905..915
          section-4-web-server/control-an-fpga/js/opcode.js on lines 936..946
          section-4-web-server/control-an-fpga/js/opcode.js on lines 967..977
          section-4-web-server/control-an-fpga/js/opcode.js on lines 998..1008
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1029..1039
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1060..1070
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1091..1101
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1122..1132
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1153..1163
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1184..1194
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1215..1225
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1246..1256

          Duplicated Code

          Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

          Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

          When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

          Tuning

          This issue has a mass of 104.

          We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

          The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

          If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

          See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

          Refactorings

          Further Reading

          Similar blocks of code found in 37 locations. Consider refactoring.
          Open

          function data_in_b_zero_7_onclick() {
            switch(data_in_b_7_state) {
                case "high":
                    data_in_b_7_state = "low";
                    console.log("data_in_b_7_state = " + data_in_b_7_state);
          Severity: Major
          Found in section-4-web-server/control-an-fpga/js/opcode.js and 36 other locations - About 3 hrs to fix
          section-4-web-server/control-an-fpga/js/opcode.js on lines 62..72
          section-4-web-server/control-an-fpga/js/opcode.js on lines 93..103
          section-4-web-server/control-an-fpga/js/opcode.js on lines 124..134
          section-4-web-server/control-an-fpga/js/opcode.js on lines 155..165
          section-4-web-server/control-an-fpga/js/opcode.js on lines 186..196
          section-4-web-server/control-an-fpga/js/opcode.js on lines 217..227
          section-4-web-server/control-an-fpga/js/opcode.js on lines 248..258
          section-4-web-server/control-an-fpga/js/opcode.js on lines 313..323
          section-4-web-server/control-an-fpga/js/opcode.js on lines 344..354
          section-4-web-server/control-an-fpga/js/opcode.js on lines 375..385
          section-4-web-server/control-an-fpga/js/opcode.js on lines 406..416
          section-4-web-server/control-an-fpga/js/opcode.js on lines 437..447
          section-4-web-server/control-an-fpga/js/opcode.js on lines 468..478
          section-4-web-server/control-an-fpga/js/opcode.js on lines 499..509
          section-4-web-server/control-an-fpga/js/opcode.js on lines 530..540
          section-4-web-server/control-an-fpga/js/opcode.js on lines 561..571
          section-4-web-server/control-an-fpga/js/opcode.js on lines 592..602
          section-4-web-server/control-an-fpga/js/opcode.js on lines 623..633
          section-4-web-server/control-an-fpga/js/opcode.js on lines 654..664
          section-4-web-server/control-an-fpga/js/opcode.js on lines 685..695
          section-4-web-server/control-an-fpga/js/opcode.js on lines 716..726
          section-4-web-server/control-an-fpga/js/opcode.js on lines 747..757
          section-4-web-server/control-an-fpga/js/opcode.js on lines 812..822
          section-4-web-server/control-an-fpga/js/opcode.js on lines 874..884
          section-4-web-server/control-an-fpga/js/opcode.js on lines 905..915
          section-4-web-server/control-an-fpga/js/opcode.js on lines 936..946
          section-4-web-server/control-an-fpga/js/opcode.js on lines 967..977
          section-4-web-server/control-an-fpga/js/opcode.js on lines 998..1008
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1029..1039
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1060..1070
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1091..1101
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1122..1132
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1153..1163
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1184..1194
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1215..1225
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1246..1256

          Duplicated Code

          Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

          Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

          When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

          Tuning

          This issue has a mass of 104.

          We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

          The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

          If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

          See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

          Refactorings

          Further Reading

          Similar blocks of code found in 37 locations. Consider refactoring.
          Open

          function data_in_b_one_6_onclick() {
            switch(data_in_b_6_state) {
                case "low":
                    data_in_b_6_state = "high";
                    console.log("data_in_b_6_state = " + data_in_b_6_state);
          Severity: Major
          Found in section-4-web-server/control-an-fpga/js/opcode.js and 36 other locations - About 3 hrs to fix
          section-4-web-server/control-an-fpga/js/opcode.js on lines 62..72
          section-4-web-server/control-an-fpga/js/opcode.js on lines 93..103
          section-4-web-server/control-an-fpga/js/opcode.js on lines 124..134
          section-4-web-server/control-an-fpga/js/opcode.js on lines 155..165
          section-4-web-server/control-an-fpga/js/opcode.js on lines 186..196
          section-4-web-server/control-an-fpga/js/opcode.js on lines 217..227
          section-4-web-server/control-an-fpga/js/opcode.js on lines 248..258
          section-4-web-server/control-an-fpga/js/opcode.js on lines 313..323
          section-4-web-server/control-an-fpga/js/opcode.js on lines 344..354
          section-4-web-server/control-an-fpga/js/opcode.js on lines 375..385
          section-4-web-server/control-an-fpga/js/opcode.js on lines 406..416
          section-4-web-server/control-an-fpga/js/opcode.js on lines 437..447
          section-4-web-server/control-an-fpga/js/opcode.js on lines 468..478
          section-4-web-server/control-an-fpga/js/opcode.js on lines 499..509
          section-4-web-server/control-an-fpga/js/opcode.js on lines 530..540
          section-4-web-server/control-an-fpga/js/opcode.js on lines 561..571
          section-4-web-server/control-an-fpga/js/opcode.js on lines 592..602
          section-4-web-server/control-an-fpga/js/opcode.js on lines 623..633
          section-4-web-server/control-an-fpga/js/opcode.js on lines 654..664
          section-4-web-server/control-an-fpga/js/opcode.js on lines 685..695
          section-4-web-server/control-an-fpga/js/opcode.js on lines 716..726
          section-4-web-server/control-an-fpga/js/opcode.js on lines 747..757
          section-4-web-server/control-an-fpga/js/opcode.js on lines 812..822
          section-4-web-server/control-an-fpga/js/opcode.js on lines 843..853
          section-4-web-server/control-an-fpga/js/opcode.js on lines 905..915
          section-4-web-server/control-an-fpga/js/opcode.js on lines 936..946
          section-4-web-server/control-an-fpga/js/opcode.js on lines 967..977
          section-4-web-server/control-an-fpga/js/opcode.js on lines 998..1008
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1029..1039
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1060..1070
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1091..1101
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1122..1132
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1153..1163
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1184..1194
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1215..1225
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1246..1256

          Duplicated Code

          Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

          Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

          When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

          Tuning

          This issue has a mass of 104.

          We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

          The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

          If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

          See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

          Refactorings

          Further Reading

          Similar blocks of code found in 37 locations. Consider refactoring.
          Open

          function data_in_b_one_2_onclick() {
          switch(data_in_b_2_state) {
              case "low":
                  data_in_b_2_state = "high";
                  console.log("data_in_b_2_state = " + data_in_b_2_state);
          Severity: Major
          Found in section-4-web-server/control-an-fpga/js/opcode.js and 36 other locations - About 3 hrs to fix
          section-4-web-server/control-an-fpga/js/opcode.js on lines 62..72
          section-4-web-server/control-an-fpga/js/opcode.js on lines 93..103
          section-4-web-server/control-an-fpga/js/opcode.js on lines 124..134
          section-4-web-server/control-an-fpga/js/opcode.js on lines 155..165
          section-4-web-server/control-an-fpga/js/opcode.js on lines 186..196
          section-4-web-server/control-an-fpga/js/opcode.js on lines 217..227
          section-4-web-server/control-an-fpga/js/opcode.js on lines 248..258
          section-4-web-server/control-an-fpga/js/opcode.js on lines 313..323
          section-4-web-server/control-an-fpga/js/opcode.js on lines 344..354
          section-4-web-server/control-an-fpga/js/opcode.js on lines 375..385
          section-4-web-server/control-an-fpga/js/opcode.js on lines 406..416
          section-4-web-server/control-an-fpga/js/opcode.js on lines 437..447
          section-4-web-server/control-an-fpga/js/opcode.js on lines 468..478
          section-4-web-server/control-an-fpga/js/opcode.js on lines 499..509
          section-4-web-server/control-an-fpga/js/opcode.js on lines 530..540
          section-4-web-server/control-an-fpga/js/opcode.js on lines 561..571
          section-4-web-server/control-an-fpga/js/opcode.js on lines 592..602
          section-4-web-server/control-an-fpga/js/opcode.js on lines 623..633
          section-4-web-server/control-an-fpga/js/opcode.js on lines 654..664
          section-4-web-server/control-an-fpga/js/opcode.js on lines 685..695
          section-4-web-server/control-an-fpga/js/opcode.js on lines 716..726
          section-4-web-server/control-an-fpga/js/opcode.js on lines 747..757
          section-4-web-server/control-an-fpga/js/opcode.js on lines 812..822
          section-4-web-server/control-an-fpga/js/opcode.js on lines 843..853
          section-4-web-server/control-an-fpga/js/opcode.js on lines 874..884
          section-4-web-server/control-an-fpga/js/opcode.js on lines 905..915
          section-4-web-server/control-an-fpga/js/opcode.js on lines 936..946
          section-4-web-server/control-an-fpga/js/opcode.js on lines 967..977
          section-4-web-server/control-an-fpga/js/opcode.js on lines 998..1008
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1029..1039
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1060..1070
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1091..1101
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1153..1163
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1184..1194
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1215..1225
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1246..1256

          Duplicated Code

          Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

          Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

          When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

          Tuning

          This issue has a mass of 104.

          We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

          The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

          If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

          See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

          Refactorings

          Further Reading

          Similar blocks of code found in 37 locations. Consider refactoring.
          Open

          function data_in_b_one_1_onclick() {
          switch(data_in_b_1_state) {
              case "low":
                  data_in_b_1_state = "high";
                  console.log("data_in_b_1_state = " + data_in_b_1_state);
          Severity: Major
          Found in section-4-web-server/control-an-fpga/js/opcode.js and 36 other locations - About 3 hrs to fix
          section-4-web-server/control-an-fpga/js/opcode.js on lines 62..72
          section-4-web-server/control-an-fpga/js/opcode.js on lines 93..103
          section-4-web-server/control-an-fpga/js/opcode.js on lines 124..134
          section-4-web-server/control-an-fpga/js/opcode.js on lines 155..165
          section-4-web-server/control-an-fpga/js/opcode.js on lines 186..196
          section-4-web-server/control-an-fpga/js/opcode.js on lines 217..227
          section-4-web-server/control-an-fpga/js/opcode.js on lines 248..258
          section-4-web-server/control-an-fpga/js/opcode.js on lines 313..323
          section-4-web-server/control-an-fpga/js/opcode.js on lines 344..354
          section-4-web-server/control-an-fpga/js/opcode.js on lines 375..385
          section-4-web-server/control-an-fpga/js/opcode.js on lines 406..416
          section-4-web-server/control-an-fpga/js/opcode.js on lines 437..447
          section-4-web-server/control-an-fpga/js/opcode.js on lines 468..478
          section-4-web-server/control-an-fpga/js/opcode.js on lines 499..509
          section-4-web-server/control-an-fpga/js/opcode.js on lines 530..540
          section-4-web-server/control-an-fpga/js/opcode.js on lines 561..571
          section-4-web-server/control-an-fpga/js/opcode.js on lines 592..602
          section-4-web-server/control-an-fpga/js/opcode.js on lines 623..633
          section-4-web-server/control-an-fpga/js/opcode.js on lines 654..664
          section-4-web-server/control-an-fpga/js/opcode.js on lines 685..695
          section-4-web-server/control-an-fpga/js/opcode.js on lines 716..726
          section-4-web-server/control-an-fpga/js/opcode.js on lines 747..757
          section-4-web-server/control-an-fpga/js/opcode.js on lines 812..822
          section-4-web-server/control-an-fpga/js/opcode.js on lines 843..853
          section-4-web-server/control-an-fpga/js/opcode.js on lines 874..884
          section-4-web-server/control-an-fpga/js/opcode.js on lines 905..915
          section-4-web-server/control-an-fpga/js/opcode.js on lines 936..946
          section-4-web-server/control-an-fpga/js/opcode.js on lines 967..977
          section-4-web-server/control-an-fpga/js/opcode.js on lines 998..1008
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1029..1039
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1060..1070
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1091..1101
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1122..1132
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1153..1163
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1215..1225
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1246..1256

          Duplicated Code

          Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

          Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

          When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

          Tuning

          This issue has a mass of 104.

          We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

          The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

          If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

          See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

          Refactorings

          Further Reading

          Similar blocks of code found in 37 locations. Consider refactoring.
          Open

          function data_in_a_one_7_onclick() {
              switch(data_in_a_7_state) {
                  case "low":
                      data_in_a_7_state = "high";
                      console.log("data_in_a_7_state = " + data_in_a_7_state);
          Severity: Major
          Found in section-4-web-server/control-an-fpga/js/opcode.js and 36 other locations - About 3 hrs to fix
          section-4-web-server/control-an-fpga/js/opcode.js on lines 62..72
          section-4-web-server/control-an-fpga/js/opcode.js on lines 93..103
          section-4-web-server/control-an-fpga/js/opcode.js on lines 124..134
          section-4-web-server/control-an-fpga/js/opcode.js on lines 155..165
          section-4-web-server/control-an-fpga/js/opcode.js on lines 186..196
          section-4-web-server/control-an-fpga/js/opcode.js on lines 217..227
          section-4-web-server/control-an-fpga/js/opcode.js on lines 248..258
          section-4-web-server/control-an-fpga/js/opcode.js on lines 344..354
          section-4-web-server/control-an-fpga/js/opcode.js on lines 375..385
          section-4-web-server/control-an-fpga/js/opcode.js on lines 406..416
          section-4-web-server/control-an-fpga/js/opcode.js on lines 437..447
          section-4-web-server/control-an-fpga/js/opcode.js on lines 468..478
          section-4-web-server/control-an-fpga/js/opcode.js on lines 499..509
          section-4-web-server/control-an-fpga/js/opcode.js on lines 530..540
          section-4-web-server/control-an-fpga/js/opcode.js on lines 561..571
          section-4-web-server/control-an-fpga/js/opcode.js on lines 592..602
          section-4-web-server/control-an-fpga/js/opcode.js on lines 623..633
          section-4-web-server/control-an-fpga/js/opcode.js on lines 654..664
          section-4-web-server/control-an-fpga/js/opcode.js on lines 685..695
          section-4-web-server/control-an-fpga/js/opcode.js on lines 716..726
          section-4-web-server/control-an-fpga/js/opcode.js on lines 747..757
          section-4-web-server/control-an-fpga/js/opcode.js on lines 812..822
          section-4-web-server/control-an-fpga/js/opcode.js on lines 843..853
          section-4-web-server/control-an-fpga/js/opcode.js on lines 874..884
          section-4-web-server/control-an-fpga/js/opcode.js on lines 905..915
          section-4-web-server/control-an-fpga/js/opcode.js on lines 936..946
          section-4-web-server/control-an-fpga/js/opcode.js on lines 967..977
          section-4-web-server/control-an-fpga/js/opcode.js on lines 998..1008
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1029..1039
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1060..1070
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1091..1101
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1122..1132
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1153..1163
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1184..1194
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1215..1225
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1246..1256

          Duplicated Code

          Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

          Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

          When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

          Tuning

          This issue has a mass of 104.

          We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

          The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

          If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

          See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

          Refactorings

          Further Reading

          Similar blocks of code found in 37 locations. Consider refactoring.
          Open

          function data_in_a_zero_5_onclick() {
              switch(data_in_a_5_state) {
                  case "high":
                      data_in_a_5_state = "low";
                      console.log("data_in_a_5_state = " + data_in_a_5_state);
          Severity: Major
          Found in section-4-web-server/control-an-fpga/js/opcode.js and 36 other locations - About 3 hrs to fix
          section-4-web-server/control-an-fpga/js/opcode.js on lines 62..72
          section-4-web-server/control-an-fpga/js/opcode.js on lines 93..103
          section-4-web-server/control-an-fpga/js/opcode.js on lines 124..134
          section-4-web-server/control-an-fpga/js/opcode.js on lines 155..165
          section-4-web-server/control-an-fpga/js/opcode.js on lines 186..196
          section-4-web-server/control-an-fpga/js/opcode.js on lines 217..227
          section-4-web-server/control-an-fpga/js/opcode.js on lines 248..258
          section-4-web-server/control-an-fpga/js/opcode.js on lines 313..323
          section-4-web-server/control-an-fpga/js/opcode.js on lines 344..354
          section-4-web-server/control-an-fpga/js/opcode.js on lines 375..385
          section-4-web-server/control-an-fpga/js/opcode.js on lines 406..416
          section-4-web-server/control-an-fpga/js/opcode.js on lines 437..447
          section-4-web-server/control-an-fpga/js/opcode.js on lines 499..509
          section-4-web-server/control-an-fpga/js/opcode.js on lines 530..540
          section-4-web-server/control-an-fpga/js/opcode.js on lines 561..571
          section-4-web-server/control-an-fpga/js/opcode.js on lines 592..602
          section-4-web-server/control-an-fpga/js/opcode.js on lines 623..633
          section-4-web-server/control-an-fpga/js/opcode.js on lines 654..664
          section-4-web-server/control-an-fpga/js/opcode.js on lines 685..695
          section-4-web-server/control-an-fpga/js/opcode.js on lines 716..726
          section-4-web-server/control-an-fpga/js/opcode.js on lines 747..757
          section-4-web-server/control-an-fpga/js/opcode.js on lines 812..822
          section-4-web-server/control-an-fpga/js/opcode.js on lines 843..853
          section-4-web-server/control-an-fpga/js/opcode.js on lines 874..884
          section-4-web-server/control-an-fpga/js/opcode.js on lines 905..915
          section-4-web-server/control-an-fpga/js/opcode.js on lines 936..946
          section-4-web-server/control-an-fpga/js/opcode.js on lines 967..977
          section-4-web-server/control-an-fpga/js/opcode.js on lines 998..1008
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1029..1039
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1060..1070
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1091..1101
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1122..1132
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1153..1163
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1184..1194
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1215..1225
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1246..1256

          Duplicated Code

          Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

          Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

          When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

          Tuning

          This issue has a mass of 104.

          We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

          The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

          If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

          See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

          Refactorings

          Further Reading

          Similar blocks of code found in 37 locations. Consider refactoring.
          Open

          function data_in_a_zero_1_onclick() {
            switch(data_in_a_1_state) {
                case "high":
                    data_in_a_1_state = "low";
                    console.log("data_in_a_1_state = " + data_in_a_1_state);
          Severity: Major
          Found in section-4-web-server/control-an-fpga/js/opcode.js and 36 other locations - About 3 hrs to fix
          section-4-web-server/control-an-fpga/js/opcode.js on lines 62..72
          section-4-web-server/control-an-fpga/js/opcode.js on lines 93..103
          section-4-web-server/control-an-fpga/js/opcode.js on lines 124..134
          section-4-web-server/control-an-fpga/js/opcode.js on lines 155..165
          section-4-web-server/control-an-fpga/js/opcode.js on lines 186..196
          section-4-web-server/control-an-fpga/js/opcode.js on lines 217..227
          section-4-web-server/control-an-fpga/js/opcode.js on lines 248..258
          section-4-web-server/control-an-fpga/js/opcode.js on lines 313..323
          section-4-web-server/control-an-fpga/js/opcode.js on lines 344..354
          section-4-web-server/control-an-fpga/js/opcode.js on lines 375..385
          section-4-web-server/control-an-fpga/js/opcode.js on lines 406..416
          section-4-web-server/control-an-fpga/js/opcode.js on lines 437..447
          section-4-web-server/control-an-fpga/js/opcode.js on lines 468..478
          section-4-web-server/control-an-fpga/js/opcode.js on lines 499..509
          section-4-web-server/control-an-fpga/js/opcode.js on lines 530..540
          section-4-web-server/control-an-fpga/js/opcode.js on lines 561..571
          section-4-web-server/control-an-fpga/js/opcode.js on lines 592..602
          section-4-web-server/control-an-fpga/js/opcode.js on lines 623..633
          section-4-web-server/control-an-fpga/js/opcode.js on lines 654..664
          section-4-web-server/control-an-fpga/js/opcode.js on lines 685..695
          section-4-web-server/control-an-fpga/js/opcode.js on lines 747..757
          section-4-web-server/control-an-fpga/js/opcode.js on lines 812..822
          section-4-web-server/control-an-fpga/js/opcode.js on lines 843..853
          section-4-web-server/control-an-fpga/js/opcode.js on lines 874..884
          section-4-web-server/control-an-fpga/js/opcode.js on lines 905..915
          section-4-web-server/control-an-fpga/js/opcode.js on lines 936..946
          section-4-web-server/control-an-fpga/js/opcode.js on lines 967..977
          section-4-web-server/control-an-fpga/js/opcode.js on lines 998..1008
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1029..1039
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1060..1070
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1091..1101
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1122..1132
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1153..1163
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1184..1194
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1215..1225
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1246..1256

          Duplicated Code

          Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

          Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

          When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

          Tuning

          This issue has a mass of 104.

          We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

          The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

          If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

          See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

          Refactorings

          Further Reading

          Similar blocks of code found in 37 locations. Consider refactoring.
          Open

          function data_in_b_zero_6_onclick() {
            switch(data_in_b_6_state) {
                case "high":
                    data_in_b_6_state = "low";
                    console.log("data_in_b_6_state = " + data_in_b_6_state);
          Severity: Major
          Found in section-4-web-server/control-an-fpga/js/opcode.js and 36 other locations - About 3 hrs to fix
          section-4-web-server/control-an-fpga/js/opcode.js on lines 62..72
          section-4-web-server/control-an-fpga/js/opcode.js on lines 93..103
          section-4-web-server/control-an-fpga/js/opcode.js on lines 124..134
          section-4-web-server/control-an-fpga/js/opcode.js on lines 155..165
          section-4-web-server/control-an-fpga/js/opcode.js on lines 186..196
          section-4-web-server/control-an-fpga/js/opcode.js on lines 217..227
          section-4-web-server/control-an-fpga/js/opcode.js on lines 248..258
          section-4-web-server/control-an-fpga/js/opcode.js on lines 313..323
          section-4-web-server/control-an-fpga/js/opcode.js on lines 344..354
          section-4-web-server/control-an-fpga/js/opcode.js on lines 375..385
          section-4-web-server/control-an-fpga/js/opcode.js on lines 406..416
          section-4-web-server/control-an-fpga/js/opcode.js on lines 437..447
          section-4-web-server/control-an-fpga/js/opcode.js on lines 468..478
          section-4-web-server/control-an-fpga/js/opcode.js on lines 499..509
          section-4-web-server/control-an-fpga/js/opcode.js on lines 530..540
          section-4-web-server/control-an-fpga/js/opcode.js on lines 561..571
          section-4-web-server/control-an-fpga/js/opcode.js on lines 592..602
          section-4-web-server/control-an-fpga/js/opcode.js on lines 623..633
          section-4-web-server/control-an-fpga/js/opcode.js on lines 654..664
          section-4-web-server/control-an-fpga/js/opcode.js on lines 685..695
          section-4-web-server/control-an-fpga/js/opcode.js on lines 716..726
          section-4-web-server/control-an-fpga/js/opcode.js on lines 747..757
          section-4-web-server/control-an-fpga/js/opcode.js on lines 812..822
          section-4-web-server/control-an-fpga/js/opcode.js on lines 843..853
          section-4-web-server/control-an-fpga/js/opcode.js on lines 874..884
          section-4-web-server/control-an-fpga/js/opcode.js on lines 936..946
          section-4-web-server/control-an-fpga/js/opcode.js on lines 967..977
          section-4-web-server/control-an-fpga/js/opcode.js on lines 998..1008
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1029..1039
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1060..1070
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1091..1101
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1122..1132
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1153..1163
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1184..1194
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1215..1225
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1246..1256

          Duplicated Code

          Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

          Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

          When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

          Tuning

          This issue has a mass of 104.

          We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

          The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

          If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

          See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

          Refactorings

          Further Reading

          Similar blocks of code found in 37 locations. Consider refactoring.
          Open

          function data_in_a_one_5_onclick() {
              switch(data_in_a_5_state) {
                  case "low":
                      data_in_a_5_state = "high";
                      console.log("data_in_a_5_state = " + data_in_a_5_state);
          Severity: Major
          Found in section-4-web-server/control-an-fpga/js/opcode.js and 36 other locations - About 3 hrs to fix
          section-4-web-server/control-an-fpga/js/opcode.js on lines 62..72
          section-4-web-server/control-an-fpga/js/opcode.js on lines 93..103
          section-4-web-server/control-an-fpga/js/opcode.js on lines 124..134
          section-4-web-server/control-an-fpga/js/opcode.js on lines 155..165
          section-4-web-server/control-an-fpga/js/opcode.js on lines 186..196
          section-4-web-server/control-an-fpga/js/opcode.js on lines 217..227
          section-4-web-server/control-an-fpga/js/opcode.js on lines 248..258
          section-4-web-server/control-an-fpga/js/opcode.js on lines 313..323
          section-4-web-server/control-an-fpga/js/opcode.js on lines 344..354
          section-4-web-server/control-an-fpga/js/opcode.js on lines 375..385
          section-4-web-server/control-an-fpga/js/opcode.js on lines 406..416
          section-4-web-server/control-an-fpga/js/opcode.js on lines 468..478
          section-4-web-server/control-an-fpga/js/opcode.js on lines 499..509
          section-4-web-server/control-an-fpga/js/opcode.js on lines 530..540
          section-4-web-server/control-an-fpga/js/opcode.js on lines 561..571
          section-4-web-server/control-an-fpga/js/opcode.js on lines 592..602
          section-4-web-server/control-an-fpga/js/opcode.js on lines 623..633
          section-4-web-server/control-an-fpga/js/opcode.js on lines 654..664
          section-4-web-server/control-an-fpga/js/opcode.js on lines 685..695
          section-4-web-server/control-an-fpga/js/opcode.js on lines 716..726
          section-4-web-server/control-an-fpga/js/opcode.js on lines 747..757
          section-4-web-server/control-an-fpga/js/opcode.js on lines 812..822
          section-4-web-server/control-an-fpga/js/opcode.js on lines 843..853
          section-4-web-server/control-an-fpga/js/opcode.js on lines 874..884
          section-4-web-server/control-an-fpga/js/opcode.js on lines 905..915
          section-4-web-server/control-an-fpga/js/opcode.js on lines 936..946
          section-4-web-server/control-an-fpga/js/opcode.js on lines 967..977
          section-4-web-server/control-an-fpga/js/opcode.js on lines 998..1008
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1029..1039
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1060..1070
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1091..1101
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1122..1132
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1153..1163
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1184..1194
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1215..1225
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1246..1256

          Duplicated Code

          Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

          Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

          When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

          Tuning

          This issue has a mass of 104.

          We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

          The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

          If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

          See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

          Refactorings

          Further Reading

          Similar blocks of code found in 37 locations. Consider refactoring.
          Open

          function opcode_zero_3_onclick() {
              switch(opcode_3_state) {
                  case "high":
                      opcode_3_state = "low";
                      console.log("opcode_3_state = " + opcode_3_state);
          Severity: Major
          Found in section-4-web-server/control-an-fpga/js/opcode.js and 36 other locations - About 3 hrs to fix
          section-4-web-server/control-an-fpga/js/opcode.js on lines 62..72
          section-4-web-server/control-an-fpga/js/opcode.js on lines 124..134
          section-4-web-server/control-an-fpga/js/opcode.js on lines 155..165
          section-4-web-server/control-an-fpga/js/opcode.js on lines 186..196
          section-4-web-server/control-an-fpga/js/opcode.js on lines 217..227
          section-4-web-server/control-an-fpga/js/opcode.js on lines 248..258
          section-4-web-server/control-an-fpga/js/opcode.js on lines 313..323
          section-4-web-server/control-an-fpga/js/opcode.js on lines 344..354
          section-4-web-server/control-an-fpga/js/opcode.js on lines 375..385
          section-4-web-server/control-an-fpga/js/opcode.js on lines 406..416
          section-4-web-server/control-an-fpga/js/opcode.js on lines 437..447
          section-4-web-server/control-an-fpga/js/opcode.js on lines 468..478
          section-4-web-server/control-an-fpga/js/opcode.js on lines 499..509
          section-4-web-server/control-an-fpga/js/opcode.js on lines 530..540
          section-4-web-server/control-an-fpga/js/opcode.js on lines 561..571
          section-4-web-server/control-an-fpga/js/opcode.js on lines 592..602
          section-4-web-server/control-an-fpga/js/opcode.js on lines 623..633
          section-4-web-server/control-an-fpga/js/opcode.js on lines 654..664
          section-4-web-server/control-an-fpga/js/opcode.js on lines 685..695
          section-4-web-server/control-an-fpga/js/opcode.js on lines 716..726
          section-4-web-server/control-an-fpga/js/opcode.js on lines 747..757
          section-4-web-server/control-an-fpga/js/opcode.js on lines 812..822
          section-4-web-server/control-an-fpga/js/opcode.js on lines 843..853
          section-4-web-server/control-an-fpga/js/opcode.js on lines 874..884
          section-4-web-server/control-an-fpga/js/opcode.js on lines 905..915
          section-4-web-server/control-an-fpga/js/opcode.js on lines 936..946
          section-4-web-server/control-an-fpga/js/opcode.js on lines 967..977
          section-4-web-server/control-an-fpga/js/opcode.js on lines 998..1008
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1029..1039
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1060..1070
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1091..1101
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1122..1132
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1153..1163
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1184..1194
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1215..1225
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1246..1256

          Duplicated Code

          Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

          Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

          When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

          Tuning

          This issue has a mass of 104.

          We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

          The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

          If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

          See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

          Refactorings

          Further Reading

          Similar blocks of code found in 37 locations. Consider refactoring.
          Open

          function data_in_a_zero_4_onclick() {
            switch(data_in_a_4_state) {
                case "high":
                    data_in_a_4_state = "low";
                    console.log("data_in_a_4_state = " + data_in_a_4_state);
          Severity: Major
          Found in section-4-web-server/control-an-fpga/js/opcode.js and 36 other locations - About 3 hrs to fix
          section-4-web-server/control-an-fpga/js/opcode.js on lines 62..72
          section-4-web-server/control-an-fpga/js/opcode.js on lines 93..103
          section-4-web-server/control-an-fpga/js/opcode.js on lines 124..134
          section-4-web-server/control-an-fpga/js/opcode.js on lines 155..165
          section-4-web-server/control-an-fpga/js/opcode.js on lines 186..196
          section-4-web-server/control-an-fpga/js/opcode.js on lines 217..227
          section-4-web-server/control-an-fpga/js/opcode.js on lines 248..258
          section-4-web-server/control-an-fpga/js/opcode.js on lines 313..323
          section-4-web-server/control-an-fpga/js/opcode.js on lines 344..354
          section-4-web-server/control-an-fpga/js/opcode.js on lines 375..385
          section-4-web-server/control-an-fpga/js/opcode.js on lines 406..416
          section-4-web-server/control-an-fpga/js/opcode.js on lines 437..447
          section-4-web-server/control-an-fpga/js/opcode.js on lines 468..478
          section-4-web-server/control-an-fpga/js/opcode.js on lines 499..509
          section-4-web-server/control-an-fpga/js/opcode.js on lines 561..571
          section-4-web-server/control-an-fpga/js/opcode.js on lines 592..602
          section-4-web-server/control-an-fpga/js/opcode.js on lines 623..633
          section-4-web-server/control-an-fpga/js/opcode.js on lines 654..664
          section-4-web-server/control-an-fpga/js/opcode.js on lines 685..695
          section-4-web-server/control-an-fpga/js/opcode.js on lines 716..726
          section-4-web-server/control-an-fpga/js/opcode.js on lines 747..757
          section-4-web-server/control-an-fpga/js/opcode.js on lines 812..822
          section-4-web-server/control-an-fpga/js/opcode.js on lines 843..853
          section-4-web-server/control-an-fpga/js/opcode.js on lines 874..884
          section-4-web-server/control-an-fpga/js/opcode.js on lines 905..915
          section-4-web-server/control-an-fpga/js/opcode.js on lines 936..946
          section-4-web-server/control-an-fpga/js/opcode.js on lines 967..977
          section-4-web-server/control-an-fpga/js/opcode.js on lines 998..1008
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1029..1039
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1060..1070
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1091..1101
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1122..1132
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1153..1163
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1184..1194
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1215..1225
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1246..1256

          Duplicated Code

          Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

          Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

          When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

          Tuning

          This issue has a mass of 104.

          We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

          The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

          If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

          See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

          Refactorings

          Further Reading

          Similar blocks of code found in 37 locations. Consider refactoring.
          Open

          function data_in_b_zero_1_onclick() {
          switch(data_in_b_1_state) {
              case "high":
                  data_in_b_1_state = "low";
                  console.log("data_in_b_1_state = " + data_in_b_1_state);
          Severity: Major
          Found in section-4-web-server/control-an-fpga/js/opcode.js and 36 other locations - About 3 hrs to fix
          section-4-web-server/control-an-fpga/js/opcode.js on lines 62..72
          section-4-web-server/control-an-fpga/js/opcode.js on lines 93..103
          section-4-web-server/control-an-fpga/js/opcode.js on lines 124..134
          section-4-web-server/control-an-fpga/js/opcode.js on lines 155..165
          section-4-web-server/control-an-fpga/js/opcode.js on lines 186..196
          section-4-web-server/control-an-fpga/js/opcode.js on lines 217..227
          section-4-web-server/control-an-fpga/js/opcode.js on lines 248..258
          section-4-web-server/control-an-fpga/js/opcode.js on lines 313..323
          section-4-web-server/control-an-fpga/js/opcode.js on lines 344..354
          section-4-web-server/control-an-fpga/js/opcode.js on lines 375..385
          section-4-web-server/control-an-fpga/js/opcode.js on lines 406..416
          section-4-web-server/control-an-fpga/js/opcode.js on lines 437..447
          section-4-web-server/control-an-fpga/js/opcode.js on lines 468..478
          section-4-web-server/control-an-fpga/js/opcode.js on lines 499..509
          section-4-web-server/control-an-fpga/js/opcode.js on lines 530..540
          section-4-web-server/control-an-fpga/js/opcode.js on lines 561..571
          section-4-web-server/control-an-fpga/js/opcode.js on lines 592..602
          section-4-web-server/control-an-fpga/js/opcode.js on lines 623..633
          section-4-web-server/control-an-fpga/js/opcode.js on lines 654..664
          section-4-web-server/control-an-fpga/js/opcode.js on lines 685..695
          section-4-web-server/control-an-fpga/js/opcode.js on lines 716..726
          section-4-web-server/control-an-fpga/js/opcode.js on lines 747..757
          section-4-web-server/control-an-fpga/js/opcode.js on lines 812..822
          section-4-web-server/control-an-fpga/js/opcode.js on lines 843..853
          section-4-web-server/control-an-fpga/js/opcode.js on lines 874..884
          section-4-web-server/control-an-fpga/js/opcode.js on lines 905..915
          section-4-web-server/control-an-fpga/js/opcode.js on lines 936..946
          section-4-web-server/control-an-fpga/js/opcode.js on lines 967..977
          section-4-web-server/control-an-fpga/js/opcode.js on lines 998..1008
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1029..1039
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1060..1070
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1091..1101
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1122..1132
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1153..1163
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1184..1194
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1246..1256

          Duplicated Code

          Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

          Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

          When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

          Tuning

          This issue has a mass of 104.

          We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

          The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

          If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

          See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

          Refactorings

          Further Reading

          Similar blocks of code found in 37 locations. Consider refactoring.
          Open

          function opcode_one_3_onclick() {
              switch(opcode_3_state) {
                  case "low":
                      opcode_3_state = "high";
                      console.log("opcode_3_state = " + opcode_3_state);
          Severity: Major
          Found in section-4-web-server/control-an-fpga/js/opcode.js and 36 other locations - About 3 hrs to fix
          section-4-web-server/control-an-fpga/js/opcode.js on lines 93..103
          section-4-web-server/control-an-fpga/js/opcode.js on lines 124..134
          section-4-web-server/control-an-fpga/js/opcode.js on lines 155..165
          section-4-web-server/control-an-fpga/js/opcode.js on lines 186..196
          section-4-web-server/control-an-fpga/js/opcode.js on lines 217..227
          section-4-web-server/control-an-fpga/js/opcode.js on lines 248..258
          section-4-web-server/control-an-fpga/js/opcode.js on lines 313..323
          section-4-web-server/control-an-fpga/js/opcode.js on lines 344..354
          section-4-web-server/control-an-fpga/js/opcode.js on lines 375..385
          section-4-web-server/control-an-fpga/js/opcode.js on lines 406..416
          section-4-web-server/control-an-fpga/js/opcode.js on lines 437..447
          section-4-web-server/control-an-fpga/js/opcode.js on lines 468..478
          section-4-web-server/control-an-fpga/js/opcode.js on lines 499..509
          section-4-web-server/control-an-fpga/js/opcode.js on lines 530..540
          section-4-web-server/control-an-fpga/js/opcode.js on lines 561..571
          section-4-web-server/control-an-fpga/js/opcode.js on lines 592..602
          section-4-web-server/control-an-fpga/js/opcode.js on lines 623..633
          section-4-web-server/control-an-fpga/js/opcode.js on lines 654..664
          section-4-web-server/control-an-fpga/js/opcode.js on lines 685..695
          section-4-web-server/control-an-fpga/js/opcode.js on lines 716..726
          section-4-web-server/control-an-fpga/js/opcode.js on lines 747..757
          section-4-web-server/control-an-fpga/js/opcode.js on lines 812..822
          section-4-web-server/control-an-fpga/js/opcode.js on lines 843..853
          section-4-web-server/control-an-fpga/js/opcode.js on lines 874..884
          section-4-web-server/control-an-fpga/js/opcode.js on lines 905..915
          section-4-web-server/control-an-fpga/js/opcode.js on lines 936..946
          section-4-web-server/control-an-fpga/js/opcode.js on lines 967..977
          section-4-web-server/control-an-fpga/js/opcode.js on lines 998..1008
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1029..1039
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1060..1070
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1091..1101
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1122..1132
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1153..1163
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1184..1194
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1215..1225
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1246..1256

          Duplicated Code

          Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

          Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

          When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

          Tuning

          This issue has a mass of 104.

          We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

          The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

          If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

          See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

          Refactorings

          Further Reading

          Similar blocks of code found in 37 locations. Consider refactoring.
          Open

          function opcode_one_1_onclick() {
              switch(opcode_1_state) {
                  case "low":
                      opcode_1_state = "high";
                      console.log("opcode_1_state = " + opcode_1_state);
          Severity: Major
          Found in section-4-web-server/control-an-fpga/js/opcode.js and 36 other locations - About 3 hrs to fix
          section-4-web-server/control-an-fpga/js/opcode.js on lines 62..72
          section-4-web-server/control-an-fpga/js/opcode.js on lines 93..103
          section-4-web-server/control-an-fpga/js/opcode.js on lines 124..134
          section-4-web-server/control-an-fpga/js/opcode.js on lines 155..165
          section-4-web-server/control-an-fpga/js/opcode.js on lines 217..227
          section-4-web-server/control-an-fpga/js/opcode.js on lines 248..258
          section-4-web-server/control-an-fpga/js/opcode.js on lines 313..323
          section-4-web-server/control-an-fpga/js/opcode.js on lines 344..354
          section-4-web-server/control-an-fpga/js/opcode.js on lines 375..385
          section-4-web-server/control-an-fpga/js/opcode.js on lines 406..416
          section-4-web-server/control-an-fpga/js/opcode.js on lines 437..447
          section-4-web-server/control-an-fpga/js/opcode.js on lines 468..478
          section-4-web-server/control-an-fpga/js/opcode.js on lines 499..509
          section-4-web-server/control-an-fpga/js/opcode.js on lines 530..540
          section-4-web-server/control-an-fpga/js/opcode.js on lines 561..571
          section-4-web-server/control-an-fpga/js/opcode.js on lines 592..602
          section-4-web-server/control-an-fpga/js/opcode.js on lines 623..633
          section-4-web-server/control-an-fpga/js/opcode.js on lines 654..664
          section-4-web-server/control-an-fpga/js/opcode.js on lines 685..695
          section-4-web-server/control-an-fpga/js/opcode.js on lines 716..726
          section-4-web-server/control-an-fpga/js/opcode.js on lines 747..757
          section-4-web-server/control-an-fpga/js/opcode.js on lines 812..822
          section-4-web-server/control-an-fpga/js/opcode.js on lines 843..853
          section-4-web-server/control-an-fpga/js/opcode.js on lines 874..884
          section-4-web-server/control-an-fpga/js/opcode.js on lines 905..915
          section-4-web-server/control-an-fpga/js/opcode.js on lines 936..946
          section-4-web-server/control-an-fpga/js/opcode.js on lines 967..977
          section-4-web-server/control-an-fpga/js/opcode.js on lines 998..1008
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1029..1039
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1060..1070
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1091..1101
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1122..1132
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1153..1163
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1184..1194
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1215..1225
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1246..1256

          Duplicated Code

          Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

          Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

          When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

          Tuning

          This issue has a mass of 104.

          We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

          The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

          If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

          See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

          Refactorings

          Further Reading

          Similar blocks of code found in 37 locations. Consider refactoring.
          Open

          function data_in_b_zero_3_onclick() {
          switch(data_in_b_3_state) {
              case "high":
                  data_in_b_3_state = "low";
                  console.log("data_in_b_3_state = " + data_in_b_3_state);
          Severity: Major
          Found in section-4-web-server/control-an-fpga/js/opcode.js and 36 other locations - About 3 hrs to fix
          section-4-web-server/control-an-fpga/js/opcode.js on lines 62..72
          section-4-web-server/control-an-fpga/js/opcode.js on lines 93..103
          section-4-web-server/control-an-fpga/js/opcode.js on lines 124..134
          section-4-web-server/control-an-fpga/js/opcode.js on lines 155..165
          section-4-web-server/control-an-fpga/js/opcode.js on lines 186..196
          section-4-web-server/control-an-fpga/js/opcode.js on lines 217..227
          section-4-web-server/control-an-fpga/js/opcode.js on lines 248..258
          section-4-web-server/control-an-fpga/js/opcode.js on lines 313..323
          section-4-web-server/control-an-fpga/js/opcode.js on lines 344..354
          section-4-web-server/control-an-fpga/js/opcode.js on lines 375..385
          section-4-web-server/control-an-fpga/js/opcode.js on lines 406..416
          section-4-web-server/control-an-fpga/js/opcode.js on lines 437..447
          section-4-web-server/control-an-fpga/js/opcode.js on lines 468..478
          section-4-web-server/control-an-fpga/js/opcode.js on lines 499..509
          section-4-web-server/control-an-fpga/js/opcode.js on lines 530..540
          section-4-web-server/control-an-fpga/js/opcode.js on lines 561..571
          section-4-web-server/control-an-fpga/js/opcode.js on lines 592..602
          section-4-web-server/control-an-fpga/js/opcode.js on lines 623..633
          section-4-web-server/control-an-fpga/js/opcode.js on lines 654..664
          section-4-web-server/control-an-fpga/js/opcode.js on lines 685..695
          section-4-web-server/control-an-fpga/js/opcode.js on lines 716..726
          section-4-web-server/control-an-fpga/js/opcode.js on lines 747..757
          section-4-web-server/control-an-fpga/js/opcode.js on lines 812..822
          section-4-web-server/control-an-fpga/js/opcode.js on lines 843..853
          section-4-web-server/control-an-fpga/js/opcode.js on lines 874..884
          section-4-web-server/control-an-fpga/js/opcode.js on lines 905..915
          section-4-web-server/control-an-fpga/js/opcode.js on lines 936..946
          section-4-web-server/control-an-fpga/js/opcode.js on lines 967..977
          section-4-web-server/control-an-fpga/js/opcode.js on lines 998..1008
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1029..1039
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1060..1070
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1122..1132
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1153..1163
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1184..1194
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1215..1225
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1246..1256

          Duplicated Code

          Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

          Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

          When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

          Tuning

          This issue has a mass of 104.

          We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

          The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

          If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

          See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

          Refactorings

          Further Reading

          Similar blocks of code found in 37 locations. Consider refactoring.
          Open

          function data_in_b_one_0_onclick() {
          switch(data_in_b_0_state) {
              case "low":
                  data_in_b_0_state = "high";
                  console.log("data_in_b_0_state = " + data_in_b_0_state);
          Severity: Major
          Found in section-4-web-server/control-an-fpga/js/opcode.js and 36 other locations - About 3 hrs to fix
          section-4-web-server/control-an-fpga/js/opcode.js on lines 62..72
          section-4-web-server/control-an-fpga/js/opcode.js on lines 93..103
          section-4-web-server/control-an-fpga/js/opcode.js on lines 124..134
          section-4-web-server/control-an-fpga/js/opcode.js on lines 155..165
          section-4-web-server/control-an-fpga/js/opcode.js on lines 186..196
          section-4-web-server/control-an-fpga/js/opcode.js on lines 217..227
          section-4-web-server/control-an-fpga/js/opcode.js on lines 248..258
          section-4-web-server/control-an-fpga/js/opcode.js on lines 313..323
          section-4-web-server/control-an-fpga/js/opcode.js on lines 344..354
          section-4-web-server/control-an-fpga/js/opcode.js on lines 375..385
          section-4-web-server/control-an-fpga/js/opcode.js on lines 406..416
          section-4-web-server/control-an-fpga/js/opcode.js on lines 437..447
          section-4-web-server/control-an-fpga/js/opcode.js on lines 468..478
          section-4-web-server/control-an-fpga/js/opcode.js on lines 499..509
          section-4-web-server/control-an-fpga/js/opcode.js on lines 530..540
          section-4-web-server/control-an-fpga/js/opcode.js on lines 561..571
          section-4-web-server/control-an-fpga/js/opcode.js on lines 592..602
          section-4-web-server/control-an-fpga/js/opcode.js on lines 623..633
          section-4-web-server/control-an-fpga/js/opcode.js on lines 654..664
          section-4-web-server/control-an-fpga/js/opcode.js on lines 685..695
          section-4-web-server/control-an-fpga/js/opcode.js on lines 716..726
          section-4-web-server/control-an-fpga/js/opcode.js on lines 747..757
          section-4-web-server/control-an-fpga/js/opcode.js on lines 812..822
          section-4-web-server/control-an-fpga/js/opcode.js on lines 843..853
          section-4-web-server/control-an-fpga/js/opcode.js on lines 874..884
          section-4-web-server/control-an-fpga/js/opcode.js on lines 905..915
          section-4-web-server/control-an-fpga/js/opcode.js on lines 936..946
          section-4-web-server/control-an-fpga/js/opcode.js on lines 967..977
          section-4-web-server/control-an-fpga/js/opcode.js on lines 998..1008
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1029..1039
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1060..1070
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1091..1101
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1122..1132
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1153..1163
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1184..1194
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1215..1225

          Duplicated Code

          Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

          Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

          When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

          Tuning

          This issue has a mass of 104.

          We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

          The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

          If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

          See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

          Refactorings

          Further Reading

          Similar blocks of code found in 2 locations. Consider refactoring.
          Open

          function compute_go_button_onmouseover() {
              switch(compute_go_state) {
                  case "ready":
                      document.getElementById("compute_go_button_text").innerHTML="COMPUTE";
                      document.getElementById("compute_go_button_push").style.backgroundColor=grey;
          Severity: Major
          Found in section-4-web-server/control-an-fpga/js/opcode.js and 1 other location - About 3 hrs to fix
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1304..1315

          Duplicated Code

          Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

          Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

          When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

          Tuning

          This issue has a mass of 102.

          We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

          The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

          If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

          See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

          Refactorings

          Further Reading

          Similar blocks of code found in 2 locations. Consider refactoring.
          Open

          function compute_go_button_onmouseout() {
              switch(compute_go_state) {
                  case "ready":
                      document.getElementById("compute_go_button_text").innerHTML="COMPUTE";
                      document.getElementById("compute_go_button_push").style.backgroundColor=lightgreen;
          Severity: Major
          Found in section-4-web-server/control-an-fpga/js/opcode.js and 1 other location - About 3 hrs to fix
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1291..1302

          Duplicated Code

          Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

          Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

          When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

          Tuning

          This issue has a mass of 102.

          We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

          The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

          If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

          See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

          Refactorings

          Further Reading

          Similar blocks of code found in 3 locations. Consider refactoring.
          Open

          function data_in_a_one_7_onmouseover() {
              switch(data_in_a_7_state) {
                  case "low":
                      document.getElementById("data_in_a_one_7").style.backgroundColor=grey;
                      break;
          Severity: Major
          Found in section-4-web-server/control-an-fpga/js/opcode.js and 2 other locations - About 1 hr to fix
          section-4-web-server/control-an-fpga/js/opcode.js on lines 42..51
          section-4-web-server/control-an-fpga/js/opcode.js on lines 792..801

          Duplicated Code

          Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

          Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

          When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

          Tuning

          This issue has a mass of 70.

          We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

          The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

          If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

          See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

          Refactorings

          Further Reading

          Similar blocks of code found in 3 locations. Consider refactoring.
          Open

          function opcode_one_3_onmouseover() {
              switch(opcode_3_state) {
                  case "low":
                      document.getElementById("opcode_one_3").style.backgroundColor=grey;
                      break;
          Severity: Major
          Found in section-4-web-server/control-an-fpga/js/opcode.js and 2 other locations - About 1 hr to fix
          section-4-web-server/control-an-fpga/js/opcode.js on lines 293..302
          section-4-web-server/control-an-fpga/js/opcode.js on lines 792..801

          Duplicated Code

          Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

          Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

          When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

          Tuning

          This issue has a mass of 70.

          We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

          The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

          If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

          See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

          Refactorings

          Further Reading

          Similar blocks of code found in 3 locations. Consider refactoring.
          Open

          function data_in_b_one_7_onmouseover() {
            switch(data_in_b_7_state) {
                case "low":
                    document.getElementById("data_in_b_one_7").style.backgroundColor=grey;
                    break;
          Severity: Major
          Found in section-4-web-server/control-an-fpga/js/opcode.js and 2 other locations - About 1 hr to fix
          section-4-web-server/control-an-fpga/js/opcode.js on lines 42..51
          section-4-web-server/control-an-fpga/js/opcode.js on lines 293..302

          Duplicated Code

          Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

          Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

          When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

          Tuning

          This issue has a mass of 70.

          We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

          The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

          If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

          See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

          Refactorings

          Further Reading

          Similar blocks of code found in 77 locations. Consider refactoring.
          Open

          function opcode_zero_2_onmouseover() {
              switch(opcode_2_state) {
                  case "low":
                      document.getElementById("opcode_zero_2").style.backgroundColor=lightgreen;
                      break;
          Severity: Major
          Found in section-4-web-server/control-an-fpga/js/opcode.js and 76 other locations - About 1 hr to fix
          section-4-web-server/control-an-fpga/js/opcode.js on lines 52..61
          section-4-web-server/control-an-fpga/js/opcode.js on lines 73..82
          section-4-web-server/control-an-fpga/js/opcode.js on lines 83..92
          section-4-web-server/control-an-fpga/js/opcode.js on lines 104..113
          section-4-web-server/control-an-fpga/js/opcode.js on lines 114..123
          section-4-web-server/control-an-fpga/js/opcode.js on lines 145..154
          section-4-web-server/control-an-fpga/js/opcode.js on lines 166..175
          section-4-web-server/control-an-fpga/js/opcode.js on lines 176..185
          section-4-web-server/control-an-fpga/js/opcode.js on lines 197..206
          section-4-web-server/control-an-fpga/js/opcode.js on lines 207..216
          section-4-web-server/control-an-fpga/js/opcode.js on lines 228..237
          section-4-web-server/control-an-fpga/js/opcode.js on lines 238..247
          section-4-web-server/control-an-fpga/js/opcode.js on lines 259..268
          section-4-web-server/control-an-fpga/js/opcode.js on lines 269..278
          section-4-web-server/control-an-fpga/js/opcode.js on lines 303..312
          section-4-web-server/control-an-fpga/js/opcode.js on lines 324..333
          section-4-web-server/control-an-fpga/js/opcode.js on lines 334..343
          section-4-web-server/control-an-fpga/js/opcode.js on lines 355..364
          section-4-web-server/control-an-fpga/js/opcode.js on lines 365..374
          section-4-web-server/control-an-fpga/js/opcode.js on lines 386..395
          section-4-web-server/control-an-fpga/js/opcode.js on lines 396..405
          section-4-web-server/control-an-fpga/js/opcode.js on lines 417..426
          section-4-web-server/control-an-fpga/js/opcode.js on lines 427..436
          section-4-web-server/control-an-fpga/js/opcode.js on lines 448..457
          section-4-web-server/control-an-fpga/js/opcode.js on lines 458..467
          section-4-web-server/control-an-fpga/js/opcode.js on lines 479..488
          section-4-web-server/control-an-fpga/js/opcode.js on lines 489..498
          section-4-web-server/control-an-fpga/js/opcode.js on lines 510..519
          section-4-web-server/control-an-fpga/js/opcode.js on lines 520..529
          section-4-web-server/control-an-fpga/js/opcode.js on lines 541..550
          section-4-web-server/control-an-fpga/js/opcode.js on lines 551..560
          section-4-web-server/control-an-fpga/js/opcode.js on lines 572..581
          section-4-web-server/control-an-fpga/js/opcode.js on lines 582..591
          section-4-web-server/control-an-fpga/js/opcode.js on lines 603..612
          section-4-web-server/control-an-fpga/js/opcode.js on lines 613..622
          section-4-web-server/control-an-fpga/js/opcode.js on lines 634..643
          section-4-web-server/control-an-fpga/js/opcode.js on lines 644..653
          section-4-web-server/control-an-fpga/js/opcode.js on lines 665..674
          section-4-web-server/control-an-fpga/js/opcode.js on lines 675..684
          section-4-web-server/control-an-fpga/js/opcode.js on lines 696..705
          section-4-web-server/control-an-fpga/js/opcode.js on lines 706..715
          section-4-web-server/control-an-fpga/js/opcode.js on lines 727..736
          section-4-web-server/control-an-fpga/js/opcode.js on lines 737..746
          section-4-web-server/control-an-fpga/js/opcode.js on lines 758..767
          section-4-web-server/control-an-fpga/js/opcode.js on lines 768..777
          section-4-web-server/control-an-fpga/js/opcode.js on lines 802..811
          section-4-web-server/control-an-fpga/js/opcode.js on lines 823..832
          section-4-web-server/control-an-fpga/js/opcode.js on lines 833..842
          section-4-web-server/control-an-fpga/js/opcode.js on lines 854..863
          section-4-web-server/control-an-fpga/js/opcode.js on lines 864..873
          section-4-web-server/control-an-fpga/js/opcode.js on lines 885..894
          section-4-web-server/control-an-fpga/js/opcode.js on lines 895..904
          section-4-web-server/control-an-fpga/js/opcode.js on lines 916..925
          section-4-web-server/control-an-fpga/js/opcode.js on lines 926..935
          section-4-web-server/control-an-fpga/js/opcode.js on lines 947..956
          section-4-web-server/control-an-fpga/js/opcode.js on lines 957..966
          section-4-web-server/control-an-fpga/js/opcode.js on lines 978..987
          section-4-web-server/control-an-fpga/js/opcode.js on lines 988..997
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1009..1018
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1019..1028
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1040..1049
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1050..1059
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1071..1080
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1081..1090
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1102..1111
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1112..1121
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1133..1142
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1143..1152
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1164..1173
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1174..1183
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1195..1204
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1205..1214
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1226..1235
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1236..1245
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1257..1266
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1267..1276

          Duplicated Code

          Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

          Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

          When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

          Tuning

          This issue has a mass of 68.

          We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

          The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

          If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

          See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

          Refactorings

          Further Reading

          Similar blocks of code found in 77 locations. Consider refactoring.
          Open

          function opcode_zero_2_onmouseout() {
              switch(opcode_2_state) {
                  case "low":
                      document.getElementById("opcode_zero_2").style.backgroundColor=lightgreen;
                      break;
          Severity: Major
          Found in section-4-web-server/control-an-fpga/js/opcode.js and 76 other locations - About 1 hr to fix
          section-4-web-server/control-an-fpga/js/opcode.js on lines 52..61
          section-4-web-server/control-an-fpga/js/opcode.js on lines 73..82
          section-4-web-server/control-an-fpga/js/opcode.js on lines 83..92
          section-4-web-server/control-an-fpga/js/opcode.js on lines 104..113
          section-4-web-server/control-an-fpga/js/opcode.js on lines 114..123
          section-4-web-server/control-an-fpga/js/opcode.js on lines 135..144
          section-4-web-server/control-an-fpga/js/opcode.js on lines 166..175
          section-4-web-server/control-an-fpga/js/opcode.js on lines 176..185
          section-4-web-server/control-an-fpga/js/opcode.js on lines 197..206
          section-4-web-server/control-an-fpga/js/opcode.js on lines 207..216
          section-4-web-server/control-an-fpga/js/opcode.js on lines 228..237
          section-4-web-server/control-an-fpga/js/opcode.js on lines 238..247
          section-4-web-server/control-an-fpga/js/opcode.js on lines 259..268
          section-4-web-server/control-an-fpga/js/opcode.js on lines 269..278
          section-4-web-server/control-an-fpga/js/opcode.js on lines 303..312
          section-4-web-server/control-an-fpga/js/opcode.js on lines 324..333
          section-4-web-server/control-an-fpga/js/opcode.js on lines 334..343
          section-4-web-server/control-an-fpga/js/opcode.js on lines 355..364
          section-4-web-server/control-an-fpga/js/opcode.js on lines 365..374
          section-4-web-server/control-an-fpga/js/opcode.js on lines 386..395
          section-4-web-server/control-an-fpga/js/opcode.js on lines 396..405
          section-4-web-server/control-an-fpga/js/opcode.js on lines 417..426
          section-4-web-server/control-an-fpga/js/opcode.js on lines 427..436
          section-4-web-server/control-an-fpga/js/opcode.js on lines 448..457
          section-4-web-server/control-an-fpga/js/opcode.js on lines 458..467
          section-4-web-server/control-an-fpga/js/opcode.js on lines 479..488
          section-4-web-server/control-an-fpga/js/opcode.js on lines 489..498
          section-4-web-server/control-an-fpga/js/opcode.js on lines 510..519
          section-4-web-server/control-an-fpga/js/opcode.js on lines 520..529
          section-4-web-server/control-an-fpga/js/opcode.js on lines 541..550
          section-4-web-server/control-an-fpga/js/opcode.js on lines 551..560
          section-4-web-server/control-an-fpga/js/opcode.js on lines 572..581
          section-4-web-server/control-an-fpga/js/opcode.js on lines 582..591
          section-4-web-server/control-an-fpga/js/opcode.js on lines 603..612
          section-4-web-server/control-an-fpga/js/opcode.js on lines 613..622
          section-4-web-server/control-an-fpga/js/opcode.js on lines 634..643
          section-4-web-server/control-an-fpga/js/opcode.js on lines 644..653
          section-4-web-server/control-an-fpga/js/opcode.js on lines 665..674
          section-4-web-server/control-an-fpga/js/opcode.js on lines 675..684
          section-4-web-server/control-an-fpga/js/opcode.js on lines 696..705
          section-4-web-server/control-an-fpga/js/opcode.js on lines 706..715
          section-4-web-server/control-an-fpga/js/opcode.js on lines 727..736
          section-4-web-server/control-an-fpga/js/opcode.js on lines 737..746
          section-4-web-server/control-an-fpga/js/opcode.js on lines 758..767
          section-4-web-server/control-an-fpga/js/opcode.js on lines 768..777
          section-4-web-server/control-an-fpga/js/opcode.js on lines 802..811
          section-4-web-server/control-an-fpga/js/opcode.js on lines 823..832
          section-4-web-server/control-an-fpga/js/opcode.js on lines 833..842
          section-4-web-server/control-an-fpga/js/opcode.js on lines 854..863
          section-4-web-server/control-an-fpga/js/opcode.js on lines 864..873
          section-4-web-server/control-an-fpga/js/opcode.js on lines 885..894
          section-4-web-server/control-an-fpga/js/opcode.js on lines 895..904
          section-4-web-server/control-an-fpga/js/opcode.js on lines 916..925
          section-4-web-server/control-an-fpga/js/opcode.js on lines 926..935
          section-4-web-server/control-an-fpga/js/opcode.js on lines 947..956
          section-4-web-server/control-an-fpga/js/opcode.js on lines 957..966
          section-4-web-server/control-an-fpga/js/opcode.js on lines 978..987
          section-4-web-server/control-an-fpga/js/opcode.js on lines 988..997
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1009..1018
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1019..1028
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1040..1049
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1050..1059
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1071..1080
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1081..1090
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1102..1111
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1112..1121
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1133..1142
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1143..1152
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1164..1173
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1174..1183
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1195..1204
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1205..1214
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1226..1235
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1236..1245
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1257..1266
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1267..1276

          Duplicated Code

          Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

          Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

          When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

          Tuning

          This issue has a mass of 68.

          We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

          The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

          If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

          See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

          Refactorings

          Further Reading

          Similar blocks of code found in 77 locations. Consider refactoring.
          Open

          function data_in_a_one_4_onmouseover() {
            switch(data_in_a_4_state) {
                case "low":
                    document.getElementById("data_in_a_one_4").style.backgroundColor=grey;
                    break;
          Severity: Major
          Found in section-4-web-server/control-an-fpga/js/opcode.js and 76 other locations - About 1 hr to fix
          section-4-web-server/control-an-fpga/js/opcode.js on lines 52..61
          section-4-web-server/control-an-fpga/js/opcode.js on lines 73..82
          section-4-web-server/control-an-fpga/js/opcode.js on lines 83..92
          section-4-web-server/control-an-fpga/js/opcode.js on lines 104..113
          section-4-web-server/control-an-fpga/js/opcode.js on lines 114..123
          section-4-web-server/control-an-fpga/js/opcode.js on lines 135..144
          section-4-web-server/control-an-fpga/js/opcode.js on lines 145..154
          section-4-web-server/control-an-fpga/js/opcode.js on lines 166..175
          section-4-web-server/control-an-fpga/js/opcode.js on lines 176..185
          section-4-web-server/control-an-fpga/js/opcode.js on lines 197..206
          section-4-web-server/control-an-fpga/js/opcode.js on lines 207..216
          section-4-web-server/control-an-fpga/js/opcode.js on lines 228..237
          section-4-web-server/control-an-fpga/js/opcode.js on lines 238..247
          section-4-web-server/control-an-fpga/js/opcode.js on lines 259..268
          section-4-web-server/control-an-fpga/js/opcode.js on lines 269..278
          section-4-web-server/control-an-fpga/js/opcode.js on lines 303..312
          section-4-web-server/control-an-fpga/js/opcode.js on lines 324..333
          section-4-web-server/control-an-fpga/js/opcode.js on lines 334..343
          section-4-web-server/control-an-fpga/js/opcode.js on lines 355..364
          section-4-web-server/control-an-fpga/js/opcode.js on lines 365..374
          section-4-web-server/control-an-fpga/js/opcode.js on lines 386..395
          section-4-web-server/control-an-fpga/js/opcode.js on lines 396..405
          section-4-web-server/control-an-fpga/js/opcode.js on lines 417..426
          section-4-web-server/control-an-fpga/js/opcode.js on lines 427..436
          section-4-web-server/control-an-fpga/js/opcode.js on lines 448..457
          section-4-web-server/control-an-fpga/js/opcode.js on lines 458..467
          section-4-web-server/control-an-fpga/js/opcode.js on lines 489..498
          section-4-web-server/control-an-fpga/js/opcode.js on lines 510..519
          section-4-web-server/control-an-fpga/js/opcode.js on lines 520..529
          section-4-web-server/control-an-fpga/js/opcode.js on lines 541..550
          section-4-web-server/control-an-fpga/js/opcode.js on lines 551..560
          section-4-web-server/control-an-fpga/js/opcode.js on lines 572..581
          section-4-web-server/control-an-fpga/js/opcode.js on lines 582..591
          section-4-web-server/control-an-fpga/js/opcode.js on lines 603..612
          section-4-web-server/control-an-fpga/js/opcode.js on lines 613..622
          section-4-web-server/control-an-fpga/js/opcode.js on lines 634..643
          section-4-web-server/control-an-fpga/js/opcode.js on lines 644..653
          section-4-web-server/control-an-fpga/js/opcode.js on lines 665..674
          section-4-web-server/control-an-fpga/js/opcode.js on lines 675..684
          section-4-web-server/control-an-fpga/js/opcode.js on lines 696..705
          section-4-web-server/control-an-fpga/js/opcode.js on lines 706..715
          section-4-web-server/control-an-fpga/js/opcode.js on lines 727..736
          section-4-web-server/control-an-fpga/js/opcode.js on lines 737..746
          section-4-web-server/control-an-fpga/js/opcode.js on lines 758..767
          section-4-web-server/control-an-fpga/js/opcode.js on lines 768..777
          section-4-web-server/control-an-fpga/js/opcode.js on lines 802..811
          section-4-web-server/control-an-fpga/js/opcode.js on lines 823..832
          section-4-web-server/control-an-fpga/js/opcode.js on lines 833..842
          section-4-web-server/control-an-fpga/js/opcode.js on lines 854..863
          section-4-web-server/control-an-fpga/js/opcode.js on lines 864..873
          section-4-web-server/control-an-fpga/js/opcode.js on lines 885..894
          section-4-web-server/control-an-fpga/js/opcode.js on lines 895..904
          section-4-web-server/control-an-fpga/js/opcode.js on lines 916..925
          section-4-web-server/control-an-fpga/js/opcode.js on lines 926..935
          section-4-web-server/control-an-fpga/js/opcode.js on lines 947..956
          section-4-web-server/control-an-fpga/js/opcode.js on lines 957..966
          section-4-web-server/control-an-fpga/js/opcode.js on lines 978..987
          section-4-web-server/control-an-fpga/js/opcode.js on lines 988..997
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1009..1018
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1019..1028
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1040..1049
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1050..1059
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1071..1080
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1081..1090
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1102..1111
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1112..1121
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1133..1142
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1143..1152
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1164..1173
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1174..1183
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1195..1204
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1205..1214
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1226..1235
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1236..1245
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1257..1266
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1267..1276

          Duplicated Code

          Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

          Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

          When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

          Tuning

          This issue has a mass of 68.

          We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

          The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

          If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

          See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

          Refactorings

          Further Reading

          Similar blocks of code found in 77 locations. Consider refactoring.
          Open

          function data_in_b_zero_7_onmouseover() {
            switch(data_in_b_7_state) {
                case "low":
                    document.getElementById("data_in_b_zero_7").style.backgroundColor=lightgreen;
                    break;
          Severity: Major
          Found in section-4-web-server/control-an-fpga/js/opcode.js and 76 other locations - About 1 hr to fix
          section-4-web-server/control-an-fpga/js/opcode.js on lines 52..61
          section-4-web-server/control-an-fpga/js/opcode.js on lines 73..82
          section-4-web-server/control-an-fpga/js/opcode.js on lines 83..92
          section-4-web-server/control-an-fpga/js/opcode.js on lines 104..113
          section-4-web-server/control-an-fpga/js/opcode.js on lines 114..123
          section-4-web-server/control-an-fpga/js/opcode.js on lines 135..144
          section-4-web-server/control-an-fpga/js/opcode.js on lines 145..154
          section-4-web-server/control-an-fpga/js/opcode.js on lines 166..175
          section-4-web-server/control-an-fpga/js/opcode.js on lines 176..185
          section-4-web-server/control-an-fpga/js/opcode.js on lines 197..206
          section-4-web-server/control-an-fpga/js/opcode.js on lines 207..216
          section-4-web-server/control-an-fpga/js/opcode.js on lines 228..237
          section-4-web-server/control-an-fpga/js/opcode.js on lines 238..247
          section-4-web-server/control-an-fpga/js/opcode.js on lines 259..268
          section-4-web-server/control-an-fpga/js/opcode.js on lines 269..278
          section-4-web-server/control-an-fpga/js/opcode.js on lines 303..312
          section-4-web-server/control-an-fpga/js/opcode.js on lines 324..333
          section-4-web-server/control-an-fpga/js/opcode.js on lines 334..343
          section-4-web-server/control-an-fpga/js/opcode.js on lines 355..364
          section-4-web-server/control-an-fpga/js/opcode.js on lines 365..374
          section-4-web-server/control-an-fpga/js/opcode.js on lines 386..395
          section-4-web-server/control-an-fpga/js/opcode.js on lines 396..405
          section-4-web-server/control-an-fpga/js/opcode.js on lines 417..426
          section-4-web-server/control-an-fpga/js/opcode.js on lines 427..436
          section-4-web-server/control-an-fpga/js/opcode.js on lines 448..457
          section-4-web-server/control-an-fpga/js/opcode.js on lines 458..467
          section-4-web-server/control-an-fpga/js/opcode.js on lines 479..488
          section-4-web-server/control-an-fpga/js/opcode.js on lines 489..498
          section-4-web-server/control-an-fpga/js/opcode.js on lines 510..519
          section-4-web-server/control-an-fpga/js/opcode.js on lines 520..529
          section-4-web-server/control-an-fpga/js/opcode.js on lines 541..550
          section-4-web-server/control-an-fpga/js/opcode.js on lines 551..560
          section-4-web-server/control-an-fpga/js/opcode.js on lines 572..581
          section-4-web-server/control-an-fpga/js/opcode.js on lines 582..591
          section-4-web-server/control-an-fpga/js/opcode.js on lines 603..612
          section-4-web-server/control-an-fpga/js/opcode.js on lines 613..622
          section-4-web-server/control-an-fpga/js/opcode.js on lines 634..643
          section-4-web-server/control-an-fpga/js/opcode.js on lines 644..653
          section-4-web-server/control-an-fpga/js/opcode.js on lines 665..674
          section-4-web-server/control-an-fpga/js/opcode.js on lines 675..684
          section-4-web-server/control-an-fpga/js/opcode.js on lines 696..705
          section-4-web-server/control-an-fpga/js/opcode.js on lines 706..715
          section-4-web-server/control-an-fpga/js/opcode.js on lines 727..736
          section-4-web-server/control-an-fpga/js/opcode.js on lines 737..746
          section-4-web-server/control-an-fpga/js/opcode.js on lines 758..767
          section-4-web-server/control-an-fpga/js/opcode.js on lines 768..777
          section-4-web-server/control-an-fpga/js/opcode.js on lines 802..811
          section-4-web-server/control-an-fpga/js/opcode.js on lines 833..842
          section-4-web-server/control-an-fpga/js/opcode.js on lines 854..863
          section-4-web-server/control-an-fpga/js/opcode.js on lines 864..873
          section-4-web-server/control-an-fpga/js/opcode.js on lines 885..894
          section-4-web-server/control-an-fpga/js/opcode.js on lines 895..904
          section-4-web-server/control-an-fpga/js/opcode.js on lines 916..925
          section-4-web-server/control-an-fpga/js/opcode.js on lines 926..935
          section-4-web-server/control-an-fpga/js/opcode.js on lines 947..956
          section-4-web-server/control-an-fpga/js/opcode.js on lines 957..966
          section-4-web-server/control-an-fpga/js/opcode.js on lines 978..987
          section-4-web-server/control-an-fpga/js/opcode.js on lines 988..997
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1009..1018
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1019..1028
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1040..1049
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1050..1059
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1071..1080
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1081..1090
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1102..1111
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1112..1121
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1133..1142
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1143..1152
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1164..1173
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1174..1183
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1195..1204
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1205..1214
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1226..1235
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1236..1245
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1257..1266
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1267..1276

          Duplicated Code

          Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

          Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

          When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

          Tuning

          This issue has a mass of 68.

          We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

          The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

          If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

          See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

          Refactorings

          Further Reading

          Similar blocks of code found in 77 locations. Consider refactoring.
          Open

          function data_in_b_zero_5_onmouseover() {
            switch(data_in_b_5_state) {
                case "low":
                    document.getElementById("data_in_b_zero_5").style.backgroundColor=lightgreen;
                    break;
          Severity: Major
          Found in section-4-web-server/control-an-fpga/js/opcode.js and 76 other locations - About 1 hr to fix
          section-4-web-server/control-an-fpga/js/opcode.js on lines 52..61
          section-4-web-server/control-an-fpga/js/opcode.js on lines 73..82
          section-4-web-server/control-an-fpga/js/opcode.js on lines 83..92
          section-4-web-server/control-an-fpga/js/opcode.js on lines 104..113
          section-4-web-server/control-an-fpga/js/opcode.js on lines 114..123
          section-4-web-server/control-an-fpga/js/opcode.js on lines 135..144
          section-4-web-server/control-an-fpga/js/opcode.js on lines 145..154
          section-4-web-server/control-an-fpga/js/opcode.js on lines 166..175
          section-4-web-server/control-an-fpga/js/opcode.js on lines 176..185
          section-4-web-server/control-an-fpga/js/opcode.js on lines 197..206
          section-4-web-server/control-an-fpga/js/opcode.js on lines 207..216
          section-4-web-server/control-an-fpga/js/opcode.js on lines 228..237
          section-4-web-server/control-an-fpga/js/opcode.js on lines 238..247
          section-4-web-server/control-an-fpga/js/opcode.js on lines 259..268
          section-4-web-server/control-an-fpga/js/opcode.js on lines 269..278
          section-4-web-server/control-an-fpga/js/opcode.js on lines 303..312
          section-4-web-server/control-an-fpga/js/opcode.js on lines 324..333
          section-4-web-server/control-an-fpga/js/opcode.js on lines 334..343
          section-4-web-server/control-an-fpga/js/opcode.js on lines 355..364
          section-4-web-server/control-an-fpga/js/opcode.js on lines 365..374
          section-4-web-server/control-an-fpga/js/opcode.js on lines 386..395
          section-4-web-server/control-an-fpga/js/opcode.js on lines 396..405
          section-4-web-server/control-an-fpga/js/opcode.js on lines 417..426
          section-4-web-server/control-an-fpga/js/opcode.js on lines 427..436
          section-4-web-server/control-an-fpga/js/opcode.js on lines 448..457
          section-4-web-server/control-an-fpga/js/opcode.js on lines 458..467
          section-4-web-server/control-an-fpga/js/opcode.js on lines 479..488
          section-4-web-server/control-an-fpga/js/opcode.js on lines 489..498
          section-4-web-server/control-an-fpga/js/opcode.js on lines 510..519
          section-4-web-server/control-an-fpga/js/opcode.js on lines 520..529
          section-4-web-server/control-an-fpga/js/opcode.js on lines 541..550
          section-4-web-server/control-an-fpga/js/opcode.js on lines 551..560
          section-4-web-server/control-an-fpga/js/opcode.js on lines 572..581
          section-4-web-server/control-an-fpga/js/opcode.js on lines 582..591
          section-4-web-server/control-an-fpga/js/opcode.js on lines 603..612
          section-4-web-server/control-an-fpga/js/opcode.js on lines 613..622
          section-4-web-server/control-an-fpga/js/opcode.js on lines 634..643
          section-4-web-server/control-an-fpga/js/opcode.js on lines 644..653
          section-4-web-server/control-an-fpga/js/opcode.js on lines 665..674
          section-4-web-server/control-an-fpga/js/opcode.js on lines 675..684
          section-4-web-server/control-an-fpga/js/opcode.js on lines 696..705
          section-4-web-server/control-an-fpga/js/opcode.js on lines 706..715
          section-4-web-server/control-an-fpga/js/opcode.js on lines 727..736
          section-4-web-server/control-an-fpga/js/opcode.js on lines 737..746
          section-4-web-server/control-an-fpga/js/opcode.js on lines 758..767
          section-4-web-server/control-an-fpga/js/opcode.js on lines 768..777
          section-4-web-server/control-an-fpga/js/opcode.js on lines 802..811
          section-4-web-server/control-an-fpga/js/opcode.js on lines 823..832
          section-4-web-server/control-an-fpga/js/opcode.js on lines 833..842
          section-4-web-server/control-an-fpga/js/opcode.js on lines 854..863
          section-4-web-server/control-an-fpga/js/opcode.js on lines 864..873
          section-4-web-server/control-an-fpga/js/opcode.js on lines 885..894
          section-4-web-server/control-an-fpga/js/opcode.js on lines 895..904
          section-4-web-server/control-an-fpga/js/opcode.js on lines 916..925
          section-4-web-server/control-an-fpga/js/opcode.js on lines 926..935
          section-4-web-server/control-an-fpga/js/opcode.js on lines 957..966
          section-4-web-server/control-an-fpga/js/opcode.js on lines 978..987
          section-4-web-server/control-an-fpga/js/opcode.js on lines 988..997
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1009..1018
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1019..1028
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1040..1049
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1050..1059
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1071..1080
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1081..1090
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1102..1111
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1112..1121
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1133..1142
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1143..1152
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1164..1173
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1174..1183
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1195..1204
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1205..1214
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1226..1235
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1236..1245
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1257..1266
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1267..1276

          Duplicated Code

          Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

          Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

          When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

          Tuning

          This issue has a mass of 68.

          We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

          The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

          If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

          See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

          Refactorings

          Further Reading

          Similar blocks of code found in 77 locations. Consider refactoring.
          Open

          function opcode_one_1_onmouseout() {
              switch(opcode_1_state) {
                  case "low":
                      document.getElementById("opcode_one_1").style.backgroundColor=white;
                      break;
          Severity: Major
          Found in section-4-web-server/control-an-fpga/js/opcode.js and 76 other locations - About 1 hr to fix
          section-4-web-server/control-an-fpga/js/opcode.js on lines 52..61
          section-4-web-server/control-an-fpga/js/opcode.js on lines 73..82
          section-4-web-server/control-an-fpga/js/opcode.js on lines 83..92
          section-4-web-server/control-an-fpga/js/opcode.js on lines 104..113
          section-4-web-server/control-an-fpga/js/opcode.js on lines 114..123
          section-4-web-server/control-an-fpga/js/opcode.js on lines 135..144
          section-4-web-server/control-an-fpga/js/opcode.js on lines 145..154
          section-4-web-server/control-an-fpga/js/opcode.js on lines 166..175
          section-4-web-server/control-an-fpga/js/opcode.js on lines 197..206
          section-4-web-server/control-an-fpga/js/opcode.js on lines 207..216
          section-4-web-server/control-an-fpga/js/opcode.js on lines 228..237
          section-4-web-server/control-an-fpga/js/opcode.js on lines 238..247
          section-4-web-server/control-an-fpga/js/opcode.js on lines 259..268
          section-4-web-server/control-an-fpga/js/opcode.js on lines 269..278
          section-4-web-server/control-an-fpga/js/opcode.js on lines 303..312
          section-4-web-server/control-an-fpga/js/opcode.js on lines 324..333
          section-4-web-server/control-an-fpga/js/opcode.js on lines 334..343
          section-4-web-server/control-an-fpga/js/opcode.js on lines 355..364
          section-4-web-server/control-an-fpga/js/opcode.js on lines 365..374
          section-4-web-server/control-an-fpga/js/opcode.js on lines 386..395
          section-4-web-server/control-an-fpga/js/opcode.js on lines 396..405
          section-4-web-server/control-an-fpga/js/opcode.js on lines 417..426
          section-4-web-server/control-an-fpga/js/opcode.js on lines 427..436
          section-4-web-server/control-an-fpga/js/opcode.js on lines 448..457
          section-4-web-server/control-an-fpga/js/opcode.js on lines 458..467
          section-4-web-server/control-an-fpga/js/opcode.js on lines 479..488
          section-4-web-server/control-an-fpga/js/opcode.js on lines 489..498
          section-4-web-server/control-an-fpga/js/opcode.js on lines 510..519
          section-4-web-server/control-an-fpga/js/opcode.js on lines 520..529
          section-4-web-server/control-an-fpga/js/opcode.js on lines 541..550
          section-4-web-server/control-an-fpga/js/opcode.js on lines 551..560
          section-4-web-server/control-an-fpga/js/opcode.js on lines 572..581
          section-4-web-server/control-an-fpga/js/opcode.js on lines 582..591
          section-4-web-server/control-an-fpga/js/opcode.js on lines 603..612
          section-4-web-server/control-an-fpga/js/opcode.js on lines 613..622
          section-4-web-server/control-an-fpga/js/opcode.js on lines 634..643
          section-4-web-server/control-an-fpga/js/opcode.js on lines 644..653
          section-4-web-server/control-an-fpga/js/opcode.js on lines 665..674
          section-4-web-server/control-an-fpga/js/opcode.js on lines 675..684
          section-4-web-server/control-an-fpga/js/opcode.js on lines 696..705
          section-4-web-server/control-an-fpga/js/opcode.js on lines 706..715
          section-4-web-server/control-an-fpga/js/opcode.js on lines 727..736
          section-4-web-server/control-an-fpga/js/opcode.js on lines 737..746
          section-4-web-server/control-an-fpga/js/opcode.js on lines 758..767
          section-4-web-server/control-an-fpga/js/opcode.js on lines 768..777
          section-4-web-server/control-an-fpga/js/opcode.js on lines 802..811
          section-4-web-server/control-an-fpga/js/opcode.js on lines 823..832
          section-4-web-server/control-an-fpga/js/opcode.js on lines 833..842
          section-4-web-server/control-an-fpga/js/opcode.js on lines 854..863
          section-4-web-server/control-an-fpga/js/opcode.js on lines 864..873
          section-4-web-server/control-an-fpga/js/opcode.js on lines 885..894
          section-4-web-server/control-an-fpga/js/opcode.js on lines 895..904
          section-4-web-server/control-an-fpga/js/opcode.js on lines 916..925
          section-4-web-server/control-an-fpga/js/opcode.js on lines 926..935
          section-4-web-server/control-an-fpga/js/opcode.js on lines 947..956
          section-4-web-server/control-an-fpga/js/opcode.js on lines 957..966
          section-4-web-server/control-an-fpga/js/opcode.js on lines 978..987
          section-4-web-server/control-an-fpga/js/opcode.js on lines 988..997
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1009..1018
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1019..1028
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1040..1049
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1050..1059
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1071..1080
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1081..1090
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1102..1111
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1112..1121
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1133..1142
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1143..1152
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1164..1173
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1174..1183
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1195..1204
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1205..1214
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1226..1235
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1236..1245
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1257..1266
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1267..1276

          Duplicated Code

          Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

          Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

          When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

          Tuning

          This issue has a mass of 68.

          We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

          The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

          If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

          See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

          Refactorings

          Further Reading

          Similar blocks of code found in 77 locations. Consider refactoring.
          Open

          function data_in_a_one_6_onmouseover() {
              switch(data_in_a_6_state) {
                  case "low":
                      document.getElementById("data_in_a_one_6").style.backgroundColor=grey;
                      break;
          Severity: Major
          Found in section-4-web-server/control-an-fpga/js/opcode.js and 76 other locations - About 1 hr to fix
          section-4-web-server/control-an-fpga/js/opcode.js on lines 52..61
          section-4-web-server/control-an-fpga/js/opcode.js on lines 73..82
          section-4-web-server/control-an-fpga/js/opcode.js on lines 83..92
          section-4-web-server/control-an-fpga/js/opcode.js on lines 104..113
          section-4-web-server/control-an-fpga/js/opcode.js on lines 114..123
          section-4-web-server/control-an-fpga/js/opcode.js on lines 135..144
          section-4-web-server/control-an-fpga/js/opcode.js on lines 145..154
          section-4-web-server/control-an-fpga/js/opcode.js on lines 166..175
          section-4-web-server/control-an-fpga/js/opcode.js on lines 176..185
          section-4-web-server/control-an-fpga/js/opcode.js on lines 197..206
          section-4-web-server/control-an-fpga/js/opcode.js on lines 207..216
          section-4-web-server/control-an-fpga/js/opcode.js on lines 228..237
          section-4-web-server/control-an-fpga/js/opcode.js on lines 238..247
          section-4-web-server/control-an-fpga/js/opcode.js on lines 259..268
          section-4-web-server/control-an-fpga/js/opcode.js on lines 269..278
          section-4-web-server/control-an-fpga/js/opcode.js on lines 303..312
          section-4-web-server/control-an-fpga/js/opcode.js on lines 324..333
          section-4-web-server/control-an-fpga/js/opcode.js on lines 334..343
          section-4-web-server/control-an-fpga/js/opcode.js on lines 365..374
          section-4-web-server/control-an-fpga/js/opcode.js on lines 386..395
          section-4-web-server/control-an-fpga/js/opcode.js on lines 396..405
          section-4-web-server/control-an-fpga/js/opcode.js on lines 417..426
          section-4-web-server/control-an-fpga/js/opcode.js on lines 427..436
          section-4-web-server/control-an-fpga/js/opcode.js on lines 448..457
          section-4-web-server/control-an-fpga/js/opcode.js on lines 458..467
          section-4-web-server/control-an-fpga/js/opcode.js on lines 479..488
          section-4-web-server/control-an-fpga/js/opcode.js on lines 489..498
          section-4-web-server/control-an-fpga/js/opcode.js on lines 510..519
          section-4-web-server/control-an-fpga/js/opcode.js on lines 520..529
          section-4-web-server/control-an-fpga/js/opcode.js on lines 541..550
          section-4-web-server/control-an-fpga/js/opcode.js on lines 551..560
          section-4-web-server/control-an-fpga/js/opcode.js on lines 572..581
          section-4-web-server/control-an-fpga/js/opcode.js on lines 582..591
          section-4-web-server/control-an-fpga/js/opcode.js on lines 603..612
          section-4-web-server/control-an-fpga/js/opcode.js on lines 613..622
          section-4-web-server/control-an-fpga/js/opcode.js on lines 634..643
          section-4-web-server/control-an-fpga/js/opcode.js on lines 644..653
          section-4-web-server/control-an-fpga/js/opcode.js on lines 665..674
          section-4-web-server/control-an-fpga/js/opcode.js on lines 675..684
          section-4-web-server/control-an-fpga/js/opcode.js on lines 696..705
          section-4-web-server/control-an-fpga/js/opcode.js on lines 706..715
          section-4-web-server/control-an-fpga/js/opcode.js on lines 727..736
          section-4-web-server/control-an-fpga/js/opcode.js on lines 737..746
          section-4-web-server/control-an-fpga/js/opcode.js on lines 758..767
          section-4-web-server/control-an-fpga/js/opcode.js on lines 768..777
          section-4-web-server/control-an-fpga/js/opcode.js on lines 802..811
          section-4-web-server/control-an-fpga/js/opcode.js on lines 823..832
          section-4-web-server/control-an-fpga/js/opcode.js on lines 833..842
          section-4-web-server/control-an-fpga/js/opcode.js on lines 854..863
          section-4-web-server/control-an-fpga/js/opcode.js on lines 864..873
          section-4-web-server/control-an-fpga/js/opcode.js on lines 885..894
          section-4-web-server/control-an-fpga/js/opcode.js on lines 895..904
          section-4-web-server/control-an-fpga/js/opcode.js on lines 916..925
          section-4-web-server/control-an-fpga/js/opcode.js on lines 926..935
          section-4-web-server/control-an-fpga/js/opcode.js on lines 947..956
          section-4-web-server/control-an-fpga/js/opcode.js on lines 957..966
          section-4-web-server/control-an-fpga/js/opcode.js on lines 978..987
          section-4-web-server/control-an-fpga/js/opcode.js on lines 988..997
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1009..1018
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1019..1028
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1040..1049
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1050..1059
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1071..1080
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1081..1090
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1102..1111
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1112..1121
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1133..1142
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1143..1152
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1164..1173
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1174..1183
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1195..1204
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1205..1214
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1226..1235
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1236..1245
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1257..1266
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1267..1276

          Duplicated Code

          Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

          Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

          When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

          Tuning

          This issue has a mass of 68.

          We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

          The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

          If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

          See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

          Refactorings

          Further Reading

          Similar blocks of code found in 77 locations. Consider refactoring.
          Open

          function data_in_a_zero_1_onmouseout() {
            switch(data_in_a_1_state) {
                case "low":
                    document.getElementById("data_in_a_zero_1").style.backgroundColor=lightgreen;
                    break;
          Severity: Major
          Found in section-4-web-server/control-an-fpga/js/opcode.js and 76 other locations - About 1 hr to fix
          section-4-web-server/control-an-fpga/js/opcode.js on lines 52..61
          section-4-web-server/control-an-fpga/js/opcode.js on lines 73..82
          section-4-web-server/control-an-fpga/js/opcode.js on lines 83..92
          section-4-web-server/control-an-fpga/js/opcode.js on lines 104..113
          section-4-web-server/control-an-fpga/js/opcode.js on lines 114..123
          section-4-web-server/control-an-fpga/js/opcode.js on lines 135..144
          section-4-web-server/control-an-fpga/js/opcode.js on lines 145..154
          section-4-web-server/control-an-fpga/js/opcode.js on lines 166..175
          section-4-web-server/control-an-fpga/js/opcode.js on lines 176..185
          section-4-web-server/control-an-fpga/js/opcode.js on lines 197..206
          section-4-web-server/control-an-fpga/js/opcode.js on lines 207..216
          section-4-web-server/control-an-fpga/js/opcode.js on lines 228..237
          section-4-web-server/control-an-fpga/js/opcode.js on lines 238..247
          section-4-web-server/control-an-fpga/js/opcode.js on lines 259..268
          section-4-web-server/control-an-fpga/js/opcode.js on lines 269..278
          section-4-web-server/control-an-fpga/js/opcode.js on lines 303..312
          section-4-web-server/control-an-fpga/js/opcode.js on lines 324..333
          section-4-web-server/control-an-fpga/js/opcode.js on lines 334..343
          section-4-web-server/control-an-fpga/js/opcode.js on lines 355..364
          section-4-web-server/control-an-fpga/js/opcode.js on lines 365..374
          section-4-web-server/control-an-fpga/js/opcode.js on lines 386..395
          section-4-web-server/control-an-fpga/js/opcode.js on lines 396..405
          section-4-web-server/control-an-fpga/js/opcode.js on lines 417..426
          section-4-web-server/control-an-fpga/js/opcode.js on lines 427..436
          section-4-web-server/control-an-fpga/js/opcode.js on lines 448..457
          section-4-web-server/control-an-fpga/js/opcode.js on lines 458..467
          section-4-web-server/control-an-fpga/js/opcode.js on lines 479..488
          section-4-web-server/control-an-fpga/js/opcode.js on lines 489..498
          section-4-web-server/control-an-fpga/js/opcode.js on lines 510..519
          section-4-web-server/control-an-fpga/js/opcode.js on lines 520..529
          section-4-web-server/control-an-fpga/js/opcode.js on lines 541..550
          section-4-web-server/control-an-fpga/js/opcode.js on lines 551..560
          section-4-web-server/control-an-fpga/js/opcode.js on lines 572..581
          section-4-web-server/control-an-fpga/js/opcode.js on lines 582..591
          section-4-web-server/control-an-fpga/js/opcode.js on lines 603..612
          section-4-web-server/control-an-fpga/js/opcode.js on lines 613..622
          section-4-web-server/control-an-fpga/js/opcode.js on lines 634..643
          section-4-web-server/control-an-fpga/js/opcode.js on lines 644..653
          section-4-web-server/control-an-fpga/js/opcode.js on lines 665..674
          section-4-web-server/control-an-fpga/js/opcode.js on lines 675..684
          section-4-web-server/control-an-fpga/js/opcode.js on lines 696..705
          section-4-web-server/control-an-fpga/js/opcode.js on lines 727..736
          section-4-web-server/control-an-fpga/js/opcode.js on lines 737..746
          section-4-web-server/control-an-fpga/js/opcode.js on lines 758..767
          section-4-web-server/control-an-fpga/js/opcode.js on lines 768..777
          section-4-web-server/control-an-fpga/js/opcode.js on lines 802..811
          section-4-web-server/control-an-fpga/js/opcode.js on lines 823..832
          section-4-web-server/control-an-fpga/js/opcode.js on lines 833..842
          section-4-web-server/control-an-fpga/js/opcode.js on lines 854..863
          section-4-web-server/control-an-fpga/js/opcode.js on lines 864..873
          section-4-web-server/control-an-fpga/js/opcode.js on lines 885..894
          section-4-web-server/control-an-fpga/js/opcode.js on lines 895..904
          section-4-web-server/control-an-fpga/js/opcode.js on lines 916..925
          section-4-web-server/control-an-fpga/js/opcode.js on lines 926..935
          section-4-web-server/control-an-fpga/js/opcode.js on lines 947..956
          section-4-web-server/control-an-fpga/js/opcode.js on lines 957..966
          section-4-web-server/control-an-fpga/js/opcode.js on lines 978..987
          section-4-web-server/control-an-fpga/js/opcode.js on lines 988..997
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1009..1018
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1019..1028
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1040..1049
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1050..1059
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1071..1080
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1081..1090
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1102..1111
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1112..1121
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1133..1142
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1143..1152
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1164..1173
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1174..1183
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1195..1204
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1205..1214
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1226..1235
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1236..1245
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1257..1266
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1267..1276

          Duplicated Code

          Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

          Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

          When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

          Tuning

          This issue has a mass of 68.

          We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

          The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

          If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

          See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

          Refactorings

          Further Reading

          Similar blocks of code found in 77 locations. Consider refactoring.
          Open

          function data_in_b_one_3_onmouseout() {
          switch(data_in_b_3_state) {
              case "low":
                  document.getElementById("data_in_b_one_3").style.backgroundColor=white;
                  break;
          Severity: Major
          Found in section-4-web-server/control-an-fpga/js/opcode.js and 76 other locations - About 1 hr to fix
          section-4-web-server/control-an-fpga/js/opcode.js on lines 52..61
          section-4-web-server/control-an-fpga/js/opcode.js on lines 73..82
          section-4-web-server/control-an-fpga/js/opcode.js on lines 83..92
          section-4-web-server/control-an-fpga/js/opcode.js on lines 104..113
          section-4-web-server/control-an-fpga/js/opcode.js on lines 114..123
          section-4-web-server/control-an-fpga/js/opcode.js on lines 135..144
          section-4-web-server/control-an-fpga/js/opcode.js on lines 145..154
          section-4-web-server/control-an-fpga/js/opcode.js on lines 166..175
          section-4-web-server/control-an-fpga/js/opcode.js on lines 176..185
          section-4-web-server/control-an-fpga/js/opcode.js on lines 197..206
          section-4-web-server/control-an-fpga/js/opcode.js on lines 207..216
          section-4-web-server/control-an-fpga/js/opcode.js on lines 228..237
          section-4-web-server/control-an-fpga/js/opcode.js on lines 238..247
          section-4-web-server/control-an-fpga/js/opcode.js on lines 259..268
          section-4-web-server/control-an-fpga/js/opcode.js on lines 269..278
          section-4-web-server/control-an-fpga/js/opcode.js on lines 303..312
          section-4-web-server/control-an-fpga/js/opcode.js on lines 324..333
          section-4-web-server/control-an-fpga/js/opcode.js on lines 334..343
          section-4-web-server/control-an-fpga/js/opcode.js on lines 355..364
          section-4-web-server/control-an-fpga/js/opcode.js on lines 365..374
          section-4-web-server/control-an-fpga/js/opcode.js on lines 386..395
          section-4-web-server/control-an-fpga/js/opcode.js on lines 396..405
          section-4-web-server/control-an-fpga/js/opcode.js on lines 417..426
          section-4-web-server/control-an-fpga/js/opcode.js on lines 427..436
          section-4-web-server/control-an-fpga/js/opcode.js on lines 448..457
          section-4-web-server/control-an-fpga/js/opcode.js on lines 458..467
          section-4-web-server/control-an-fpga/js/opcode.js on lines 479..488
          section-4-web-server/control-an-fpga/js/opcode.js on lines 489..498
          section-4-web-server/control-an-fpga/js/opcode.js on lines 510..519
          section-4-web-server/control-an-fpga/js/opcode.js on lines 520..529
          section-4-web-server/control-an-fpga/js/opcode.js on lines 541..550
          section-4-web-server/control-an-fpga/js/opcode.js on lines 551..560
          section-4-web-server/control-an-fpga/js/opcode.js on lines 572..581
          section-4-web-server/control-an-fpga/js/opcode.js on lines 582..591
          section-4-web-server/control-an-fpga/js/opcode.js on lines 603..612
          section-4-web-server/control-an-fpga/js/opcode.js on lines 613..622
          section-4-web-server/control-an-fpga/js/opcode.js on lines 634..643
          section-4-web-server/control-an-fpga/js/opcode.js on lines 644..653
          section-4-web-server/control-an-fpga/js/opcode.js on lines 665..674
          section-4-web-server/control-an-fpga/js/opcode.js on lines 675..684
          section-4-web-server/control-an-fpga/js/opcode.js on lines 696..705
          section-4-web-server/control-an-fpga/js/opcode.js on lines 706..715
          section-4-web-server/control-an-fpga/js/opcode.js on lines 727..736
          section-4-web-server/control-an-fpga/js/opcode.js on lines 737..746
          section-4-web-server/control-an-fpga/js/opcode.js on lines 758..767
          section-4-web-server/control-an-fpga/js/opcode.js on lines 768..777
          section-4-web-server/control-an-fpga/js/opcode.js on lines 802..811
          section-4-web-server/control-an-fpga/js/opcode.js on lines 823..832
          section-4-web-server/control-an-fpga/js/opcode.js on lines 833..842
          section-4-web-server/control-an-fpga/js/opcode.js on lines 854..863
          section-4-web-server/control-an-fpga/js/opcode.js on lines 864..873
          section-4-web-server/control-an-fpga/js/opcode.js on lines 885..894
          section-4-web-server/control-an-fpga/js/opcode.js on lines 895..904
          section-4-web-server/control-an-fpga/js/opcode.js on lines 916..925
          section-4-web-server/control-an-fpga/js/opcode.js on lines 926..935
          section-4-web-server/control-an-fpga/js/opcode.js on lines 947..956
          section-4-web-server/control-an-fpga/js/opcode.js on lines 957..966
          section-4-web-server/control-an-fpga/js/opcode.js on lines 978..987
          section-4-web-server/control-an-fpga/js/opcode.js on lines 988..997
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1009..1018
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1019..1028
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1040..1049
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1071..1080
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1081..1090
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1102..1111
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1112..1121
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1133..1142
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1143..1152
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1164..1173
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1174..1183
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1195..1204
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1205..1214
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1226..1235
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1236..1245
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1257..1266
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1267..1276

          Duplicated Code

          Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

          Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

          When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

          Tuning

          This issue has a mass of 68.

          We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

          The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

          If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

          See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

          Refactorings

          Further Reading

          Similar blocks of code found in 77 locations. Consider refactoring.
          Open

          function data_in_a_one_5_onmouseout() {
              switch(data_in_a_5_state) {
                  case "low":
                      document.getElementById("data_in_a_one_5").style.backgroundColor=white;
                      break;
          Severity: Major
          Found in section-4-web-server/control-an-fpga/js/opcode.js and 76 other locations - About 1 hr to fix
          section-4-web-server/control-an-fpga/js/opcode.js on lines 52..61
          section-4-web-server/control-an-fpga/js/opcode.js on lines 73..82
          section-4-web-server/control-an-fpga/js/opcode.js on lines 83..92
          section-4-web-server/control-an-fpga/js/opcode.js on lines 104..113
          section-4-web-server/control-an-fpga/js/opcode.js on lines 114..123
          section-4-web-server/control-an-fpga/js/opcode.js on lines 135..144
          section-4-web-server/control-an-fpga/js/opcode.js on lines 145..154
          section-4-web-server/control-an-fpga/js/opcode.js on lines 166..175
          section-4-web-server/control-an-fpga/js/opcode.js on lines 176..185
          section-4-web-server/control-an-fpga/js/opcode.js on lines 197..206
          section-4-web-server/control-an-fpga/js/opcode.js on lines 207..216
          section-4-web-server/control-an-fpga/js/opcode.js on lines 228..237
          section-4-web-server/control-an-fpga/js/opcode.js on lines 238..247
          section-4-web-server/control-an-fpga/js/opcode.js on lines 259..268
          section-4-web-server/control-an-fpga/js/opcode.js on lines 269..278
          section-4-web-server/control-an-fpga/js/opcode.js on lines 303..312
          section-4-web-server/control-an-fpga/js/opcode.js on lines 324..333
          section-4-web-server/control-an-fpga/js/opcode.js on lines 334..343
          section-4-web-server/control-an-fpga/js/opcode.js on lines 355..364
          section-4-web-server/control-an-fpga/js/opcode.js on lines 365..374
          section-4-web-server/control-an-fpga/js/opcode.js on lines 386..395
          section-4-web-server/control-an-fpga/js/opcode.js on lines 396..405
          section-4-web-server/control-an-fpga/js/opcode.js on lines 417..426
          section-4-web-server/control-an-fpga/js/opcode.js on lines 448..457
          section-4-web-server/control-an-fpga/js/opcode.js on lines 458..467
          section-4-web-server/control-an-fpga/js/opcode.js on lines 479..488
          section-4-web-server/control-an-fpga/js/opcode.js on lines 489..498
          section-4-web-server/control-an-fpga/js/opcode.js on lines 510..519
          section-4-web-server/control-an-fpga/js/opcode.js on lines 520..529
          section-4-web-server/control-an-fpga/js/opcode.js on lines 541..550
          section-4-web-server/control-an-fpga/js/opcode.js on lines 551..560
          section-4-web-server/control-an-fpga/js/opcode.js on lines 572..581
          section-4-web-server/control-an-fpga/js/opcode.js on lines 582..591
          section-4-web-server/control-an-fpga/js/opcode.js on lines 603..612
          section-4-web-server/control-an-fpga/js/opcode.js on lines 613..622
          section-4-web-server/control-an-fpga/js/opcode.js on lines 634..643
          section-4-web-server/control-an-fpga/js/opcode.js on lines 644..653
          section-4-web-server/control-an-fpga/js/opcode.js on lines 665..674
          section-4-web-server/control-an-fpga/js/opcode.js on lines 675..684
          section-4-web-server/control-an-fpga/js/opcode.js on lines 696..705
          section-4-web-server/control-an-fpga/js/opcode.js on lines 706..715
          section-4-web-server/control-an-fpga/js/opcode.js on lines 727..736
          section-4-web-server/control-an-fpga/js/opcode.js on lines 737..746
          section-4-web-server/control-an-fpga/js/opcode.js on lines 758..767
          section-4-web-server/control-an-fpga/js/opcode.js on lines 768..777
          section-4-web-server/control-an-fpga/js/opcode.js on lines 802..811
          section-4-web-server/control-an-fpga/js/opcode.js on lines 823..832
          section-4-web-server/control-an-fpga/js/opcode.js on lines 833..842
          section-4-web-server/control-an-fpga/js/opcode.js on lines 854..863
          section-4-web-server/control-an-fpga/js/opcode.js on lines 864..873
          section-4-web-server/control-an-fpga/js/opcode.js on lines 885..894
          section-4-web-server/control-an-fpga/js/opcode.js on lines 895..904
          section-4-web-server/control-an-fpga/js/opcode.js on lines 916..925
          section-4-web-server/control-an-fpga/js/opcode.js on lines 926..935
          section-4-web-server/control-an-fpga/js/opcode.js on lines 947..956
          section-4-web-server/control-an-fpga/js/opcode.js on lines 957..966
          section-4-web-server/control-an-fpga/js/opcode.js on lines 978..987
          section-4-web-server/control-an-fpga/js/opcode.js on lines 988..997
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1009..1018
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1019..1028
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1040..1049
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1050..1059
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1071..1080
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1081..1090
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1102..1111
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1112..1121
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1133..1142
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1143..1152
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1164..1173
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1174..1183
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1195..1204
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1205..1214
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1226..1235
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1236..1245
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1257..1266
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1267..1276

          Duplicated Code

          Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

          Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

          When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

          Tuning

          This issue has a mass of 68.

          We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

          The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

          If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

          See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

          Refactorings

          Further Reading

          Similar blocks of code found in 77 locations. Consider refactoring.
          Open

          function data_in_a_zero_5_onmouseout() {
              switch(data_in_a_5_state) {
                  case "low":
                      document.getElementById("data_in_a_zero_5").style.backgroundColor=lightgreen;
                      break;
          Severity: Major
          Found in section-4-web-server/control-an-fpga/js/opcode.js and 76 other locations - About 1 hr to fix
          section-4-web-server/control-an-fpga/js/opcode.js on lines 52..61
          section-4-web-server/control-an-fpga/js/opcode.js on lines 73..82
          section-4-web-server/control-an-fpga/js/opcode.js on lines 83..92
          section-4-web-server/control-an-fpga/js/opcode.js on lines 104..113
          section-4-web-server/control-an-fpga/js/opcode.js on lines 114..123
          section-4-web-server/control-an-fpga/js/opcode.js on lines 135..144
          section-4-web-server/control-an-fpga/js/opcode.js on lines 145..154
          section-4-web-server/control-an-fpga/js/opcode.js on lines 166..175
          section-4-web-server/control-an-fpga/js/opcode.js on lines 176..185
          section-4-web-server/control-an-fpga/js/opcode.js on lines 197..206
          section-4-web-server/control-an-fpga/js/opcode.js on lines 207..216
          section-4-web-server/control-an-fpga/js/opcode.js on lines 228..237
          section-4-web-server/control-an-fpga/js/opcode.js on lines 238..247
          section-4-web-server/control-an-fpga/js/opcode.js on lines 259..268
          section-4-web-server/control-an-fpga/js/opcode.js on lines 269..278
          section-4-web-server/control-an-fpga/js/opcode.js on lines 303..312
          section-4-web-server/control-an-fpga/js/opcode.js on lines 324..333
          section-4-web-server/control-an-fpga/js/opcode.js on lines 334..343
          section-4-web-server/control-an-fpga/js/opcode.js on lines 355..364
          section-4-web-server/control-an-fpga/js/opcode.js on lines 365..374
          section-4-web-server/control-an-fpga/js/opcode.js on lines 386..395
          section-4-web-server/control-an-fpga/js/opcode.js on lines 396..405
          section-4-web-server/control-an-fpga/js/opcode.js on lines 417..426
          section-4-web-server/control-an-fpga/js/opcode.js on lines 427..436
          section-4-web-server/control-an-fpga/js/opcode.js on lines 448..457
          section-4-web-server/control-an-fpga/js/opcode.js on lines 479..488
          section-4-web-server/control-an-fpga/js/opcode.js on lines 489..498
          section-4-web-server/control-an-fpga/js/opcode.js on lines 510..519
          section-4-web-server/control-an-fpga/js/opcode.js on lines 520..529
          section-4-web-server/control-an-fpga/js/opcode.js on lines 541..550
          section-4-web-server/control-an-fpga/js/opcode.js on lines 551..560
          section-4-web-server/control-an-fpga/js/opcode.js on lines 572..581
          section-4-web-server/control-an-fpga/js/opcode.js on lines 582..591
          section-4-web-server/control-an-fpga/js/opcode.js on lines 603..612
          section-4-web-server/control-an-fpga/js/opcode.js on lines 613..622
          section-4-web-server/control-an-fpga/js/opcode.js on lines 634..643
          section-4-web-server/control-an-fpga/js/opcode.js on lines 644..653
          section-4-web-server/control-an-fpga/js/opcode.js on lines 665..674
          section-4-web-server/control-an-fpga/js/opcode.js on lines 675..684
          section-4-web-server/control-an-fpga/js/opcode.js on lines 696..705
          section-4-web-server/control-an-fpga/js/opcode.js on lines 706..715
          section-4-web-server/control-an-fpga/js/opcode.js on lines 727..736
          section-4-web-server/control-an-fpga/js/opcode.js on lines 737..746
          section-4-web-server/control-an-fpga/js/opcode.js on lines 758..767
          section-4-web-server/control-an-fpga/js/opcode.js on lines 768..777
          section-4-web-server/control-an-fpga/js/opcode.js on lines 802..811
          section-4-web-server/control-an-fpga/js/opcode.js on lines 823..832
          section-4-web-server/control-an-fpga/js/opcode.js on lines 833..842
          section-4-web-server/control-an-fpga/js/opcode.js on lines 854..863
          section-4-web-server/control-an-fpga/js/opcode.js on lines 864..873
          section-4-web-server/control-an-fpga/js/opcode.js on lines 885..894
          section-4-web-server/control-an-fpga/js/opcode.js on lines 895..904
          section-4-web-server/control-an-fpga/js/opcode.js on lines 916..925
          section-4-web-server/control-an-fpga/js/opcode.js on lines 926..935
          section-4-web-server/control-an-fpga/js/opcode.js on lines 947..956
          section-4-web-server/control-an-fpga/js/opcode.js on lines 957..966
          section-4-web-server/control-an-fpga/js/opcode.js on lines 978..987
          section-4-web-server/control-an-fpga/js/opcode.js on lines 988..997
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1009..1018
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1019..1028
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1040..1049
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1050..1059
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1071..1080
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1081..1090
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1102..1111
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1112..1121
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1133..1142
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1143..1152
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1164..1173
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1174..1183
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1195..1204
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1205..1214
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1226..1235
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1236..1245
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1257..1266
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1267..1276

          Duplicated Code

          Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

          Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

          When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

          Tuning

          This issue has a mass of 68.

          We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

          The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

          If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

          See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

          Refactorings

          Further Reading

          Similar blocks of code found in 77 locations. Consider refactoring.
          Open

          function data_in_a_zero_4_onmouseover() {
            switch(data_in_a_4_state) {
                case "low":
                    document.getElementById("data_in_a_zero_4").style.backgroundColor=lightgreen;
                    break;
          Severity: Major
          Found in section-4-web-server/control-an-fpga/js/opcode.js and 76 other locations - About 1 hr to fix
          section-4-web-server/control-an-fpga/js/opcode.js on lines 52..61
          section-4-web-server/control-an-fpga/js/opcode.js on lines 73..82
          section-4-web-server/control-an-fpga/js/opcode.js on lines 83..92
          section-4-web-server/control-an-fpga/js/opcode.js on lines 104..113
          section-4-web-server/control-an-fpga/js/opcode.js on lines 114..123
          section-4-web-server/control-an-fpga/js/opcode.js on lines 135..144
          section-4-web-server/control-an-fpga/js/opcode.js on lines 145..154
          section-4-web-server/control-an-fpga/js/opcode.js on lines 166..175
          section-4-web-server/control-an-fpga/js/opcode.js on lines 176..185
          section-4-web-server/control-an-fpga/js/opcode.js on lines 197..206
          section-4-web-server/control-an-fpga/js/opcode.js on lines 207..216
          section-4-web-server/control-an-fpga/js/opcode.js on lines 228..237
          section-4-web-server/control-an-fpga/js/opcode.js on lines 238..247
          section-4-web-server/control-an-fpga/js/opcode.js on lines 259..268
          section-4-web-server/control-an-fpga/js/opcode.js on lines 269..278
          section-4-web-server/control-an-fpga/js/opcode.js on lines 303..312
          section-4-web-server/control-an-fpga/js/opcode.js on lines 324..333
          section-4-web-server/control-an-fpga/js/opcode.js on lines 334..343
          section-4-web-server/control-an-fpga/js/opcode.js on lines 355..364
          section-4-web-server/control-an-fpga/js/opcode.js on lines 365..374
          section-4-web-server/control-an-fpga/js/opcode.js on lines 386..395
          section-4-web-server/control-an-fpga/js/opcode.js on lines 396..405
          section-4-web-server/control-an-fpga/js/opcode.js on lines 417..426
          section-4-web-server/control-an-fpga/js/opcode.js on lines 427..436
          section-4-web-server/control-an-fpga/js/opcode.js on lines 448..457
          section-4-web-server/control-an-fpga/js/opcode.js on lines 458..467
          section-4-web-server/control-an-fpga/js/opcode.js on lines 479..488
          section-4-web-server/control-an-fpga/js/opcode.js on lines 489..498
          section-4-web-server/control-an-fpga/js/opcode.js on lines 520..529
          section-4-web-server/control-an-fpga/js/opcode.js on lines 541..550
          section-4-web-server/control-an-fpga/js/opcode.js on lines 551..560
          section-4-web-server/control-an-fpga/js/opcode.js on lines 572..581
          section-4-web-server/control-an-fpga/js/opcode.js on lines 582..591
          section-4-web-server/control-an-fpga/js/opcode.js on lines 603..612
          section-4-web-server/control-an-fpga/js/opcode.js on lines 613..622
          section-4-web-server/control-an-fpga/js/opcode.js on lines 634..643
          section-4-web-server/control-an-fpga/js/opcode.js on lines 644..653
          section-4-web-server/control-an-fpga/js/opcode.js on lines 665..674
          section-4-web-server/control-an-fpga/js/opcode.js on lines 675..684
          section-4-web-server/control-an-fpga/js/opcode.js on lines 696..705
          section-4-web-server/control-an-fpga/js/opcode.js on lines 706..715
          section-4-web-server/control-an-fpga/js/opcode.js on lines 727..736
          section-4-web-server/control-an-fpga/js/opcode.js on lines 737..746
          section-4-web-server/control-an-fpga/js/opcode.js on lines 758..767
          section-4-web-server/control-an-fpga/js/opcode.js on lines 768..777
          section-4-web-server/control-an-fpga/js/opcode.js on lines 802..811
          section-4-web-server/control-an-fpga/js/opcode.js on lines 823..832
          section-4-web-server/control-an-fpga/js/opcode.js on lines 833..842
          section-4-web-server/control-an-fpga/js/opcode.js on lines 854..863
          section-4-web-server/control-an-fpga/js/opcode.js on lines 864..873
          section-4-web-server/control-an-fpga/js/opcode.js on lines 885..894
          section-4-web-server/control-an-fpga/js/opcode.js on lines 895..904
          section-4-web-server/control-an-fpga/js/opcode.js on lines 916..925
          section-4-web-server/control-an-fpga/js/opcode.js on lines 926..935
          section-4-web-server/control-an-fpga/js/opcode.js on lines 947..956
          section-4-web-server/control-an-fpga/js/opcode.js on lines 957..966
          section-4-web-server/control-an-fpga/js/opcode.js on lines 978..987
          section-4-web-server/control-an-fpga/js/opcode.js on lines 988..997
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1009..1018
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1019..1028
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1040..1049
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1050..1059
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1071..1080
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1081..1090
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1102..1111
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1112..1121
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1133..1142
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1143..1152
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1164..1173
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1174..1183
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1195..1204
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1205..1214
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1226..1235
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1236..1245
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1257..1266
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1267..1276

          Duplicated Code

          Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

          Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

          When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

          Tuning

          This issue has a mass of 68.

          We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

          The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

          If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

          See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

          Refactorings

          Further Reading

          Similar blocks of code found in 77 locations. Consider refactoring.
          Open

          function data_in_a_one_3_onmouseover() {
            switch(data_in_a_3_state) {
                case "low":
                    document.getElementById("data_in_a_one_3").style.backgroundColor=grey;
                    break;
          Severity: Major
          Found in section-4-web-server/control-an-fpga/js/opcode.js and 76 other locations - About 1 hr to fix
          section-4-web-server/control-an-fpga/js/opcode.js on lines 52..61
          section-4-web-server/control-an-fpga/js/opcode.js on lines 73..82
          section-4-web-server/control-an-fpga/js/opcode.js on lines 83..92
          section-4-web-server/control-an-fpga/js/opcode.js on lines 104..113
          section-4-web-server/control-an-fpga/js/opcode.js on lines 114..123
          section-4-web-server/control-an-fpga/js/opcode.js on lines 135..144
          section-4-web-server/control-an-fpga/js/opcode.js on lines 145..154
          section-4-web-server/control-an-fpga/js/opcode.js on lines 166..175
          section-4-web-server/control-an-fpga/js/opcode.js on lines 176..185
          section-4-web-server/control-an-fpga/js/opcode.js on lines 197..206
          section-4-web-server/control-an-fpga/js/opcode.js on lines 207..216
          section-4-web-server/control-an-fpga/js/opcode.js on lines 228..237
          section-4-web-server/control-an-fpga/js/opcode.js on lines 238..247
          section-4-web-server/control-an-fpga/js/opcode.js on lines 259..268
          section-4-web-server/control-an-fpga/js/opcode.js on lines 269..278
          section-4-web-server/control-an-fpga/js/opcode.js on lines 303..312
          section-4-web-server/control-an-fpga/js/opcode.js on lines 324..333
          section-4-web-server/control-an-fpga/js/opcode.js on lines 334..343
          section-4-web-server/control-an-fpga/js/opcode.js on lines 355..364
          section-4-web-server/control-an-fpga/js/opcode.js on lines 365..374
          section-4-web-server/control-an-fpga/js/opcode.js on lines 386..395
          section-4-web-server/control-an-fpga/js/opcode.js on lines 396..405
          section-4-web-server/control-an-fpga/js/opcode.js on lines 417..426
          section-4-web-server/control-an-fpga/js/opcode.js on lines 427..436
          section-4-web-server/control-an-fpga/js/opcode.js on lines 448..457
          section-4-web-server/control-an-fpga/js/opcode.js on lines 458..467
          section-4-web-server/control-an-fpga/js/opcode.js on lines 479..488
          section-4-web-server/control-an-fpga/js/opcode.js on lines 489..498
          section-4-web-server/control-an-fpga/js/opcode.js on lines 510..519
          section-4-web-server/control-an-fpga/js/opcode.js on lines 520..529
          section-4-web-server/control-an-fpga/js/opcode.js on lines 551..560
          section-4-web-server/control-an-fpga/js/opcode.js on lines 572..581
          section-4-web-server/control-an-fpga/js/opcode.js on lines 582..591
          section-4-web-server/control-an-fpga/js/opcode.js on lines 603..612
          section-4-web-server/control-an-fpga/js/opcode.js on lines 613..622
          section-4-web-server/control-an-fpga/js/opcode.js on lines 634..643
          section-4-web-server/control-an-fpga/js/opcode.js on lines 644..653
          section-4-web-server/control-an-fpga/js/opcode.js on lines 665..674
          section-4-web-server/control-an-fpga/js/opcode.js on lines 675..684
          section-4-web-server/control-an-fpga/js/opcode.js on lines 696..705
          section-4-web-server/control-an-fpga/js/opcode.js on lines 706..715
          section-4-web-server/control-an-fpga/js/opcode.js on lines 727..736
          section-4-web-server/control-an-fpga/js/opcode.js on lines 737..746
          section-4-web-server/control-an-fpga/js/opcode.js on lines 758..767
          section-4-web-server/control-an-fpga/js/opcode.js on lines 768..777
          section-4-web-server/control-an-fpga/js/opcode.js on lines 802..811
          section-4-web-server/control-an-fpga/js/opcode.js on lines 823..832
          section-4-web-server/control-an-fpga/js/opcode.js on lines 833..842
          section-4-web-server/control-an-fpga/js/opcode.js on lines 854..863
          section-4-web-server/control-an-fpga/js/opcode.js on lines 864..873
          section-4-web-server/control-an-fpga/js/opcode.js on lines 885..894
          section-4-web-server/control-an-fpga/js/opcode.js on lines 895..904
          section-4-web-server/control-an-fpga/js/opcode.js on lines 916..925
          section-4-web-server/control-an-fpga/js/opcode.js on lines 926..935
          section-4-web-server/control-an-fpga/js/opcode.js on lines 947..956
          section-4-web-server/control-an-fpga/js/opcode.js on lines 957..966
          section-4-web-server/control-an-fpga/js/opcode.js on lines 978..987
          section-4-web-server/control-an-fpga/js/opcode.js on lines 988..997
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1009..1018
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1019..1028
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1040..1049
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1050..1059
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1071..1080
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1081..1090
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1102..1111
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1112..1121
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1133..1142
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1143..1152
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1164..1173
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1174..1183
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1195..1204
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1205..1214
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1226..1235
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1236..1245
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1257..1266
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1267..1276

          Duplicated Code

          Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

          Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

          When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

          Tuning

          This issue has a mass of 68.

          We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

          The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

          If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

          See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

          Refactorings

          Further Reading

          Similar blocks of code found in 77 locations. Consider refactoring.
          Open

          function data_in_b_zero_3_onmouseout() {
          switch(data_in_b_3_state) {
              case "low":
                  document.getElementById("data_in_b_zero_3").style.backgroundColor=lightgreen;
                  break;
          Severity: Major
          Found in section-4-web-server/control-an-fpga/js/opcode.js and 76 other locations - About 1 hr to fix
          section-4-web-server/control-an-fpga/js/opcode.js on lines 52..61
          section-4-web-server/control-an-fpga/js/opcode.js on lines 73..82
          section-4-web-server/control-an-fpga/js/opcode.js on lines 83..92
          section-4-web-server/control-an-fpga/js/opcode.js on lines 104..113
          section-4-web-server/control-an-fpga/js/opcode.js on lines 114..123
          section-4-web-server/control-an-fpga/js/opcode.js on lines 135..144
          section-4-web-server/control-an-fpga/js/opcode.js on lines 145..154
          section-4-web-server/control-an-fpga/js/opcode.js on lines 166..175
          section-4-web-server/control-an-fpga/js/opcode.js on lines 176..185
          section-4-web-server/control-an-fpga/js/opcode.js on lines 197..206
          section-4-web-server/control-an-fpga/js/opcode.js on lines 207..216
          section-4-web-server/control-an-fpga/js/opcode.js on lines 228..237
          section-4-web-server/control-an-fpga/js/opcode.js on lines 238..247
          section-4-web-server/control-an-fpga/js/opcode.js on lines 259..268
          section-4-web-server/control-an-fpga/js/opcode.js on lines 269..278
          section-4-web-server/control-an-fpga/js/opcode.js on lines 303..312
          section-4-web-server/control-an-fpga/js/opcode.js on lines 324..333
          section-4-web-server/control-an-fpga/js/opcode.js on lines 334..343
          section-4-web-server/control-an-fpga/js/opcode.js on lines 355..364
          section-4-web-server/control-an-fpga/js/opcode.js on lines 365..374
          section-4-web-server/control-an-fpga/js/opcode.js on lines 386..395
          section-4-web-server/control-an-fpga/js/opcode.js on lines 396..405
          section-4-web-server/control-an-fpga/js/opcode.js on lines 417..426
          section-4-web-server/control-an-fpga/js/opcode.js on lines 427..436
          section-4-web-server/control-an-fpga/js/opcode.js on lines 448..457
          section-4-web-server/control-an-fpga/js/opcode.js on lines 458..467
          section-4-web-server/control-an-fpga/js/opcode.js on lines 479..488
          section-4-web-server/control-an-fpga/js/opcode.js on lines 489..498
          section-4-web-server/control-an-fpga/js/opcode.js on lines 510..519
          section-4-web-server/control-an-fpga/js/opcode.js on lines 520..529
          section-4-web-server/control-an-fpga/js/opcode.js on lines 541..550
          section-4-web-server/control-an-fpga/js/opcode.js on lines 551..560
          section-4-web-server/control-an-fpga/js/opcode.js on lines 572..581
          section-4-web-server/control-an-fpga/js/opcode.js on lines 582..591
          section-4-web-server/control-an-fpga/js/opcode.js on lines 603..612
          section-4-web-server/control-an-fpga/js/opcode.js on lines 613..622
          section-4-web-server/control-an-fpga/js/opcode.js on lines 634..643
          section-4-web-server/control-an-fpga/js/opcode.js on lines 644..653
          section-4-web-server/control-an-fpga/js/opcode.js on lines 665..674
          section-4-web-server/control-an-fpga/js/opcode.js on lines 675..684
          section-4-web-server/control-an-fpga/js/opcode.js on lines 696..705
          section-4-web-server/control-an-fpga/js/opcode.js on lines 706..715
          section-4-web-server/control-an-fpga/js/opcode.js on lines 727..736
          section-4-web-server/control-an-fpga/js/opcode.js on lines 737..746
          section-4-web-server/control-an-fpga/js/opcode.js on lines 758..767
          section-4-web-server/control-an-fpga/js/opcode.js on lines 768..777
          section-4-web-server/control-an-fpga/js/opcode.js on lines 802..811
          section-4-web-server/control-an-fpga/js/opcode.js on lines 823..832
          section-4-web-server/control-an-fpga/js/opcode.js on lines 833..842
          section-4-web-server/control-an-fpga/js/opcode.js on lines 854..863
          section-4-web-server/control-an-fpga/js/opcode.js on lines 864..873
          section-4-web-server/control-an-fpga/js/opcode.js on lines 885..894
          section-4-web-server/control-an-fpga/js/opcode.js on lines 895..904
          section-4-web-server/control-an-fpga/js/opcode.js on lines 916..925
          section-4-web-server/control-an-fpga/js/opcode.js on lines 926..935
          section-4-web-server/control-an-fpga/js/opcode.js on lines 947..956
          section-4-web-server/control-an-fpga/js/opcode.js on lines 957..966
          section-4-web-server/control-an-fpga/js/opcode.js on lines 978..987
          section-4-web-server/control-an-fpga/js/opcode.js on lines 988..997
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1009..1018
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1019..1028
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1040..1049
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1050..1059
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1071..1080
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1102..1111
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1112..1121
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1133..1142
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1143..1152
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1164..1173
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1174..1183
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1195..1204
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1205..1214
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1226..1235
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1236..1245
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1257..1266
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1267..1276

          Duplicated Code

          Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

          Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

          When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

          Tuning

          This issue has a mass of 68.

          We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

          The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

          If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

          See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

          Refactorings

          Further Reading

          Similar blocks of code found in 77 locations. Consider refactoring.
          Open

          function opcode_one_0_onmouseout() {
              switch(opcode_0_state) {
                  case "low":
                      document.getElementById("opcode_one_0").style.backgroundColor=white;
                      break;
          Severity: Major
          Found in section-4-web-server/control-an-fpga/js/opcode.js and 76 other locations - About 1 hr to fix
          section-4-web-server/control-an-fpga/js/opcode.js on lines 52..61
          section-4-web-server/control-an-fpga/js/opcode.js on lines 73..82
          section-4-web-server/control-an-fpga/js/opcode.js on lines 83..92
          section-4-web-server/control-an-fpga/js/opcode.js on lines 104..113
          section-4-web-server/control-an-fpga/js/opcode.js on lines 114..123
          section-4-web-server/control-an-fpga/js/opcode.js on lines 135..144
          section-4-web-server/control-an-fpga/js/opcode.js on lines 145..154
          section-4-web-server/control-an-fpga/js/opcode.js on lines 166..175
          section-4-web-server/control-an-fpga/js/opcode.js on lines 176..185
          section-4-web-server/control-an-fpga/js/opcode.js on lines 197..206
          section-4-web-server/control-an-fpga/js/opcode.js on lines 207..216
          section-4-web-server/control-an-fpga/js/opcode.js on lines 228..237
          section-4-web-server/control-an-fpga/js/opcode.js on lines 259..268
          section-4-web-server/control-an-fpga/js/opcode.js on lines 269..278
          section-4-web-server/control-an-fpga/js/opcode.js on lines 303..312
          section-4-web-server/control-an-fpga/js/opcode.js on lines 324..333
          section-4-web-server/control-an-fpga/js/opcode.js on lines 334..343
          section-4-web-server/control-an-fpga/js/opcode.js on lines 355..364
          section-4-web-server/control-an-fpga/js/opcode.js on lines 365..374
          section-4-web-server/control-an-fpga/js/opcode.js on lines 386..395
          section-4-web-server/control-an-fpga/js/opcode.js on lines 396..405
          section-4-web-server/control-an-fpga/js/opcode.js on lines 417..426
          section-4-web-server/control-an-fpga/js/opcode.js on lines 427..436
          section-4-web-server/control-an-fpga/js/opcode.js on lines 448..457
          section-4-web-server/control-an-fpga/js/opcode.js on lines 458..467
          section-4-web-server/control-an-fpga/js/opcode.js on lines 479..488
          section-4-web-server/control-an-fpga/js/opcode.js on lines 489..498
          section-4-web-server/control-an-fpga/js/opcode.js on lines 510..519
          section-4-web-server/control-an-fpga/js/opcode.js on lines 520..529
          section-4-web-server/control-an-fpga/js/opcode.js on lines 541..550
          section-4-web-server/control-an-fpga/js/opcode.js on lines 551..560
          section-4-web-server/control-an-fpga/js/opcode.js on lines 572..581
          section-4-web-server/control-an-fpga/js/opcode.js on lines 582..591
          section-4-web-server/control-an-fpga/js/opcode.js on lines 603..612
          section-4-web-server/control-an-fpga/js/opcode.js on lines 613..622
          section-4-web-server/control-an-fpga/js/opcode.js on lines 634..643
          section-4-web-server/control-an-fpga/js/opcode.js on lines 644..653
          section-4-web-server/control-an-fpga/js/opcode.js on lines 665..674
          section-4-web-server/control-an-fpga/js/opcode.js on lines 675..684
          section-4-web-server/control-an-fpga/js/opcode.js on lines 696..705
          section-4-web-server/control-an-fpga/js/opcode.js on lines 706..715
          section-4-web-server/control-an-fpga/js/opcode.js on lines 727..736
          section-4-web-server/control-an-fpga/js/opcode.js on lines 737..746
          section-4-web-server/control-an-fpga/js/opcode.js on lines 758..767
          section-4-web-server/control-an-fpga/js/opcode.js on lines 768..777
          section-4-web-server/control-an-fpga/js/opcode.js on lines 802..811
          section-4-web-server/control-an-fpga/js/opcode.js on lines 823..832
          section-4-web-server/control-an-fpga/js/opcode.js on lines 833..842
          section-4-web-server/control-an-fpga/js/opcode.js on lines 854..863
          section-4-web-server/control-an-fpga/js/opcode.js on lines 864..873
          section-4-web-server/control-an-fpga/js/opcode.js on lines 885..894
          section-4-web-server/control-an-fpga/js/opcode.js on lines 895..904
          section-4-web-server/control-an-fpga/js/opcode.js on lines 916..925
          section-4-web-server/control-an-fpga/js/opcode.js on lines 926..935
          section-4-web-server/control-an-fpga/js/opcode.js on lines 947..956
          section-4-web-server/control-an-fpga/js/opcode.js on lines 957..966
          section-4-web-server/control-an-fpga/js/opcode.js on lines 978..987
          section-4-web-server/control-an-fpga/js/opcode.js on lines 988..997
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1009..1018
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1019..1028
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1040..1049
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1050..1059
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1071..1080
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1081..1090
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1102..1111
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1112..1121
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1133..1142
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1143..1152
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1164..1173
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1174..1183
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1195..1204
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1205..1214
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1226..1235
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1236..1245
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1257..1266
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1267..1276

          Duplicated Code

          Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

          Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

          When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

          Tuning

          This issue has a mass of 68.

          We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

          The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

          If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

          See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

          Refactorings

          Further Reading

          Similar blocks of code found in 77 locations. Consider refactoring.
          Open

          function data_in_a_zero_1_onmouseover() {
            switch(data_in_a_1_state) {
                case "low":
                    document.getElementById("data_in_a_zero_1").style.backgroundColor=lightgreen;
                    break;
          Severity: Major
          Found in section-4-web-server/control-an-fpga/js/opcode.js and 76 other locations - About 1 hr to fix
          section-4-web-server/control-an-fpga/js/opcode.js on lines 52..61
          section-4-web-server/control-an-fpga/js/opcode.js on lines 73..82
          section-4-web-server/control-an-fpga/js/opcode.js on lines 83..92
          section-4-web-server/control-an-fpga/js/opcode.js on lines 104..113
          section-4-web-server/control-an-fpga/js/opcode.js on lines 114..123
          section-4-web-server/control-an-fpga/js/opcode.js on lines 135..144
          section-4-web-server/control-an-fpga/js/opcode.js on lines 145..154
          section-4-web-server/control-an-fpga/js/opcode.js on lines 166..175
          section-4-web-server/control-an-fpga/js/opcode.js on lines 176..185
          section-4-web-server/control-an-fpga/js/opcode.js on lines 197..206
          section-4-web-server/control-an-fpga/js/opcode.js on lines 207..216
          section-4-web-server/control-an-fpga/js/opcode.js on lines 228..237
          section-4-web-server/control-an-fpga/js/opcode.js on lines 238..247
          section-4-web-server/control-an-fpga/js/opcode.js on lines 259..268
          section-4-web-server/control-an-fpga/js/opcode.js on lines 269..278
          section-4-web-server/control-an-fpga/js/opcode.js on lines 303..312
          section-4-web-server/control-an-fpga/js/opcode.js on lines 324..333
          section-4-web-server/control-an-fpga/js/opcode.js on lines 334..343
          section-4-web-server/control-an-fpga/js/opcode.js on lines 355..364
          section-4-web-server/control-an-fpga/js/opcode.js on lines 365..374
          section-4-web-server/control-an-fpga/js/opcode.js on lines 386..395
          section-4-web-server/control-an-fpga/js/opcode.js on lines 396..405
          section-4-web-server/control-an-fpga/js/opcode.js on lines 417..426
          section-4-web-server/control-an-fpga/js/opcode.js on lines 427..436
          section-4-web-server/control-an-fpga/js/opcode.js on lines 448..457
          section-4-web-server/control-an-fpga/js/opcode.js on lines 458..467
          section-4-web-server/control-an-fpga/js/opcode.js on lines 479..488
          section-4-web-server/control-an-fpga/js/opcode.js on lines 489..498
          section-4-web-server/control-an-fpga/js/opcode.js on lines 510..519
          section-4-web-server/control-an-fpga/js/opcode.js on lines 520..529
          section-4-web-server/control-an-fpga/js/opcode.js on lines 541..550
          section-4-web-server/control-an-fpga/js/opcode.js on lines 551..560
          section-4-web-server/control-an-fpga/js/opcode.js on lines 572..581
          section-4-web-server/control-an-fpga/js/opcode.js on lines 582..591
          section-4-web-server/control-an-fpga/js/opcode.js on lines 603..612
          section-4-web-server/control-an-fpga/js/opcode.js on lines 613..622
          section-4-web-server/control-an-fpga/js/opcode.js on lines 634..643
          section-4-web-server/control-an-fpga/js/opcode.js on lines 644..653
          section-4-web-server/control-an-fpga/js/opcode.js on lines 665..674
          section-4-web-server/control-an-fpga/js/opcode.js on lines 675..684
          section-4-web-server/control-an-fpga/js/opcode.js on lines 706..715
          section-4-web-server/control-an-fpga/js/opcode.js on lines 727..736
          section-4-web-server/control-an-fpga/js/opcode.js on lines 737..746
          section-4-web-server/control-an-fpga/js/opcode.js on lines 758..767
          section-4-web-server/control-an-fpga/js/opcode.js on lines 768..777
          section-4-web-server/control-an-fpga/js/opcode.js on lines 802..811
          section-4-web-server/control-an-fpga/js/opcode.js on lines 823..832
          section-4-web-server/control-an-fpga/js/opcode.js on lines 833..842
          section-4-web-server/control-an-fpga/js/opcode.js on lines 854..863
          section-4-web-server/control-an-fpga/js/opcode.js on lines 864..873
          section-4-web-server/control-an-fpga/js/opcode.js on lines 885..894
          section-4-web-server/control-an-fpga/js/opcode.js on lines 895..904
          section-4-web-server/control-an-fpga/js/opcode.js on lines 916..925
          section-4-web-server/control-an-fpga/js/opcode.js on lines 926..935
          section-4-web-server/control-an-fpga/js/opcode.js on lines 947..956
          section-4-web-server/control-an-fpga/js/opcode.js on lines 957..966
          section-4-web-server/control-an-fpga/js/opcode.js on lines 978..987
          section-4-web-server/control-an-fpga/js/opcode.js on lines 988..997
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1009..1018
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1019..1028
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1040..1049
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1050..1059
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1071..1080
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1081..1090
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1102..1111
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1112..1121
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1133..1142
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1143..1152
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1164..1173
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1174..1183
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1195..1204
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1205..1214
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1226..1235
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1236..1245
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1257..1266
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1267..1276

          Duplicated Code

          Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

          Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

          When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

          Tuning

          This issue has a mass of 68.

          We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

          The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

          If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

          See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

          Refactorings

          Further Reading

          Similar blocks of code found in 77 locations. Consider refactoring.
          Open

          function data_in_a_one_0_onmouseout() {
            switch(data_in_a_0_state) {
                case "low":
                    document.getElementById("data_in_a_one_0").style.backgroundColor=white;
                    break;
          Severity: Major
          Found in section-4-web-server/control-an-fpga/js/opcode.js and 76 other locations - About 1 hr to fix
          section-4-web-server/control-an-fpga/js/opcode.js on lines 52..61
          section-4-web-server/control-an-fpga/js/opcode.js on lines 73..82
          section-4-web-server/control-an-fpga/js/opcode.js on lines 83..92
          section-4-web-server/control-an-fpga/js/opcode.js on lines 104..113
          section-4-web-server/control-an-fpga/js/opcode.js on lines 114..123
          section-4-web-server/control-an-fpga/js/opcode.js on lines 135..144
          section-4-web-server/control-an-fpga/js/opcode.js on lines 145..154
          section-4-web-server/control-an-fpga/js/opcode.js on lines 166..175
          section-4-web-server/control-an-fpga/js/opcode.js on lines 176..185
          section-4-web-server/control-an-fpga/js/opcode.js on lines 197..206
          section-4-web-server/control-an-fpga/js/opcode.js on lines 207..216
          section-4-web-server/control-an-fpga/js/opcode.js on lines 228..237
          section-4-web-server/control-an-fpga/js/opcode.js on lines 238..247
          section-4-web-server/control-an-fpga/js/opcode.js on lines 259..268
          section-4-web-server/control-an-fpga/js/opcode.js on lines 269..278
          section-4-web-server/control-an-fpga/js/opcode.js on lines 303..312
          section-4-web-server/control-an-fpga/js/opcode.js on lines 324..333
          section-4-web-server/control-an-fpga/js/opcode.js on lines 334..343
          section-4-web-server/control-an-fpga/js/opcode.js on lines 355..364
          section-4-web-server/control-an-fpga/js/opcode.js on lines 365..374
          section-4-web-server/control-an-fpga/js/opcode.js on lines 386..395
          section-4-web-server/control-an-fpga/js/opcode.js on lines 396..405
          section-4-web-server/control-an-fpga/js/opcode.js on lines 417..426
          section-4-web-server/control-an-fpga/js/opcode.js on lines 427..436
          section-4-web-server/control-an-fpga/js/opcode.js on lines 448..457
          section-4-web-server/control-an-fpga/js/opcode.js on lines 458..467
          section-4-web-server/control-an-fpga/js/opcode.js on lines 479..488
          section-4-web-server/control-an-fpga/js/opcode.js on lines 489..498
          section-4-web-server/control-an-fpga/js/opcode.js on lines 510..519
          section-4-web-server/control-an-fpga/js/opcode.js on lines 520..529
          section-4-web-server/control-an-fpga/js/opcode.js on lines 541..550
          section-4-web-server/control-an-fpga/js/opcode.js on lines 551..560
          section-4-web-server/control-an-fpga/js/opcode.js on lines 572..581
          section-4-web-server/control-an-fpga/js/opcode.js on lines 582..591
          section-4-web-server/control-an-fpga/js/opcode.js on lines 603..612
          section-4-web-server/control-an-fpga/js/opcode.js on lines 613..622
          section-4-web-server/control-an-fpga/js/opcode.js on lines 634..643
          section-4-web-server/control-an-fpga/js/opcode.js on lines 644..653
          section-4-web-server/control-an-fpga/js/opcode.js on lines 665..674
          section-4-web-server/control-an-fpga/js/opcode.js on lines 675..684
          section-4-web-server/control-an-fpga/js/opcode.js on lines 696..705
          section-4-web-server/control-an-fpga/js/opcode.js on lines 706..715
          section-4-web-server/control-an-fpga/js/opcode.js on lines 727..736
          section-4-web-server/control-an-fpga/js/opcode.js on lines 758..767
          section-4-web-server/control-an-fpga/js/opcode.js on lines 768..777
          section-4-web-server/control-an-fpga/js/opcode.js on lines 802..811
          section-4-web-server/control-an-fpga/js/opcode.js on lines 823..832
          section-4-web-server/control-an-fpga/js/opcode.js on lines 833..842
          section-4-web-server/control-an-fpga/js/opcode.js on lines 854..863
          section-4-web-server/control-an-fpga/js/opcode.js on lines 864..873
          section-4-web-server/control-an-fpga/js/opcode.js on lines 885..894
          section-4-web-server/control-an-fpga/js/opcode.js on lines 895..904
          section-4-web-server/control-an-fpga/js/opcode.js on lines 916..925
          section-4-web-server/control-an-fpga/js/opcode.js on lines 926..935
          section-4-web-server/control-an-fpga/js/opcode.js on lines 947..956
          section-4-web-server/control-an-fpga/js/opcode.js on lines 957..966
          section-4-web-server/control-an-fpga/js/opcode.js on lines 978..987
          section-4-web-server/control-an-fpga/js/opcode.js on lines 988..997
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1009..1018
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1019..1028
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1040..1049
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1050..1059
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1071..1080
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1081..1090
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1102..1111
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1112..1121
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1133..1142
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1143..1152
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1164..1173
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1174..1183
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1195..1204
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1205..1214
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1226..1235
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1236..1245
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1257..1266
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1267..1276

          Duplicated Code

          Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

          Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

          When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

          Tuning

          This issue has a mass of 68.

          We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

          The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

          If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

          See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

          Refactorings

          Further Reading

          Similar blocks of code found in 77 locations. Consider refactoring.
          Open

          function data_in_b_zero_6_onmouseout() {
            switch(data_in_b_6_state) {
                case "low":
                    document.getElementById("data_in_b_zero_6").style.backgroundColor=lightgreen;
                    break;
          Severity: Major
          Found in section-4-web-server/control-an-fpga/js/opcode.js and 76 other locations - About 1 hr to fix
          section-4-web-server/control-an-fpga/js/opcode.js on lines 52..61
          section-4-web-server/control-an-fpga/js/opcode.js on lines 73..82
          section-4-web-server/control-an-fpga/js/opcode.js on lines 83..92
          section-4-web-server/control-an-fpga/js/opcode.js on lines 104..113
          section-4-web-server/control-an-fpga/js/opcode.js on lines 114..123
          section-4-web-server/control-an-fpga/js/opcode.js on lines 135..144
          section-4-web-server/control-an-fpga/js/opcode.js on lines 145..154
          section-4-web-server/control-an-fpga/js/opcode.js on lines 166..175
          section-4-web-server/control-an-fpga/js/opcode.js on lines 176..185
          section-4-web-server/control-an-fpga/js/opcode.js on lines 197..206
          section-4-web-server/control-an-fpga/js/opcode.js on lines 207..216
          section-4-web-server/control-an-fpga/js/opcode.js on lines 228..237
          section-4-web-server/control-an-fpga/js/opcode.js on lines 238..247
          section-4-web-server/control-an-fpga/js/opcode.js on lines 259..268
          section-4-web-server/control-an-fpga/js/opcode.js on lines 269..278
          section-4-web-server/control-an-fpga/js/opcode.js on lines 303..312
          section-4-web-server/control-an-fpga/js/opcode.js on lines 324..333
          section-4-web-server/control-an-fpga/js/opcode.js on lines 334..343
          section-4-web-server/control-an-fpga/js/opcode.js on lines 355..364
          section-4-web-server/control-an-fpga/js/opcode.js on lines 365..374
          section-4-web-server/control-an-fpga/js/opcode.js on lines 386..395
          section-4-web-server/control-an-fpga/js/opcode.js on lines 396..405
          section-4-web-server/control-an-fpga/js/opcode.js on lines 417..426
          section-4-web-server/control-an-fpga/js/opcode.js on lines 427..436
          section-4-web-server/control-an-fpga/js/opcode.js on lines 448..457
          section-4-web-server/control-an-fpga/js/opcode.js on lines 458..467
          section-4-web-server/control-an-fpga/js/opcode.js on lines 479..488
          section-4-web-server/control-an-fpga/js/opcode.js on lines 489..498
          section-4-web-server/control-an-fpga/js/opcode.js on lines 510..519
          section-4-web-server/control-an-fpga/js/opcode.js on lines 520..529
          section-4-web-server/control-an-fpga/js/opcode.js on lines 541..550
          section-4-web-server/control-an-fpga/js/opcode.js on lines 551..560
          section-4-web-server/control-an-fpga/js/opcode.js on lines 572..581
          section-4-web-server/control-an-fpga/js/opcode.js on lines 582..591
          section-4-web-server/control-an-fpga/js/opcode.js on lines 603..612
          section-4-web-server/control-an-fpga/js/opcode.js on lines 613..622
          section-4-web-server/control-an-fpga/js/opcode.js on lines 634..643
          section-4-web-server/control-an-fpga/js/opcode.js on lines 644..653
          section-4-web-server/control-an-fpga/js/opcode.js on lines 665..674
          section-4-web-server/control-an-fpga/js/opcode.js on lines 675..684
          section-4-web-server/control-an-fpga/js/opcode.js on lines 696..705
          section-4-web-server/control-an-fpga/js/opcode.js on lines 706..715
          section-4-web-server/control-an-fpga/js/opcode.js on lines 727..736
          section-4-web-server/control-an-fpga/js/opcode.js on lines 737..746
          section-4-web-server/control-an-fpga/js/opcode.js on lines 758..767
          section-4-web-server/control-an-fpga/js/opcode.js on lines 768..777
          section-4-web-server/control-an-fpga/js/opcode.js on lines 802..811
          section-4-web-server/control-an-fpga/js/opcode.js on lines 823..832
          section-4-web-server/control-an-fpga/js/opcode.js on lines 833..842
          section-4-web-server/control-an-fpga/js/opcode.js on lines 854..863
          section-4-web-server/control-an-fpga/js/opcode.js on lines 864..873
          section-4-web-server/control-an-fpga/js/opcode.js on lines 885..894
          section-4-web-server/control-an-fpga/js/opcode.js on lines 916..925
          section-4-web-server/control-an-fpga/js/opcode.js on lines 926..935
          section-4-web-server/control-an-fpga/js/opcode.js on lines 947..956
          section-4-web-server/control-an-fpga/js/opcode.js on lines 957..966
          section-4-web-server/control-an-fpga/js/opcode.js on lines 978..987
          section-4-web-server/control-an-fpga/js/opcode.js on lines 988..997
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1009..1018
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1019..1028
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1040..1049
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1050..1059
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1071..1080
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1081..1090
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1102..1111
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1112..1121
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1133..1142
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1143..1152
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1164..1173
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1174..1183
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1195..1204
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1205..1214
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1226..1235
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1236..1245
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1257..1266
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1267..1276

          Duplicated Code

          Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

          Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

          When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

          Tuning

          This issue has a mass of 68.

          We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

          The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

          If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

          See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

          Refactorings

          Further Reading

          Similar blocks of code found in 77 locations. Consider refactoring.
          Open

          function data_in_b_one_1_onmouseover() {
          switch(data_in_b_1_state) {
              case "low":
                  document.getElementById("data_in_b_one_1").style.backgroundColor=grey;
                  break;
          Severity: Major
          Found in section-4-web-server/control-an-fpga/js/opcode.js and 76 other locations - About 1 hr to fix
          section-4-web-server/control-an-fpga/js/opcode.js on lines 52..61
          section-4-web-server/control-an-fpga/js/opcode.js on lines 73..82
          section-4-web-server/control-an-fpga/js/opcode.js on lines 83..92
          section-4-web-server/control-an-fpga/js/opcode.js on lines 104..113
          section-4-web-server/control-an-fpga/js/opcode.js on lines 114..123
          section-4-web-server/control-an-fpga/js/opcode.js on lines 135..144
          section-4-web-server/control-an-fpga/js/opcode.js on lines 145..154
          section-4-web-server/control-an-fpga/js/opcode.js on lines 166..175
          section-4-web-server/control-an-fpga/js/opcode.js on lines 176..185
          section-4-web-server/control-an-fpga/js/opcode.js on lines 197..206
          section-4-web-server/control-an-fpga/js/opcode.js on lines 207..216
          section-4-web-server/control-an-fpga/js/opcode.js on lines 228..237
          section-4-web-server/control-an-fpga/js/opcode.js on lines 238..247
          section-4-web-server/control-an-fpga/js/opcode.js on lines 259..268
          section-4-web-server/control-an-fpga/js/opcode.js on lines 269..278
          section-4-web-server/control-an-fpga/js/opcode.js on lines 303..312
          section-4-web-server/control-an-fpga/js/opcode.js on lines 324..333
          section-4-web-server/control-an-fpga/js/opcode.js on lines 334..343
          section-4-web-server/control-an-fpga/js/opcode.js on lines 355..364
          section-4-web-server/control-an-fpga/js/opcode.js on lines 365..374
          section-4-web-server/control-an-fpga/js/opcode.js on lines 386..395
          section-4-web-server/control-an-fpga/js/opcode.js on lines 396..405
          section-4-web-server/control-an-fpga/js/opcode.js on lines 417..426
          section-4-web-server/control-an-fpga/js/opcode.js on lines 427..436
          section-4-web-server/control-an-fpga/js/opcode.js on lines 448..457
          section-4-web-server/control-an-fpga/js/opcode.js on lines 458..467
          section-4-web-server/control-an-fpga/js/opcode.js on lines 479..488
          section-4-web-server/control-an-fpga/js/opcode.js on lines 489..498
          section-4-web-server/control-an-fpga/js/opcode.js on lines 510..519
          section-4-web-server/control-an-fpga/js/opcode.js on lines 520..529
          section-4-web-server/control-an-fpga/js/opcode.js on lines 541..550
          section-4-web-server/control-an-fpga/js/opcode.js on lines 551..560
          section-4-web-server/control-an-fpga/js/opcode.js on lines 572..581
          section-4-web-server/control-an-fpga/js/opcode.js on lines 582..591
          section-4-web-server/control-an-fpga/js/opcode.js on lines 603..612
          section-4-web-server/control-an-fpga/js/opcode.js on lines 613..622
          section-4-web-server/control-an-fpga/js/opcode.js on lines 634..643
          section-4-web-server/control-an-fpga/js/opcode.js on lines 644..653
          section-4-web-server/control-an-fpga/js/opcode.js on lines 665..674
          section-4-web-server/control-an-fpga/js/opcode.js on lines 675..684
          section-4-web-server/control-an-fpga/js/opcode.js on lines 696..705
          section-4-web-server/control-an-fpga/js/opcode.js on lines 706..715
          section-4-web-server/control-an-fpga/js/opcode.js on lines 727..736
          section-4-web-server/control-an-fpga/js/opcode.js on lines 737..746
          section-4-web-server/control-an-fpga/js/opcode.js on lines 758..767
          section-4-web-server/control-an-fpga/js/opcode.js on lines 768..777
          section-4-web-server/control-an-fpga/js/opcode.js on lines 802..811
          section-4-web-server/control-an-fpga/js/opcode.js on lines 823..832
          section-4-web-server/control-an-fpga/js/opcode.js on lines 833..842
          section-4-web-server/control-an-fpga/js/opcode.js on lines 854..863
          section-4-web-server/control-an-fpga/js/opcode.js on lines 864..873
          section-4-web-server/control-an-fpga/js/opcode.js on lines 885..894
          section-4-web-server/control-an-fpga/js/opcode.js on lines 895..904
          section-4-web-server/control-an-fpga/js/opcode.js on lines 916..925
          section-4-web-server/control-an-fpga/js/opcode.js on lines 926..935
          section-4-web-server/control-an-fpga/js/opcode.js on lines 947..956
          section-4-web-server/control-an-fpga/js/opcode.js on lines 957..966
          section-4-web-server/control-an-fpga/js/opcode.js on lines 978..987
          section-4-web-server/control-an-fpga/js/opcode.js on lines 988..997
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1009..1018
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1019..1028
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1040..1049
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1050..1059
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1071..1080
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1081..1090
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1102..1111
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1112..1121
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1133..1142
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1143..1152
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1174..1183
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1195..1204
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1205..1214
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1226..1235
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1236..1245
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1257..1266
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1267..1276

          Duplicated Code

          Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

          Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

          When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

          Tuning

          This issue has a mass of 68.

          We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

          The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

          If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

          See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

          Refactorings

          Further Reading

          Similar blocks of code found in 77 locations. Consider refactoring.
          Open

          function opcode_one_1_onmouseover() {
              switch(opcode_1_state) {
                  case "low":
                      document.getElementById("opcode_one_1").style.backgroundColor=grey;
                      break;
          Severity: Major
          Found in section-4-web-server/control-an-fpga/js/opcode.js and 76 other locations - About 1 hr to fix
          section-4-web-server/control-an-fpga/js/opcode.js on lines 52..61
          section-4-web-server/control-an-fpga/js/opcode.js on lines 73..82
          section-4-web-server/control-an-fpga/js/opcode.js on lines 83..92
          section-4-web-server/control-an-fpga/js/opcode.js on lines 104..113
          section-4-web-server/control-an-fpga/js/opcode.js on lines 114..123
          section-4-web-server/control-an-fpga/js/opcode.js on lines 135..144
          section-4-web-server/control-an-fpga/js/opcode.js on lines 145..154
          section-4-web-server/control-an-fpga/js/opcode.js on lines 176..185
          section-4-web-server/control-an-fpga/js/opcode.js on lines 197..206
          section-4-web-server/control-an-fpga/js/opcode.js on lines 207..216
          section-4-web-server/control-an-fpga/js/opcode.js on lines 228..237
          section-4-web-server/control-an-fpga/js/opcode.js on lines 238..247
          section-4-web-server/control-an-fpga/js/opcode.js on lines 259..268
          section-4-web-server/control-an-fpga/js/opcode.js on lines 269..278
          section-4-web-server/control-an-fpga/js/opcode.js on lines 303..312
          section-4-web-server/control-an-fpga/js/opcode.js on lines 324..333
          section-4-web-server/control-an-fpga/js/opcode.js on lines 334..343
          section-4-web-server/control-an-fpga/js/opcode.js on lines 355..364
          section-4-web-server/control-an-fpga/js/opcode.js on lines 365..374
          section-4-web-server/control-an-fpga/js/opcode.js on lines 386..395
          section-4-web-server/control-an-fpga/js/opcode.js on lines 396..405
          section-4-web-server/control-an-fpga/js/opcode.js on lines 417..426
          section-4-web-server/control-an-fpga/js/opcode.js on lines 427..436
          section-4-web-server/control-an-fpga/js/opcode.js on lines 448..457
          section-4-web-server/control-an-fpga/js/opcode.js on lines 458..467
          section-4-web-server/control-an-fpga/js/opcode.js on lines 479..488
          section-4-web-server/control-an-fpga/js/opcode.js on lines 489..498
          section-4-web-server/control-an-fpga/js/opcode.js on lines 510..519
          section-4-web-server/control-an-fpga/js/opcode.js on lines 520..529
          section-4-web-server/control-an-fpga/js/opcode.js on lines 541..550
          section-4-web-server/control-an-fpga/js/opcode.js on lines 551..560
          section-4-web-server/control-an-fpga/js/opcode.js on lines 572..581
          section-4-web-server/control-an-fpga/js/opcode.js on lines 582..591
          section-4-web-server/control-an-fpga/js/opcode.js on lines 603..612
          section-4-web-server/control-an-fpga/js/opcode.js on lines 613..622
          section-4-web-server/control-an-fpga/js/opcode.js on lines 634..643
          section-4-web-server/control-an-fpga/js/opcode.js on lines 644..653
          section-4-web-server/control-an-fpga/js/opcode.js on lines 665..674
          section-4-web-server/control-an-fpga/js/opcode.js on lines 675..684
          section-4-web-server/control-an-fpga/js/opcode.js on lines 696..705
          section-4-web-server/control-an-fpga/js/opcode.js on lines 706..715
          section-4-web-server/control-an-fpga/js/opcode.js on lines 727..736
          section-4-web-server/control-an-fpga/js/opcode.js on lines 737..746
          section-4-web-server/control-an-fpga/js/opcode.js on lines 758..767
          section-4-web-server/control-an-fpga/js/opcode.js on lines 768..777
          section-4-web-server/control-an-fpga/js/opcode.js on lines 802..811
          section-4-web-server/control-an-fpga/js/opcode.js on lines 823..832
          section-4-web-server/control-an-fpga/js/opcode.js on lines 833..842
          section-4-web-server/control-an-fpga/js/opcode.js on lines 854..863
          section-4-web-server/control-an-fpga/js/opcode.js on lines 864..873
          section-4-web-server/control-an-fpga/js/opcode.js on lines 885..894
          section-4-web-server/control-an-fpga/js/opcode.js on lines 895..904
          section-4-web-server/control-an-fpga/js/opcode.js on lines 916..925
          section-4-web-server/control-an-fpga/js/opcode.js on lines 926..935
          section-4-web-server/control-an-fpga/js/opcode.js on lines 947..956
          section-4-web-server/control-an-fpga/js/opcode.js on lines 957..966
          section-4-web-server/control-an-fpga/js/opcode.js on lines 978..987
          section-4-web-server/control-an-fpga/js/opcode.js on lines 988..997
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1009..1018
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1019..1028
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1040..1049
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1050..1059
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1071..1080
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1081..1090
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1102..1111
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1112..1121
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1133..1142
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1143..1152
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1164..1173
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1174..1183
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1195..1204
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1205..1214
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1226..1235
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1236..1245
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1257..1266
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1267..1276

          Duplicated Code

          Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

          Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

          When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

          Tuning

          This issue has a mass of 68.

          We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

          The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

          If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

          See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

          Refactorings

          Further Reading

          Similar blocks of code found in 77 locations. Consider refactoring.
          Open

          function data_in_a_zero_6_onmouseout() {
              switch(data_in_a_6_state) {
                  case "low":
                      document.getElementById("data_in_a_zero_6").style.backgroundColor=lightgreen;
                      break;
          Severity: Major
          Found in section-4-web-server/control-an-fpga/js/opcode.js and 76 other locations - About 1 hr to fix
          section-4-web-server/control-an-fpga/js/opcode.js on lines 52..61
          section-4-web-server/control-an-fpga/js/opcode.js on lines 73..82
          section-4-web-server/control-an-fpga/js/opcode.js on lines 83..92
          section-4-web-server/control-an-fpga/js/opcode.js on lines 104..113
          section-4-web-server/control-an-fpga/js/opcode.js on lines 114..123
          section-4-web-server/control-an-fpga/js/opcode.js on lines 135..144
          section-4-web-server/control-an-fpga/js/opcode.js on lines 145..154
          section-4-web-server/control-an-fpga/js/opcode.js on lines 166..175
          section-4-web-server/control-an-fpga/js/opcode.js on lines 176..185
          section-4-web-server/control-an-fpga/js/opcode.js on lines 197..206
          section-4-web-server/control-an-fpga/js/opcode.js on lines 207..216
          section-4-web-server/control-an-fpga/js/opcode.js on lines 228..237
          section-4-web-server/control-an-fpga/js/opcode.js on lines 238..247
          section-4-web-server/control-an-fpga/js/opcode.js on lines 259..268
          section-4-web-server/control-an-fpga/js/opcode.js on lines 269..278
          section-4-web-server/control-an-fpga/js/opcode.js on lines 303..312
          section-4-web-server/control-an-fpga/js/opcode.js on lines 324..333
          section-4-web-server/control-an-fpga/js/opcode.js on lines 334..343
          section-4-web-server/control-an-fpga/js/opcode.js on lines 355..364
          section-4-web-server/control-an-fpga/js/opcode.js on lines 365..374
          section-4-web-server/control-an-fpga/js/opcode.js on lines 386..395
          section-4-web-server/control-an-fpga/js/opcode.js on lines 417..426
          section-4-web-server/control-an-fpga/js/opcode.js on lines 427..436
          section-4-web-server/control-an-fpga/js/opcode.js on lines 448..457
          section-4-web-server/control-an-fpga/js/opcode.js on lines 458..467
          section-4-web-server/control-an-fpga/js/opcode.js on lines 479..488
          section-4-web-server/control-an-fpga/js/opcode.js on lines 489..498
          section-4-web-server/control-an-fpga/js/opcode.js on lines 510..519
          section-4-web-server/control-an-fpga/js/opcode.js on lines 520..529
          section-4-web-server/control-an-fpga/js/opcode.js on lines 541..550
          section-4-web-server/control-an-fpga/js/opcode.js on lines 551..560
          section-4-web-server/control-an-fpga/js/opcode.js on lines 572..581
          section-4-web-server/control-an-fpga/js/opcode.js on lines 582..591
          section-4-web-server/control-an-fpga/js/opcode.js on lines 603..612
          section-4-web-server/control-an-fpga/js/opcode.js on lines 613..622
          section-4-web-server/control-an-fpga/js/opcode.js on lines 634..643
          section-4-web-server/control-an-fpga/js/opcode.js on lines 644..653
          section-4-web-server/control-an-fpga/js/opcode.js on lines 665..674
          section-4-web-server/control-an-fpga/js/opcode.js on lines 675..684
          section-4-web-server/control-an-fpga/js/opcode.js on lines 696..705
          section-4-web-server/control-an-fpga/js/opcode.js on lines 706..715
          section-4-web-server/control-an-fpga/js/opcode.js on lines 727..736
          section-4-web-server/control-an-fpga/js/opcode.js on lines 737..746
          section-4-web-server/control-an-fpga/js/opcode.js on lines 758..767
          section-4-web-server/control-an-fpga/js/opcode.js on lines 768..777
          section-4-web-server/control-an-fpga/js/opcode.js on lines 802..811
          section-4-web-server/control-an-fpga/js/opcode.js on lines 823..832
          section-4-web-server/control-an-fpga/js/opcode.js on lines 833..842
          section-4-web-server/control-an-fpga/js/opcode.js on lines 854..863
          section-4-web-server/control-an-fpga/js/opcode.js on lines 864..873
          section-4-web-server/control-an-fpga/js/opcode.js on lines 885..894
          section-4-web-server/control-an-fpga/js/opcode.js on lines 895..904
          section-4-web-server/control-an-fpga/js/opcode.js on lines 916..925
          section-4-web-server/control-an-fpga/js/opcode.js on lines 926..935
          section-4-web-server/control-an-fpga/js/opcode.js on lines 947..956
          section-4-web-server/control-an-fpga/js/opcode.js on lines 957..966
          section-4-web-server/control-an-fpga/js/opcode.js on lines 978..987
          section-4-web-server/control-an-fpga/js/opcode.js on lines 988..997
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1009..1018
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1019..1028
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1040..1049
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1050..1059
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1071..1080
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1081..1090
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1102..1111
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1112..1121
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1133..1142
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1143..1152
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1164..1173
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1174..1183
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1195..1204
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1205..1214
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1226..1235
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1236..1245
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1257..1266
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1267..1276

          Duplicated Code

          Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

          Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

          When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

          Tuning

          This issue has a mass of 68.

          We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

          The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

          If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

          See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

          Refactorings

          Further Reading

          Similar blocks of code found in 77 locations. Consider refactoring.
          Open

          function data_in_a_zero_0_onmouseout() {
            switch(data_in_a_0_state) {
                case "low":
                    document.getElementById("data_in_a_zero_0").style.backgroundColor=lightgreen;
                    break;
          Severity: Major
          Found in section-4-web-server/control-an-fpga/js/opcode.js and 76 other locations - About 1 hr to fix
          section-4-web-server/control-an-fpga/js/opcode.js on lines 52..61
          section-4-web-server/control-an-fpga/js/opcode.js on lines 73..82
          section-4-web-server/control-an-fpga/js/opcode.js on lines 83..92
          section-4-web-server/control-an-fpga/js/opcode.js on lines 104..113
          section-4-web-server/control-an-fpga/js/opcode.js on lines 114..123
          section-4-web-server/control-an-fpga/js/opcode.js on lines 135..144
          section-4-web-server/control-an-fpga/js/opcode.js on lines 145..154
          section-4-web-server/control-an-fpga/js/opcode.js on lines 166..175
          section-4-web-server/control-an-fpga/js/opcode.js on lines 176..185
          section-4-web-server/control-an-fpga/js/opcode.js on lines 197..206
          section-4-web-server/control-an-fpga/js/opcode.js on lines 207..216
          section-4-web-server/control-an-fpga/js/opcode.js on lines 228..237
          section-4-web-server/control-an-fpga/js/opcode.js on lines 238..247
          section-4-web-server/control-an-fpga/js/opcode.js on lines 259..268
          section-4-web-server/control-an-fpga/js/opcode.js on lines 269..278
          section-4-web-server/control-an-fpga/js/opcode.js on lines 303..312
          section-4-web-server/control-an-fpga/js/opcode.js on lines 324..333
          section-4-web-server/control-an-fpga/js/opcode.js on lines 334..343
          section-4-web-server/control-an-fpga/js/opcode.js on lines 355..364
          section-4-web-server/control-an-fpga/js/opcode.js on lines 365..374
          section-4-web-server/control-an-fpga/js/opcode.js on lines 386..395
          section-4-web-server/control-an-fpga/js/opcode.js on lines 396..405
          section-4-web-server/control-an-fpga/js/opcode.js on lines 417..426
          section-4-web-server/control-an-fpga/js/opcode.js on lines 427..436
          section-4-web-server/control-an-fpga/js/opcode.js on lines 448..457
          section-4-web-server/control-an-fpga/js/opcode.js on lines 458..467
          section-4-web-server/control-an-fpga/js/opcode.js on lines 479..488
          section-4-web-server/control-an-fpga/js/opcode.js on lines 489..498
          section-4-web-server/control-an-fpga/js/opcode.js on lines 510..519
          section-4-web-server/control-an-fpga/js/opcode.js on lines 520..529
          section-4-web-server/control-an-fpga/js/opcode.js on lines 541..550
          section-4-web-server/control-an-fpga/js/opcode.js on lines 551..560
          section-4-web-server/control-an-fpga/js/opcode.js on lines 572..581
          section-4-web-server/control-an-fpga/js/opcode.js on lines 582..591
          section-4-web-server/control-an-fpga/js/opcode.js on lines 603..612
          section-4-web-server/control-an-fpga/js/opcode.js on lines 613..622
          section-4-web-server/control-an-fpga/js/opcode.js on lines 634..643
          section-4-web-server/control-an-fpga/js/opcode.js on lines 644..653
          section-4-web-server/control-an-fpga/js/opcode.js on lines 665..674
          section-4-web-server/control-an-fpga/js/opcode.js on lines 675..684
          section-4-web-server/control-an-fpga/js/opcode.js on lines 696..705
          section-4-web-server/control-an-fpga/js/opcode.js on lines 706..715
          section-4-web-server/control-an-fpga/js/opcode.js on lines 727..736
          section-4-web-server/control-an-fpga/js/opcode.js on lines 737..746
          section-4-web-server/control-an-fpga/js/opcode.js on lines 758..767
          section-4-web-server/control-an-fpga/js/opcode.js on lines 802..811
          section-4-web-server/control-an-fpga/js/opcode.js on lines 823..832
          section-4-web-server/control-an-fpga/js/opcode.js on lines 833..842
          section-4-web-server/control-an-fpga/js/opcode.js on lines 854..863
          section-4-web-server/control-an-fpga/js/opcode.js on lines 864..873
          section-4-web-server/control-an-fpga/js/opcode.js on lines 885..894
          section-4-web-server/control-an-fpga/js/opcode.js on lines 895..904
          section-4-web-server/control-an-fpga/js/opcode.js on lines 916..925
          section-4-web-server/control-an-fpga/js/opcode.js on lines 926..935
          section-4-web-server/control-an-fpga/js/opcode.js on lines 947..956
          section-4-web-server/control-an-fpga/js/opcode.js on lines 957..966
          section-4-web-server/control-an-fpga/js/opcode.js on lines 978..987
          section-4-web-server/control-an-fpga/js/opcode.js on lines 988..997
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1009..1018
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1019..1028
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1040..1049
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1050..1059
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1071..1080
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1081..1090
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1102..1111
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1112..1121
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1133..1142
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1143..1152
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1164..1173
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1174..1183
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1195..1204
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1205..1214
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1226..1235
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1236..1245
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1257..1266
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1267..1276

          Duplicated Code

          Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

          Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

          When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

          Tuning

          This issue has a mass of 68.

          We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

          The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

          If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

          See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

          Refactorings

          Further Reading

          Similar blocks of code found in 77 locations. Consider refactoring.
          Open

          function data_in_a_zero_7_onmouseover() {
              switch(data_in_a_7_state) {
                  case "low":
                      document.getElementById("data_in_a_zero_7").style.backgroundColor=lightgreen;
                      break;
          Severity: Major
          Found in section-4-web-server/control-an-fpga/js/opcode.js and 76 other locations - About 1 hr to fix
          section-4-web-server/control-an-fpga/js/opcode.js on lines 52..61
          section-4-web-server/control-an-fpga/js/opcode.js on lines 73..82
          section-4-web-server/control-an-fpga/js/opcode.js on lines 83..92
          section-4-web-server/control-an-fpga/js/opcode.js on lines 104..113
          section-4-web-server/control-an-fpga/js/opcode.js on lines 114..123
          section-4-web-server/control-an-fpga/js/opcode.js on lines 135..144
          section-4-web-server/control-an-fpga/js/opcode.js on lines 145..154
          section-4-web-server/control-an-fpga/js/opcode.js on lines 166..175
          section-4-web-server/control-an-fpga/js/opcode.js on lines 176..185
          section-4-web-server/control-an-fpga/js/opcode.js on lines 197..206
          section-4-web-server/control-an-fpga/js/opcode.js on lines 207..216
          section-4-web-server/control-an-fpga/js/opcode.js on lines 228..237
          section-4-web-server/control-an-fpga/js/opcode.js on lines 238..247
          section-4-web-server/control-an-fpga/js/opcode.js on lines 259..268
          section-4-web-server/control-an-fpga/js/opcode.js on lines 269..278
          section-4-web-server/control-an-fpga/js/opcode.js on lines 303..312
          section-4-web-server/control-an-fpga/js/opcode.js on lines 334..343
          section-4-web-server/control-an-fpga/js/opcode.js on lines 355..364
          section-4-web-server/control-an-fpga/js/opcode.js on lines 365..374
          section-4-web-server/control-an-fpga/js/opcode.js on lines 386..395
          section-4-web-server/control-an-fpga/js/opcode.js on lines 396..405
          section-4-web-server/control-an-fpga/js/opcode.js on lines 417..426
          section-4-web-server/control-an-fpga/js/opcode.js on lines 427..436
          section-4-web-server/control-an-fpga/js/opcode.js on lines 448..457
          section-4-web-server/control-an-fpga/js/opcode.js on lines 458..467
          section-4-web-server/control-an-fpga/js/opcode.js on lines 479..488
          section-4-web-server/control-an-fpga/js/opcode.js on lines 489..498
          section-4-web-server/control-an-fpga/js/opcode.js on lines 510..519
          section-4-web-server/control-an-fpga/js/opcode.js on lines 520..529
          section-4-web-server/control-an-fpga/js/opcode.js on lines 541..550
          section-4-web-server/control-an-fpga/js/opcode.js on lines 551..560
          section-4-web-server/control-an-fpga/js/opcode.js on lines 572..581
          section-4-web-server/control-an-fpga/js/opcode.js on lines 582..591
          section-4-web-server/control-an-fpga/js/opcode.js on lines 603..612
          section-4-web-server/control-an-fpga/js/opcode.js on lines 613..622
          section-4-web-server/control-an-fpga/js/opcode.js on lines 634..643
          section-4-web-server/control-an-fpga/js/opcode.js on lines 644..653
          section-4-web-server/control-an-fpga/js/opcode.js on lines 665..674
          section-4-web-server/control-an-fpga/js/opcode.js on lines 675..684
          section-4-web-server/control-an-fpga/js/opcode.js on lines 696..705
          section-4-web-server/control-an-fpga/js/opcode.js on lines 706..715
          section-4-web-server/control-an-fpga/js/opcode.js on lines 727..736
          section-4-web-server/control-an-fpga/js/opcode.js on lines 737..746
          section-4-web-server/control-an-fpga/js/opcode.js on lines 758..767
          section-4-web-server/control-an-fpga/js/opcode.js on lines 768..777
          section-4-web-server/control-an-fpga/js/opcode.js on lines 802..811
          section-4-web-server/control-an-fpga/js/opcode.js on lines 823..832
          section-4-web-server/control-an-fpga/js/opcode.js on lines 833..842
          section-4-web-server/control-an-fpga/js/opcode.js on lines 854..863
          section-4-web-server/control-an-fpga/js/opcode.js on lines 864..873
          section-4-web-server/control-an-fpga/js/opcode.js on lines 885..894
          section-4-web-server/control-an-fpga/js/opcode.js on lines 895..904
          section-4-web-server/control-an-fpga/js/opcode.js on lines 916..925
          section-4-web-server/control-an-fpga/js/opcode.js on lines 926..935
          section-4-web-server/control-an-fpga/js/opcode.js on lines 947..956
          section-4-web-server/control-an-fpga/js/opcode.js on lines 957..966
          section-4-web-server/control-an-fpga/js/opcode.js on lines 978..987
          section-4-web-server/control-an-fpga/js/opcode.js on lines 988..997
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1009..1018
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1019..1028
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1040..1049
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1050..1059
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1071..1080
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1081..1090
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1102..1111
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1112..1121
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1133..1142
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1143..1152
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1164..1173
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1174..1183
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1195..1204
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1205..1214
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1226..1235
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1236..1245
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1257..1266
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1267..1276

          Duplicated Code

          Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

          Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

          When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

          Tuning

          This issue has a mass of 68.

          We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

          The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

          If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

          See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

          Refactorings

          Further Reading

          Similar blocks of code found in 77 locations. Consider refactoring.
          Open

          function data_in_b_one_7_onmouseout() {
            switch(data_in_b_7_state) {
                case "low":
                    document.getElementById("data_in_b_one_7").style.backgroundColor=white;
                    break;
          Severity: Major
          Found in section-4-web-server/control-an-fpga/js/opcode.js and 76 other locations - About 1 hr to fix
          section-4-web-server/control-an-fpga/js/opcode.js on lines 52..61
          section-4-web-server/control-an-fpga/js/opcode.js on lines 73..82
          section-4-web-server/control-an-fpga/js/opcode.js on lines 83..92
          section-4-web-server/control-an-fpga/js/opcode.js on lines 104..113
          section-4-web-server/control-an-fpga/js/opcode.js on lines 114..123
          section-4-web-server/control-an-fpga/js/opcode.js on lines 135..144
          section-4-web-server/control-an-fpga/js/opcode.js on lines 145..154
          section-4-web-server/control-an-fpga/js/opcode.js on lines 166..175
          section-4-web-server/control-an-fpga/js/opcode.js on lines 176..185
          section-4-web-server/control-an-fpga/js/opcode.js on lines 197..206
          section-4-web-server/control-an-fpga/js/opcode.js on lines 207..216
          section-4-web-server/control-an-fpga/js/opcode.js on lines 228..237
          section-4-web-server/control-an-fpga/js/opcode.js on lines 238..247
          section-4-web-server/control-an-fpga/js/opcode.js on lines 259..268
          section-4-web-server/control-an-fpga/js/opcode.js on lines 269..278
          section-4-web-server/control-an-fpga/js/opcode.js on lines 303..312
          section-4-web-server/control-an-fpga/js/opcode.js on lines 324..333
          section-4-web-server/control-an-fpga/js/opcode.js on lines 334..343
          section-4-web-server/control-an-fpga/js/opcode.js on lines 355..364
          section-4-web-server/control-an-fpga/js/opcode.js on lines 365..374
          section-4-web-server/control-an-fpga/js/opcode.js on lines 386..395
          section-4-web-server/control-an-fpga/js/opcode.js on lines 396..405
          section-4-web-server/control-an-fpga/js/opcode.js on lines 417..426
          section-4-web-server/control-an-fpga/js/opcode.js on lines 427..436
          section-4-web-server/control-an-fpga/js/opcode.js on lines 448..457
          section-4-web-server/control-an-fpga/js/opcode.js on lines 458..467
          section-4-web-server/control-an-fpga/js/opcode.js on lines 479..488
          section-4-web-server/control-an-fpga/js/opcode.js on lines 489..498
          section-4-web-server/control-an-fpga/js/opcode.js on lines 510..519
          section-4-web-server/control-an-fpga/js/opcode.js on lines 520..529
          section-4-web-server/control-an-fpga/js/opcode.js on lines 541..550
          section-4-web-server/control-an-fpga/js/opcode.js on lines 551..560
          section-4-web-server/control-an-fpga/js/opcode.js on lines 572..581
          section-4-web-server/control-an-fpga/js/opcode.js on lines 582..591
          section-4-web-server/control-an-fpga/js/opcode.js on lines 603..612
          section-4-web-server/control-an-fpga/js/opcode.js on lines 613..622
          section-4-web-server/control-an-fpga/js/opcode.js on lines 634..643
          section-4-web-server/control-an-fpga/js/opcode.js on lines 644..653
          section-4-web-server/control-an-fpga/js/opcode.js on lines 665..674
          section-4-web-server/control-an-fpga/js/opcode.js on lines 675..684
          section-4-web-server/control-an-fpga/js/opcode.js on lines 696..705
          section-4-web-server/control-an-fpga/js/opcode.js on lines 706..715
          section-4-web-server/control-an-fpga/js/opcode.js on lines 727..736
          section-4-web-server/control-an-fpga/js/opcode.js on lines 737..746
          section-4-web-server/control-an-fpga/js/opcode.js on lines 758..767
          section-4-web-server/control-an-fpga/js/opcode.js on lines 768..777
          section-4-web-server/control-an-fpga/js/opcode.js on lines 823..832
          section-4-web-server/control-an-fpga/js/opcode.js on lines 833..842
          section-4-web-server/control-an-fpga/js/opcode.js on lines 854..863
          section-4-web-server/control-an-fpga/js/opcode.js on lines 864..873
          section-4-web-server/control-an-fpga/js/opcode.js on lines 885..894
          section-4-web-server/control-an-fpga/js/opcode.js on lines 895..904
          section-4-web-server/control-an-fpga/js/opcode.js on lines 916..925
          section-4-web-server/control-an-fpga/js/opcode.js on lines 926..935
          section-4-web-server/control-an-fpga/js/opcode.js on lines 947..956
          section-4-web-server/control-an-fpga/js/opcode.js on lines 957..966
          section-4-web-server/control-an-fpga/js/opcode.js on lines 978..987
          section-4-web-server/control-an-fpga/js/opcode.js on lines 988..997
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1009..1018
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1019..1028
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1040..1049
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1050..1059
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1071..1080
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1081..1090
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1102..1111
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1112..1121
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1133..1142
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1143..1152
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1164..1173
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1174..1183
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1195..1204
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1205..1214
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1226..1235
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1236..1245
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1257..1266
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1267..1276

          Duplicated Code

          Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

          Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

          When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

          Tuning

          This issue has a mass of 68.

          We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

          The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

          If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

          See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

          Refactorings

          Further Reading

          Similar blocks of code found in 77 locations. Consider refactoring.
          Open

          function data_in_b_one_6_onmouseout() {
            switch(data_in_b_6_state) {
                case "low":
                    document.getElementById("data_in_b_one_6").style.backgroundColor=white;
                    break;
          Severity: Major
          Found in section-4-web-server/control-an-fpga/js/opcode.js and 76 other locations - About 1 hr to fix
          section-4-web-server/control-an-fpga/js/opcode.js on lines 52..61
          section-4-web-server/control-an-fpga/js/opcode.js on lines 73..82
          section-4-web-server/control-an-fpga/js/opcode.js on lines 83..92
          section-4-web-server/control-an-fpga/js/opcode.js on lines 104..113
          section-4-web-server/control-an-fpga/js/opcode.js on lines 114..123
          section-4-web-server/control-an-fpga/js/opcode.js on lines 135..144
          section-4-web-server/control-an-fpga/js/opcode.js on lines 145..154
          section-4-web-server/control-an-fpga/js/opcode.js on lines 166..175
          section-4-web-server/control-an-fpga/js/opcode.js on lines 176..185
          section-4-web-server/control-an-fpga/js/opcode.js on lines 197..206
          section-4-web-server/control-an-fpga/js/opcode.js on lines 207..216
          section-4-web-server/control-an-fpga/js/opcode.js on lines 228..237
          section-4-web-server/control-an-fpga/js/opcode.js on lines 238..247
          section-4-web-server/control-an-fpga/js/opcode.js on lines 259..268
          section-4-web-server/control-an-fpga/js/opcode.js on lines 269..278
          section-4-web-server/control-an-fpga/js/opcode.js on lines 303..312
          section-4-web-server/control-an-fpga/js/opcode.js on lines 324..333
          section-4-web-server/control-an-fpga/js/opcode.js on lines 334..343
          section-4-web-server/control-an-fpga/js/opcode.js on lines 355..364
          section-4-web-server/control-an-fpga/js/opcode.js on lines 365..374
          section-4-web-server/control-an-fpga/js/opcode.js on lines 386..395
          section-4-web-server/control-an-fpga/js/opcode.js on lines 396..405
          section-4-web-server/control-an-fpga/js/opcode.js on lines 417..426
          section-4-web-server/control-an-fpga/js/opcode.js on lines 427..436
          section-4-web-server/control-an-fpga/js/opcode.js on lines 448..457
          section-4-web-server/control-an-fpga/js/opcode.js on lines 458..467
          section-4-web-server/control-an-fpga/js/opcode.js on lines 479..488
          section-4-web-server/control-an-fpga/js/opcode.js on lines 489..498
          section-4-web-server/control-an-fpga/js/opcode.js on lines 510..519
          section-4-web-server/control-an-fpga/js/opcode.js on lines 520..529
          section-4-web-server/control-an-fpga/js/opcode.js on lines 541..550
          section-4-web-server/control-an-fpga/js/opcode.js on lines 551..560
          section-4-web-server/control-an-fpga/js/opcode.js on lines 572..581
          section-4-web-server/control-an-fpga/js/opcode.js on lines 582..591
          section-4-web-server/control-an-fpga/js/opcode.js on lines 603..612
          section-4-web-server/control-an-fpga/js/opcode.js on lines 613..622
          section-4-web-server/control-an-fpga/js/opcode.js on lines 634..643
          section-4-web-server/control-an-fpga/js/opcode.js on lines 644..653
          section-4-web-server/control-an-fpga/js/opcode.js on lines 665..674
          section-4-web-server/control-an-fpga/js/opcode.js on lines 675..684
          section-4-web-server/control-an-fpga/js/opcode.js on lines 696..705
          section-4-web-server/control-an-fpga/js/opcode.js on lines 706..715
          section-4-web-server/control-an-fpga/js/opcode.js on lines 727..736
          section-4-web-server/control-an-fpga/js/opcode.js on lines 737..746
          section-4-web-server/control-an-fpga/js/opcode.js on lines 758..767
          section-4-web-server/control-an-fpga/js/opcode.js on lines 768..777
          section-4-web-server/control-an-fpga/js/opcode.js on lines 802..811
          section-4-web-server/control-an-fpga/js/opcode.js on lines 823..832
          section-4-web-server/control-an-fpga/js/opcode.js on lines 833..842
          section-4-web-server/control-an-fpga/js/opcode.js on lines 854..863
          section-4-web-server/control-an-fpga/js/opcode.js on lines 885..894
          section-4-web-server/control-an-fpga/js/opcode.js on lines 895..904
          section-4-web-server/control-an-fpga/js/opcode.js on lines 916..925
          section-4-web-server/control-an-fpga/js/opcode.js on lines 926..935
          section-4-web-server/control-an-fpga/js/opcode.js on lines 947..956
          section-4-web-server/control-an-fpga/js/opcode.js on lines 957..966
          section-4-web-server/control-an-fpga/js/opcode.js on lines 978..987
          section-4-web-server/control-an-fpga/js/opcode.js on lines 988..997
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1009..1018
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1019..1028
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1040..1049
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1050..1059
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1071..1080
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1081..1090
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1102..1111
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1112..1121
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1133..1142
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1143..1152
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1164..1173
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1174..1183
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1195..1204
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1205..1214
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1226..1235
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1236..1245
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1257..1266
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1267..1276

          Duplicated Code

          Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

          Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

          When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

          Tuning

          This issue has a mass of 68.

          We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

          The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

          If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

          See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

          Refactorings

          Further Reading

          Similar blocks of code found in 77 locations. Consider refactoring.
          Open

          function data_in_b_one_4_onmouseover() {
          switch(data_in_b_4_state) {
              case "low":
                  document.getElementById("data_in_b_one_4").style.backgroundColor=grey;
                  break;
          Severity: Major
          Found in section-4-web-server/control-an-fpga/js/opcode.js and 76 other locations - About 1 hr to fix
          section-4-web-server/control-an-fpga/js/opcode.js on lines 52..61
          section-4-web-server/control-an-fpga/js/opcode.js on lines 73..82
          section-4-web-server/control-an-fpga/js/opcode.js on lines 83..92
          section-4-web-server/control-an-fpga/js/opcode.js on lines 104..113
          section-4-web-server/control-an-fpga/js/opcode.js on lines 114..123
          section-4-web-server/control-an-fpga/js/opcode.js on lines 135..144
          section-4-web-server/control-an-fpga/js/opcode.js on lines 145..154
          section-4-web-server/control-an-fpga/js/opcode.js on lines 166..175
          section-4-web-server/control-an-fpga/js/opcode.js on lines 176..185
          section-4-web-server/control-an-fpga/js/opcode.js on lines 197..206
          section-4-web-server/control-an-fpga/js/opcode.js on lines 207..216
          section-4-web-server/control-an-fpga/js/opcode.js on lines 228..237
          section-4-web-server/control-an-fpga/js/opcode.js on lines 238..247
          section-4-web-server/control-an-fpga/js/opcode.js on lines 259..268
          section-4-web-server/control-an-fpga/js/opcode.js on lines 269..278
          section-4-web-server/control-an-fpga/js/opcode.js on lines 303..312
          section-4-web-server/control-an-fpga/js/opcode.js on lines 324..333
          section-4-web-server/control-an-fpga/js/opcode.js on lines 334..343
          section-4-web-server/control-an-fpga/js/opcode.js on lines 355..364
          section-4-web-server/control-an-fpga/js/opcode.js on lines 365..374
          section-4-web-server/control-an-fpga/js/opcode.js on lines 386..395
          section-4-web-server/control-an-fpga/js/opcode.js on lines 396..405
          section-4-web-server/control-an-fpga/js/opcode.js on lines 417..426
          section-4-web-server/control-an-fpga/js/opcode.js on lines 427..436
          section-4-web-server/control-an-fpga/js/opcode.js on lines 448..457
          section-4-web-server/control-an-fpga/js/opcode.js on lines 458..467
          section-4-web-server/control-an-fpga/js/opcode.js on lines 479..488
          section-4-web-server/control-an-fpga/js/opcode.js on lines 489..498
          section-4-web-server/control-an-fpga/js/opcode.js on lines 510..519
          section-4-web-server/control-an-fpga/js/opcode.js on lines 520..529
          section-4-web-server/control-an-fpga/js/opcode.js on lines 541..550
          section-4-web-server/control-an-fpga/js/opcode.js on lines 551..560
          section-4-web-server/control-an-fpga/js/opcode.js on lines 572..581
          section-4-web-server/control-an-fpga/js/opcode.js on lines 582..591
          section-4-web-server/control-an-fpga/js/opcode.js on lines 603..612
          section-4-web-server/control-an-fpga/js/opcode.js on lines 613..622
          section-4-web-server/control-an-fpga/js/opcode.js on lines 634..643
          section-4-web-server/control-an-fpga/js/opcode.js on lines 644..653
          section-4-web-server/control-an-fpga/js/opcode.js on lines 665..674
          section-4-web-server/control-an-fpga/js/opcode.js on lines 675..684
          section-4-web-server/control-an-fpga/js/opcode.js on lines 696..705
          section-4-web-server/control-an-fpga/js/opcode.js on lines 706..715
          section-4-web-server/control-an-fpga/js/opcode.js on lines 727..736
          section-4-web-server/control-an-fpga/js/opcode.js on lines 737..746
          section-4-web-server/control-an-fpga/js/opcode.js on lines 758..767
          section-4-web-server/control-an-fpga/js/opcode.js on lines 768..777
          section-4-web-server/control-an-fpga/js/opcode.js on lines 802..811
          section-4-web-server/control-an-fpga/js/opcode.js on lines 823..832
          section-4-web-server/control-an-fpga/js/opcode.js on lines 833..842
          section-4-web-server/control-an-fpga/js/opcode.js on lines 854..863
          section-4-web-server/control-an-fpga/js/opcode.js on lines 864..873
          section-4-web-server/control-an-fpga/js/opcode.js on lines 885..894
          section-4-web-server/control-an-fpga/js/opcode.js on lines 895..904
          section-4-web-server/control-an-fpga/js/opcode.js on lines 916..925
          section-4-web-server/control-an-fpga/js/opcode.js on lines 926..935
          section-4-web-server/control-an-fpga/js/opcode.js on lines 947..956
          section-4-web-server/control-an-fpga/js/opcode.js on lines 957..966
          section-4-web-server/control-an-fpga/js/opcode.js on lines 988..997
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1009..1018
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1019..1028
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1040..1049
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1050..1059
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1071..1080
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1081..1090
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1102..1111
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1112..1121
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1133..1142
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1143..1152
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1164..1173
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1174..1183
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1195..1204
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1205..1214
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1226..1235
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1236..1245
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1257..1266
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1267..1276

          Duplicated Code

          Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

          Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

          When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

          Tuning

          This issue has a mass of 68.

          We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

          The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

          If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

          See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

          Refactorings

          Further Reading

          Similar blocks of code found in 77 locations. Consider refactoring.
          Open

          function data_in_b_zero_4_onmouseout() {
          switch(data_in_b_4_state) {
              case "low":
                  document.getElementById("data_in_b_zero_4").style.backgroundColor=lightgreen;
                  break;
          Severity: Major
          Found in section-4-web-server/control-an-fpga/js/opcode.js and 76 other locations - About 1 hr to fix
          section-4-web-server/control-an-fpga/js/opcode.js on lines 52..61
          section-4-web-server/control-an-fpga/js/opcode.js on lines 73..82
          section-4-web-server/control-an-fpga/js/opcode.js on lines 83..92
          section-4-web-server/control-an-fpga/js/opcode.js on lines 104..113
          section-4-web-server/control-an-fpga/js/opcode.js on lines 114..123
          section-4-web-server/control-an-fpga/js/opcode.js on lines 135..144
          section-4-web-server/control-an-fpga/js/opcode.js on lines 145..154
          section-4-web-server/control-an-fpga/js/opcode.js on lines 166..175
          section-4-web-server/control-an-fpga/js/opcode.js on lines 176..185
          section-4-web-server/control-an-fpga/js/opcode.js on lines 197..206
          section-4-web-server/control-an-fpga/js/opcode.js on lines 207..216
          section-4-web-server/control-an-fpga/js/opcode.js on lines 228..237
          section-4-web-server/control-an-fpga/js/opcode.js on lines 238..247
          section-4-web-server/control-an-fpga/js/opcode.js on lines 259..268
          section-4-web-server/control-an-fpga/js/opcode.js on lines 269..278
          section-4-web-server/control-an-fpga/js/opcode.js on lines 303..312
          section-4-web-server/control-an-fpga/js/opcode.js on lines 324..333
          section-4-web-server/control-an-fpga/js/opcode.js on lines 334..343
          section-4-web-server/control-an-fpga/js/opcode.js on lines 355..364
          section-4-web-server/control-an-fpga/js/opcode.js on lines 365..374
          section-4-web-server/control-an-fpga/js/opcode.js on lines 386..395
          section-4-web-server/control-an-fpga/js/opcode.js on lines 396..405
          section-4-web-server/control-an-fpga/js/opcode.js on lines 417..426
          section-4-web-server/control-an-fpga/js/opcode.js on lines 427..436
          section-4-web-server/control-an-fpga/js/opcode.js on lines 448..457
          section-4-web-server/control-an-fpga/js/opcode.js on lines 458..467
          section-4-web-server/control-an-fpga/js/opcode.js on lines 479..488
          section-4-web-server/control-an-fpga/js/opcode.js on lines 489..498
          section-4-web-server/control-an-fpga/js/opcode.js on lines 510..519
          section-4-web-server/control-an-fpga/js/opcode.js on lines 520..529
          section-4-web-server/control-an-fpga/js/opcode.js on lines 541..550
          section-4-web-server/control-an-fpga/js/opcode.js on lines 551..560
          section-4-web-server/control-an-fpga/js/opcode.js on lines 572..581
          section-4-web-server/control-an-fpga/js/opcode.js on lines 582..591
          section-4-web-server/control-an-fpga/js/opcode.js on lines 603..612
          section-4-web-server/control-an-fpga/js/opcode.js on lines 613..622
          section-4-web-server/control-an-fpga/js/opcode.js on lines 634..643
          section-4-web-server/control-an-fpga/js/opcode.js on lines 644..653
          section-4-web-server/control-an-fpga/js/opcode.js on lines 665..674
          section-4-web-server/control-an-fpga/js/opcode.js on lines 675..684
          section-4-web-server/control-an-fpga/js/opcode.js on lines 696..705
          section-4-web-server/control-an-fpga/js/opcode.js on lines 706..715
          section-4-web-server/control-an-fpga/js/opcode.js on lines 727..736
          section-4-web-server/control-an-fpga/js/opcode.js on lines 737..746
          section-4-web-server/control-an-fpga/js/opcode.js on lines 758..767
          section-4-web-server/control-an-fpga/js/opcode.js on lines 768..777
          section-4-web-server/control-an-fpga/js/opcode.js on lines 802..811
          section-4-web-server/control-an-fpga/js/opcode.js on lines 823..832
          section-4-web-server/control-an-fpga/js/opcode.js on lines 833..842
          section-4-web-server/control-an-fpga/js/opcode.js on lines 854..863
          section-4-web-server/control-an-fpga/js/opcode.js on lines 864..873
          section-4-web-server/control-an-fpga/js/opcode.js on lines 885..894
          section-4-web-server/control-an-fpga/js/opcode.js on lines 895..904
          section-4-web-server/control-an-fpga/js/opcode.js on lines 916..925
          section-4-web-server/control-an-fpga/js/opcode.js on lines 926..935
          section-4-web-server/control-an-fpga/js/opcode.js on lines 947..956
          section-4-web-server/control-an-fpga/js/opcode.js on lines 957..966
          section-4-web-server/control-an-fpga/js/opcode.js on lines 978..987
          section-4-web-server/control-an-fpga/js/opcode.js on lines 988..997
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1009..1018
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1040..1049
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1050..1059
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1071..1080
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1081..1090
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1102..1111
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1112..1121
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1133..1142
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1143..1152
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1164..1173
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1174..1183
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1195..1204
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1205..1214
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1226..1235
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1236..1245
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1257..1266
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1267..1276

          Duplicated Code

          Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

          Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

          When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

          Tuning

          This issue has a mass of 68.

          We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

          The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

          If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

          See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

          Refactorings

          Further Reading

          Similar blocks of code found in 77 locations. Consider refactoring.
          Open

          function data_in_b_zero_3_onmouseover() {
          switch(data_in_b_3_state) {
              case "low":
                  document.getElementById("data_in_b_zero_3").style.backgroundColor=lightgreen;
                  break;
          Severity: Major
          Found in section-4-web-server/control-an-fpga/js/opcode.js and 76 other locations - About 1 hr to fix
          section-4-web-server/control-an-fpga/js/opcode.js on lines 52..61
          section-4-web-server/control-an-fpga/js/opcode.js on lines 73..82
          section-4-web-server/control-an-fpga/js/opcode.js on lines 83..92
          section-4-web-server/control-an-fpga/js/opcode.js on lines 104..113
          section-4-web-server/control-an-fpga/js/opcode.js on lines 114..123
          section-4-web-server/control-an-fpga/js/opcode.js on lines 135..144
          section-4-web-server/control-an-fpga/js/opcode.js on lines 145..154
          section-4-web-server/control-an-fpga/js/opcode.js on lines 166..175
          section-4-web-server/control-an-fpga/js/opcode.js on lines 176..185
          section-4-web-server/control-an-fpga/js/opcode.js on lines 197..206
          section-4-web-server/control-an-fpga/js/opcode.js on lines 207..216
          section-4-web-server/control-an-fpga/js/opcode.js on lines 228..237
          section-4-web-server/control-an-fpga/js/opcode.js on lines 238..247
          section-4-web-server/control-an-fpga/js/opcode.js on lines 259..268
          section-4-web-server/control-an-fpga/js/opcode.js on lines 269..278
          section-4-web-server/control-an-fpga/js/opcode.js on lines 303..312
          section-4-web-server/control-an-fpga/js/opcode.js on lines 324..333
          section-4-web-server/control-an-fpga/js/opcode.js on lines 334..343
          section-4-web-server/control-an-fpga/js/opcode.js on lines 355..364
          section-4-web-server/control-an-fpga/js/opcode.js on lines 365..374
          section-4-web-server/control-an-fpga/js/opcode.js on lines 386..395
          section-4-web-server/control-an-fpga/js/opcode.js on lines 396..405
          section-4-web-server/control-an-fpga/js/opcode.js on lines 417..426
          section-4-web-server/control-an-fpga/js/opcode.js on lines 427..436
          section-4-web-server/control-an-fpga/js/opcode.js on lines 448..457
          section-4-web-server/control-an-fpga/js/opcode.js on lines 458..467
          section-4-web-server/control-an-fpga/js/opcode.js on lines 479..488
          section-4-web-server/control-an-fpga/js/opcode.js on lines 489..498
          section-4-web-server/control-an-fpga/js/opcode.js on lines 510..519
          section-4-web-server/control-an-fpga/js/opcode.js on lines 520..529
          section-4-web-server/control-an-fpga/js/opcode.js on lines 541..550
          section-4-web-server/control-an-fpga/js/opcode.js on lines 551..560
          section-4-web-server/control-an-fpga/js/opcode.js on lines 572..581
          section-4-web-server/control-an-fpga/js/opcode.js on lines 582..591
          section-4-web-server/control-an-fpga/js/opcode.js on lines 603..612
          section-4-web-server/control-an-fpga/js/opcode.js on lines 613..622
          section-4-web-server/control-an-fpga/js/opcode.js on lines 634..643
          section-4-web-server/control-an-fpga/js/opcode.js on lines 644..653
          section-4-web-server/control-an-fpga/js/opcode.js on lines 665..674
          section-4-web-server/control-an-fpga/js/opcode.js on lines 675..684
          section-4-web-server/control-an-fpga/js/opcode.js on lines 696..705
          section-4-web-server/control-an-fpga/js/opcode.js on lines 706..715
          section-4-web-server/control-an-fpga/js/opcode.js on lines 727..736
          section-4-web-server/control-an-fpga/js/opcode.js on lines 737..746
          section-4-web-server/control-an-fpga/js/opcode.js on lines 758..767
          section-4-web-server/control-an-fpga/js/opcode.js on lines 768..777
          section-4-web-server/control-an-fpga/js/opcode.js on lines 802..811
          section-4-web-server/control-an-fpga/js/opcode.js on lines 823..832
          section-4-web-server/control-an-fpga/js/opcode.js on lines 833..842
          section-4-web-server/control-an-fpga/js/opcode.js on lines 854..863
          section-4-web-server/control-an-fpga/js/opcode.js on lines 864..873
          section-4-web-server/control-an-fpga/js/opcode.js on lines 885..894
          section-4-web-server/control-an-fpga/js/opcode.js on lines 895..904
          section-4-web-server/control-an-fpga/js/opcode.js on lines 916..925
          section-4-web-server/control-an-fpga/js/opcode.js on lines 926..935
          section-4-web-server/control-an-fpga/js/opcode.js on lines 947..956
          section-4-web-server/control-an-fpga/js/opcode.js on lines 957..966
          section-4-web-server/control-an-fpga/js/opcode.js on lines 978..987
          section-4-web-server/control-an-fpga/js/opcode.js on lines 988..997
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1009..1018
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1019..1028
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1040..1049
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1050..1059
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1081..1090
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1102..1111
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1112..1121
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1133..1142
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1143..1152
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1164..1173
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1174..1183
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1195..1204
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1205..1214
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1226..1235
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1236..1245
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1257..1266
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1267..1276

          Duplicated Code

          Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

          Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

          When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

          Tuning

          This issue has a mass of 68.

          We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

          The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

          If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

          See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

          Refactorings

          Further Reading

          Similar blocks of code found in 77 locations. Consider refactoring.
          Open

          function data_in_a_one_7_onmouseout() {
              switch(data_in_a_7_state) {
                  case "low":
                      document.getElementById("data_in_a_one_7").style.backgroundColor=white;
                      break;
          Severity: Major
          Found in section-4-web-server/control-an-fpga/js/opcode.js and 76 other locations - About 1 hr to fix
          section-4-web-server/control-an-fpga/js/opcode.js on lines 52..61
          section-4-web-server/control-an-fpga/js/opcode.js on lines 73..82
          section-4-web-server/control-an-fpga/js/opcode.js on lines 83..92
          section-4-web-server/control-an-fpga/js/opcode.js on lines 104..113
          section-4-web-server/control-an-fpga/js/opcode.js on lines 114..123
          section-4-web-server/control-an-fpga/js/opcode.js on lines 135..144
          section-4-web-server/control-an-fpga/js/opcode.js on lines 145..154
          section-4-web-server/control-an-fpga/js/opcode.js on lines 166..175
          section-4-web-server/control-an-fpga/js/opcode.js on lines 176..185
          section-4-web-server/control-an-fpga/js/opcode.js on lines 197..206
          section-4-web-server/control-an-fpga/js/opcode.js on lines 207..216
          section-4-web-server/control-an-fpga/js/opcode.js on lines 228..237
          section-4-web-server/control-an-fpga/js/opcode.js on lines 238..247
          section-4-web-server/control-an-fpga/js/opcode.js on lines 259..268
          section-4-web-server/control-an-fpga/js/opcode.js on lines 269..278
          section-4-web-server/control-an-fpga/js/opcode.js on lines 324..333
          section-4-web-server/control-an-fpga/js/opcode.js on lines 334..343
          section-4-web-server/control-an-fpga/js/opcode.js on lines 355..364
          section-4-web-server/control-an-fpga/js/opcode.js on lines 365..374
          section-4-web-server/control-an-fpga/js/opcode.js on lines 386..395
          section-4-web-server/control-an-fpga/js/opcode.js on lines 396..405
          section-4-web-server/control-an-fpga/js/opcode.js on lines 417..426
          section-4-web-server/control-an-fpga/js/opcode.js on lines 427..436
          section-4-web-server/control-an-fpga/js/opcode.js on lines 448..457
          section-4-web-server/control-an-fpga/js/opcode.js on lines 458..467
          section-4-web-server/control-an-fpga/js/opcode.js on lines 479..488
          section-4-web-server/control-an-fpga/js/opcode.js on lines 489..498
          section-4-web-server/control-an-fpga/js/opcode.js on lines 510..519
          section-4-web-server/control-an-fpga/js/opcode.js on lines 520..529
          section-4-web-server/control-an-fpga/js/opcode.js on lines 541..550
          section-4-web-server/control-an-fpga/js/opcode.js on lines 551..560
          section-4-web-server/control-an-fpga/js/opcode.js on lines 572..581
          section-4-web-server/control-an-fpga/js/opcode.js on lines 582..591
          section-4-web-server/control-an-fpga/js/opcode.js on lines 603..612
          section-4-web-server/control-an-fpga/js/opcode.js on lines 613..622
          section-4-web-server/control-an-fpga/js/opcode.js on lines 634..643
          section-4-web-server/control-an-fpga/js/opcode.js on lines 644..653
          section-4-web-server/control-an-fpga/js/opcode.js on lines 665..674
          section-4-web-server/control-an-fpga/js/opcode.js on lines 675..684
          section-4-web-server/control-an-fpga/js/opcode.js on lines 696..705
          section-4-web-server/control-an-fpga/js/opcode.js on lines 706..715
          section-4-web-server/control-an-fpga/js/opcode.js on lines 727..736
          section-4-web-server/control-an-fpga/js/opcode.js on lines 737..746
          section-4-web-server/control-an-fpga/js/opcode.js on lines 758..767
          section-4-web-server/control-an-fpga/js/opcode.js on lines 768..777
          section-4-web-server/control-an-fpga/js/opcode.js on lines 802..811
          section-4-web-server/control-an-fpga/js/opcode.js on lines 823..832
          section-4-web-server/control-an-fpga/js/opcode.js on lines 833..842
          section-4-web-server/control-an-fpga/js/opcode.js on lines 854..863
          section-4-web-server/control-an-fpga/js/opcode.js on lines 864..873
          section-4-web-server/control-an-fpga/js/opcode.js on lines 885..894
          section-4-web-server/control-an-fpga/js/opcode.js on lines 895..904
          section-4-web-server/control-an-fpga/js/opcode.js on lines 916..925
          section-4-web-server/control-an-fpga/js/opcode.js on lines 926..935
          section-4-web-server/control-an-fpga/js/opcode.js on lines 947..956
          section-4-web-server/control-an-fpga/js/opcode.js on lines 957..966
          section-4-web-server/control-an-fpga/js/opcode.js on lines 978..987
          section-4-web-server/control-an-fpga/js/opcode.js on lines 988..997
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1009..1018
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1019..1028
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1040..1049
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1050..1059
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1071..1080
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1081..1090
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1102..1111
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1112..1121
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1133..1142
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1143..1152
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1164..1173
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1174..1183
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1195..1204
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1205..1214
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1226..1235
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1236..1245
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1257..1266
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1267..1276

          Duplicated Code

          Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

          Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

          When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

          Tuning

          This issue has a mass of 68.

          We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

          The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

          If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

          See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

          Refactorings

          Further Reading

          Similar blocks of code found in 77 locations. Consider refactoring.
          Open

          function data_in_a_one_2_onmouseout() {
            switch(data_in_a_2_state) {
                case "low":
                    document.getElementById("data_in_a_one_2").style.backgroundColor=white;
                    break;
          Severity: Major
          Found in section-4-web-server/control-an-fpga/js/opcode.js and 76 other locations - About 1 hr to fix
          section-4-web-server/control-an-fpga/js/opcode.js on lines 52..61
          section-4-web-server/control-an-fpga/js/opcode.js on lines 73..82
          section-4-web-server/control-an-fpga/js/opcode.js on lines 83..92
          section-4-web-server/control-an-fpga/js/opcode.js on lines 104..113
          section-4-web-server/control-an-fpga/js/opcode.js on lines 114..123
          section-4-web-server/control-an-fpga/js/opcode.js on lines 135..144
          section-4-web-server/control-an-fpga/js/opcode.js on lines 145..154
          section-4-web-server/control-an-fpga/js/opcode.js on lines 166..175
          section-4-web-server/control-an-fpga/js/opcode.js on lines 176..185
          section-4-web-server/control-an-fpga/js/opcode.js on lines 197..206
          section-4-web-server/control-an-fpga/js/opcode.js on lines 207..216
          section-4-web-server/control-an-fpga/js/opcode.js on lines 228..237
          section-4-web-server/control-an-fpga/js/opcode.js on lines 238..247
          section-4-web-server/control-an-fpga/js/opcode.js on lines 259..268
          section-4-web-server/control-an-fpga/js/opcode.js on lines 269..278
          section-4-web-server/control-an-fpga/js/opcode.js on lines 303..312
          section-4-web-server/control-an-fpga/js/opcode.js on lines 324..333
          section-4-web-server/control-an-fpga/js/opcode.js on lines 334..343
          section-4-web-server/control-an-fpga/js/opcode.js on lines 355..364
          section-4-web-server/control-an-fpga/js/opcode.js on lines 365..374
          section-4-web-server/control-an-fpga/js/opcode.js on lines 386..395
          section-4-web-server/control-an-fpga/js/opcode.js on lines 396..405
          section-4-web-server/control-an-fpga/js/opcode.js on lines 417..426
          section-4-web-server/control-an-fpga/js/opcode.js on lines 427..436
          section-4-web-server/control-an-fpga/js/opcode.js on lines 448..457
          section-4-web-server/control-an-fpga/js/opcode.js on lines 458..467
          section-4-web-server/control-an-fpga/js/opcode.js on lines 479..488
          section-4-web-server/control-an-fpga/js/opcode.js on lines 489..498
          section-4-web-server/control-an-fpga/js/opcode.js on lines 510..519
          section-4-web-server/control-an-fpga/js/opcode.js on lines 520..529
          section-4-web-server/control-an-fpga/js/opcode.js on lines 541..550
          section-4-web-server/control-an-fpga/js/opcode.js on lines 551..560
          section-4-web-server/control-an-fpga/js/opcode.js on lines 572..581
          section-4-web-server/control-an-fpga/js/opcode.js on lines 582..591
          section-4-web-server/control-an-fpga/js/opcode.js on lines 603..612
          section-4-web-server/control-an-fpga/js/opcode.js on lines 634..643
          section-4-web-server/control-an-fpga/js/opcode.js on lines 644..653
          section-4-web-server/control-an-fpga/js/opcode.js on lines 665..674
          section-4-web-server/control-an-fpga/js/opcode.js on lines 675..684
          section-4-web-server/control-an-fpga/js/opcode.js on lines 696..705
          section-4-web-server/control-an-fpga/js/opcode.js on lines 706..715
          section-4-web-server/control-an-fpga/js/opcode.js on lines 727..736
          section-4-web-server/control-an-fpga/js/opcode.js on lines 737..746
          section-4-web-server/control-an-fpga/js/opcode.js on lines 758..767
          section-4-web-server/control-an-fpga/js/opcode.js on lines 768..777
          section-4-web-server/control-an-fpga/js/opcode.js on lines 802..811
          section-4-web-server/control-an-fpga/js/opcode.js on lines 823..832
          section-4-web-server/control-an-fpga/js/opcode.js on lines 833..842
          section-4-web-server/control-an-fpga/js/opcode.js on lines 854..863
          section-4-web-server/control-an-fpga/js/opcode.js on lines 864..873
          section-4-web-server/control-an-fpga/js/opcode.js on lines 885..894
          section-4-web-server/control-an-fpga/js/opcode.js on lines 895..904
          section-4-web-server/control-an-fpga/js/opcode.js on lines 916..925
          section-4-web-server/control-an-fpga/js/opcode.js on lines 926..935
          section-4-web-server/control-an-fpga/js/opcode.js on lines 947..956
          section-4-web-server/control-an-fpga/js/opcode.js on lines 957..966
          section-4-web-server/control-an-fpga/js/opcode.js on lines 978..987
          section-4-web-server/control-an-fpga/js/opcode.js on lines 988..997
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1009..1018
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1019..1028
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1040..1049
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1050..1059
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1071..1080
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1081..1090
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1102..1111
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1112..1121
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1133..1142
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1143..1152
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1164..1173
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1174..1183
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1195..1204
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1205..1214
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1226..1235
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1236..1245
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1257..1266
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1267..1276

          Duplicated Code

          Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

          Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

          When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

          Tuning

          This issue has a mass of 68.

          We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

          The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

          If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

          See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

          Refactorings

          Further Reading

          Similar blocks of code found in 77 locations. Consider refactoring.
          Open

          function data_in_a_zero_0_onmouseover() {
            switch(data_in_a_0_state) {
                case "low":
                    document.getElementById("data_in_a_zero_0").style.backgroundColor=lightgreen;
                    break;
          Severity: Major
          Found in section-4-web-server/control-an-fpga/js/opcode.js and 76 other locations - About 1 hr to fix
          section-4-web-server/control-an-fpga/js/opcode.js on lines 52..61
          section-4-web-server/control-an-fpga/js/opcode.js on lines 73..82
          section-4-web-server/control-an-fpga/js/opcode.js on lines 83..92
          section-4-web-server/control-an-fpga/js/opcode.js on lines 104..113
          section-4-web-server/control-an-fpga/js/opcode.js on lines 114..123
          section-4-web-server/control-an-fpga/js/opcode.js on lines 135..144
          section-4-web-server/control-an-fpga/js/opcode.js on lines 145..154
          section-4-web-server/control-an-fpga/js/opcode.js on lines 166..175
          section-4-web-server/control-an-fpga/js/opcode.js on lines 176..185
          section-4-web-server/control-an-fpga/js/opcode.js on lines 197..206
          section-4-web-server/control-an-fpga/js/opcode.js on lines 207..216
          section-4-web-server/control-an-fpga/js/opcode.js on lines 228..237
          section-4-web-server/control-an-fpga/js/opcode.js on lines 238..247
          section-4-web-server/control-an-fpga/js/opcode.js on lines 259..268
          section-4-web-server/control-an-fpga/js/opcode.js on lines 269..278
          section-4-web-server/control-an-fpga/js/opcode.js on lines 303..312
          section-4-web-server/control-an-fpga/js/opcode.js on lines 324..333
          section-4-web-server/control-an-fpga/js/opcode.js on lines 334..343
          section-4-web-server/control-an-fpga/js/opcode.js on lines 355..364
          section-4-web-server/control-an-fpga/js/opcode.js on lines 365..374
          section-4-web-server/control-an-fpga/js/opcode.js on lines 386..395
          section-4-web-server/control-an-fpga/js/opcode.js on lines 396..405
          section-4-web-server/control-an-fpga/js/opcode.js on lines 417..426
          section-4-web-server/control-an-fpga/js/opcode.js on lines 427..436
          section-4-web-server/control-an-fpga/js/opcode.js on lines 448..457
          section-4-web-server/control-an-fpga/js/opcode.js on lines 458..467
          section-4-web-server/control-an-fpga/js/opcode.js on lines 479..488
          section-4-web-server/control-an-fpga/js/opcode.js on lines 489..498
          section-4-web-server/control-an-fpga/js/opcode.js on lines 510..519
          section-4-web-server/control-an-fpga/js/opcode.js on lines 520..529
          section-4-web-server/control-an-fpga/js/opcode.js on lines 541..550
          section-4-web-server/control-an-fpga/js/opcode.js on lines 551..560
          section-4-web-server/control-an-fpga/js/opcode.js on lines 572..581
          section-4-web-server/control-an-fpga/js/opcode.js on lines 582..591
          section-4-web-server/control-an-fpga/js/opcode.js on lines 603..612
          section-4-web-server/control-an-fpga/js/opcode.js on lines 613..622
          section-4-web-server/control-an-fpga/js/opcode.js on lines 634..643
          section-4-web-server/control-an-fpga/js/opcode.js on lines 644..653
          section-4-web-server/control-an-fpga/js/opcode.js on lines 665..674
          section-4-web-server/control-an-fpga/js/opcode.js on lines 675..684
          section-4-web-server/control-an-fpga/js/opcode.js on lines 696..705
          section-4-web-server/control-an-fpga/js/opcode.js on lines 706..715
          section-4-web-server/control-an-fpga/js/opcode.js on lines 727..736
          section-4-web-server/control-an-fpga/js/opcode.js on lines 737..746
          section-4-web-server/control-an-fpga/js/opcode.js on lines 768..777
          section-4-web-server/control-an-fpga/js/opcode.js on lines 802..811
          section-4-web-server/control-an-fpga/js/opcode.js on lines 823..832
          section-4-web-server/control-an-fpga/js/opcode.js on lines 833..842
          section-4-web-server/control-an-fpga/js/opcode.js on lines 854..863
          section-4-web-server/control-an-fpga/js/opcode.js on lines 864..873
          section-4-web-server/control-an-fpga/js/opcode.js on lines 885..894
          section-4-web-server/control-an-fpga/js/opcode.js on lines 895..904
          section-4-web-server/control-an-fpga/js/opcode.js on lines 916..925
          section-4-web-server/control-an-fpga/js/opcode.js on lines 926..935
          section-4-web-server/control-an-fpga/js/opcode.js on lines 947..956
          section-4-web-server/control-an-fpga/js/opcode.js on lines 957..966
          section-4-web-server/control-an-fpga/js/opcode.js on lines 978..987
          section-4-web-server/control-an-fpga/js/opcode.js on lines 988..997
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1009..1018
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1019..1028
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1040..1049
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1050..1059
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1071..1080
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1081..1090
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1102..1111
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1112..1121
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1133..1142
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1143..1152
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1164..1173
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1174..1183
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1195..1204
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1205..1214
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1226..1235
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1236..1245
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1257..1266
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1267..1276

          Duplicated Code

          Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

          Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

          When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

          Tuning

          This issue has a mass of 68.

          We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

          The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

          If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

          See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

          Refactorings

          Further Reading

          Similar blocks of code found in 77 locations. Consider refactoring.
          Open

          function data_in_b_zero_7_onmouseout() {
            switch(data_in_b_7_state) {
                case "low":
                    document.getElementById("data_in_b_zero_7").style.backgroundColor=lightgreen;
                    break;
          Severity: Major
          Found in section-4-web-server/control-an-fpga/js/opcode.js and 76 other locations - About 1 hr to fix
          section-4-web-server/control-an-fpga/js/opcode.js on lines 52..61
          section-4-web-server/control-an-fpga/js/opcode.js on lines 73..82
          section-4-web-server/control-an-fpga/js/opcode.js on lines 83..92
          section-4-web-server/control-an-fpga/js/opcode.js on lines 104..113
          section-4-web-server/control-an-fpga/js/opcode.js on lines 114..123
          section-4-web-server/control-an-fpga/js/opcode.js on lines 135..144
          section-4-web-server/control-an-fpga/js/opcode.js on lines 145..154
          section-4-web-server/control-an-fpga/js/opcode.js on lines 166..175
          section-4-web-server/control-an-fpga/js/opcode.js on lines 176..185
          section-4-web-server/control-an-fpga/js/opcode.js on lines 197..206
          section-4-web-server/control-an-fpga/js/opcode.js on lines 207..216
          section-4-web-server/control-an-fpga/js/opcode.js on lines 228..237
          section-4-web-server/control-an-fpga/js/opcode.js on lines 238..247
          section-4-web-server/control-an-fpga/js/opcode.js on lines 259..268
          section-4-web-server/control-an-fpga/js/opcode.js on lines 269..278
          section-4-web-server/control-an-fpga/js/opcode.js on lines 303..312
          section-4-web-server/control-an-fpga/js/opcode.js on lines 324..333
          section-4-web-server/control-an-fpga/js/opcode.js on lines 334..343
          section-4-web-server/control-an-fpga/js/opcode.js on lines 355..364
          section-4-web-server/control-an-fpga/js/opcode.js on lines 365..374
          section-4-web-server/control-an-fpga/js/opcode.js on lines 386..395
          section-4-web-server/control-an-fpga/js/opcode.js on lines 396..405
          section-4-web-server/control-an-fpga/js/opcode.js on lines 417..426
          section-4-web-server/control-an-fpga/js/opcode.js on lines 427..436
          section-4-web-server/control-an-fpga/js/opcode.js on lines 448..457
          section-4-web-server/control-an-fpga/js/opcode.js on lines 458..467
          section-4-web-server/control-an-fpga/js/opcode.js on lines 479..488
          section-4-web-server/control-an-fpga/js/opcode.js on lines 489..498
          section-4-web-server/control-an-fpga/js/opcode.js on lines 510..519
          section-4-web-server/control-an-fpga/js/opcode.js on lines 520..529
          section-4-web-server/control-an-fpga/js/opcode.js on lines 541..550
          section-4-web-server/control-an-fpga/js/opcode.js on lines 551..560
          section-4-web-server/control-an-fpga/js/opcode.js on lines 572..581
          section-4-web-server/control-an-fpga/js/opcode.js on lines 582..591
          section-4-web-server/control-an-fpga/js/opcode.js on lines 603..612
          section-4-web-server/control-an-fpga/js/opcode.js on lines 613..622
          section-4-web-server/control-an-fpga/js/opcode.js on lines 634..643
          section-4-web-server/control-an-fpga/js/opcode.js on lines 644..653
          section-4-web-server/control-an-fpga/js/opcode.js on lines 665..674
          section-4-web-server/control-an-fpga/js/opcode.js on lines 675..684
          section-4-web-server/control-an-fpga/js/opcode.js on lines 696..705
          section-4-web-server/control-an-fpga/js/opcode.js on lines 706..715
          section-4-web-server/control-an-fpga/js/opcode.js on lines 727..736
          section-4-web-server/control-an-fpga/js/opcode.js on lines 737..746
          section-4-web-server/control-an-fpga/js/opcode.js on lines 758..767
          section-4-web-server/control-an-fpga/js/opcode.js on lines 768..777
          section-4-web-server/control-an-fpga/js/opcode.js on lines 802..811
          section-4-web-server/control-an-fpga/js/opcode.js on lines 823..832
          section-4-web-server/control-an-fpga/js/opcode.js on lines 854..863
          section-4-web-server/control-an-fpga/js/opcode.js on lines 864..873
          section-4-web-server/control-an-fpga/js/opcode.js on lines 885..894
          section-4-web-server/control-an-fpga/js/opcode.js on lines 895..904
          section-4-web-server/control-an-fpga/js/opcode.js on lines 916..925
          section-4-web-server/control-an-fpga/js/opcode.js on lines 926..935
          section-4-web-server/control-an-fpga/js/opcode.js on lines 947..956
          section-4-web-server/control-an-fpga/js/opcode.js on lines 957..966
          section-4-web-server/control-an-fpga/js/opcode.js on lines 978..987
          section-4-web-server/control-an-fpga/js/opcode.js on lines 988..997
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1009..1018
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1019..1028
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1040..1049
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1050..1059
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1071..1080
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1081..1090
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1102..1111
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1112..1121
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1133..1142
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1143..1152
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1164..1173
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1174..1183
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1195..1204
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1205..1214
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1226..1235
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1236..1245
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1257..1266
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1267..1276

          Duplicated Code

          Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

          Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

          When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

          Tuning

          This issue has a mass of 68.

          We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

          The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

          If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

          See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

          Refactorings

          Further Reading

          Similar blocks of code found in 77 locations. Consider refactoring.
          Open

          function opcode_one_3_onmouseout() {
              switch(opcode_3_state) {
                  case "low":
                      document.getElementById("opcode_one_3").style.backgroundColor=white;
                      break;
          Severity: Major
          Found in section-4-web-server/control-an-fpga/js/opcode.js and 76 other locations - About 1 hr to fix
          section-4-web-server/control-an-fpga/js/opcode.js on lines 73..82
          section-4-web-server/control-an-fpga/js/opcode.js on lines 83..92
          section-4-web-server/control-an-fpga/js/opcode.js on lines 104..113
          section-4-web-server/control-an-fpga/js/opcode.js on lines 114..123
          section-4-web-server/control-an-fpga/js/opcode.js on lines 135..144
          section-4-web-server/control-an-fpga/js/opcode.js on lines 145..154
          section-4-web-server/control-an-fpga/js/opcode.js on lines 166..175
          section-4-web-server/control-an-fpga/js/opcode.js on lines 176..185
          section-4-web-server/control-an-fpga/js/opcode.js on lines 197..206
          section-4-web-server/control-an-fpga/js/opcode.js on lines 207..216
          section-4-web-server/control-an-fpga/js/opcode.js on lines 228..237
          section-4-web-server/control-an-fpga/js/opcode.js on lines 238..247
          section-4-web-server/control-an-fpga/js/opcode.js on lines 259..268
          section-4-web-server/control-an-fpga/js/opcode.js on lines 269..278
          section-4-web-server/control-an-fpga/js/opcode.js on lines 303..312
          section-4-web-server/control-an-fpga/js/opcode.js on lines 324..333
          section-4-web-server/control-an-fpga/js/opcode.js on lines 334..343
          section-4-web-server/control-an-fpga/js/opcode.js on lines 355..364
          section-4-web-server/control-an-fpga/js/opcode.js on lines 365..374
          section-4-web-server/control-an-fpga/js/opcode.js on lines 386..395
          section-4-web-server/control-an-fpga/js/opcode.js on lines 396..405
          section-4-web-server/control-an-fpga/js/opcode.js on lines 417..426
          section-4-web-server/control-an-fpga/js/opcode.js on lines 427..436
          section-4-web-server/control-an-fpga/js/opcode.js on lines 448..457
          section-4-web-server/control-an-fpga/js/opcode.js on lines 458..467
          section-4-web-server/control-an-fpga/js/opcode.js on lines 479..488
          section-4-web-server/control-an-fpga/js/opcode.js on lines 489..498
          section-4-web-server/control-an-fpga/js/opcode.js on lines 510..519
          section-4-web-server/control-an-fpga/js/opcode.js on lines 520..529
          section-4-web-server/control-an-fpga/js/opcode.js on lines 541..550
          section-4-web-server/control-an-fpga/js/opcode.js on lines 551..560
          section-4-web-server/control-an-fpga/js/opcode.js on lines 572..581
          section-4-web-server/control-an-fpga/js/opcode.js on lines 582..591
          section-4-web-server/control-an-fpga/js/opcode.js on lines 603..612
          section-4-web-server/control-an-fpga/js/opcode.js on lines 613..622
          section-4-web-server/control-an-fpga/js/opcode.js on lines 634..643
          section-4-web-server/control-an-fpga/js/opcode.js on lines 644..653
          section-4-web-server/control-an-fpga/js/opcode.js on lines 665..674
          section-4-web-server/control-an-fpga/js/opcode.js on lines 675..684
          section-4-web-server/control-an-fpga/js/opcode.js on lines 696..705
          section-4-web-server/control-an-fpga/js/opcode.js on lines 706..715
          section-4-web-server/control-an-fpga/js/opcode.js on lines 727..736
          section-4-web-server/control-an-fpga/js/opcode.js on lines 737..746
          section-4-web-server/control-an-fpga/js/opcode.js on lines 758..767
          section-4-web-server/control-an-fpga/js/opcode.js on lines 768..777
          section-4-web-server/control-an-fpga/js/opcode.js on lines 802..811
          section-4-web-server/control-an-fpga/js/opcode.js on lines 823..832
          section-4-web-server/control-an-fpga/js/opcode.js on lines 833..842
          section-4-web-server/control-an-fpga/js/opcode.js on lines 854..863
          section-4-web-server/control-an-fpga/js/opcode.js on lines 864..873
          section-4-web-server/control-an-fpga/js/opcode.js on lines 885..894
          section-4-web-server/control-an-fpga/js/opcode.js on lines 895..904
          section-4-web-server/control-an-fpga/js/opcode.js on lines 916..925
          section-4-web-server/control-an-fpga/js/opcode.js on lines 926..935
          section-4-web-server/control-an-fpga/js/opcode.js on lines 947..956
          section-4-web-server/control-an-fpga/js/opcode.js on lines 957..966
          section-4-web-server/control-an-fpga/js/opcode.js on lines 978..987
          section-4-web-server/control-an-fpga/js/opcode.js on lines 988..997
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1009..1018
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1019..1028
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1040..1049
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1050..1059
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1071..1080
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1081..1090
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1102..1111
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1112..1121
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1133..1142
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1143..1152
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1164..1173
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1174..1183
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1195..1204
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1205..1214
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1226..1235
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1236..1245
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1257..1266
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1267..1276

          Duplicated Code

          Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

          Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

          When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

          Tuning

          This issue has a mass of 68.

          We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

          The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

          If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

          See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

          Refactorings

          Further Reading

          Similar blocks of code found in 77 locations. Consider refactoring.
          Open

          function opcode_one_0_onmouseover() {
              switch(opcode_0_state) {
                  case "low":
                      document.getElementById("opcode_one_0").style.backgroundColor=grey;
                      break;
          Severity: Major
          Found in section-4-web-server/control-an-fpga/js/opcode.js and 76 other locations - About 1 hr to fix
          section-4-web-server/control-an-fpga/js/opcode.js on lines 52..61
          section-4-web-server/control-an-fpga/js/opcode.js on lines 73..82
          section-4-web-server/control-an-fpga/js/opcode.js on lines 83..92
          section-4-web-server/control-an-fpga/js/opcode.js on lines 104..113
          section-4-web-server/control-an-fpga/js/opcode.js on lines 114..123
          section-4-web-server/control-an-fpga/js/opcode.js on lines 135..144
          section-4-web-server/control-an-fpga/js/opcode.js on lines 145..154
          section-4-web-server/control-an-fpga/js/opcode.js on lines 166..175
          section-4-web-server/control-an-fpga/js/opcode.js on lines 176..185
          section-4-web-server/control-an-fpga/js/opcode.js on lines 197..206
          section-4-web-server/control-an-fpga/js/opcode.js on lines 207..216
          section-4-web-server/control-an-fpga/js/opcode.js on lines 238..247
          section-4-web-server/control-an-fpga/js/opcode.js on lines 259..268
          section-4-web-server/control-an-fpga/js/opcode.js on lines 269..278
          section-4-web-server/control-an-fpga/js/opcode.js on lines 303..312
          section-4-web-server/control-an-fpga/js/opcode.js on lines 324..333
          section-4-web-server/control-an-fpga/js/opcode.js on lines 334..343
          section-4-web-server/control-an-fpga/js/opcode.js on lines 355..364
          section-4-web-server/control-an-fpga/js/opcode.js on lines 365..374
          section-4-web-server/control-an-fpga/js/opcode.js on lines 386..395
          section-4-web-server/control-an-fpga/js/opcode.js on lines 396..405
          section-4-web-server/control-an-fpga/js/opcode.js on lines 417..426
          section-4-web-server/control-an-fpga/js/opcode.js on lines 427..436
          section-4-web-server/control-an-fpga/js/opcode.js on lines 448..457
          section-4-web-server/control-an-fpga/js/opcode.js on lines 458..467
          section-4-web-server/control-an-fpga/js/opcode.js on lines 479..488
          section-4-web-server/control-an-fpga/js/opcode.js on lines 489..498
          section-4-web-server/control-an-fpga/js/opcode.js on lines 510..519
          section-4-web-server/control-an-fpga/js/opcode.js on lines 520..529
          section-4-web-server/control-an-fpga/js/opcode.js on lines 541..550
          section-4-web-server/control-an-fpga/js/opcode.js on lines 551..560
          section-4-web-server/control-an-fpga/js/opcode.js on lines 572..581
          section-4-web-server/control-an-fpga/js/opcode.js on lines 582..591
          section-4-web-server/control-an-fpga/js/opcode.js on lines 603..612
          section-4-web-server/control-an-fpga/js/opcode.js on lines 613..622
          section-4-web-server/control-an-fpga/js/opcode.js on lines 634..643
          section-4-web-server/control-an-fpga/js/opcode.js on lines 644..653
          section-4-web-server/control-an-fpga/js/opcode.js on lines 665..674
          section-4-web-server/control-an-fpga/js/opcode.js on lines 675..684
          section-4-web-server/control-an-fpga/js/opcode.js on lines 696..705
          section-4-web-server/control-an-fpga/js/opcode.js on lines 706..715
          section-4-web-server/control-an-fpga/js/opcode.js on lines 727..736
          section-4-web-server/control-an-fpga/js/opcode.js on lines 737..746
          section-4-web-server/control-an-fpga/js/opcode.js on lines 758..767
          section-4-web-server/control-an-fpga/js/opcode.js on lines 768..777
          section-4-web-server/control-an-fpga/js/opcode.js on lines 802..811
          section-4-web-server/control-an-fpga/js/opcode.js on lines 823..832
          section-4-web-server/control-an-fpga/js/opcode.js on lines 833..842
          section-4-web-server/control-an-fpga/js/opcode.js on lines 854..863
          section-4-web-server/control-an-fpga/js/opcode.js on lines 864..873
          section-4-web-server/control-an-fpga/js/opcode.js on lines 885..894
          section-4-web-server/control-an-fpga/js/opcode.js on lines 895..904
          section-4-web-server/control-an-fpga/js/opcode.js on lines 916..925
          section-4-web-server/control-an-fpga/js/opcode.js on lines 926..935
          section-4-web-server/control-an-fpga/js/opcode.js on lines 947..956
          section-4-web-server/control-an-fpga/js/opcode.js on lines 957..966
          section-4-web-server/control-an-fpga/js/opcode.js on lines 978..987
          section-4-web-server/control-an-fpga/js/opcode.js on lines 988..997
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1009..1018
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1019..1028
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1040..1049
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1050..1059
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1071..1080
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1081..1090
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1102..1111
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1112..1121
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1133..1142
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1143..1152
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1164..1173
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1174..1183
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1195..1204
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1205..1214
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1226..1235
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1236..1245
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1257..1266
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1267..1276

          Duplicated Code

          Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

          Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

          When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

          Tuning

          This issue has a mass of 68.

          We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

          The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

          If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

          See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

          Refactorings

          Further Reading

          Similar blocks of code found in 77 locations. Consider refactoring.
          Open

          function data_in_a_zero_2_onmouseout() {
            switch(data_in_a_2_state) {
                case "low":
                    document.getElementById("data_in_a_zero_2").style.backgroundColor=lightgreen;
                    break;
          Severity: Major
          Found in section-4-web-server/control-an-fpga/js/opcode.js and 76 other locations - About 1 hr to fix
          section-4-web-server/control-an-fpga/js/opcode.js on lines 52..61
          section-4-web-server/control-an-fpga/js/opcode.js on lines 73..82
          section-4-web-server/control-an-fpga/js/opcode.js on lines 83..92
          section-4-web-server/control-an-fpga/js/opcode.js on lines 104..113
          section-4-web-server/control-an-fpga/js/opcode.js on lines 114..123
          section-4-web-server/control-an-fpga/js/opcode.js on lines 135..144
          section-4-web-server/control-an-fpga/js/opcode.js on lines 145..154
          section-4-web-server/control-an-fpga/js/opcode.js on lines 166..175
          section-4-web-server/control-an-fpga/js/opcode.js on lines 176..185
          section-4-web-server/control-an-fpga/js/opcode.js on lines 197..206
          section-4-web-server/control-an-fpga/js/opcode.js on lines 207..216
          section-4-web-server/control-an-fpga/js/opcode.js on lines 228..237
          section-4-web-server/control-an-fpga/js/opcode.js on lines 238..247
          section-4-web-server/control-an-fpga/js/opcode.js on lines 259..268
          section-4-web-server/control-an-fpga/js/opcode.js on lines 269..278
          section-4-web-server/control-an-fpga/js/opcode.js on lines 303..312
          section-4-web-server/control-an-fpga/js/opcode.js on lines 324..333
          section-4-web-server/control-an-fpga/js/opcode.js on lines 334..343
          section-4-web-server/control-an-fpga/js/opcode.js on lines 355..364
          section-4-web-server/control-an-fpga/js/opcode.js on lines 365..374
          section-4-web-server/control-an-fpga/js/opcode.js on lines 386..395
          section-4-web-server/control-an-fpga/js/opcode.js on lines 396..405
          section-4-web-server/control-an-fpga/js/opcode.js on lines 417..426
          section-4-web-server/control-an-fpga/js/opcode.js on lines 427..436
          section-4-web-server/control-an-fpga/js/opcode.js on lines 448..457
          section-4-web-server/control-an-fpga/js/opcode.js on lines 458..467
          section-4-web-server/control-an-fpga/js/opcode.js on lines 479..488
          section-4-web-server/control-an-fpga/js/opcode.js on lines 489..498
          section-4-web-server/control-an-fpga/js/opcode.js on lines 510..519
          section-4-web-server/control-an-fpga/js/opcode.js on lines 520..529
          section-4-web-server/control-an-fpga/js/opcode.js on lines 541..550
          section-4-web-server/control-an-fpga/js/opcode.js on lines 551..560
          section-4-web-server/control-an-fpga/js/opcode.js on lines 572..581
          section-4-web-server/control-an-fpga/js/opcode.js on lines 582..591
          section-4-web-server/control-an-fpga/js/opcode.js on lines 603..612
          section-4-web-server/control-an-fpga/js/opcode.js on lines 613..622
          section-4-web-server/control-an-fpga/js/opcode.js on lines 634..643
          section-4-web-server/control-an-fpga/js/opcode.js on lines 665..674
          section-4-web-server/control-an-fpga/js/opcode.js on lines 675..684
          section-4-web-server/control-an-fpga/js/opcode.js on lines 696..705
          section-4-web-server/control-an-fpga/js/opcode.js on lines 706..715
          section-4-web-server/control-an-fpga/js/opcode.js on lines 727..736
          section-4-web-server/control-an-fpga/js/opcode.js on lines 737..746
          section-4-web-server/control-an-fpga/js/opcode.js on lines 758..767
          section-4-web-server/control-an-fpga/js/opcode.js on lines 768..777
          section-4-web-server/control-an-fpga/js/opcode.js on lines 802..811
          section-4-web-server/control-an-fpga/js/opcode.js on lines 823..832
          section-4-web-server/control-an-fpga/js/opcode.js on lines 833..842
          section-4-web-server/control-an-fpga/js/opcode.js on lines 854..863
          section-4-web-server/control-an-fpga/js/opcode.js on lines 864..873
          section-4-web-server/control-an-fpga/js/opcode.js on lines 885..894
          section-4-web-server/control-an-fpga/js/opcode.js on lines 895..904
          section-4-web-server/control-an-fpga/js/opcode.js on lines 916..925
          section-4-web-server/control-an-fpga/js/opcode.js on lines 926..935
          section-4-web-server/control-an-fpga/js/opcode.js on lines 947..956
          section-4-web-server/control-an-fpga/js/opcode.js on lines 957..966
          section-4-web-server/control-an-fpga/js/opcode.js on lines 978..987
          section-4-web-server/control-an-fpga/js/opcode.js on lines 988..997
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1009..1018
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1019..1028
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1040..1049
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1050..1059
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1071..1080
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1081..1090
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1102..1111
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1112..1121
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1133..1142
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1143..1152
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1164..1173
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1174..1183
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1195..1204
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1205..1214
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1226..1235
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1236..1245
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1257..1266
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1267..1276

          Duplicated Code

          Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

          Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

          When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

          Tuning

          This issue has a mass of 68.

          We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

          The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

          If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

          See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

          Refactorings

          Further Reading

          Similar blocks of code found in 77 locations. Consider refactoring.
          Open

          function data_in_b_zero_2_onmouseover() {
          switch(data_in_b_2_state) {
              case "low":
                  document.getElementById("data_in_b_zero_2").style.backgroundColor=lightgreen;
                  break;
          Severity: Major
          Found in section-4-web-server/control-an-fpga/js/opcode.js and 76 other locations - About 1 hr to fix
          section-4-web-server/control-an-fpga/js/opcode.js on lines 52..61
          section-4-web-server/control-an-fpga/js/opcode.js on lines 73..82
          section-4-web-server/control-an-fpga/js/opcode.js on lines 83..92
          section-4-web-server/control-an-fpga/js/opcode.js on lines 104..113
          section-4-web-server/control-an-fpga/js/opcode.js on lines 114..123
          section-4-web-server/control-an-fpga/js/opcode.js on lines 135..144
          section-4-web-server/control-an-fpga/js/opcode.js on lines 145..154
          section-4-web-server/control-an-fpga/js/opcode.js on lines 166..175
          section-4-web-server/control-an-fpga/js/opcode.js on lines 176..185
          section-4-web-server/control-an-fpga/js/opcode.js on lines 197..206
          section-4-web-server/control-an-fpga/js/opcode.js on lines 207..216
          section-4-web-server/control-an-fpga/js/opcode.js on lines 228..237
          section-4-web-server/control-an-fpga/js/opcode.js on lines 238..247
          section-4-web-server/control-an-fpga/js/opcode.js on lines 259..268
          section-4-web-server/control-an-fpga/js/opcode.js on lines 269..278
          section-4-web-server/control-an-fpga/js/opcode.js on lines 303..312
          section-4-web-server/control-an-fpga/js/opcode.js on lines 324..333
          section-4-web-server/control-an-fpga/js/opcode.js on lines 334..343
          section-4-web-server/control-an-fpga/js/opcode.js on lines 355..364
          section-4-web-server/control-an-fpga/js/opcode.js on lines 365..374
          section-4-web-server/control-an-fpga/js/opcode.js on lines 386..395
          section-4-web-server/control-an-fpga/js/opcode.js on lines 396..405
          section-4-web-server/control-an-fpga/js/opcode.js on lines 417..426
          section-4-web-server/control-an-fpga/js/opcode.js on lines 427..436
          section-4-web-server/control-an-fpga/js/opcode.js on lines 448..457
          section-4-web-server/control-an-fpga/js/opcode.js on lines 458..467
          section-4-web-server/control-an-fpga/js/opcode.js on lines 479..488
          section-4-web-server/control-an-fpga/js/opcode.js on lines 489..498
          section-4-web-server/control-an-fpga/js/opcode.js on lines 510..519
          section-4-web-server/control-an-fpga/js/opcode.js on lines 520..529
          section-4-web-server/control-an-fpga/js/opcode.js on lines 541..550
          section-4-web-server/control-an-fpga/js/opcode.js on lines 551..560
          section-4-web-server/control-an-fpga/js/opcode.js on lines 572..581
          section-4-web-server/control-an-fpga/js/opcode.js on lines 582..591
          section-4-web-server/control-an-fpga/js/opcode.js on lines 603..612
          section-4-web-server/control-an-fpga/js/opcode.js on lines 613..622
          section-4-web-server/control-an-fpga/js/opcode.js on lines 634..643
          section-4-web-server/control-an-fpga/js/opcode.js on lines 644..653
          section-4-web-server/control-an-fpga/js/opcode.js on lines 665..674
          section-4-web-server/control-an-fpga/js/opcode.js on lines 675..684
          section-4-web-server/control-an-fpga/js/opcode.js on lines 696..705
          section-4-web-server/control-an-fpga/js/opcode.js on lines 706..715
          section-4-web-server/control-an-fpga/js/opcode.js on lines 727..736
          section-4-web-server/control-an-fpga/js/opcode.js on lines 737..746
          section-4-web-server/control-an-fpga/js/opcode.js on lines 758..767
          section-4-web-server/control-an-fpga/js/opcode.js on lines 768..777
          section-4-web-server/control-an-fpga/js/opcode.js on lines 802..811
          section-4-web-server/control-an-fpga/js/opcode.js on lines 823..832
          section-4-web-server/control-an-fpga/js/opcode.js on lines 833..842
          section-4-web-server/control-an-fpga/js/opcode.js on lines 854..863
          section-4-web-server/control-an-fpga/js/opcode.js on lines 864..873
          section-4-web-server/control-an-fpga/js/opcode.js on lines 885..894
          section-4-web-server/control-an-fpga/js/opcode.js on lines 895..904
          section-4-web-server/control-an-fpga/js/opcode.js on lines 916..925
          section-4-web-server/control-an-fpga/js/opcode.js on lines 926..935
          section-4-web-server/control-an-fpga/js/opcode.js on lines 947..956
          section-4-web-server/control-an-fpga/js/opcode.js on lines 957..966
          section-4-web-server/control-an-fpga/js/opcode.js on lines 978..987
          section-4-web-server/control-an-fpga/js/opcode.js on lines 988..997
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1009..1018
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1019..1028
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1040..1049
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1050..1059
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1071..1080
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1081..1090
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1102..1111
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1112..1121
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1143..1152
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1164..1173
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1174..1183
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1195..1204
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1205..1214
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1226..1235
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1236..1245
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1257..1266
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1267..1276

          Duplicated Code

          Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

          Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

          When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

          Tuning

          This issue has a mass of 68.

          We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

          The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

          If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

          See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

          Refactorings

          Further Reading

          Similar blocks of code found in 77 locations. Consider refactoring.
          Open

          function data_in_b_zero_0_onmouseover() {
          switch(data_in_b_0_state) {
              case "low":
                  document.getElementById("data_in_b_zero_0").style.backgroundColor=lightgreen;
                  break;
          Severity: Major
          Found in section-4-web-server/control-an-fpga/js/opcode.js and 76 other locations - About 1 hr to fix
          section-4-web-server/control-an-fpga/js/opcode.js on lines 52..61
          section-4-web-server/control-an-fpga/js/opcode.js on lines 73..82
          section-4-web-server/control-an-fpga/js/opcode.js on lines 83..92
          section-4-web-server/control-an-fpga/js/opcode.js on lines 104..113
          section-4-web-server/control-an-fpga/js/opcode.js on lines 114..123
          section-4-web-server/control-an-fpga/js/opcode.js on lines 135..144
          section-4-web-server/control-an-fpga/js/opcode.js on lines 145..154
          section-4-web-server/control-an-fpga/js/opcode.js on lines 166..175
          section-4-web-server/control-an-fpga/js/opcode.js on lines 176..185
          section-4-web-server/control-an-fpga/js/opcode.js on lines 197..206
          section-4-web-server/control-an-fpga/js/opcode.js on lines 207..216
          section-4-web-server/control-an-fpga/js/opcode.js on lines 228..237
          section-4-web-server/control-an-fpga/js/opcode.js on lines 238..247
          section-4-web-server/control-an-fpga/js/opcode.js on lines 259..268
          section-4-web-server/control-an-fpga/js/opcode.js on lines 269..278
          section-4-web-server/control-an-fpga/js/opcode.js on lines 303..312
          section-4-web-server/control-an-fpga/js/opcode.js on lines 324..333
          section-4-web-server/control-an-fpga/js/opcode.js on lines 334..343
          section-4-web-server/control-an-fpga/js/opcode.js on lines 355..364
          section-4-web-server/control-an-fpga/js/opcode.js on lines 365..374
          section-4-web-server/control-an-fpga/js/opcode.js on lines 386..395
          section-4-web-server/control-an-fpga/js/opcode.js on lines 396..405
          section-4-web-server/control-an-fpga/js/opcode.js on lines 417..426
          section-4-web-server/control-an-fpga/js/opcode.js on lines 427..436
          section-4-web-server/control-an-fpga/js/opcode.js on lines 448..457
          section-4-web-server/control-an-fpga/js/opcode.js on lines 458..467
          section-4-web-server/control-an-fpga/js/opcode.js on lines 479..488
          section-4-web-server/control-an-fpga/js/opcode.js on lines 489..498
          section-4-web-server/control-an-fpga/js/opcode.js on lines 510..519
          section-4-web-server/control-an-fpga/js/opcode.js on lines 520..529
          section-4-web-server/control-an-fpga/js/opcode.js on lines 541..550
          section-4-web-server/control-an-fpga/js/opcode.js on lines 551..560
          section-4-web-server/control-an-fpga/js/opcode.js on lines 572..581
          section-4-web-server/control-an-fpga/js/opcode.js on lines 582..591
          section-4-web-server/control-an-fpga/js/opcode.js on lines 603..612
          section-4-web-server/control-an-fpga/js/opcode.js on lines 613..622
          section-4-web-server/control-an-fpga/js/opcode.js on lines 634..643
          section-4-web-server/control-an-fpga/js/opcode.js on lines 644..653
          section-4-web-server/control-an-fpga/js/opcode.js on lines 665..674
          section-4-web-server/control-an-fpga/js/opcode.js on lines 675..684
          section-4-web-server/control-an-fpga/js/opcode.js on lines 696..705
          section-4-web-server/control-an-fpga/js/opcode.js on lines 706..715
          section-4-web-server/control-an-fpga/js/opcode.js on lines 727..736
          section-4-web-server/control-an-fpga/js/opcode.js on lines 737..746
          section-4-web-server/control-an-fpga/js/opcode.js on lines 758..767
          section-4-web-server/control-an-fpga/js/opcode.js on lines 768..777
          section-4-web-server/control-an-fpga/js/opcode.js on lines 802..811
          section-4-web-server/control-an-fpga/js/opcode.js on lines 823..832
          section-4-web-server/control-an-fpga/js/opcode.js on lines 833..842
          section-4-web-server/control-an-fpga/js/opcode.js on lines 854..863
          section-4-web-server/control-an-fpga/js/opcode.js on lines 864..873
          section-4-web-server/control-an-fpga/js/opcode.js on lines 885..894
          section-4-web-server/control-an-fpga/js/opcode.js on lines 895..904
          section-4-web-server/control-an-fpga/js/opcode.js on lines 916..925
          section-4-web-server/control-an-fpga/js/opcode.js on lines 926..935
          section-4-web-server/control-an-fpga/js/opcode.js on lines 947..956
          section-4-web-server/control-an-fpga/js/opcode.js on lines 957..966
          section-4-web-server/control-an-fpga/js/opcode.js on lines 978..987
          section-4-web-server/control-an-fpga/js/opcode.js on lines 988..997
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1009..1018
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1019..1028
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1040..1049
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1050..1059
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1071..1080
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1081..1090
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1102..1111
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1112..1121
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1133..1142
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1143..1152
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1164..1173
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1174..1183
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1195..1204
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1205..1214
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1226..1235
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1236..1245
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1267..1276

          Duplicated Code

          Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

          Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

          When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

          Tuning

          This issue has a mass of 68.

          We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

          The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

          If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

          See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

          Refactorings

          Further Reading

          Similar blocks of code found in 77 locations. Consider refactoring.
          Open

          function opcode_one_2_onmouseover() {
              switch(opcode_2_state) {
                  case "low":
                      document.getElementById("opcode_one_2").style.backgroundColor=grey;
                      break;
          Severity: Major
          Found in section-4-web-server/control-an-fpga/js/opcode.js and 76 other locations - About 1 hr to fix
          section-4-web-server/control-an-fpga/js/opcode.js on lines 52..61
          section-4-web-server/control-an-fpga/js/opcode.js on lines 73..82
          section-4-web-server/control-an-fpga/js/opcode.js on lines 83..92
          section-4-web-server/control-an-fpga/js/opcode.js on lines 114..123
          section-4-web-server/control-an-fpga/js/opcode.js on lines 135..144
          section-4-web-server/control-an-fpga/js/opcode.js on lines 145..154
          section-4-web-server/control-an-fpga/js/opcode.js on lines 166..175
          section-4-web-server/control-an-fpga/js/opcode.js on lines 176..185
          section-4-web-server/control-an-fpga/js/opcode.js on lines 197..206
          section-4-web-server/control-an-fpga/js/opcode.js on lines 207..216
          section-4-web-server/control-an-fpga/js/opcode.js on lines 228..237
          section-4-web-server/control-an-fpga/js/opcode.js on lines 238..247
          section-4-web-server/control-an-fpga/js/opcode.js on lines 259..268
          section-4-web-server/control-an-fpga/js/opcode.js on lines 269..278
          section-4-web-server/control-an-fpga/js/opcode.js on lines 303..312
          section-4-web-server/control-an-fpga/js/opcode.js on lines 324..333
          section-4-web-server/control-an-fpga/js/opcode.js on lines 334..343
          section-4-web-server/control-an-fpga/js/opcode.js on lines 355..364
          section-4-web-server/control-an-fpga/js/opcode.js on lines 365..374
          section-4-web-server/control-an-fpga/js/opcode.js on lines 386..395
          section-4-web-server/control-an-fpga/js/opcode.js on lines 396..405
          section-4-web-server/control-an-fpga/js/opcode.js on lines 417..426
          section-4-web-server/control-an-fpga/js/opcode.js on lines 427..436
          section-4-web-server/control-an-fpga/js/opcode.js on lines 448..457
          section-4-web-server/control-an-fpga/js/opcode.js on lines 458..467
          section-4-web-server/control-an-fpga/js/opcode.js on lines 479..488
          section-4-web-server/control-an-fpga/js/opcode.js on lines 489..498
          section-4-web-server/control-an-fpga/js/opcode.js on lines 510..519
          section-4-web-server/control-an-fpga/js/opcode.js on lines 520..529
          section-4-web-server/control-an-fpga/js/opcode.js on lines 541..550
          section-4-web-server/control-an-fpga/js/opcode.js on lines 551..560
          section-4-web-server/control-an-fpga/js/opcode.js on lines 572..581
          section-4-web-server/control-an-fpga/js/opcode.js on lines 582..591
          section-4-web-server/control-an-fpga/js/opcode.js on lines 603..612
          section-4-web-server/control-an-fpga/js/opcode.js on lines 613..622
          section-4-web-server/control-an-fpga/js/opcode.js on lines 634..643
          section-4-web-server/control-an-fpga/js/opcode.js on lines 644..653
          section-4-web-server/control-an-fpga/js/opcode.js on lines 665..674
          section-4-web-server/control-an-fpga/js/opcode.js on lines 675..684
          section-4-web-server/control-an-fpga/js/opcode.js on lines 696..705
          section-4-web-server/control-an-fpga/js/opcode.js on lines 706..715
          section-4-web-server/control-an-fpga/js/opcode.js on lines 727..736
          section-4-web-server/control-an-fpga/js/opcode.js on lines 737..746
          section-4-web-server/control-an-fpga/js/opcode.js on lines 758..767
          section-4-web-server/control-an-fpga/js/opcode.js on lines 768..777
          section-4-web-server/control-an-fpga/js/opcode.js on lines 802..811
          section-4-web-server/control-an-fpga/js/opcode.js on lines 823..832
          section-4-web-server/control-an-fpga/js/opcode.js on lines 833..842
          section-4-web-server/control-an-fpga/js/opcode.js on lines 854..863
          section-4-web-server/control-an-fpga/js/opcode.js on lines 864..873
          section-4-web-server/control-an-fpga/js/opcode.js on lines 885..894
          section-4-web-server/control-an-fpga/js/opcode.js on lines 895..904
          section-4-web-server/control-an-fpga/js/opcode.js on lines 916..925
          section-4-web-server/control-an-fpga/js/opcode.js on lines 926..935
          section-4-web-server/control-an-fpga/js/opcode.js on lines 947..956
          section-4-web-server/control-an-fpga/js/opcode.js on lines 957..966
          section-4-web-server/control-an-fpga/js/opcode.js on lines 978..987
          section-4-web-server/control-an-fpga/js/opcode.js on lines 988..997
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1009..1018
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1019..1028
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1040..1049
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1050..1059
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1071..1080
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1081..1090
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1102..1111
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1112..1121
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1133..1142
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1143..1152
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1164..1173
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1174..1183
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1195..1204
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1205..1214
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1226..1235
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1236..1245
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1257..1266
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1267..1276

          Duplicated Code

          Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

          Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

          When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

          Tuning

          This issue has a mass of 68.

          We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

          The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

          If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

          See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

          Refactorings

          Further Reading

          Similar blocks of code found in 77 locations. Consider refactoring.
          Open

          function opcode_one_2_onmouseout() {
              switch(opcode_2_state) {
                  case "low":
                      document.getElementById("opcode_one_2").style.backgroundColor=white;
                      break;
          Severity: Major
          Found in section-4-web-server/control-an-fpga/js/opcode.js and 76 other locations - About 1 hr to fix
          section-4-web-server/control-an-fpga/js/opcode.js on lines 52..61
          section-4-web-server/control-an-fpga/js/opcode.js on lines 73..82
          section-4-web-server/control-an-fpga/js/opcode.js on lines 83..92
          section-4-web-server/control-an-fpga/js/opcode.js on lines 104..113
          section-4-web-server/control-an-fpga/js/opcode.js on lines 135..144
          section-4-web-server/control-an-fpga/js/opcode.js on lines 145..154
          section-4-web-server/control-an-fpga/js/opcode.js on lines 166..175
          section-4-web-server/control-an-fpga/js/opcode.js on lines 176..185
          section-4-web-server/control-an-fpga/js/opcode.js on lines 197..206
          section-4-web-server/control-an-fpga/js/opcode.js on lines 207..216
          section-4-web-server/control-an-fpga/js/opcode.js on lines 228..237
          section-4-web-server/control-an-fpga/js/opcode.js on lines 238..247
          section-4-web-server/control-an-fpga/js/opcode.js on lines 259..268
          section-4-web-server/control-an-fpga/js/opcode.js on lines 269..278
          section-4-web-server/control-an-fpga/js/opcode.js on lines 303..312
          section-4-web-server/control-an-fpga/js/opcode.js on lines 324..333
          section-4-web-server/control-an-fpga/js/opcode.js on lines 334..343
          section-4-web-server/control-an-fpga/js/opcode.js on lines 355..364
          section-4-web-server/control-an-fpga/js/opcode.js on lines 365..374
          section-4-web-server/control-an-fpga/js/opcode.js on lines 386..395
          section-4-web-server/control-an-fpga/js/opcode.js on lines 396..405
          section-4-web-server/control-an-fpga/js/opcode.js on lines 417..426
          section-4-web-server/control-an-fpga/js/opcode.js on lines 427..436
          section-4-web-server/control-an-fpga/js/opcode.js on lines 448..457
          section-4-web-server/control-an-fpga/js/opcode.js on lines 458..467
          section-4-web-server/control-an-fpga/js/opcode.js on lines 479..488
          section-4-web-server/control-an-fpga/js/opcode.js on lines 489..498
          section-4-web-server/control-an-fpga/js/opcode.js on lines 510..519
          section-4-web-server/control-an-fpga/js/opcode.js on lines 520..529
          section-4-web-server/control-an-fpga/js/opcode.js on lines 541..550
          section-4-web-server/control-an-fpga/js/opcode.js on lines 551..560
          section-4-web-server/control-an-fpga/js/opcode.js on lines 572..581
          section-4-web-server/control-an-fpga/js/opcode.js on lines 582..591
          section-4-web-server/control-an-fpga/js/opcode.js on lines 603..612
          section-4-web-server/control-an-fpga/js/opcode.js on lines 613..622
          section-4-web-server/control-an-fpga/js/opcode.js on lines 634..643
          section-4-web-server/control-an-fpga/js/opcode.js on lines 644..653
          section-4-web-server/control-an-fpga/js/opcode.js on lines 665..674
          section-4-web-server/control-an-fpga/js/opcode.js on lines 675..684
          section-4-web-server/control-an-fpga/js/opcode.js on lines 696..705
          section-4-web-server/control-an-fpga/js/opcode.js on lines 706..715
          section-4-web-server/control-an-fpga/js/opcode.js on lines 727..736
          section-4-web-server/control-an-fpga/js/opcode.js on lines 737..746
          section-4-web-server/control-an-fpga/js/opcode.js on lines 758..767
          section-4-web-server/control-an-fpga/js/opcode.js on lines 768..777
          section-4-web-server/control-an-fpga/js/opcode.js on lines 802..811
          section-4-web-server/control-an-fpga/js/opcode.js on lines 823..832
          section-4-web-server/control-an-fpga/js/opcode.js on lines 833..842
          section-4-web-server/control-an-fpga/js/opcode.js on lines 854..863
          section-4-web-server/control-an-fpga/js/opcode.js on lines 864..873
          section-4-web-server/control-an-fpga/js/opcode.js on lines 885..894
          section-4-web-server/control-an-fpga/js/opcode.js on lines 895..904
          section-4-web-server/control-an-fpga/js/opcode.js on lines 916..925
          section-4-web-server/control-an-fpga/js/opcode.js on lines 926..935
          section-4-web-server/control-an-fpga/js/opcode.js on lines 947..956
          section-4-web-server/control-an-fpga/js/opcode.js on lines 957..966
          section-4-web-server/control-an-fpga/js/opcode.js on lines 978..987
          section-4-web-server/control-an-fpga/js/opcode.js on lines 988..997
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1009..1018
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1019..1028
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1040..1049
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1050..1059
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1071..1080
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1081..1090
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1102..1111
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1112..1121
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1133..1142
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1143..1152
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1164..1173
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1174..1183
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1195..1204
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1205..1214
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1226..1235
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1236..1245
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1257..1266
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1267..1276

          Duplicated Code

          Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

          Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

          When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

          Tuning

          This issue has a mass of 68.

          We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

          The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

          If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

          See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

          Refactorings

          Further Reading

          Similar blocks of code found in 77 locations. Consider refactoring.
          Open

          function opcode_zero_1_onmouseout() {
              switch(opcode_1_state) {
                  case "low":
                      document.getElementById("opcode_zero_1").style.backgroundColor=lightgreen;
                      break;
          Severity: Major
          Found in section-4-web-server/control-an-fpga/js/opcode.js and 76 other locations - About 1 hr to fix
          section-4-web-server/control-an-fpga/js/opcode.js on lines 52..61
          section-4-web-server/control-an-fpga/js/opcode.js on lines 73..82
          section-4-web-server/control-an-fpga/js/opcode.js on lines 83..92
          section-4-web-server/control-an-fpga/js/opcode.js on lines 104..113
          section-4-web-server/control-an-fpga/js/opcode.js on lines 114..123
          section-4-web-server/control-an-fpga/js/opcode.js on lines 135..144
          section-4-web-server/control-an-fpga/js/opcode.js on lines 145..154
          section-4-web-server/control-an-fpga/js/opcode.js on lines 166..175
          section-4-web-server/control-an-fpga/js/opcode.js on lines 176..185
          section-4-web-server/control-an-fpga/js/opcode.js on lines 197..206
          section-4-web-server/control-an-fpga/js/opcode.js on lines 228..237
          section-4-web-server/control-an-fpga/js/opcode.js on lines 238..247
          section-4-web-server/control-an-fpga/js/opcode.js on lines 259..268
          section-4-web-server/control-an-fpga/js/opcode.js on lines 269..278
          section-4-web-server/control-an-fpga/js/opcode.js on lines 303..312
          section-4-web-server/control-an-fpga/js/opcode.js on lines 324..333
          section-4-web-server/control-an-fpga/js/opcode.js on lines 334..343
          section-4-web-server/control-an-fpga/js/opcode.js on lines 355..364
          section-4-web-server/control-an-fpga/js/opcode.js on lines 365..374
          section-4-web-server/control-an-fpga/js/opcode.js on lines 386..395
          section-4-web-server/control-an-fpga/js/opcode.js on lines 396..405
          section-4-web-server/control-an-fpga/js/opcode.js on lines 417..426
          section-4-web-server/control-an-fpga/js/opcode.js on lines 427..436
          section-4-web-server/control-an-fpga/js/opcode.js on lines 448..457
          section-4-web-server/control-an-fpga/js/opcode.js on lines 458..467
          section-4-web-server/control-an-fpga/js/opcode.js on lines 479..488
          section-4-web-server/control-an-fpga/js/opcode.js on lines 489..498
          section-4-web-server/control-an-fpga/js/opcode.js on lines 510..519
          section-4-web-server/control-an-fpga/js/opcode.js on lines 520..529
          section-4-web-server/control-an-fpga/js/opcode.js on lines 541..550
          section-4-web-server/control-an-fpga/js/opcode.js on lines 551..560
          section-4-web-server/control-an-fpga/js/opcode.js on lines 572..581
          section-4-web-server/control-an-fpga/js/opcode.js on lines 582..591
          section-4-web-server/control-an-fpga/js/opcode.js on lines 603..612
          section-4-web-server/control-an-fpga/js/opcode.js on lines 613..622
          section-4-web-server/control-an-fpga/js/opcode.js on lines 634..643
          section-4-web-server/control-an-fpga/js/opcode.js on lines 644..653
          section-4-web-server/control-an-fpga/js/opcode.js on lines 665..674
          section-4-web-server/control-an-fpga/js/opcode.js on lines 675..684
          section-4-web-server/control-an-fpga/js/opcode.js on lines 696..705
          section-4-web-server/control-an-fpga/js/opcode.js on lines 706..715
          section-4-web-server/control-an-fpga/js/opcode.js on lines 727..736
          section-4-web-server/control-an-fpga/js/opcode.js on lines 737..746
          section-4-web-server/control-an-fpga/js/opcode.js on lines 758..767
          section-4-web-server/control-an-fpga/js/opcode.js on lines 768..777
          section-4-web-server/control-an-fpga/js/opcode.js on lines 802..811
          section-4-web-server/control-an-fpga/js/opcode.js on lines 823..832
          section-4-web-server/control-an-fpga/js/opcode.js on lines 833..842
          section-4-web-server/control-an-fpga/js/opcode.js on lines 854..863
          section-4-web-server/control-an-fpga/js/opcode.js on lines 864..873
          section-4-web-server/control-an-fpga/js/opcode.js on lines 885..894
          section-4-web-server/control-an-fpga/js/opcode.js on lines 895..904
          section-4-web-server/control-an-fpga/js/opcode.js on lines 916..925
          section-4-web-server/control-an-fpga/js/opcode.js on lines 926..935
          section-4-web-server/control-an-fpga/js/opcode.js on lines 947..956
          section-4-web-server/control-an-fpga/js/opcode.js on lines 957..966
          section-4-web-server/control-an-fpga/js/opcode.js on lines 978..987
          section-4-web-server/control-an-fpga/js/opcode.js on lines 988..997
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1009..1018
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1019..1028
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1040..1049
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1050..1059
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1071..1080
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1081..1090
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1102..1111
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1112..1121
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1133..1142
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1143..1152
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1164..1173
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1174..1183
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1195..1204
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1205..1214
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1226..1235
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1236..1245
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1257..1266
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1267..1276

          Duplicated Code

          Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

          Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

          When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

          Tuning

          This issue has a mass of 68.

          We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

          The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

          If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

          See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

          Refactorings

          Further Reading

          Similar blocks of code found in 77 locations. Consider refactoring.
          Open

          function data_in_a_zero_4_onmouseout() {
            switch(data_in_a_4_state) {
                case "low":
                    document.getElementById("data_in_a_zero_4").style.backgroundColor=lightgreen;
                    break;
          Severity: Major
          Found in section-4-web-server/control-an-fpga/js/opcode.js and 76 other locations - About 1 hr to fix
          section-4-web-server/control-an-fpga/js/opcode.js on lines 52..61
          section-4-web-server/control-an-fpga/js/opcode.js on lines 73..82
          section-4-web-server/control-an-fpga/js/opcode.js on lines 83..92
          section-4-web-server/control-an-fpga/js/opcode.js on lines 104..113
          section-4-web-server/control-an-fpga/js/opcode.js on lines 114..123
          section-4-web-server/control-an-fpga/js/opcode.js on lines 135..144
          section-4-web-server/control-an-fpga/js/opcode.js on lines 145..154
          section-4-web-server/control-an-fpga/js/opcode.js on lines 166..175
          section-4-web-server/control-an-fpga/js/opcode.js on lines 176..185
          section-4-web-server/control-an-fpga/js/opcode.js on lines 197..206
          section-4-web-server/control-an-fpga/js/opcode.js on lines 207..216
          section-4-web-server/control-an-fpga/js/opcode.js on lines 228..237
          section-4-web-server/control-an-fpga/js/opcode.js on lines 238..247
          section-4-web-server/control-an-fpga/js/opcode.js on lines 259..268
          section-4-web-server/control-an-fpga/js/opcode.js on lines 269..278
          section-4-web-server/control-an-fpga/js/opcode.js on lines 303..312
          section-4-web-server/control-an-fpga/js/opcode.js on lines 324..333
          section-4-web-server/control-an-fpga/js/opcode.js on lines 334..343
          section-4-web-server/control-an-fpga/js/opcode.js on lines 355..364
          section-4-web-server/control-an-fpga/js/opcode.js on lines 365..374
          section-4-web-server/control-an-fpga/js/opcode.js on lines 386..395
          section-4-web-server/control-an-fpga/js/opcode.js on lines 396..405
          section-4-web-server/control-an-fpga/js/opcode.js on lines 417..426
          section-4-web-server/control-an-fpga/js/opcode.js on lines 427..436
          section-4-web-server/control-an-fpga/js/opcode.js on lines 448..457
          section-4-web-server/control-an-fpga/js/opcode.js on lines 458..467
          section-4-web-server/control-an-fpga/js/opcode.js on lines 479..488
          section-4-web-server/control-an-fpga/js/opcode.js on lines 489..498
          section-4-web-server/control-an-fpga/js/opcode.js on lines 510..519
          section-4-web-server/control-an-fpga/js/opcode.js on lines 541..550
          section-4-web-server/control-an-fpga/js/opcode.js on lines 551..560
          section-4-web-server/control-an-fpga/js/opcode.js on lines 572..581
          section-4-web-server/control-an-fpga/js/opcode.js on lines 582..591
          section-4-web-server/control-an-fpga/js/opcode.js on lines 603..612
          section-4-web-server/control-an-fpga/js/opcode.js on lines 613..622
          section-4-web-server/control-an-fpga/js/opcode.js on lines 634..643
          section-4-web-server/control-an-fpga/js/opcode.js on lines 644..653
          section-4-web-server/control-an-fpga/js/opcode.js on lines 665..674
          section-4-web-server/control-an-fpga/js/opcode.js on lines 675..684
          section-4-web-server/control-an-fpga/js/opcode.js on lines 696..705
          section-4-web-server/control-an-fpga/js/opcode.js on lines 706..715
          section-4-web-server/control-an-fpga/js/opcode.js on lines 727..736
          section-4-web-server/control-an-fpga/js/opcode.js on lines 737..746
          section-4-web-server/control-an-fpga/js/opcode.js on lines 758..767
          section-4-web-server/control-an-fpga/js/opcode.js on lines 768..777
          section-4-web-server/control-an-fpga/js/opcode.js on lines 802..811
          section-4-web-server/control-an-fpga/js/opcode.js on lines 823..832
          section-4-web-server/control-an-fpga/js/opcode.js on lines 833..842
          section-4-web-server/control-an-fpga/js/opcode.js on lines 854..863
          section-4-web-server/control-an-fpga/js/opcode.js on lines 864..873
          section-4-web-server/control-an-fpga/js/opcode.js on lines 885..894
          section-4-web-server/control-an-fpga/js/opcode.js on lines 895..904
          section-4-web-server/control-an-fpga/js/opcode.js on lines 916..925
          section-4-web-server/control-an-fpga/js/opcode.js on lines 926..935
          section-4-web-server/control-an-fpga/js/opcode.js on lines 947..956
          section-4-web-server/control-an-fpga/js/opcode.js on lines 957..966
          section-4-web-server/control-an-fpga/js/opcode.js on lines 978..987
          section-4-web-server/control-an-fpga/js/opcode.js on lines 988..997
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1009..1018
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1019..1028
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1040..1049
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1050..1059
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1071..1080
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1081..1090
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1102..1111
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1112..1121
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1133..1142
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1143..1152
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1164..1173
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1174..1183
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1195..1204
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1205..1214
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1226..1235
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1236..1245
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1257..1266
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1267..1276

          Duplicated Code

          Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

          Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

          When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

          Tuning

          This issue has a mass of 68.

          We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

          The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

          If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

          See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

          Refactorings

          Further Reading

          Similar blocks of code found in 77 locations. Consider refactoring.
          Open

          function data_in_a_zero_2_onmouseover() {
            switch(data_in_a_2_state) {
                case "low":
                    document.getElementById("data_in_a_zero_2").style.backgroundColor=lightgreen;
                    break;
          Severity: Major
          Found in section-4-web-server/control-an-fpga/js/opcode.js and 76 other locations - About 1 hr to fix
          section-4-web-server/control-an-fpga/js/opcode.js on lines 52..61
          section-4-web-server/control-an-fpga/js/opcode.js on lines 73..82
          section-4-web-server/control-an-fpga/js/opcode.js on lines 83..92
          section-4-web-server/control-an-fpga/js/opcode.js on lines 104..113
          section-4-web-server/control-an-fpga/js/opcode.js on lines 114..123
          section-4-web-server/control-an-fpga/js/opcode.js on lines 135..144
          section-4-web-server/control-an-fpga/js/opcode.js on lines 145..154
          section-4-web-server/control-an-fpga/js/opcode.js on lines 166..175
          section-4-web-server/control-an-fpga/js/opcode.js on lines 176..185
          section-4-web-server/control-an-fpga/js/opcode.js on lines 197..206
          section-4-web-server/control-an-fpga/js/opcode.js on lines 207..216
          section-4-web-server/control-an-fpga/js/opcode.js on lines 228..237
          section-4-web-server/control-an-fpga/js/opcode.js on lines 238..247
          section-4-web-server/control-an-fpga/js/opcode.js on lines 259..268
          section-4-web-server/control-an-fpga/js/opcode.js on lines 269..278
          section-4-web-server/control-an-fpga/js/opcode.js on lines 303..312
          section-4-web-server/control-an-fpga/js/opcode.js on lines 324..333
          section-4-web-server/control-an-fpga/js/opcode.js on lines 334..343
          section-4-web-server/control-an-fpga/js/opcode.js on lines 355..364
          section-4-web-server/control-an-fpga/js/opcode.js on lines 365..374
          section-4-web-server/control-an-fpga/js/opcode.js on lines 386..395
          section-4-web-server/control-an-fpga/js/opcode.js on lines 396..405
          section-4-web-server/control-an-fpga/js/opcode.js on lines 417..426
          section-4-web-server/control-an-fpga/js/opcode.js on lines 427..436
          section-4-web-server/control-an-fpga/js/opcode.js on lines 448..457
          section-4-web-server/control-an-fpga/js/opcode.js on lines 458..467
          section-4-web-server/control-an-fpga/js/opcode.js on lines 479..488
          section-4-web-server/control-an-fpga/js/opcode.js on lines 489..498
          section-4-web-server/control-an-fpga/js/opcode.js on lines 510..519
          section-4-web-server/control-an-fpga/js/opcode.js on lines 520..529
          section-4-web-server/control-an-fpga/js/opcode.js on lines 541..550
          section-4-web-server/control-an-fpga/js/opcode.js on lines 551..560
          section-4-web-server/control-an-fpga/js/opcode.js on lines 572..581
          section-4-web-server/control-an-fpga/js/opcode.js on lines 582..591
          section-4-web-server/control-an-fpga/js/opcode.js on lines 603..612
          section-4-web-server/control-an-fpga/js/opcode.js on lines 613..622
          section-4-web-server/control-an-fpga/js/opcode.js on lines 644..653
          section-4-web-server/control-an-fpga/js/opcode.js on lines 665..674
          section-4-web-server/control-an-fpga/js/opcode.js on lines 675..684
          section-4-web-server/control-an-fpga/js/opcode.js on lines 696..705
          section-4-web-server/control-an-fpga/js/opcode.js on lines 706..715
          section-4-web-server/control-an-fpga/js/opcode.js on lines 727..736
          section-4-web-server/control-an-fpga/js/opcode.js on lines 737..746
          section-4-web-server/control-an-fpga/js/opcode.js on lines 758..767
          section-4-web-server/control-an-fpga/js/opcode.js on lines 768..777
          section-4-web-server/control-an-fpga/js/opcode.js on lines 802..811
          section-4-web-server/control-an-fpga/js/opcode.js on lines 823..832
          section-4-web-server/control-an-fpga/js/opcode.js on lines 833..842
          section-4-web-server/control-an-fpga/js/opcode.js on lines 854..863
          section-4-web-server/control-an-fpga/js/opcode.js on lines 864..873
          section-4-web-server/control-an-fpga/js/opcode.js on lines 885..894
          section-4-web-server/control-an-fpga/js/opcode.js on lines 895..904
          section-4-web-server/control-an-fpga/js/opcode.js on lines 916..925
          section-4-web-server/control-an-fpga/js/opcode.js on lines 926..935
          section-4-web-server/control-an-fpga/js/opcode.js on lines 947..956
          section-4-web-server/control-an-fpga/js/opcode.js on lines 957..966
          section-4-web-server/control-an-fpga/js/opcode.js on lines 978..987
          section-4-web-server/control-an-fpga/js/opcode.js on lines 988..997
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1009..1018
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1019..1028
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1040..1049
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1050..1059
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1071..1080
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1081..1090
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1102..1111
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1112..1121
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1133..1142
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1143..1152
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1164..1173
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1174..1183
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1195..1204
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1205..1214
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1226..1235
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1236..1245
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1257..1266
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1267..1276

          Duplicated Code

          Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

          Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

          When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

          Tuning

          This issue has a mass of 68.

          We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

          The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

          If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

          See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

          Refactorings

          Further Reading

          Similar blocks of code found in 77 locations. Consider refactoring.
          Open

          function data_in_b_one_2_onmouseout() {
          switch(data_in_b_2_state) {
              case "low":
                  document.getElementById("data_in_b_one_2").style.backgroundColor=white;
                  break;
          Severity: Major
          Found in section-4-web-server/control-an-fpga/js/opcode.js and 76 other locations - About 1 hr to fix
          section-4-web-server/control-an-fpga/js/opcode.js on lines 52..61
          section-4-web-server/control-an-fpga/js/opcode.js on lines 73..82
          section-4-web-server/control-an-fpga/js/opcode.js on lines 83..92
          section-4-web-server/control-an-fpga/js/opcode.js on lines 104..113
          section-4-web-server/control-an-fpga/js/opcode.js on lines 114..123
          section-4-web-server/control-an-fpga/js/opcode.js on lines 135..144
          section-4-web-server/control-an-fpga/js/opcode.js on lines 145..154
          section-4-web-server/control-an-fpga/js/opcode.js on lines 166..175
          section-4-web-server/control-an-fpga/js/opcode.js on lines 176..185
          section-4-web-server/control-an-fpga/js/opcode.js on lines 197..206
          section-4-web-server/control-an-fpga/js/opcode.js on lines 207..216
          section-4-web-server/control-an-fpga/js/opcode.js on lines 228..237
          section-4-web-server/control-an-fpga/js/opcode.js on lines 238..247
          section-4-web-server/control-an-fpga/js/opcode.js on lines 259..268
          section-4-web-server/control-an-fpga/js/opcode.js on lines 269..278
          section-4-web-server/control-an-fpga/js/opcode.js on lines 303..312
          section-4-web-server/control-an-fpga/js/opcode.js on lines 324..333
          section-4-web-server/control-an-fpga/js/opcode.js on lines 334..343
          section-4-web-server/control-an-fpga/js/opcode.js on lines 355..364
          section-4-web-server/control-an-fpga/js/opcode.js on lines 365..374
          section-4-web-server/control-an-fpga/js/opcode.js on lines 386..395
          section-4-web-server/control-an-fpga/js/opcode.js on lines 396..405
          section-4-web-server/control-an-fpga/js/opcode.js on lines 417..426
          section-4-web-server/control-an-fpga/js/opcode.js on lines 427..436
          section-4-web-server/control-an-fpga/js/opcode.js on lines 448..457
          section-4-web-server/control-an-fpga/js/opcode.js on lines 458..467
          section-4-web-server/control-an-fpga/js/opcode.js on lines 479..488
          section-4-web-server/control-an-fpga/js/opcode.js on lines 489..498
          section-4-web-server/control-an-fpga/js/opcode.js on lines 510..519
          section-4-web-server/control-an-fpga/js/opcode.js on lines 520..529
          section-4-web-server/control-an-fpga/js/opcode.js on lines 541..550
          section-4-web-server/control-an-fpga/js/opcode.js on lines 551..560
          section-4-web-server/control-an-fpga/js/opcode.js on lines 572..581
          section-4-web-server/control-an-fpga/js/opcode.js on lines 582..591
          section-4-web-server/control-an-fpga/js/opcode.js on lines 603..612
          section-4-web-server/control-an-fpga/js/opcode.js on lines 613..622
          section-4-web-server/control-an-fpga/js/opcode.js on lines 634..643
          section-4-web-server/control-an-fpga/js/opcode.js on lines 644..653
          section-4-web-server/control-an-fpga/js/opcode.js on lines 665..674
          section-4-web-server/control-an-fpga/js/opcode.js on lines 675..684
          section-4-web-server/control-an-fpga/js/opcode.js on lines 696..705
          section-4-web-server/control-an-fpga/js/opcode.js on lines 706..715
          section-4-web-server/control-an-fpga/js/opcode.js on lines 727..736
          section-4-web-server/control-an-fpga/js/opcode.js on lines 737..746
          section-4-web-server/control-an-fpga/js/opcode.js on lines 758..767
          section-4-web-server/control-an-fpga/js/opcode.js on lines 768..777
          section-4-web-server/control-an-fpga/js/opcode.js on lines 802..811
          section-4-web-server/control-an-fpga/js/opcode.js on lines 823..832
          section-4-web-server/control-an-fpga/js/opcode.js on lines 833..842
          section-4-web-server/control-an-fpga/js/opcode.js on lines 854..863
          section-4-web-server/control-an-fpga/js/opcode.js on lines 864..873
          section-4-web-server/control-an-fpga/js/opcode.js on lines 885..894
          section-4-web-server/control-an-fpga/js/opcode.js on lines 895..904
          section-4-web-server/control-an-fpga/js/opcode.js on lines 916..925
          section-4-web-server/control-an-fpga/js/opcode.js on lines 926..935
          section-4-web-server/control-an-fpga/js/opcode.js on lines 947..956
          section-4-web-server/control-an-fpga/js/opcode.js on lines 957..966
          section-4-web-server/control-an-fpga/js/opcode.js on lines 978..987
          section-4-web-server/control-an-fpga/js/opcode.js on lines 988..997
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1009..1018
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1019..1028
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1040..1049
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1050..1059
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1071..1080
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1081..1090
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1102..1111
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1133..1142
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1143..1152
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1164..1173
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1174..1183
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1195..1204
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1205..1214
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1226..1235
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1236..1245
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1257..1266
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1267..1276

          Duplicated Code

          Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

          Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

          When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

          Tuning

          This issue has a mass of 68.

          We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

          The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

          If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

          See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

          Refactorings

          Further Reading

          Similar blocks of code found in 77 locations. Consider refactoring.
          Open

          function data_in_a_one_6_onmouseout() {
              switch(data_in_a_6_state) {
                  case "low":
                      document.getElementById("data_in_a_one_6").style.backgroundColor=white;
                      break;
          Severity: Major
          Found in section-4-web-server/control-an-fpga/js/opcode.js and 76 other locations - About 1 hr to fix
          section-4-web-server/control-an-fpga/js/opcode.js on lines 52..61
          section-4-web-server/control-an-fpga/js/opcode.js on lines 73..82
          section-4-web-server/control-an-fpga/js/opcode.js on lines 83..92
          section-4-web-server/control-an-fpga/js/opcode.js on lines 104..113
          section-4-web-server/control-an-fpga/js/opcode.js on lines 114..123
          section-4-web-server/control-an-fpga/js/opcode.js on lines 135..144
          section-4-web-server/control-an-fpga/js/opcode.js on lines 145..154
          section-4-web-server/control-an-fpga/js/opcode.js on lines 166..175
          section-4-web-server/control-an-fpga/js/opcode.js on lines 176..185
          section-4-web-server/control-an-fpga/js/opcode.js on lines 197..206
          section-4-web-server/control-an-fpga/js/opcode.js on lines 207..216
          section-4-web-server/control-an-fpga/js/opcode.js on lines 228..237
          section-4-web-server/control-an-fpga/js/opcode.js on lines 238..247
          section-4-web-server/control-an-fpga/js/opcode.js on lines 259..268
          section-4-web-server/control-an-fpga/js/opcode.js on lines 269..278
          section-4-web-server/control-an-fpga/js/opcode.js on lines 303..312
          section-4-web-server/control-an-fpga/js/opcode.js on lines 324..333
          section-4-web-server/control-an-fpga/js/opcode.js on lines 334..343
          section-4-web-server/control-an-fpga/js/opcode.js on lines 355..364
          section-4-web-server/control-an-fpga/js/opcode.js on lines 386..395
          section-4-web-server/control-an-fpga/js/opcode.js on lines 396..405
          section-4-web-server/control-an-fpga/js/opcode.js on lines 417..426
          section-4-web-server/control-an-fpga/js/opcode.js on lines 427..436
          section-4-web-server/control-an-fpga/js/opcode.js on lines 448..457
          section-4-web-server/control-an-fpga/js/opcode.js on lines 458..467
          section-4-web-server/control-an-fpga/js/opcode.js on lines 479..488
          section-4-web-server/control-an-fpga/js/opcode.js on lines 489..498
          section-4-web-server/control-an-fpga/js/opcode.js on lines 510..519
          section-4-web-server/control-an-fpga/js/opcode.js on lines 520..529
          section-4-web-server/control-an-fpga/js/opcode.js on lines 541..550
          section-4-web-server/control-an-fpga/js/opcode.js on lines 551..560
          section-4-web-server/control-an-fpga/js/opcode.js on lines 572..581
          section-4-web-server/control-an-fpga/js/opcode.js on lines 582..591
          section-4-web-server/control-an-fpga/js/opcode.js on lines 603..612
          section-4-web-server/control-an-fpga/js/opcode.js on lines 613..622
          section-4-web-server/control-an-fpga/js/opcode.js on lines 634..643
          section-4-web-server/control-an-fpga/js/opcode.js on lines 644..653
          section-4-web-server/control-an-fpga/js/opcode.js on lines 665..674
          section-4-web-server/control-an-fpga/js/opcode.js on lines 675..684
          section-4-web-server/control-an-fpga/js/opcode.js on lines 696..705
          section-4-web-server/control-an-fpga/js/opcode.js on lines 706..715
          section-4-web-server/control-an-fpga/js/opcode.js on lines 727..736
          section-4-web-server/control-an-fpga/js/opcode.js on lines 737..746
          section-4-web-server/control-an-fpga/js/opcode.js on lines 758..767
          section-4-web-server/control-an-fpga/js/opcode.js on lines 768..777
          section-4-web-server/control-an-fpga/js/opcode.js on lines 802..811
          section-4-web-server/control-an-fpga/js/opcode.js on lines 823..832
          section-4-web-server/control-an-fpga/js/opcode.js on lines 833..842
          section-4-web-server/control-an-fpga/js/opcode.js on lines 854..863
          section-4-web-server/control-an-fpga/js/opcode.js on lines 864..873
          section-4-web-server/control-an-fpga/js/opcode.js on lines 885..894
          section-4-web-server/control-an-fpga/js/opcode.js on lines 895..904
          section-4-web-server/control-an-fpga/js/opcode.js on lines 916..925
          section-4-web-server/control-an-fpga/js/opcode.js on lines 926..935
          section-4-web-server/control-an-fpga/js/opcode.js on lines 947..956
          section-4-web-server/control-an-fpga/js/opcode.js on lines 957..966
          section-4-web-server/control-an-fpga/js/opcode.js on lines 978..987
          section-4-web-server/control-an-fpga/js/opcode.js on lines 988..997
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1009..1018
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1019..1028
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1040..1049
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1050..1059
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1071..1080
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1081..1090
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1102..1111
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1112..1121
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1133..1142
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1143..1152
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1164..1173
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1174..1183
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1195..1204
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1205..1214
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1226..1235
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1236..1245
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1257..1266
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1267..1276

          Duplicated Code

          Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

          Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

          When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

          Tuning

          This issue has a mass of 68.

          We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

          The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

          If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

          See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

          Refactorings

          Further Reading

          Similar blocks of code found in 77 locations. Consider refactoring.
          Open

          function data_in_a_one_0_onmouseover() {
            switch(data_in_a_0_state) {
                case "low":
                    document.getElementById("data_in_a_one_0").style.backgroundColor=grey;
                    break;
          Severity: Major
          Found in section-4-web-server/control-an-fpga/js/opcode.js and 76 other locations - About 1 hr to fix
          section-4-web-server/control-an-fpga/js/opcode.js on lines 52..61
          section-4-web-server/control-an-fpga/js/opcode.js on lines 73..82
          section-4-web-server/control-an-fpga/js/opcode.js on lines 83..92
          section-4-web-server/control-an-fpga/js/opcode.js on lines 104..113
          section-4-web-server/control-an-fpga/js/opcode.js on lines 114..123
          section-4-web-server/control-an-fpga/js/opcode.js on lines 135..144
          section-4-web-server/control-an-fpga/js/opcode.js on lines 145..154
          section-4-web-server/control-an-fpga/js/opcode.js on lines 166..175
          section-4-web-server/control-an-fpga/js/opcode.js on lines 176..185
          section-4-web-server/control-an-fpga/js/opcode.js on lines 197..206
          section-4-web-server/control-an-fpga/js/opcode.js on lines 207..216
          section-4-web-server/control-an-fpga/js/opcode.js on lines 228..237
          section-4-web-server/control-an-fpga/js/opcode.js on lines 238..247
          section-4-web-server/control-an-fpga/js/opcode.js on lines 259..268
          section-4-web-server/control-an-fpga/js/opcode.js on lines 269..278
          section-4-web-server/control-an-fpga/js/opcode.js on lines 303..312
          section-4-web-server/control-an-fpga/js/opcode.js on lines 324..333
          section-4-web-server/control-an-fpga/js/opcode.js on lines 334..343
          section-4-web-server/control-an-fpga/js/opcode.js on lines 355..364
          section-4-web-server/control-an-fpga/js/opcode.js on lines 365..374
          section-4-web-server/control-an-fpga/js/opcode.js on lines 386..395
          section-4-web-server/control-an-fpga/js/opcode.js on lines 396..405
          section-4-web-server/control-an-fpga/js/opcode.js on lines 417..426
          section-4-web-server/control-an-fpga/js/opcode.js on lines 427..436
          section-4-web-server/control-an-fpga/js/opcode.js on lines 448..457
          section-4-web-server/control-an-fpga/js/opcode.js on lines 458..467
          section-4-web-server/control-an-fpga/js/opcode.js on lines 479..488
          section-4-web-server/control-an-fpga/js/opcode.js on lines 489..498
          section-4-web-server/control-an-fpga/js/opcode.js on lines 510..519
          section-4-web-server/control-an-fpga/js/opcode.js on lines 520..529
          section-4-web-server/control-an-fpga/js/opcode.js on lines 541..550
          section-4-web-server/control-an-fpga/js/opcode.js on lines 551..560
          section-4-web-server/control-an-fpga/js/opcode.js on lines 572..581
          section-4-web-server/control-an-fpga/js/opcode.js on lines 582..591
          section-4-web-server/control-an-fpga/js/opcode.js on lines 603..612
          section-4-web-server/control-an-fpga/js/opcode.js on lines 613..622
          section-4-web-server/control-an-fpga/js/opcode.js on lines 634..643
          section-4-web-server/control-an-fpga/js/opcode.js on lines 644..653
          section-4-web-server/control-an-fpga/js/opcode.js on lines 665..674
          section-4-web-server/control-an-fpga/js/opcode.js on lines 675..684
          section-4-web-server/control-an-fpga/js/opcode.js on lines 696..705
          section-4-web-server/control-an-fpga/js/opcode.js on lines 706..715
          section-4-web-server/control-an-fpga/js/opcode.js on lines 737..746
          section-4-web-server/control-an-fpga/js/opcode.js on lines 758..767
          section-4-web-server/control-an-fpga/js/opcode.js on lines 768..777
          section-4-web-server/control-an-fpga/js/opcode.js on lines 802..811
          section-4-web-server/control-an-fpga/js/opcode.js on lines 823..832
          section-4-web-server/control-an-fpga/js/opcode.js on lines 833..842
          section-4-web-server/control-an-fpga/js/opcode.js on lines 854..863
          section-4-web-server/control-an-fpga/js/opcode.js on lines 864..873
          section-4-web-server/control-an-fpga/js/opcode.js on lines 885..894
          section-4-web-server/control-an-fpga/js/opcode.js on lines 895..904
          section-4-web-server/control-an-fpga/js/opcode.js on lines 916..925
          section-4-web-server/control-an-fpga/js/opcode.js on lines 926..935
          section-4-web-server/control-an-fpga/js/opcode.js on lines 947..956
          section-4-web-server/control-an-fpga/js/opcode.js on lines 957..966
          section-4-web-server/control-an-fpga/js/opcode.js on lines 978..987
          section-4-web-server/control-an-fpga/js/opcode.js on lines 988..997
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1009..1018
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1019..1028
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1040..1049
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1050..1059
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1071..1080
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1081..1090
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1102..1111
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1112..1121
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1133..1142
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1143..1152
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1164..1173
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1174..1183
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1195..1204
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1205..1214
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1226..1235
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1236..1245
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1257..1266
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1267..1276

          Duplicated Code

          Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

          Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

          When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

          Tuning

          This issue has a mass of 68.

          We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

          The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

          If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

          See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

          Refactorings

          Further Reading

          Similar blocks of code found in 77 locations. Consider refactoring.
          Open

          function data_in_b_one_3_onmouseover() {
          switch(data_in_b_3_state) {
              case "low":
                  document.getElementById("data_in_b_one_3").style.backgroundColor=grey;
                  break;
          Severity: Major
          Found in section-4-web-server/control-an-fpga/js/opcode.js and 76 other locations - About 1 hr to fix
          section-4-web-server/control-an-fpga/js/opcode.js on lines 52..61
          section-4-web-server/control-an-fpga/js/opcode.js on lines 73..82
          section-4-web-server/control-an-fpga/js/opcode.js on lines 83..92
          section-4-web-server/control-an-fpga/js/opcode.js on lines 104..113
          section-4-web-server/control-an-fpga/js/opcode.js on lines 114..123
          section-4-web-server/control-an-fpga/js/opcode.js on lines 135..144
          section-4-web-server/control-an-fpga/js/opcode.js on lines 145..154
          section-4-web-server/control-an-fpga/js/opcode.js on lines 166..175
          section-4-web-server/control-an-fpga/js/opcode.js on lines 176..185
          section-4-web-server/control-an-fpga/js/opcode.js on lines 197..206
          section-4-web-server/control-an-fpga/js/opcode.js on lines 207..216
          section-4-web-server/control-an-fpga/js/opcode.js on lines 228..237
          section-4-web-server/control-an-fpga/js/opcode.js on lines 238..247
          section-4-web-server/control-an-fpga/js/opcode.js on lines 259..268
          section-4-web-server/control-an-fpga/js/opcode.js on lines 269..278
          section-4-web-server/control-an-fpga/js/opcode.js on lines 303..312
          section-4-web-server/control-an-fpga/js/opcode.js on lines 324..333
          section-4-web-server/control-an-fpga/js/opcode.js on lines 334..343
          section-4-web-server/control-an-fpga/js/opcode.js on lines 355..364
          section-4-web-server/control-an-fpga/js/opcode.js on lines 365..374
          section-4-web-server/control-an-fpga/js/opcode.js on lines 386..395
          section-4-web-server/control-an-fpga/js/opcode.js on lines 396..405
          section-4-web-server/control-an-fpga/js/opcode.js on lines 417..426
          section-4-web-server/control-an-fpga/js/opcode.js on lines 427..436
          section-4-web-server/control-an-fpga/js/opcode.js on lines 448..457
          section-4-web-server/control-an-fpga/js/opcode.js on lines 458..467
          section-4-web-server/control-an-fpga/js/opcode.js on lines 479..488
          section-4-web-server/control-an-fpga/js/opcode.js on lines 489..498
          section-4-web-server/control-an-fpga/js/opcode.js on lines 510..519
          section-4-web-server/control-an-fpga/js/opcode.js on lines 520..529
          section-4-web-server/control-an-fpga/js/opcode.js on lines 541..550
          section-4-web-server/control-an-fpga/js/opcode.js on lines 551..560
          section-4-web-server/control-an-fpga/js/opcode.js on lines 572..581
          section-4-web-server/control-an-fpga/js/opcode.js on lines 582..591
          section-4-web-server/control-an-fpga/js/opcode.js on lines 603..612
          section-4-web-server/control-an-fpga/js/opcode.js on lines 613..622
          section-4-web-server/control-an-fpga/js/opcode.js on lines 634..643
          section-4-web-server/control-an-fpga/js/opcode.js on lines 644..653
          section-4-web-server/control-an-fpga/js/opcode.js on lines 665..674
          section-4-web-server/control-an-fpga/js/opcode.js on lines 675..684
          section-4-web-server/control-an-fpga/js/opcode.js on lines 696..705
          section-4-web-server/control-an-fpga/js/opcode.js on lines 706..715
          section-4-web-server/control-an-fpga/js/opcode.js on lines 727..736
          section-4-web-server/control-an-fpga/js/opcode.js on lines 737..746
          section-4-web-server/control-an-fpga/js/opcode.js on lines 758..767
          section-4-web-server/control-an-fpga/js/opcode.js on lines 768..777
          section-4-web-server/control-an-fpga/js/opcode.js on lines 802..811
          section-4-web-server/control-an-fpga/js/opcode.js on lines 823..832
          section-4-web-server/control-an-fpga/js/opcode.js on lines 833..842
          section-4-web-server/control-an-fpga/js/opcode.js on lines 854..863
          section-4-web-server/control-an-fpga/js/opcode.js on lines 864..873
          section-4-web-server/control-an-fpga/js/opcode.js on lines 885..894
          section-4-web-server/control-an-fpga/js/opcode.js on lines 895..904
          section-4-web-server/control-an-fpga/js/opcode.js on lines 916..925
          section-4-web-server/control-an-fpga/js/opcode.js on lines 926..935
          section-4-web-server/control-an-fpga/js/opcode.js on lines 947..956
          section-4-web-server/control-an-fpga/js/opcode.js on lines 957..966
          section-4-web-server/control-an-fpga/js/opcode.js on lines 978..987
          section-4-web-server/control-an-fpga/js/opcode.js on lines 988..997
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1009..1018
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1019..1028
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1050..1059
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1071..1080
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1081..1090
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1102..1111
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1112..1121
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1133..1142
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1143..1152
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1164..1173
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1174..1183
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1195..1204
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1205..1214
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1226..1235
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1236..1245
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1257..1266
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1267..1276

          Duplicated Code

          Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

          Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

          When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

          Tuning

          This issue has a mass of 68.

          We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

          The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

          If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

          See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

          Refactorings

          Further Reading

          Similar blocks of code found in 77 locations. Consider refactoring.
          Open

          function opcode_zero_3_onmouseout() {
              switch(opcode_3_state) {
                  case "low":
                      document.getElementById("opcode_zero_3").style.backgroundColor=lightgreen;
                      break;
          Severity: Major
          Found in section-4-web-server/control-an-fpga/js/opcode.js and 76 other locations - About 1 hr to fix
          section-4-web-server/control-an-fpga/js/opcode.js on lines 52..61
          section-4-web-server/control-an-fpga/js/opcode.js on lines 73..82
          section-4-web-server/control-an-fpga/js/opcode.js on lines 104..113
          section-4-web-server/control-an-fpga/js/opcode.js on lines 114..123
          section-4-web-server/control-an-fpga/js/opcode.js on lines 135..144
          section-4-web-server/control-an-fpga/js/opcode.js on lines 145..154
          section-4-web-server/control-an-fpga/js/opcode.js on lines 166..175
          section-4-web-server/control-an-fpga/js/opcode.js on lines 176..185
          section-4-web-server/control-an-fpga/js/opcode.js on lines 197..206
          section-4-web-server/control-an-fpga/js/opcode.js on lines 207..216
          section-4-web-server/control-an-fpga/js/opcode.js on lines 228..237
          section-4-web-server/control-an-fpga/js/opcode.js on lines 238..247
          section-4-web-server/control-an-fpga/js/opcode.js on lines 259..268
          section-4-web-server/control-an-fpga/js/opcode.js on lines 269..278
          section-4-web-server/control-an-fpga/js/opcode.js on lines 303..312
          section-4-web-server/control-an-fpga/js/opcode.js on lines 324..333
          section-4-web-server/control-an-fpga/js/opcode.js on lines 334..343
          section-4-web-server/control-an-fpga/js/opcode.js on lines 355..364
          section-4-web-server/control-an-fpga/js/opcode.js on lines 365..374
          section-4-web-server/control-an-fpga/js/opcode.js on lines 386..395
          section-4-web-server/control-an-fpga/js/opcode.js on lines 396..405
          section-4-web-server/control-an-fpga/js/opcode.js on lines 417..426
          section-4-web-server/control-an-fpga/js/opcode.js on lines 427..436
          section-4-web-server/control-an-fpga/js/opcode.js on lines 448..457
          section-4-web-server/control-an-fpga/js/opcode.js on lines 458..467
          section-4-web-server/control-an-fpga/js/opcode.js on lines 479..488
          section-4-web-server/control-an-fpga/js/opcode.js on lines 489..498
          section-4-web-server/control-an-fpga/js/opcode.js on lines 510..519
          section-4-web-server/control-an-fpga/js/opcode.js on lines 520..529
          section-4-web-server/control-an-fpga/js/opcode.js on lines 541..550
          section-4-web-server/control-an-fpga/js/opcode.js on lines 551..560
          section-4-web-server/control-an-fpga/js/opcode.js on lines 572..581
          section-4-web-server/control-an-fpga/js/opcode.js on lines 582..591
          section-4-web-server/control-an-fpga/js/opcode.js on lines 603..612
          section-4-web-server/control-an-fpga/js/opcode.js on lines 613..622
          section-4-web-server/control-an-fpga/js/opcode.js on lines 634..643
          section-4-web-server/control-an-fpga/js/opcode.js on lines 644..653
          section-4-web-server/control-an-fpga/js/opcode.js on lines 665..674
          section-4-web-server/control-an-fpga/js/opcode.js on lines 675..684
          section-4-web-server/control-an-fpga/js/opcode.js on lines 696..705
          section-4-web-server/control-an-fpga/js/opcode.js on lines 706..715
          section-4-web-server/control-an-fpga/js/opcode.js on lines 727..736
          section-4-web-server/control-an-fpga/js/opcode.js on lines 737..746
          section-4-web-server/control-an-fpga/js/opcode.js on lines 758..767
          section-4-web-server/control-an-fpga/js/opcode.js on lines 768..777
          section-4-web-server/control-an-fpga/js/opcode.js on lines 802..811
          section-4-web-server/control-an-fpga/js/opcode.js on lines 823..832
          section-4-web-server/control-an-fpga/js/opcode.js on lines 833..842
          section-4-web-server/control-an-fpga/js/opcode.js on lines 854..863
          section-4-web-server/control-an-fpga/js/opcode.js on lines 864..873
          section-4-web-server/control-an-fpga/js/opcode.js on lines 885..894
          section-4-web-server/control-an-fpga/js/opcode.js on lines 895..904
          section-4-web-server/control-an-fpga/js/opcode.js on lines 916..925
          section-4-web-server/control-an-fpga/js/opcode.js on lines 926..935
          section-4-web-server/control-an-fpga/js/opcode.js on lines 947..956
          section-4-web-server/control-an-fpga/js/opcode.js on lines 957..966
          section-4-web-server/control-an-fpga/js/opcode.js on lines 978..987
          section-4-web-server/control-an-fpga/js/opcode.js on lines 988..997
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1009..1018
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1019..1028
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1040..1049
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1050..1059
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1071..1080
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1081..1090
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1102..1111
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1112..1121
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1133..1142
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1143..1152
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1164..1173
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1174..1183
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1195..1204
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1205..1214
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1226..1235
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1236..1245
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1257..1266
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1267..1276

          Duplicated Code

          Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

          Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

          When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

          Tuning

          This issue has a mass of 68.

          We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

          The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

          If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

          See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

          Refactorings

          Further Reading

          Similar blocks of code found in 77 locations. Consider refactoring.
          Open

          function opcode_zero_0_onmouseover() {
              switch(opcode_0_state) {
                  case "low":
                      document.getElementById("opcode_zero_0").style.backgroundColor=lightgreen;
                      break;
          Severity: Major
          Found in section-4-web-server/control-an-fpga/js/opcode.js and 76 other locations - About 1 hr to fix
          section-4-web-server/control-an-fpga/js/opcode.js on lines 52..61
          section-4-web-server/control-an-fpga/js/opcode.js on lines 73..82
          section-4-web-server/control-an-fpga/js/opcode.js on lines 83..92
          section-4-web-server/control-an-fpga/js/opcode.js on lines 104..113
          section-4-web-server/control-an-fpga/js/opcode.js on lines 114..123
          section-4-web-server/control-an-fpga/js/opcode.js on lines 135..144
          section-4-web-server/control-an-fpga/js/opcode.js on lines 145..154
          section-4-web-server/control-an-fpga/js/opcode.js on lines 166..175
          section-4-web-server/control-an-fpga/js/opcode.js on lines 176..185
          section-4-web-server/control-an-fpga/js/opcode.js on lines 197..206
          section-4-web-server/control-an-fpga/js/opcode.js on lines 207..216
          section-4-web-server/control-an-fpga/js/opcode.js on lines 228..237
          section-4-web-server/control-an-fpga/js/opcode.js on lines 238..247
          section-4-web-server/control-an-fpga/js/opcode.js on lines 269..278
          section-4-web-server/control-an-fpga/js/opcode.js on lines 303..312
          section-4-web-server/control-an-fpga/js/opcode.js on lines 324..333
          section-4-web-server/control-an-fpga/js/opcode.js on lines 334..343
          section-4-web-server/control-an-fpga/js/opcode.js on lines 355..364
          section-4-web-server/control-an-fpga/js/opcode.js on lines 365..374
          section-4-web-server/control-an-fpga/js/opcode.js on lines 386..395
          section-4-web-server/control-an-fpga/js/opcode.js on lines 396..405
          section-4-web-server/control-an-fpga/js/opcode.js on lines 417..426
          section-4-web-server/control-an-fpga/js/opcode.js on lines 427..436
          section-4-web-server/control-an-fpga/js/opcode.js on lines 448..457
          section-4-web-server/control-an-fpga/js/opcode.js on lines 458..467
          section-4-web-server/control-an-fpga/js/opcode.js on lines 479..488
          section-4-web-server/control-an-fpga/js/opcode.js on lines 489..498
          section-4-web-server/control-an-fpga/js/opcode.js on lines 510..519
          section-4-web-server/control-an-fpga/js/opcode.js on lines 520..529
          section-4-web-server/control-an-fpga/js/opcode.js on lines 541..550
          section-4-web-server/control-an-fpga/js/opcode.js on lines 551..560
          section-4-web-server/control-an-fpga/js/opcode.js on lines 572..581
          section-4-web-server/control-an-fpga/js/opcode.js on lines 582..591
          section-4-web-server/control-an-fpga/js/opcode.js on lines 603..612
          section-4-web-server/control-an-fpga/js/opcode.js on lines 613..622
          section-4-web-server/control-an-fpga/js/opcode.js on lines 634..643
          section-4-web-server/control-an-fpga/js/opcode.js on lines 644..653
          section-4-web-server/control-an-fpga/js/opcode.js on lines 665..674
          section-4-web-server/control-an-fpga/js/opcode.js on lines 675..684
          section-4-web-server/control-an-fpga/js/opcode.js on lines 696..705
          section-4-web-server/control-an-fpga/js/opcode.js on lines 706..715
          section-4-web-server/control-an-fpga/js/opcode.js on lines 727..736
          section-4-web-server/control-an-fpga/js/opcode.js on lines 737..746
          section-4-web-server/control-an-fpga/js/opcode.js on lines 758..767
          section-4-web-server/control-an-fpga/js/opcode.js on lines 768..777
          section-4-web-server/control-an-fpga/js/opcode.js on lines 802..811
          section-4-web-server/control-an-fpga/js/opcode.js on lines 823..832
          section-4-web-server/control-an-fpga/js/opcode.js on lines 833..842
          section-4-web-server/control-an-fpga/js/opcode.js on lines 854..863
          section-4-web-server/control-an-fpga/js/opcode.js on lines 864..873
          section-4-web-server/control-an-fpga/js/opcode.js on lines 885..894
          section-4-web-server/control-an-fpga/js/opcode.js on lines 895..904
          section-4-web-server/control-an-fpga/js/opcode.js on lines 916..925
          section-4-web-server/control-an-fpga/js/opcode.js on lines 926..935
          section-4-web-server/control-an-fpga/js/opcode.js on lines 947..956
          section-4-web-server/control-an-fpga/js/opcode.js on lines 957..966
          section-4-web-server/control-an-fpga/js/opcode.js on lines 978..987
          section-4-web-server/control-an-fpga/js/opcode.js on lines 988..997
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1009..1018
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1019..1028
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1040..1049
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1050..1059
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1071..1080
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1081..1090
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1102..1111
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1112..1121
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1133..1142
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1143..1152
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1164..1173
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1174..1183
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1195..1204
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1205..1214
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1226..1235
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1236..1245
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1257..1266
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1267..1276

          Duplicated Code

          Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

          Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

          When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

          Tuning

          This issue has a mass of 68.

          We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

          The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

          If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

          See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

          Refactorings

          Further Reading

          Similar blocks of code found in 77 locations. Consider refactoring.
          Open

          function data_in_a_zero_3_onmouseout() {
            switch(data_in_a_3_state) {
                case "low":
                    document.getElementById("data_in_a_zero_3").style.backgroundColor=lightgreen;
                    break;
          Severity: Major
          Found in section-4-web-server/control-an-fpga/js/opcode.js and 76 other locations - About 1 hr to fix
          section-4-web-server/control-an-fpga/js/opcode.js on lines 52..61
          section-4-web-server/control-an-fpga/js/opcode.js on lines 73..82
          section-4-web-server/control-an-fpga/js/opcode.js on lines 83..92
          section-4-web-server/control-an-fpga/js/opcode.js on lines 104..113
          section-4-web-server/control-an-fpga/js/opcode.js on lines 114..123
          section-4-web-server/control-an-fpga/js/opcode.js on lines 135..144
          section-4-web-server/control-an-fpga/js/opcode.js on lines 145..154
          section-4-web-server/control-an-fpga/js/opcode.js on lines 166..175
          section-4-web-server/control-an-fpga/js/opcode.js on lines 176..185
          section-4-web-server/control-an-fpga/js/opcode.js on lines 197..206
          section-4-web-server/control-an-fpga/js/opcode.js on lines 207..216
          section-4-web-server/control-an-fpga/js/opcode.js on lines 228..237
          section-4-web-server/control-an-fpga/js/opcode.js on lines 238..247
          section-4-web-server/control-an-fpga/js/opcode.js on lines 259..268
          section-4-web-server/control-an-fpga/js/opcode.js on lines 269..278
          section-4-web-server/control-an-fpga/js/opcode.js on lines 303..312
          section-4-web-server/control-an-fpga/js/opcode.js on lines 324..333
          section-4-web-server/control-an-fpga/js/opcode.js on lines 334..343
          section-4-web-server/control-an-fpga/js/opcode.js on lines 355..364
          section-4-web-server/control-an-fpga/js/opcode.js on lines 365..374
          section-4-web-server/control-an-fpga/js/opcode.js on lines 386..395
          section-4-web-server/control-an-fpga/js/opcode.js on lines 396..405
          section-4-web-server/control-an-fpga/js/opcode.js on lines 417..426
          section-4-web-server/control-an-fpga/js/opcode.js on lines 427..436
          section-4-web-server/control-an-fpga/js/opcode.js on lines 448..457
          section-4-web-server/control-an-fpga/js/opcode.js on lines 458..467
          section-4-web-server/control-an-fpga/js/opcode.js on lines 479..488
          section-4-web-server/control-an-fpga/js/opcode.js on lines 489..498
          section-4-web-server/control-an-fpga/js/opcode.js on lines 510..519
          section-4-web-server/control-an-fpga/js/opcode.js on lines 520..529
          section-4-web-server/control-an-fpga/js/opcode.js on lines 541..550
          section-4-web-server/control-an-fpga/js/opcode.js on lines 551..560
          section-4-web-server/control-an-fpga/js/opcode.js on lines 572..581
          section-4-web-server/control-an-fpga/js/opcode.js on lines 603..612
          section-4-web-server/control-an-fpga/js/opcode.js on lines 613..622
          section-4-web-server/control-an-fpga/js/opcode.js on lines 634..643
          section-4-web-server/control-an-fpga/js/opcode.js on lines 644..653
          section-4-web-server/control-an-fpga/js/opcode.js on lines 665..674
          section-4-web-server/control-an-fpga/js/opcode.js on lines 675..684
          section-4-web-server/control-an-fpga/js/opcode.js on lines 696..705
          section-4-web-server/control-an-fpga/js/opcode.js on lines 706..715
          section-4-web-server/control-an-fpga/js/opcode.js on lines 727..736
          section-4-web-server/control-an-fpga/js/opcode.js on lines 737..746
          section-4-web-server/control-an-fpga/js/opcode.js on lines 758..767
          section-4-web-server/control-an-fpga/js/opcode.js on lines 768..777
          section-4-web-server/control-an-fpga/js/opcode.js on lines 802..811
          section-4-web-server/control-an-fpga/js/opcode.js on lines 823..832
          section-4-web-server/control-an-fpga/js/opcode.js on lines 833..842
          section-4-web-server/control-an-fpga/js/opcode.js on lines 854..863
          section-4-web-server/control-an-fpga/js/opcode.js on lines 864..873
          section-4-web-server/control-an-fpga/js/opcode.js on lines 885..894
          section-4-web-server/control-an-fpga/js/opcode.js on lines 895..904
          section-4-web-server/control-an-fpga/js/opcode.js on lines 916..925
          section-4-web-server/control-an-fpga/js/opcode.js on lines 926..935
          section-4-web-server/control-an-fpga/js/opcode.js on lines 947..956
          section-4-web-server/control-an-fpga/js/opcode.js on lines 957..966
          section-4-web-server/control-an-fpga/js/opcode.js on lines 978..987
          section-4-web-server/control-an-fpga/js/opcode.js on lines 988..997
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1009..1018
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1019..1028
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1040..1049
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1050..1059
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1071..1080
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1081..1090
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1102..1111
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1112..1121
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1133..1142
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1143..1152
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1164..1173
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1174..1183
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1195..1204
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1205..1214
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1226..1235
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1236..1245
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1257..1266
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1267..1276

          Duplicated Code

          Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

          Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

          When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

          Tuning

          This issue has a mass of 68.

          We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

          The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

          If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

          See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

          Refactorings

          Further Reading

          Similar blocks of code found in 77 locations. Consider refactoring.
          Open

          function data_in_a_one_2_onmouseover() {
            switch(data_in_a_2_state) {
                case "low":
                    document.getElementById("data_in_a_one_2").style.backgroundColor=grey;
                    break;
          Severity: Major
          Found in section-4-web-server/control-an-fpga/js/opcode.js and 76 other locations - About 1 hr to fix
          section-4-web-server/control-an-fpga/js/opcode.js on lines 52..61
          section-4-web-server/control-an-fpga/js/opcode.js on lines 73..82
          section-4-web-server/control-an-fpga/js/opcode.js on lines 83..92
          section-4-web-server/control-an-fpga/js/opcode.js on lines 104..113
          section-4-web-server/control-an-fpga/js/opcode.js on lines 114..123
          section-4-web-server/control-an-fpga/js/opcode.js on lines 135..144
          section-4-web-server/control-an-fpga/js/opcode.js on lines 145..154
          section-4-web-server/control-an-fpga/js/opcode.js on lines 166..175
          section-4-web-server/control-an-fpga/js/opcode.js on lines 176..185
          section-4-web-server/control-an-fpga/js/opcode.js on lines 197..206
          section-4-web-server/control-an-fpga/js/opcode.js on lines 207..216
          section-4-web-server/control-an-fpga/js/opcode.js on lines 228..237
          section-4-web-server/control-an-fpga/js/opcode.js on lines 238..247
          section-4-web-server/control-an-fpga/js/opcode.js on lines 259..268
          section-4-web-server/control-an-fpga/js/opcode.js on lines 269..278
          section-4-web-server/control-an-fpga/js/opcode.js on lines 303..312
          section-4-web-server/control-an-fpga/js/opcode.js on lines 324..333
          section-4-web-server/control-an-fpga/js/opcode.js on lines 334..343
          section-4-web-server/control-an-fpga/js/opcode.js on lines 355..364
          section-4-web-server/control-an-fpga/js/opcode.js on lines 365..374
          section-4-web-server/control-an-fpga/js/opcode.js on lines 386..395
          section-4-web-server/control-an-fpga/js/opcode.js on lines 396..405
          section-4-web-server/control-an-fpga/js/opcode.js on lines 417..426
          section-4-web-server/control-an-fpga/js/opcode.js on lines 427..436
          section-4-web-server/control-an-fpga/js/opcode.js on lines 448..457
          section-4-web-server/control-an-fpga/js/opcode.js on lines 458..467
          section-4-web-server/control-an-fpga/js/opcode.js on lines 479..488
          section-4-web-server/control-an-fpga/js/opcode.js on lines 489..498
          section-4-web-server/control-an-fpga/js/opcode.js on lines 510..519
          section-4-web-server/control-an-fpga/js/opcode.js on lines 520..529
          section-4-web-server/control-an-fpga/js/opcode.js on lines 541..550
          section-4-web-server/control-an-fpga/js/opcode.js on lines 551..560
          section-4-web-server/control-an-fpga/js/opcode.js on lines 572..581
          section-4-web-server/control-an-fpga/js/opcode.js on lines 582..591
          section-4-web-server/control-an-fpga/js/opcode.js on lines 613..622
          section-4-web-server/control-an-fpga/js/opcode.js on lines 634..643
          section-4-web-server/control-an-fpga/js/opcode.js on lines 644..653
          section-4-web-server/control-an-fpga/js/opcode.js on lines 665..674
          section-4-web-server/control-an-fpga/js/opcode.js on lines 675..684
          section-4-web-server/control-an-fpga/js/opcode.js on lines 696..705
          section-4-web-server/control-an-fpga/js/opcode.js on lines 706..715
          section-4-web-server/control-an-fpga/js/opcode.js on lines 727..736
          section-4-web-server/control-an-fpga/js/opcode.js on lines 737..746
          section-4-web-server/control-an-fpga/js/opcode.js on lines 758..767
          section-4-web-server/control-an-fpga/js/opcode.js on lines 768..777
          section-4-web-server/control-an-fpga/js/opcode.js on lines 802..811
          section-4-web-server/control-an-fpga/js/opcode.js on lines 823..832
          section-4-web-server/control-an-fpga/js/opcode.js on lines 833..842
          section-4-web-server/control-an-fpga/js/opcode.js on lines 854..863
          section-4-web-server/control-an-fpga/js/opcode.js on lines 864..873
          section-4-web-server/control-an-fpga/js/opcode.js on lines 885..894
          section-4-web-server/control-an-fpga/js/opcode.js on lines 895..904
          section-4-web-server/control-an-fpga/js/opcode.js on lines 916..925
          section-4-web-server/control-an-fpga/js/opcode.js on lines 926..935
          section-4-web-server/control-an-fpga/js/opcode.js on lines 947..956
          section-4-web-server/control-an-fpga/js/opcode.js on lines 957..966
          section-4-web-server/control-an-fpga/js/opcode.js on lines 978..987
          section-4-web-server/control-an-fpga/js/opcode.js on lines 988..997
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1009..1018
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1019..1028
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1040..1049
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1050..1059
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1071..1080
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1081..1090
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1102..1111
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1112..1121
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1133..1142
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1143..1152
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1164..1173
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1174..1183
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1195..1204
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1205..1214
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1226..1235
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1236..1245
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1257..1266
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1267..1276

          Duplicated Code

          Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

          Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

          When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

          Tuning

          This issue has a mass of 68.

          We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

          The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

          If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

          See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

          Refactorings

          Further Reading

          Similar blocks of code found in 77 locations. Consider refactoring.
          Open

          function data_in_b_zero_2_onmouseout() {
          switch(data_in_b_2_state) {
              case "low":
                  document.getElementById("data_in_b_zero_2").style.backgroundColor=lightgreen;
                  break;
          Severity: Major
          Found in section-4-web-server/control-an-fpga/js/opcode.js and 76 other locations - About 1 hr to fix
          section-4-web-server/control-an-fpga/js/opcode.js on lines 52..61
          section-4-web-server/control-an-fpga/js/opcode.js on lines 73..82
          section-4-web-server/control-an-fpga/js/opcode.js on lines 83..92
          section-4-web-server/control-an-fpga/js/opcode.js on lines 104..113
          section-4-web-server/control-an-fpga/js/opcode.js on lines 114..123
          section-4-web-server/control-an-fpga/js/opcode.js on lines 135..144
          section-4-web-server/control-an-fpga/js/opcode.js on lines 145..154
          section-4-web-server/control-an-fpga/js/opcode.js on lines 166..175
          section-4-web-server/control-an-fpga/js/opcode.js on lines 176..185
          section-4-web-server/control-an-fpga/js/opcode.js on lines 197..206
          section-4-web-server/control-an-fpga/js/opcode.js on lines 207..216
          section-4-web-server/control-an-fpga/js/opcode.js on lines 228..237
          section-4-web-server/control-an-fpga/js/opcode.js on lines 238..247
          section-4-web-server/control-an-fpga/js/opcode.js on lines 259..268
          section-4-web-server/control-an-fpga/js/opcode.js on lines 269..278
          section-4-web-server/control-an-fpga/js/opcode.js on lines 303..312
          section-4-web-server/control-an-fpga/js/opcode.js on lines 324..333
          section-4-web-server/control-an-fpga/js/opcode.js on lines 334..343
          section-4-web-server/control-an-fpga/js/opcode.js on lines 355..364
          section-4-web-server/control-an-fpga/js/opcode.js on lines 365..374
          section-4-web-server/control-an-fpga/js/opcode.js on lines 386..395
          section-4-web-server/control-an-fpga/js/opcode.js on lines 396..405
          section-4-web-server/control-an-fpga/js/opcode.js on lines 417..426
          section-4-web-server/control-an-fpga/js/opcode.js on lines 427..436
          section-4-web-server/control-an-fpga/js/opcode.js on lines 448..457
          section-4-web-server/control-an-fpga/js/opcode.js on lines 458..467
          section-4-web-server/control-an-fpga/js/opcode.js on lines 479..488
          section-4-web-server/control-an-fpga/js/opcode.js on lines 489..498
          section-4-web-server/control-an-fpga/js/opcode.js on lines 510..519
          section-4-web-server/control-an-fpga/js/opcode.js on lines 520..529
          section-4-web-server/control-an-fpga/js/opcode.js on lines 541..550
          section-4-web-server/control-an-fpga/js/opcode.js on lines 551..560
          section-4-web-server/control-an-fpga/js/opcode.js on lines 572..581
          section-4-web-server/control-an-fpga/js/opcode.js on lines 582..591
          section-4-web-server/control-an-fpga/js/opcode.js on lines 603..612
          section-4-web-server/control-an-fpga/js/opcode.js on lines 613..622
          section-4-web-server/control-an-fpga/js/opcode.js on lines 634..643
          section-4-web-server/control-an-fpga/js/opcode.js on lines 644..653
          section-4-web-server/control-an-fpga/js/opcode.js on lines 665..674
          section-4-web-server/control-an-fpga/js/opcode.js on lines 675..684
          section-4-web-server/control-an-fpga/js/opcode.js on lines 696..705
          section-4-web-server/control-an-fpga/js/opcode.js on lines 706..715
          section-4-web-server/control-an-fpga/js/opcode.js on lines 727..736
          section-4-web-server/control-an-fpga/js/opcode.js on lines 737..746
          section-4-web-server/control-an-fpga/js/opcode.js on lines 758..767
          section-4-web-server/control-an-fpga/js/opcode.js on lines 768..777
          section-4-web-server/control-an-fpga/js/opcode.js on lines 802..811
          section-4-web-server/control-an-fpga/js/opcode.js on lines 823..832
          section-4-web-server/control-an-fpga/js/opcode.js on lines 833..842
          section-4-web-server/control-an-fpga/js/opcode.js on lines 854..863
          section-4-web-server/control-an-fpga/js/opcode.js on lines 864..873
          section-4-web-server/control-an-fpga/js/opcode.js on lines 885..894
          section-4-web-server/control-an-fpga/js/opcode.js on lines 895..904
          section-4-web-server/control-an-fpga/js/opcode.js on lines 916..925
          section-4-web-server/control-an-fpga/js/opcode.js on lines 926..935
          section-4-web-server/control-an-fpga/js/opcode.js on lines 947..956
          section-4-web-server/control-an-fpga/js/opcode.js on lines 957..966
          section-4-web-server/control-an-fpga/js/opcode.js on lines 978..987
          section-4-web-server/control-an-fpga/js/opcode.js on lines 988..997
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1009..1018
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1019..1028
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1040..1049
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1050..1059
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1071..1080
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1081..1090
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1102..1111
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1112..1121
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1133..1142
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1164..1173
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1174..1183
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1195..1204
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1205..1214
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1226..1235
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1236..1245
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1257..1266
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1267..1276

          Duplicated Code

          Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

          Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

          When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

          Tuning

          This issue has a mass of 68.

          We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

          The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

          If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

          See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

          Refactorings

          Further Reading

          Similar blocks of code found in 77 locations. Consider refactoring.
          Open

          function data_in_b_one_1_onmouseout() {
          switch(data_in_b_1_state) {
              case "low":
                  document.getElementById("data_in_b_one_1").style.backgroundColor=white;
                  break;
          Severity: Major
          Found in section-4-web-server/control-an-fpga/js/opcode.js and 76 other locations - About 1 hr to fix
          section-4-web-server/control-an-fpga/js/opcode.js on lines 52..61
          section-4-web-server/control-an-fpga/js/opcode.js on lines 73..82
          section-4-web-server/control-an-fpga/js/opcode.js on lines 83..92
          section-4-web-server/control-an-fpga/js/opcode.js on lines 104..113
          section-4-web-server/control-an-fpga/js/opcode.js on lines 114..123
          section-4-web-server/control-an-fpga/js/opcode.js on lines 135..144
          section-4-web-server/control-an-fpga/js/opcode.js on lines 145..154
          section-4-web-server/control-an-fpga/js/opcode.js on lines 166..175
          section-4-web-server/control-an-fpga/js/opcode.js on lines 176..185
          section-4-web-server/control-an-fpga/js/opcode.js on lines 197..206
          section-4-web-server/control-an-fpga/js/opcode.js on lines 207..216
          section-4-web-server/control-an-fpga/js/opcode.js on lines 228..237
          section-4-web-server/control-an-fpga/js/opcode.js on lines 238..247
          section-4-web-server/control-an-fpga/js/opcode.js on lines 259..268
          section-4-web-server/control-an-fpga/js/opcode.js on lines 269..278
          section-4-web-server/control-an-fpga/js/opcode.js on lines 303..312
          section-4-web-server/control-an-fpga/js/opcode.js on lines 324..333
          section-4-web-server/control-an-fpga/js/opcode.js on lines 334..343
          section-4-web-server/control-an-fpga/js/opcode.js on lines 355..364
          section-4-web-server/control-an-fpga/js/opcode.js on lines 365..374
          section-4-web-server/control-an-fpga/js/opcode.js on lines 386..395
          section-4-web-server/control-an-fpga/js/opcode.js on lines 396..405
          section-4-web-server/control-an-fpga/js/opcode.js on lines 417..426
          section-4-web-server/control-an-fpga/js/opcode.js on lines 427..436
          section-4-web-server/control-an-fpga/js/opcode.js on lines 448..457
          section-4-web-server/control-an-fpga/js/opcode.js on lines 458..467
          section-4-web-server/control-an-fpga/js/opcode.js on lines 479..488
          section-4-web-server/control-an-fpga/js/opcode.js on lines 489..498
          section-4-web-server/control-an-fpga/js/opcode.js on lines 510..519
          section-4-web-server/control-an-fpga/js/opcode.js on lines 520..529
          section-4-web-server/control-an-fpga/js/opcode.js on lines 541..550
          section-4-web-server/control-an-fpga/js/opcode.js on lines 551..560
          section-4-web-server/control-an-fpga/js/opcode.js on lines 572..581
          section-4-web-server/control-an-fpga/js/opcode.js on lines 582..591
          section-4-web-server/control-an-fpga/js/opcode.js on lines 603..612
          section-4-web-server/control-an-fpga/js/opcode.js on lines 613..622
          section-4-web-server/control-an-fpga/js/opcode.js on lines 634..643
          section-4-web-server/control-an-fpga/js/opcode.js on lines 644..653
          section-4-web-server/control-an-fpga/js/opcode.js on lines 665..674
          section-4-web-server/control-an-fpga/js/opcode.js on lines 675..684
          section-4-web-server/control-an-fpga/js/opcode.js on lines 696..705
          section-4-web-server/control-an-fpga/js/opcode.js on lines 706..715
          section-4-web-server/control-an-fpga/js/opcode.js on lines 727..736
          section-4-web-server/control-an-fpga/js/opcode.js on lines 737..746
          section-4-web-server/control-an-fpga/js/opcode.js on lines 758..767
          section-4-web-server/control-an-fpga/js/opcode.js on lines 768..777
          section-4-web-server/control-an-fpga/js/opcode.js on lines 802..811
          section-4-web-server/control-an-fpga/js/opcode.js on lines 823..832
          section-4-web-server/control-an-fpga/js/opcode.js on lines 833..842
          section-4-web-server/control-an-fpga/js/opcode.js on lines 854..863
          section-4-web-server/control-an-fpga/js/opcode.js on lines 864..873
          section-4-web-server/control-an-fpga/js/opcode.js on lines 885..894
          section-4-web-server/control-an-fpga/js/opcode.js on lines 895..904
          section-4-web-server/control-an-fpga/js/opcode.js on lines 916..925
          section-4-web-server/control-an-fpga/js/opcode.js on lines 926..935
          section-4-web-server/control-an-fpga/js/opcode.js on lines 947..956
          section-4-web-server/control-an-fpga/js/opcode.js on lines 957..966
          section-4-web-server/control-an-fpga/js/opcode.js on lines 978..987
          section-4-web-server/control-an-fpga/js/opcode.js on lines 988..997
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1009..1018
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1019..1028
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1040..1049
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1050..1059
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1071..1080
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1081..1090
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1102..1111
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1112..1121
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1133..1142
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1143..1152
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1164..1173
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1195..1204
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1205..1214
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1226..1235
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1236..1245
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1257..1266
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1267..1276

          Duplicated Code

          Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

          Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

          When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

          Tuning

          This issue has a mass of 68.

          We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

          The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

          If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

          See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

          Refactorings

          Further Reading

          Similar blocks of code found in 77 locations. Consider refactoring.
          Open

          function data_in_a_zero_3_onmouseover() {
            switch(data_in_a_3_state) {
                case "low":
                    document.getElementById("data_in_a_zero_3").style.backgroundColor=lightgreen;
                    break;
          Severity: Major
          Found in section-4-web-server/control-an-fpga/js/opcode.js and 76 other locations - About 1 hr to fix
          section-4-web-server/control-an-fpga/js/opcode.js on lines 52..61
          section-4-web-server/control-an-fpga/js/opcode.js on lines 73..82
          section-4-web-server/control-an-fpga/js/opcode.js on lines 83..92
          section-4-web-server/control-an-fpga/js/opcode.js on lines 104..113
          section-4-web-server/control-an-fpga/js/opcode.js on lines 114..123
          section-4-web-server/control-an-fpga/js/opcode.js on lines 135..144
          section-4-web-server/control-an-fpga/js/opcode.js on lines 145..154
          section-4-web-server/control-an-fpga/js/opcode.js on lines 166..175
          section-4-web-server/control-an-fpga/js/opcode.js on lines 176..185
          section-4-web-server/control-an-fpga/js/opcode.js on lines 197..206
          section-4-web-server/control-an-fpga/js/opcode.js on lines 207..216
          section-4-web-server/control-an-fpga/js/opcode.js on lines 228..237
          section-4-web-server/control-an-fpga/js/opcode.js on lines 238..247
          section-4-web-server/control-an-fpga/js/opcode.js on lines 259..268
          section-4-web-server/control-an-fpga/js/opcode.js on lines 269..278
          section-4-web-server/control-an-fpga/js/opcode.js on lines 303..312
          section-4-web-server/control-an-fpga/js/opcode.js on lines 324..333
          section-4-web-server/control-an-fpga/js/opcode.js on lines 334..343
          section-4-web-server/control-an-fpga/js/opcode.js on lines 355..364
          section-4-web-server/control-an-fpga/js/opcode.js on lines 365..374
          section-4-web-server/control-an-fpga/js/opcode.js on lines 386..395
          section-4-web-server/control-an-fpga/js/opcode.js on lines 396..405
          section-4-web-server/control-an-fpga/js/opcode.js on lines 417..426
          section-4-web-server/control-an-fpga/js/opcode.js on lines 427..436
          section-4-web-server/control-an-fpga/js/opcode.js on lines 448..457
          section-4-web-server/control-an-fpga/js/opcode.js on lines 458..467
          section-4-web-server/control-an-fpga/js/opcode.js on lines 479..488
          section-4-web-server/control-an-fpga/js/opcode.js on lines 489..498
          section-4-web-server/control-an-fpga/js/opcode.js on lines 510..519
          section-4-web-server/control-an-fpga/js/opcode.js on lines 520..529
          section-4-web-server/control-an-fpga/js/opcode.js on lines 541..550
          section-4-web-server/control-an-fpga/js/opcode.js on lines 551..560
          section-4-web-server/control-an-fpga/js/opcode.js on lines 582..591
          section-4-web-server/control-an-fpga/js/opcode.js on lines 603..612
          section-4-web-server/control-an-fpga/js/opcode.js on lines 613..622
          section-4-web-server/control-an-fpga/js/opcode.js on lines 634..643
          section-4-web-server/control-an-fpga/js/opcode.js on lines 644..653
          section-4-web-server/control-an-fpga/js/opcode.js on lines 665..674
          section-4-web-server/control-an-fpga/js/opcode.js on lines 675..684
          section-4-web-server/control-an-fpga/js/opcode.js on lines 696..705
          section-4-web-server/control-an-fpga/js/opcode.js on lines 706..715
          section-4-web-server/control-an-fpga/js/opcode.js on lines 727..736
          section-4-web-server/control-an-fpga/js/opcode.js on lines 737..746
          section-4-web-server/control-an-fpga/js/opcode.js on lines 758..767
          section-4-web-server/control-an-fpga/js/opcode.js on lines 768..777
          section-4-web-server/control-an-fpga/js/opcode.js on lines 802..811
          section-4-web-server/control-an-fpga/js/opcode.js on lines 823..832
          section-4-web-server/control-an-fpga/js/opcode.js on lines 833..842
          section-4-web-server/control-an-fpga/js/opcode.js on lines 854..863
          section-4-web-server/control-an-fpga/js/opcode.js on lines 864..873
          section-4-web-server/control-an-fpga/js/opcode.js on lines 885..894
          section-4-web-server/control-an-fpga/js/opcode.js on lines 895..904
          section-4-web-server/control-an-fpga/js/opcode.js on lines 916..925
          section-4-web-server/control-an-fpga/js/opcode.js on lines 926..935
          section-4-web-server/control-an-fpga/js/opcode.js on lines 947..956
          section-4-web-server/control-an-fpga/js/opcode.js on lines 957..966
          section-4-web-server/control-an-fpga/js/opcode.js on lines 978..987
          section-4-web-server/control-an-fpga/js/opcode.js on lines 988..997
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1009..1018
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1019..1028
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1040..1049
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1050..1059
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1071..1080
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1081..1090
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1102..1111
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1112..1121
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1133..1142
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1143..1152
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1164..1173
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1174..1183
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1195..1204
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1205..1214
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1226..1235
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1236..1245
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1257..1266
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1267..1276

          Duplicated Code

          Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

          Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

          When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

          Tuning

          This issue has a mass of 68.

          We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

          The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

          If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

          See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

          Refactorings

          Further Reading

          Similar blocks of code found in 77 locations. Consider refactoring.
          Open

          function data_in_a_one_1_onmouseover() {
            switch(data_in_a_1_state) {
                case "low":
                    document.getElementById("data_in_a_one_1").style.backgroundColor=grey;
                    break;
          Severity: Major
          Found in section-4-web-server/control-an-fpga/js/opcode.js and 76 other locations - About 1 hr to fix
          section-4-web-server/control-an-fpga/js/opcode.js on lines 52..61
          section-4-web-server/control-an-fpga/js/opcode.js on lines 73..82
          section-4-web-server/control-an-fpga/js/opcode.js on lines 83..92
          section-4-web-server/control-an-fpga/js/opcode.js on lines 104..113
          section-4-web-server/control-an-fpga/js/opcode.js on lines 114..123
          section-4-web-server/control-an-fpga/js/opcode.js on lines 135..144
          section-4-web-server/control-an-fpga/js/opcode.js on lines 145..154
          section-4-web-server/control-an-fpga/js/opcode.js on lines 166..175
          section-4-web-server/control-an-fpga/js/opcode.js on lines 176..185
          section-4-web-server/control-an-fpga/js/opcode.js on lines 197..206
          section-4-web-server/control-an-fpga/js/opcode.js on lines 207..216
          section-4-web-server/control-an-fpga/js/opcode.js on lines 228..237
          section-4-web-server/control-an-fpga/js/opcode.js on lines 238..247
          section-4-web-server/control-an-fpga/js/opcode.js on lines 259..268
          section-4-web-server/control-an-fpga/js/opcode.js on lines 269..278
          section-4-web-server/control-an-fpga/js/opcode.js on lines 303..312
          section-4-web-server/control-an-fpga/js/opcode.js on lines 324..333
          section-4-web-server/control-an-fpga/js/opcode.js on lines 334..343
          section-4-web-server/control-an-fpga/js/opcode.js on lines 355..364
          section-4-web-server/control-an-fpga/js/opcode.js on lines 365..374
          section-4-web-server/control-an-fpga/js/opcode.js on lines 386..395
          section-4-web-server/control-an-fpga/js/opcode.js on lines 396..405
          section-4-web-server/control-an-fpga/js/opcode.js on lines 417..426
          section-4-web-server/control-an-fpga/js/opcode.js on lines 427..436
          section-4-web-server/control-an-fpga/js/opcode.js on lines 448..457
          section-4-web-server/control-an-fpga/js/opcode.js on lines 458..467
          section-4-web-server/control-an-fpga/js/opcode.js on lines 479..488
          section-4-web-server/control-an-fpga/js/opcode.js on lines 489..498
          section-4-web-server/control-an-fpga/js/opcode.js on lines 510..519
          section-4-web-server/control-an-fpga/js/opcode.js on lines 520..529
          section-4-web-server/control-an-fpga/js/opcode.js on lines 541..550
          section-4-web-server/control-an-fpga/js/opcode.js on lines 551..560
          section-4-web-server/control-an-fpga/js/opcode.js on lines 572..581
          section-4-web-server/control-an-fpga/js/opcode.js on lines 582..591
          section-4-web-server/control-an-fpga/js/opcode.js on lines 603..612
          section-4-web-server/control-an-fpga/js/opcode.js on lines 613..622
          section-4-web-server/control-an-fpga/js/opcode.js on lines 634..643
          section-4-web-server/control-an-fpga/js/opcode.js on lines 644..653
          section-4-web-server/control-an-fpga/js/opcode.js on lines 675..684
          section-4-web-server/control-an-fpga/js/opcode.js on lines 696..705
          section-4-web-server/control-an-fpga/js/opcode.js on lines 706..715
          section-4-web-server/control-an-fpga/js/opcode.js on lines 727..736
          section-4-web-server/control-an-fpga/js/opcode.js on lines 737..746
          section-4-web-server/control-an-fpga/js/opcode.js on lines 758..767
          section-4-web-server/control-an-fpga/js/opcode.js on lines 768..777
          section-4-web-server/control-an-fpga/js/opcode.js on lines 802..811
          section-4-web-server/control-an-fpga/js/opcode.js on lines 823..832
          section-4-web-server/control-an-fpga/js/opcode.js on lines 833..842
          section-4-web-server/control-an-fpga/js/opcode.js on lines 854..863
          section-4-web-server/control-an-fpga/js/opcode.js on lines 864..873
          section-4-web-server/control-an-fpga/js/opcode.js on lines 885..894
          section-4-web-server/control-an-fpga/js/opcode.js on lines 895..904
          section-4-web-server/control-an-fpga/js/opcode.js on lines 916..925
          section-4-web-server/control-an-fpga/js/opcode.js on lines 926..935
          section-4-web-server/control-an-fpga/js/opcode.js on lines 947..956
          section-4-web-server/control-an-fpga/js/opcode.js on lines 957..966
          section-4-web-server/control-an-fpga/js/opcode.js on lines 978..987
          section-4-web-server/control-an-fpga/js/opcode.js on lines 988..997
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1009..1018
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1019..1028
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1040..1049
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1050..1059
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1071..1080
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1081..1090
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1102..1111
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1112..1121
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1133..1142
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1143..1152
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1164..1173
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1174..1183
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1195..1204
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1205..1214
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1226..1235
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1236..1245
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1257..1266
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1267..1276

          Duplicated Code

          Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

          Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

          When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

          Tuning

          This issue has a mass of 68.

          We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

          The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

          If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

          See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

          Refactorings

          Further Reading

          Similar blocks of code found in 77 locations. Consider refactoring.
          Open

          function data_in_a_one_5_onmouseover() {
              switch(data_in_a_5_state) {
                  case "low":
                      document.getElementById("data_in_a_one_5").style.backgroundColor=grey;
                      break;
          Severity: Major
          Found in section-4-web-server/control-an-fpga/js/opcode.js and 76 other locations - About 1 hr to fix
          section-4-web-server/control-an-fpga/js/opcode.js on lines 52..61
          section-4-web-server/control-an-fpga/js/opcode.js on lines 73..82
          section-4-web-server/control-an-fpga/js/opcode.js on lines 83..92
          section-4-web-server/control-an-fpga/js/opcode.js on lines 104..113
          section-4-web-server/control-an-fpga/js/opcode.js on lines 114..123
          section-4-web-server/control-an-fpga/js/opcode.js on lines 135..144
          section-4-web-server/control-an-fpga/js/opcode.js on lines 145..154
          section-4-web-server/control-an-fpga/js/opcode.js on lines 166..175
          section-4-web-server/control-an-fpga/js/opcode.js on lines 176..185
          section-4-web-server/control-an-fpga/js/opcode.js on lines 197..206
          section-4-web-server/control-an-fpga/js/opcode.js on lines 207..216
          section-4-web-server/control-an-fpga/js/opcode.js on lines 228..237
          section-4-web-server/control-an-fpga/js/opcode.js on lines 238..247
          section-4-web-server/control-an-fpga/js/opcode.js on lines 259..268
          section-4-web-server/control-an-fpga/js/opcode.js on lines 269..278
          section-4-web-server/control-an-fpga/js/opcode.js on lines 303..312
          section-4-web-server/control-an-fpga/js/opcode.js on lines 324..333
          section-4-web-server/control-an-fpga/js/opcode.js on lines 334..343
          section-4-web-server/control-an-fpga/js/opcode.js on lines 355..364
          section-4-web-server/control-an-fpga/js/opcode.js on lines 365..374
          section-4-web-server/control-an-fpga/js/opcode.js on lines 386..395
          section-4-web-server/control-an-fpga/js/opcode.js on lines 396..405
          section-4-web-server/control-an-fpga/js/opcode.js on lines 427..436
          section-4-web-server/control-an-fpga/js/opcode.js on lines 448..457
          section-4-web-server/control-an-fpga/js/opcode.js on lines 458..467
          section-4-web-server/control-an-fpga/js/opcode.js on lines 479..488
          section-4-web-server/control-an-fpga/js/opcode.js on lines 489..498
          section-4-web-server/control-an-fpga/js/opcode.js on lines 510..519
          section-4-web-server/control-an-fpga/js/opcode.js on lines 520..529
          section-4-web-server/control-an-fpga/js/opcode.js on lines 541..550
          section-4-web-server/control-an-fpga/js/opcode.js on lines 551..560
          section-4-web-server/control-an-fpga/js/opcode.js on lines 572..581
          section-4-web-server/control-an-fpga/js/opcode.js on lines 582..591
          section-4-web-server/control-an-fpga/js/opcode.js on lines 603..612
          section-4-web-server/control-an-fpga/js/opcode.js on lines 613..622
          section-4-web-server/control-an-fpga/js/opcode.js on lines 634..643
          section-4-web-server/control-an-fpga/js/opcode.js on lines 644..653
          section-4-web-server/control-an-fpga/js/opcode.js on lines 665..674
          section-4-web-server/control-an-fpga/js/opcode.js on lines 675..684
          section-4-web-server/control-an-fpga/js/opcode.js on lines 696..705
          section-4-web-server/control-an-fpga/js/opcode.js on lines 706..715
          section-4-web-server/control-an-fpga/js/opcode.js on lines 727..736
          section-4-web-server/control-an-fpga/js/opcode.js on lines 737..746
          section-4-web-server/control-an-fpga/js/opcode.js on lines 758..767
          section-4-web-server/control-an-fpga/js/opcode.js on lines 768..777
          section-4-web-server/control-an-fpga/js/opcode.js on lines 802..811
          section-4-web-server/control-an-fpga/js/opcode.js on lines 823..832
          section-4-web-server/control-an-fpga/js/opcode.js on lines 833..842
          section-4-web-server/control-an-fpga/js/opcode.js on lines 854..863
          section-4-web-server/control-an-fpga/js/opcode.js on lines 864..873
          section-4-web-server/control-an-fpga/js/opcode.js on lines 885..894
          section-4-web-server/control-an-fpga/js/opcode.js on lines 895..904
          section-4-web-server/control-an-fpga/js/opcode.js on lines 916..925
          section-4-web-server/control-an-fpga/js/opcode.js on lines 926..935
          section-4-web-server/control-an-fpga/js/opcode.js on lines 947..956
          section-4-web-server/control-an-fpga/js/opcode.js on lines 957..966
          section-4-web-server/control-an-fpga/js/opcode.js on lines 978..987
          section-4-web-server/control-an-fpga/js/opcode.js on lines 988..997
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1009..1018
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1019..1028
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1040..1049
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1050..1059
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1071..1080
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1081..1090
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1102..1111
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1112..1121
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1133..1142
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1143..1152
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1164..1173
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1174..1183
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1195..1204
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1205..1214
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1226..1235
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1236..1245
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1257..1266
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1267..1276

          Duplicated Code

          Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

          Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

          When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

          Tuning

          This issue has a mass of 68.

          We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

          The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

          If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

          See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

          Refactorings

          Further Reading

          Similar blocks of code found in 77 locations. Consider refactoring.
          Open

          function data_in_b_zero_6_onmouseover() {
            switch(data_in_b_6_state) {
                case "low":
                    document.getElementById("data_in_b_zero_6").style.backgroundColor=lightgreen;
                    break;
          Severity: Major
          Found in section-4-web-server/control-an-fpga/js/opcode.js and 76 other locations - About 1 hr to fix
          section-4-web-server/control-an-fpga/js/opcode.js on lines 52..61
          section-4-web-server/control-an-fpga/js/opcode.js on lines 73..82
          section-4-web-server/control-an-fpga/js/opcode.js on lines 83..92
          section-4-web-server/control-an-fpga/js/opcode.js on lines 104..113
          section-4-web-server/control-an-fpga/js/opcode.js on lines 114..123
          section-4-web-server/control-an-fpga/js/opcode.js on lines 135..144
          section-4-web-server/control-an-fpga/js/opcode.js on lines 145..154
          section-4-web-server/control-an-fpga/js/opcode.js on lines 166..175
          section-4-web-server/control-an-fpga/js/opcode.js on lines 176..185
          section-4-web-server/control-an-fpga/js/opcode.js on lines 197..206
          section-4-web-server/control-an-fpga/js/opcode.js on lines 207..216
          section-4-web-server/control-an-fpga/js/opcode.js on lines 228..237
          section-4-web-server/control-an-fpga/js/opcode.js on lines 238..247
          section-4-web-server/control-an-fpga/js/opcode.js on lines 259..268
          section-4-web-server/control-an-fpga/js/opcode.js on lines 269..278
          section-4-web-server/control-an-fpga/js/opcode.js on lines 303..312
          section-4-web-server/control-an-fpga/js/opcode.js on lines 324..333
          section-4-web-server/control-an-fpga/js/opcode.js on lines 334..343
          section-4-web-server/control-an-fpga/js/opcode.js on lines 355..364
          section-4-web-server/control-an-fpga/js/opcode.js on lines 365..374
          section-4-web-server/control-an-fpga/js/opcode.js on lines 386..395
          section-4-web-server/control-an-fpga/js/opcode.js on lines 396..405
          section-4-web-server/control-an-fpga/js/opcode.js on lines 417..426
          section-4-web-server/control-an-fpga/js/opcode.js on lines 427..436
          section-4-web-server/control-an-fpga/js/opcode.js on lines 448..457
          section-4-web-server/control-an-fpga/js/opcode.js on lines 458..467
          section-4-web-server/control-an-fpga/js/opcode.js on lines 479..488
          section-4-web-server/control-an-fpga/js/opcode.js on lines 489..498
          section-4-web-server/control-an-fpga/js/opcode.js on lines 510..519
          section-4-web-server/control-an-fpga/js/opcode.js on lines 520..529
          section-4-web-server/control-an-fpga/js/opcode.js on lines 541..550
          section-4-web-server/control-an-fpga/js/opcode.js on lines 551..560
          section-4-web-server/control-an-fpga/js/opcode.js on lines 572..581
          section-4-web-server/control-an-fpga/js/opcode.js on lines 582..591
          section-4-web-server/control-an-fpga/js/opcode.js on lines 603..612
          section-4-web-server/control-an-fpga/js/opcode.js on lines 613..622
          section-4-web-server/control-an-fpga/js/opcode.js on lines 634..643
          section-4-web-server/control-an-fpga/js/opcode.js on lines 644..653
          section-4-web-server/control-an-fpga/js/opcode.js on lines 665..674
          section-4-web-server/control-an-fpga/js/opcode.js on lines 675..684
          section-4-web-server/control-an-fpga/js/opcode.js on lines 696..705
          section-4-web-server/control-an-fpga/js/opcode.js on lines 706..715
          section-4-web-server/control-an-fpga/js/opcode.js on lines 727..736
          section-4-web-server/control-an-fpga/js/opcode.js on lines 737..746
          section-4-web-server/control-an-fpga/js/opcode.js on lines 758..767
          section-4-web-server/control-an-fpga/js/opcode.js on lines 768..777
          section-4-web-server/control-an-fpga/js/opcode.js on lines 802..811
          section-4-web-server/control-an-fpga/js/opcode.js on lines 823..832
          section-4-web-server/control-an-fpga/js/opcode.js on lines 833..842
          section-4-web-server/control-an-fpga/js/opcode.js on lines 854..863
          section-4-web-server/control-an-fpga/js/opcode.js on lines 864..873
          section-4-web-server/control-an-fpga/js/opcode.js on lines 895..904
          section-4-web-server/control-an-fpga/js/opcode.js on lines 916..925
          section-4-web-server/control-an-fpga/js/opcode.js on lines 926..935
          section-4-web-server/control-an-fpga/js/opcode.js on lines 947..956
          section-4-web-server/control-an-fpga/js/opcode.js on lines 957..966
          section-4-web-server/control-an-fpga/js/opcode.js on lines 978..987
          section-4-web-server/control-an-fpga/js/opcode.js on lines 988..997
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1009..1018
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1019..1028
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1040..1049
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1050..1059
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1071..1080
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1081..1090
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1102..1111
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1112..1121
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1133..1142
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1143..1152
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1164..1173
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1174..1183
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1195..1204
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1205..1214
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1226..1235
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1236..1245
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1257..1266
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1267..1276

          Duplicated Code

          Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

          Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

          When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

          Tuning

          This issue has a mass of 68.

          We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

          The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

          If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

          See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

          Refactorings

          Further Reading

          Similar blocks of code found in 77 locations. Consider refactoring.
          Open

          function data_in_a_one_3_onmouseout() {
            switch(data_in_a_3_state) {
                case "low":
                    document.getElementById("data_in_a_one_3").style.backgroundColor=white;
                    break;
          Severity: Major
          Found in section-4-web-server/control-an-fpga/js/opcode.js and 76 other locations - About 1 hr to fix
          section-4-web-server/control-an-fpga/js/opcode.js on lines 52..61
          section-4-web-server/control-an-fpga/js/opcode.js on lines 73..82
          section-4-web-server/control-an-fpga/js/opcode.js on lines 83..92
          section-4-web-server/control-an-fpga/js/opcode.js on lines 104..113
          section-4-web-server/control-an-fpga/js/opcode.js on lines 114..123
          section-4-web-server/control-an-fpga/js/opcode.js on lines 135..144
          section-4-web-server/control-an-fpga/js/opcode.js on lines 145..154
          section-4-web-server/control-an-fpga/js/opcode.js on lines 166..175
          section-4-web-server/control-an-fpga/js/opcode.js on lines 176..185
          section-4-web-server/control-an-fpga/js/opcode.js on lines 197..206
          section-4-web-server/control-an-fpga/js/opcode.js on lines 207..216
          section-4-web-server/control-an-fpga/js/opcode.js on lines 228..237
          section-4-web-server/control-an-fpga/js/opcode.js on lines 238..247
          section-4-web-server/control-an-fpga/js/opcode.js on lines 259..268
          section-4-web-server/control-an-fpga/js/opcode.js on lines 269..278
          section-4-web-server/control-an-fpga/js/opcode.js on lines 303..312
          section-4-web-server/control-an-fpga/js/opcode.js on lines 324..333
          section-4-web-server/control-an-fpga/js/opcode.js on lines 334..343
          section-4-web-server/control-an-fpga/js/opcode.js on lines 355..364
          section-4-web-server/control-an-fpga/js/opcode.js on lines 365..374
          section-4-web-server/control-an-fpga/js/opcode.js on lines 386..395
          section-4-web-server/control-an-fpga/js/opcode.js on lines 396..405
          section-4-web-server/control-an-fpga/js/opcode.js on lines 417..426
          section-4-web-server/control-an-fpga/js/opcode.js on lines 427..436
          section-4-web-server/control-an-fpga/js/opcode.js on lines 448..457
          section-4-web-server/control-an-fpga/js/opcode.js on lines 458..467
          section-4-web-server/control-an-fpga/js/opcode.js on lines 479..488
          section-4-web-server/control-an-fpga/js/opcode.js on lines 489..498
          section-4-web-server/control-an-fpga/js/opcode.js on lines 510..519
          section-4-web-server/control-an-fpga/js/opcode.js on lines 520..529
          section-4-web-server/control-an-fpga/js/opcode.js on lines 541..550
          section-4-web-server/control-an-fpga/js/opcode.js on lines 572..581
          section-4-web-server/control-an-fpga/js/opcode.js on lines 582..591
          section-4-web-server/control-an-fpga/js/opcode.js on lines 603..612
          section-4-web-server/control-an-fpga/js/opcode.js on lines 613..622
          section-4-web-server/control-an-fpga/js/opcode.js on lines 634..643
          section-4-web-server/control-an-fpga/js/opcode.js on lines 644..653
          section-4-web-server/control-an-fpga/js/opcode.js on lines 665..674
          section-4-web-server/control-an-fpga/js/opcode.js on lines 675..684
          section-4-web-server/control-an-fpga/js/opcode.js on lines 696..705
          section-4-web-server/control-an-fpga/js/opcode.js on lines 706..715
          section-4-web-server/control-an-fpga/js/opcode.js on lines 727..736
          section-4-web-server/control-an-fpga/js/opcode.js on lines 737..746
          section-4-web-server/control-an-fpga/js/opcode.js on lines 758..767
          section-4-web-server/control-an-fpga/js/opcode.js on lines 768..777
          section-4-web-server/control-an-fpga/js/opcode.js on lines 802..811
          section-4-web-server/control-an-fpga/js/opcode.js on lines 823..832
          section-4-web-server/control-an-fpga/js/opcode.js on lines 833..842
          section-4-web-server/control-an-fpga/js/opcode.js on lines 854..863
          section-4-web-server/control-an-fpga/js/opcode.js on lines 864..873
          section-4-web-server/control-an-fpga/js/opcode.js on lines 885..894
          section-4-web-server/control-an-fpga/js/opcode.js on lines 895..904
          section-4-web-server/control-an-fpga/js/opcode.js on lines 916..925
          section-4-web-server/control-an-fpga/js/opcode.js on lines 926..935
          section-4-web-server/control-an-fpga/js/opcode.js on lines 947..956
          section-4-web-server/control-an-fpga/js/opcode.js on lines 957..966
          section-4-web-server/control-an-fpga/js/opcode.js on lines 978..987
          section-4-web-server/control-an-fpga/js/opcode.js on lines 988..997
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1009..1018
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1019..1028
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1040..1049
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1050..1059
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1071..1080
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1081..1090
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1102..1111
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1112..1121
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1133..1142
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1143..1152
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1164..1173
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1174..1183
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1195..1204
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1205..1214
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1226..1235
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1236..1245
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1257..1266
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1267..1276

          Duplicated Code

          Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

          Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

          When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

          Tuning

          This issue has a mass of 68.

          We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

          The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

          If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

          See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

          Refactorings

          Further Reading

          Similar blocks of code found in 77 locations. Consider refactoring.
          Open

          function data_in_b_one_2_onmouseover() {
          switch(data_in_b_2_state) {
              case "low":
                  document.getElementById("data_in_b_one_2").style.backgroundColor=grey;
                  break;
          Severity: Major
          Found in section-4-web-server/control-an-fpga/js/opcode.js and 76 other locations - About 1 hr to fix
          section-4-web-server/control-an-fpga/js/opcode.js on lines 52..61
          section-4-web-server/control-an-fpga/js/opcode.js on lines 73..82
          section-4-web-server/control-an-fpga/js/opcode.js on lines 83..92
          section-4-web-server/control-an-fpga/js/opcode.js on lines 104..113
          section-4-web-server/control-an-fpga/js/opcode.js on lines 114..123
          section-4-web-server/control-an-fpga/js/opcode.js on lines 135..144
          section-4-web-server/control-an-fpga/js/opcode.js on lines 145..154
          section-4-web-server/control-an-fpga/js/opcode.js on lines 166..175
          section-4-web-server/control-an-fpga/js/opcode.js on lines 176..185
          section-4-web-server/control-an-fpga/js/opcode.js on lines 197..206
          section-4-web-server/control-an-fpga/js/opcode.js on lines 207..216
          section-4-web-server/control-an-fpga/js/opcode.js on lines 228..237
          section-4-web-server/control-an-fpga/js/opcode.js on lines 238..247
          section-4-web-server/control-an-fpga/js/opcode.js on lines 259..268
          section-4-web-server/control-an-fpga/js/opcode.js on lines 269..278
          section-4-web-server/control-an-fpga/js/opcode.js on lines 303..312
          section-4-web-server/control-an-fpga/js/opcode.js on lines 324..333
          section-4-web-server/control-an-fpga/js/opcode.js on lines 334..343
          section-4-web-server/control-an-fpga/js/opcode.js on lines 355..364
          section-4-web-server/control-an-fpga/js/opcode.js on lines 365..374
          section-4-web-server/control-an-fpga/js/opcode.js on lines 386..395
          section-4-web-server/control-an-fpga/js/opcode.js on lines 396..405
          section-4-web-server/control-an-fpga/js/opcode.js on lines 417..426
          section-4-web-server/control-an-fpga/js/opcode.js on lines 427..436
          section-4-web-server/control-an-fpga/js/opcode.js on lines 448..457
          section-4-web-server/control-an-fpga/js/opcode.js on lines 458..467
          section-4-web-server/control-an-fpga/js/opcode.js on lines 479..488
          section-4-web-server/control-an-fpga/js/opcode.js on lines 489..498
          section-4-web-server/control-an-fpga/js/opcode.js on lines 510..519
          section-4-web-server/control-an-fpga/js/opcode.js on lines 520..529
          section-4-web-server/control-an-fpga/js/opcode.js on lines 541..550
          section-4-web-server/control-an-fpga/js/opcode.js on lines 551..560
          section-4-web-server/control-an-fpga/js/opcode.js on lines 572..581
          section-4-web-server/control-an-fpga/js/opcode.js on lines 582..591
          section-4-web-server/control-an-fpga/js/opcode.js on lines 603..612
          section-4-web-server/control-an-fpga/js/opcode.js on lines 613..622
          section-4-web-server/control-an-fpga/js/opcode.js on lines 634..643
          section-4-web-server/control-an-fpga/js/opcode.js on lines 644..653
          section-4-web-server/control-an-fpga/js/opcode.js on lines 665..674
          section-4-web-server/control-an-fpga/js/opcode.js on lines 675..684
          section-4-web-server/control-an-fpga/js/opcode.js on lines 696..705
          section-4-web-server/control-an-fpga/js/opcode.js on lines 706..715
          section-4-web-server/control-an-fpga/js/opcode.js on lines 727..736
          section-4-web-server/control-an-fpga/js/opcode.js on lines 737..746
          section-4-web-server/control-an-fpga/js/opcode.js on lines 758..767
          section-4-web-server/control-an-fpga/js/opcode.js on lines 768..777
          section-4-web-server/control-an-fpga/js/opcode.js on lines 802..811
          section-4-web-server/control-an-fpga/js/opcode.js on lines 823..832
          section-4-web-server/control-an-fpga/js/opcode.js on lines 833..842
          section-4-web-server/control-an-fpga/js/opcode.js on lines 854..863
          section-4-web-server/control-an-fpga/js/opcode.js on lines 864..873
          section-4-web-server/control-an-fpga/js/opcode.js on lines 885..894
          section-4-web-server/control-an-fpga/js/opcode.js on lines 895..904
          section-4-web-server/control-an-fpga/js/opcode.js on lines 916..925
          section-4-web-server/control-an-fpga/js/opcode.js on lines 926..935
          section-4-web-server/control-an-fpga/js/opcode.js on lines 947..956
          section-4-web-server/control-an-fpga/js/opcode.js on lines 957..966
          section-4-web-server/control-an-fpga/js/opcode.js on lines 978..987
          section-4-web-server/control-an-fpga/js/opcode.js on lines 988..997
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1009..1018
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1019..1028
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1040..1049
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1050..1059
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1071..1080
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1081..1090
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1112..1121
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1133..1142
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1143..1152
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1164..1173
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1174..1183
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1195..1204
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1205..1214
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1226..1235
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1236..1245
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1257..1266
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1267..1276

          Duplicated Code

          Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

          Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

          When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

          Tuning

          This issue has a mass of 68.

          We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

          The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

          If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

          See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

          Refactorings

          Further Reading

          Similar blocks of code found in 77 locations. Consider refactoring.
          Open

          function data_in_a_one_1_onmouseout() {
            switch(data_in_a_1_state) {
                case "low":
                    document.getElementById("data_in_a_one_1").style.backgroundColor=white;
                    break;
          Severity: Major
          Found in section-4-web-server/control-an-fpga/js/opcode.js and 76 other locations - About 1 hr to fix
          section-4-web-server/control-an-fpga/js/opcode.js on lines 52..61
          section-4-web-server/control-an-fpga/js/opcode.js on lines 73..82
          section-4-web-server/control-an-fpga/js/opcode.js on lines 83..92
          section-4-web-server/control-an-fpga/js/opcode.js on lines 104..113
          section-4-web-server/control-an-fpga/js/opcode.js on lines 114..123
          section-4-web-server/control-an-fpga/js/opcode.js on lines 135..144
          section-4-web-server/control-an-fpga/js/opcode.js on lines 145..154
          section-4-web-server/control-an-fpga/js/opcode.js on lines 166..175
          section-4-web-server/control-an-fpga/js/opcode.js on lines 176..185
          section-4-web-server/control-an-fpga/js/opcode.js on lines 197..206
          section-4-web-server/control-an-fpga/js/opcode.js on lines 207..216
          section-4-web-server/control-an-fpga/js/opcode.js on lines 228..237
          section-4-web-server/control-an-fpga/js/opcode.js on lines 238..247
          section-4-web-server/control-an-fpga/js/opcode.js on lines 259..268
          section-4-web-server/control-an-fpga/js/opcode.js on lines 269..278
          section-4-web-server/control-an-fpga/js/opcode.js on lines 303..312
          section-4-web-server/control-an-fpga/js/opcode.js on lines 324..333
          section-4-web-server/control-an-fpga/js/opcode.js on lines 334..343
          section-4-web-server/control-an-fpga/js/opcode.js on lines 355..364
          section-4-web-server/control-an-fpga/js/opcode.js on lines 365..374
          section-4-web-server/control-an-fpga/js/opcode.js on lines 386..395
          section-4-web-server/control-an-fpga/js/opcode.js on lines 396..405
          section-4-web-server/control-an-fpga/js/opcode.js on lines 417..426
          section-4-web-server/control-an-fpga/js/opcode.js on lines 427..436
          section-4-web-server/control-an-fpga/js/opcode.js on lines 448..457
          section-4-web-server/control-an-fpga/js/opcode.js on lines 458..467
          section-4-web-server/control-an-fpga/js/opcode.js on lines 479..488
          section-4-web-server/control-an-fpga/js/opcode.js on lines 489..498
          section-4-web-server/control-an-fpga/js/opcode.js on lines 510..519
          section-4-web-server/control-an-fpga/js/opcode.js on lines 520..529
          section-4-web-server/control-an-fpga/js/opcode.js on lines 541..550
          section-4-web-server/control-an-fpga/js/opcode.js on lines 551..560
          section-4-web-server/control-an-fpga/js/opcode.js on lines 572..581
          section-4-web-server/control-an-fpga/js/opcode.js on lines 582..591
          section-4-web-server/control-an-fpga/js/opcode.js on lines 603..612
          section-4-web-server/control-an-fpga/js/opcode.js on lines 613..622
          section-4-web-server/control-an-fpga/js/opcode.js on lines 634..643
          section-4-web-server/control-an-fpga/js/opcode.js on lines 644..653
          section-4-web-server/control-an-fpga/js/opcode.js on lines 665..674
          section-4-web-server/control-an-fpga/js/opcode.js on lines 696..705
          section-4-web-server/control-an-fpga/js/opcode.js on lines 706..715
          section-4-web-server/control-an-fpga/js/opcode.js on lines 727..736
          section-4-web-server/control-an-fpga/js/opcode.js on lines 737..746
          section-4-web-server/control-an-fpga/js/opcode.js on lines 758..767
          section-4-web-server/control-an-fpga/js/opcode.js on lines 768..777
          section-4-web-server/control-an-fpga/js/opcode.js on lines 802..811
          section-4-web-server/control-an-fpga/js/opcode.js on lines 823..832
          section-4-web-server/control-an-fpga/js/opcode.js on lines 833..842
          section-4-web-server/control-an-fpga/js/opcode.js on lines 854..863
          section-4-web-server/control-an-fpga/js/opcode.js on lines 864..873
          section-4-web-server/control-an-fpga/js/opcode.js on lines 885..894
          section-4-web-server/control-an-fpga/js/opcode.js on lines 895..904
          section-4-web-server/control-an-fpga/js/opcode.js on lines 916..925
          section-4-web-server/control-an-fpga/js/opcode.js on lines 926..935
          section-4-web-server/control-an-fpga/js/opcode.js on lines 947..956
          section-4-web-server/control-an-fpga/js/opcode.js on lines 957..966
          section-4-web-server/control-an-fpga/js/opcode.js on lines 978..987
          section-4-web-server/control-an-fpga/js/opcode.js on lines 988..997
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1009..1018
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1019..1028
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1040..1049
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1050..1059
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1071..1080
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1081..1090
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1102..1111
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1112..1121
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1133..1142
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1143..1152
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1164..1173
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1174..1183
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1195..1204
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1205..1214
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1226..1235
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1236..1245
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1257..1266
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1267..1276

          Duplicated Code

          Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

          Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

          When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

          Tuning

          This issue has a mass of 68.

          We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

          The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

          If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

          See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

          Refactorings

          Further Reading

          Similar blocks of code found in 77 locations. Consider refactoring.
          Open

          function data_in_b_one_5_onmouseover() {
            switch(data_in_b_5_state) {
                case "low":
                    document.getElementById("data_in_b_one_5").style.backgroundColor=grey;
                    break;
          Severity: Major
          Found in section-4-web-server/control-an-fpga/js/opcode.js and 76 other locations - About 1 hr to fix
          section-4-web-server/control-an-fpga/js/opcode.js on lines 52..61
          section-4-web-server/control-an-fpga/js/opcode.js on lines 73..82
          section-4-web-server/control-an-fpga/js/opcode.js on lines 83..92
          section-4-web-server/control-an-fpga/js/opcode.js on lines 104..113
          section-4-web-server/control-an-fpga/js/opcode.js on lines 114..123
          section-4-web-server/control-an-fpga/js/opcode.js on lines 135..144
          section-4-web-server/control-an-fpga/js/opcode.js on lines 145..154
          section-4-web-server/control-an-fpga/js/opcode.js on lines 166..175
          section-4-web-server/control-an-fpga/js/opcode.js on lines 176..185
          section-4-web-server/control-an-fpga/js/opcode.js on lines 197..206
          section-4-web-server/control-an-fpga/js/opcode.js on lines 207..216
          section-4-web-server/control-an-fpga/js/opcode.js on lines 228..237
          section-4-web-server/control-an-fpga/js/opcode.js on lines 238..247
          section-4-web-server/control-an-fpga/js/opcode.js on lines 259..268
          section-4-web-server/control-an-fpga/js/opcode.js on lines 269..278
          section-4-web-server/control-an-fpga/js/opcode.js on lines 303..312
          section-4-web-server/control-an-fpga/js/opcode.js on lines 324..333
          section-4-web-server/control-an-fpga/js/opcode.js on lines 334..343
          section-4-web-server/control-an-fpga/js/opcode.js on lines 355..364
          section-4-web-server/control-an-fpga/js/opcode.js on lines 365..374
          section-4-web-server/control-an-fpga/js/opcode.js on lines 386..395
          section-4-web-server/control-an-fpga/js/opcode.js on lines 396..405
          section-4-web-server/control-an-fpga/js/opcode.js on lines 417..426
          section-4-web-server/control-an-fpga/js/opcode.js on lines 427..436
          section-4-web-server/control-an-fpga/js/opcode.js on lines 448..457
          section-4-web-server/control-an-fpga/js/opcode.js on lines 458..467
          section-4-web-server/control-an-fpga/js/opcode.js on lines 479..488
          section-4-web-server/control-an-fpga/js/opcode.js on lines 489..498
          section-4-web-server/control-an-fpga/js/opcode.js on lines 510..519
          section-4-web-server/control-an-fpga/js/opcode.js on lines 520..529
          section-4-web-server/control-an-fpga/js/opcode.js on lines 541..550
          section-4-web-server/control-an-fpga/js/opcode.js on lines 551..560
          section-4-web-server/control-an-fpga/js/opcode.js on lines 572..581
          section-4-web-server/control-an-fpga/js/opcode.js on lines 582..591
          section-4-web-server/control-an-fpga/js/opcode.js on lines 603..612
          section-4-web-server/control-an-fpga/js/opcode.js on lines 613..622
          section-4-web-server/control-an-fpga/js/opcode.js on lines 634..643
          section-4-web-server/control-an-fpga/js/opcode.js on lines 644..653
          section-4-web-server/control-an-fpga/js/opcode.js on lines 665..674
          section-4-web-server/control-an-fpga/js/opcode.js on lines 675..684
          section-4-web-server/control-an-fpga/js/opcode.js on lines 696..705
          section-4-web-server/control-an-fpga/js/opcode.js on lines 706..715
          section-4-web-server/control-an-fpga/js/opcode.js on lines 727..736
          section-4-web-server/control-an-fpga/js/opcode.js on lines 737..746
          section-4-web-server/control-an-fpga/js/opcode.js on lines 758..767
          section-4-web-server/control-an-fpga/js/opcode.js on lines 768..777
          section-4-web-server/control-an-fpga/js/opcode.js on lines 802..811
          section-4-web-server/control-an-fpga/js/opcode.js on lines 823..832
          section-4-web-server/control-an-fpga/js/opcode.js on lines 833..842
          section-4-web-server/control-an-fpga/js/opcode.js on lines 854..863
          section-4-web-server/control-an-fpga/js/opcode.js on lines 864..873
          section-4-web-server/control-an-fpga/js/opcode.js on lines 885..894
          section-4-web-server/control-an-fpga/js/opcode.js on lines 895..904
          section-4-web-server/control-an-fpga/js/opcode.js on lines 926..935
          section-4-web-server/control-an-fpga/js/opcode.js on lines 947..956
          section-4-web-server/control-an-fpga/js/opcode.js on lines 957..966
          section-4-web-server/control-an-fpga/js/opcode.js on lines 978..987
          section-4-web-server/control-an-fpga/js/opcode.js on lines 988..997
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1009..1018
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1019..1028
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1040..1049
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1050..1059
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1071..1080
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1081..1090
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1102..1111
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1112..1121
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1133..1142
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1143..1152
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1164..1173
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1174..1183
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1195..1204
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1205..1214
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1226..1235
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1236..1245
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1257..1266
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1267..1276

          Duplicated Code

          Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

          Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

          When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

          Tuning

          This issue has a mass of 68.

          We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

          The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

          If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

          See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

          Refactorings

          Further Reading

          Similar blocks of code found in 77 locations. Consider refactoring.
          Open

          function data_in_b_zero_0_onmouseout() {
          switch(data_in_b_0_state) {
              case "low":
                  document.getElementById("data_in_b_zero_0").style.backgroundColor=lightgreen;
                  break;
          Severity: Major
          Found in section-4-web-server/control-an-fpga/js/opcode.js and 76 other locations - About 1 hr to fix
          section-4-web-server/control-an-fpga/js/opcode.js on lines 52..61
          section-4-web-server/control-an-fpga/js/opcode.js on lines 73..82
          section-4-web-server/control-an-fpga/js/opcode.js on lines 83..92
          section-4-web-server/control-an-fpga/js/opcode.js on lines 104..113
          section-4-web-server/control-an-fpga/js/opcode.js on lines 114..123
          section-4-web-server/control-an-fpga/js/opcode.js on lines 135..144
          section-4-web-server/control-an-fpga/js/opcode.js on lines 145..154
          section-4-web-server/control-an-fpga/js/opcode.js on lines 166..175
          section-4-web-server/control-an-fpga/js/opcode.js on lines 176..185
          section-4-web-server/control-an-fpga/js/opcode.js on lines 197..206
          section-4-web-server/control-an-fpga/js/opcode.js on lines 207..216
          section-4-web-server/control-an-fpga/js/opcode.js on lines 228..237
          section-4-web-server/control-an-fpga/js/opcode.js on lines 238..247
          section-4-web-server/control-an-fpga/js/opcode.js on lines 259..268
          section-4-web-server/control-an-fpga/js/opcode.js on lines 269..278
          section-4-web-server/control-an-fpga/js/opcode.js on lines 303..312
          section-4-web-server/control-an-fpga/js/opcode.js on lines 324..333
          section-4-web-server/control-an-fpga/js/opcode.js on lines 334..343
          section-4-web-server/control-an-fpga/js/opcode.js on lines 355..364
          section-4-web-server/control-an-fpga/js/opcode.js on lines 365..374
          section-4-web-server/control-an-fpga/js/opcode.js on lines 386..395
          section-4-web-server/control-an-fpga/js/opcode.js on lines 396..405
          section-4-web-server/control-an-fpga/js/opcode.js on lines 417..426
          section-4-web-server/control-an-fpga/js/opcode.js on lines 427..436
          section-4-web-server/control-an-fpga/js/opcode.js on lines 448..457
          section-4-web-server/control-an-fpga/js/opcode.js on lines 458..467
          section-4-web-server/control-an-fpga/js/opcode.js on lines 479..488
          section-4-web-server/control-an-fpga/js/opcode.js on lines 489..498
          section-4-web-server/control-an-fpga/js/opcode.js on lines 510..519
          section-4-web-server/control-an-fpga/js/opcode.js on lines 520..529
          section-4-web-server/control-an-fpga/js/opcode.js on lines 541..550
          section-4-web-server/control-an-fpga/js/opcode.js on lines 551..560
          section-4-web-server/control-an-fpga/js/opcode.js on lines 572..581
          section-4-web-server/control-an-fpga/js/opcode.js on lines 582..591
          section-4-web-server/control-an-fpga/js/opcode.js on lines 603..612
          section-4-web-server/control-an-fpga/js/opcode.js on lines 613..622
          section-4-web-server/control-an-fpga/js/opcode.js on lines 634..643
          section-4-web-server/control-an-fpga/js/opcode.js on lines 644..653
          section-4-web-server/control-an-fpga/js/opcode.js on lines 665..674
          section-4-web-server/control-an-fpga/js/opcode.js on lines 675..684
          section-4-web-server/control-an-fpga/js/opcode.js on lines 696..705
          section-4-web-server/control-an-fpga/js/opcode.js on lines 706..715
          section-4-web-server/control-an-fpga/js/opcode.js on lines 727..736
          section-4-web-server/control-an-fpga/js/opcode.js on lines 737..746
          section-4-web-server/control-an-fpga/js/opcode.js on lines 758..767
          section-4-web-server/control-an-fpga/js/opcode.js on lines 768..777
          section-4-web-server/control-an-fpga/js/opcode.js on lines 802..811
          section-4-web-server/control-an-fpga/js/opcode.js on lines 823..832
          section-4-web-server/control-an-fpga/js/opcode.js on lines 833..842
          section-4-web-server/control-an-fpga/js/opcode.js on lines 854..863
          section-4-web-server/control-an-fpga/js/opcode.js on lines 864..873
          section-4-web-server/control-an-fpga/js/opcode.js on lines 885..894
          section-4-web-server/control-an-fpga/js/opcode.js on lines 895..904
          section-4-web-server/control-an-fpga/js/opcode.js on lines 916..925
          section-4-web-server/control-an-fpga/js/opcode.js on lines 926..935
          section-4-web-server/control-an-fpga/js/opcode.js on lines 947..956
          section-4-web-server/control-an-fpga/js/opcode.js on lines 957..966
          section-4-web-server/control-an-fpga/js/opcode.js on lines 978..987
          section-4-web-server/control-an-fpga/js/opcode.js on lines 988..997
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1009..1018
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1019..1028
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1040..1049
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1050..1059
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1071..1080
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1081..1090
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1102..1111
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1112..1121
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1133..1142
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1143..1152
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1164..1173
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1174..1183
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1195..1204
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1205..1214
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1226..1235
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1236..1245
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1257..1266

          Duplicated Code

          Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

          Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

          When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

          Tuning

          This issue has a mass of 68.

          We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

          The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

          If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

          See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

          Refactorings

          Further Reading

          Similar blocks of code found in 77 locations. Consider refactoring.
          Open

          function data_in_b_zero_4_onmouseover() {
          switch(data_in_b_4_state) {
              case "low":
                  document.getElementById("data_in_b_zero_4").style.backgroundColor=lightgreen;
                  break;
          Severity: Major
          Found in section-4-web-server/control-an-fpga/js/opcode.js and 76 other locations - About 1 hr to fix
          section-4-web-server/control-an-fpga/js/opcode.js on lines 52..61
          section-4-web-server/control-an-fpga/js/opcode.js on lines 73..82
          section-4-web-server/control-an-fpga/js/opcode.js on lines 83..92
          section-4-web-server/control-an-fpga/js/opcode.js on lines 104..113
          section-4-web-server/control-an-fpga/js/opcode.js on lines 114..123
          section-4-web-server/control-an-fpga/js/opcode.js on lines 135..144
          section-4-web-server/control-an-fpga/js/opcode.js on lines 145..154
          section-4-web-server/control-an-fpga/js/opcode.js on lines 166..175
          section-4-web-server/control-an-fpga/js/opcode.js on lines 176..185
          section-4-web-server/control-an-fpga/js/opcode.js on lines 197..206
          section-4-web-server/control-an-fpga/js/opcode.js on lines 207..216
          section-4-web-server/control-an-fpga/js/opcode.js on lines 228..237
          section-4-web-server/control-an-fpga/js/opcode.js on lines 238..247
          section-4-web-server/control-an-fpga/js/opcode.js on lines 259..268
          section-4-web-server/control-an-fpga/js/opcode.js on lines 269..278
          section-4-web-server/control-an-fpga/js/opcode.js on lines 303..312
          section-4-web-server/control-an-fpga/js/opcode.js on lines 324..333
          section-4-web-server/control-an-fpga/js/opcode.js on lines 334..343
          section-4-web-server/control-an-fpga/js/opcode.js on lines 355..364
          section-4-web-server/control-an-fpga/js/opcode.js on lines 365..374
          section-4-web-server/control-an-fpga/js/opcode.js on lines 386..395
          section-4-web-server/control-an-fpga/js/opcode.js on lines 396..405
          section-4-web-server/control-an-fpga/js/opcode.js on lines 417..426
          section-4-web-server/control-an-fpga/js/opcode.js on lines 427..436
          section-4-web-server/control-an-fpga/js/opcode.js on lines 448..457
          section-4-web-server/control-an-fpga/js/opcode.js on lines 458..467
          section-4-web-server/control-an-fpga/js/opcode.js on lines 479..488
          section-4-web-server/control-an-fpga/js/opcode.js on lines 489..498
          section-4-web-server/control-an-fpga/js/opcode.js on lines 510..519
          section-4-web-server/control-an-fpga/js/opcode.js on lines 520..529
          section-4-web-server/control-an-fpga/js/opcode.js on lines 541..550
          section-4-web-server/control-an-fpga/js/opcode.js on lines 551..560
          section-4-web-server/control-an-fpga/js/opcode.js on lines 572..581
          section-4-web-server/control-an-fpga/js/opcode.js on lines 582..591
          section-4-web-server/control-an-fpga/js/opcode.js on lines 603..612
          section-4-web-server/control-an-fpga/js/opcode.js on lines 613..622
          section-4-web-server/control-an-fpga/js/opcode.js on lines 634..643
          section-4-web-server/control-an-fpga/js/opcode.js on lines 644..653
          section-4-web-server/control-an-fpga/js/opcode.js on lines 665..674
          section-4-web-server/control-an-fpga/js/opcode.js on lines 675..684
          section-4-web-server/control-an-fpga/js/opcode.js on lines 696..705
          section-4-web-server/control-an-fpga/js/opcode.js on lines 706..715
          section-4-web-server/control-an-fpga/js/opcode.js on lines 727..736
          section-4-web-server/control-an-fpga/js/opcode.js on lines 737..746
          section-4-web-server/control-an-fpga/js/opcode.js on lines 758..767
          section-4-web-server/control-an-fpga/js/opcode.js on lines 768..777
          section-4-web-server/control-an-fpga/js/opcode.js on lines 802..811
          section-4-web-server/control-an-fpga/js/opcode.js on lines 823..832
          section-4-web-server/control-an-fpga/js/opcode.js on lines 833..842
          section-4-web-server/control-an-fpga/js/opcode.js on lines 854..863
          section-4-web-server/control-an-fpga/js/opcode.js on lines 864..873
          section-4-web-server/control-an-fpga/js/opcode.js on lines 885..894
          section-4-web-server/control-an-fpga/js/opcode.js on lines 895..904
          section-4-web-server/control-an-fpga/js/opcode.js on lines 916..925
          section-4-web-server/control-an-fpga/js/opcode.js on lines 926..935
          section-4-web-server/control-an-fpga/js/opcode.js on lines 947..956
          section-4-web-server/control-an-fpga/js/opcode.js on lines 957..966
          section-4-web-server/control-an-fpga/js/opcode.js on lines 978..987
          section-4-web-server/control-an-fpga/js/opcode.js on lines 988..997
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1019..1028
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1040..1049
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1050..1059
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1071..1080
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1081..1090
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1102..1111
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1112..1121
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1133..1142
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1143..1152
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1164..1173
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1174..1183
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1195..1204
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1205..1214
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1226..1235
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1236..1245
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1257..1266
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1267..1276

          Duplicated Code

          Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

          Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

          When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

          Tuning

          This issue has a mass of 68.

          We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

          The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

          If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

          See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

          Refactorings

          Further Reading

          Similar blocks of code found in 77 locations. Consider refactoring.
          Open

          function opcode_zero_3_onmouseover() {
              switch(opcode_3_state) {
                  case "low":
                      document.getElementById("opcode_zero_3").style.backgroundColor=lightgreen;
                      break;
          Severity: Major
          Found in section-4-web-server/control-an-fpga/js/opcode.js and 76 other locations - About 1 hr to fix
          section-4-web-server/control-an-fpga/js/opcode.js on lines 52..61
          section-4-web-server/control-an-fpga/js/opcode.js on lines 83..92
          section-4-web-server/control-an-fpga/js/opcode.js on lines 104..113
          section-4-web-server/control-an-fpga/js/opcode.js on lines 114..123
          section-4-web-server/control-an-fpga/js/opcode.js on lines 135..144
          section-4-web-server/control-an-fpga/js/opcode.js on lines 145..154
          section-4-web-server/control-an-fpga/js/opcode.js on lines 166..175
          section-4-web-server/control-an-fpga/js/opcode.js on lines 176..185
          section-4-web-server/control-an-fpga/js/opcode.js on lines 197..206
          section-4-web-server/control-an-fpga/js/opcode.js on lines 207..216
          section-4-web-server/control-an-fpga/js/opcode.js on lines 228..237
          section-4-web-server/control-an-fpga/js/opcode.js on lines 238..247
          section-4-web-server/control-an-fpga/js/opcode.js on lines 259..268
          section-4-web-server/control-an-fpga/js/opcode.js on lines 269..278
          section-4-web-server/control-an-fpga/js/opcode.js on lines 303..312
          section-4-web-server/control-an-fpga/js/opcode.js on lines 324..333
          section-4-web-server/control-an-fpga/js/opcode.js on lines 334..343
          section-4-web-server/control-an-fpga/js/opcode.js on lines 355..364
          section-4-web-server/control-an-fpga/js/opcode.js on lines 365..374
          section-4-web-server/control-an-fpga/js/opcode.js on lines 386..395
          section-4-web-server/control-an-fpga/js/opcode.js on lines 396..405
          section-4-web-server/control-an-fpga/js/opcode.js on lines 417..426
          section-4-web-server/control-an-fpga/js/opcode.js on lines 427..436
          section-4-web-server/control-an-fpga/js/opcode.js on lines 448..457
          section-4-web-server/control-an-fpga/js/opcode.js on lines 458..467
          section-4-web-server/control-an-fpga/js/opcode.js on lines 479..488
          section-4-web-server/control-an-fpga/js/opcode.js on lines 489..498
          section-4-web-server/control-an-fpga/js/opcode.js on lines 510..519
          section-4-web-server/control-an-fpga/js/opcode.js on lines 520..529
          section-4-web-server/control-an-fpga/js/opcode.js on lines 541..550
          section-4-web-server/control-an-fpga/js/opcode.js on lines 551..560
          section-4-web-server/control-an-fpga/js/opcode.js on lines 572..581
          section-4-web-server/control-an-fpga/js/opcode.js on lines 582..591
          section-4-web-server/control-an-fpga/js/opcode.js on lines 603..612
          section-4-web-server/control-an-fpga/js/opcode.js on lines 613..622
          section-4-web-server/control-an-fpga/js/opcode.js on lines 634..643
          section-4-web-server/control-an-fpga/js/opcode.js on lines 644..653
          section-4-web-server/control-an-fpga/js/opcode.js on lines 665..674
          section-4-web-server/control-an-fpga/js/opcode.js on lines 675..684
          section-4-web-server/control-an-fpga/js/opcode.js on lines 696..705
          section-4-web-server/control-an-fpga/js/opcode.js on lines 706..715
          section-4-web-server/control-an-fpga/js/opcode.js on lines 727..736
          section-4-web-server/control-an-fpga/js/opcode.js on lines 737..746
          section-4-web-server/control-an-fpga/js/opcode.js on lines 758..767
          section-4-web-server/control-an-fpga/js/opcode.js on lines 768..777
          section-4-web-server/control-an-fpga/js/opcode.js on lines 802..811
          section-4-web-server/control-an-fpga/js/opcode.js on lines 823..832
          section-4-web-server/control-an-fpga/js/opcode.js on lines 833..842
          section-4-web-server/control-an-fpga/js/opcode.js on lines 854..863
          section-4-web-server/control-an-fpga/js/opcode.js on lines 864..873
          section-4-web-server/control-an-fpga/js/opcode.js on lines 885..894
          section-4-web-server/control-an-fpga/js/opcode.js on lines 895..904
          section-4-web-server/control-an-fpga/js/opcode.js on lines 916..925
          section-4-web-server/control-an-fpga/js/opcode.js on lines 926..935
          section-4-web-server/control-an-fpga/js/opcode.js on lines 947..956
          section-4-web-server/control-an-fpga/js/opcode.js on lines 957..966
          section-4-web-server/control-an-fpga/js/opcode.js on lines 978..987
          section-4-web-server/control-an-fpga/js/opcode.js on lines 988..997
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1009..1018
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1019..1028
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1040..1049
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1050..1059
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1071..1080
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1081..1090
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1102..1111
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1112..1121
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1133..1142
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1143..1152
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1164..1173
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1174..1183
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1195..1204
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1205..1214
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1226..1235
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1236..1245
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1257..1266
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1267..1276

          Duplicated Code

          Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

          Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

          When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

          Tuning

          This issue has a mass of 68.

          We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

          The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

          If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

          See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

          Refactorings

          Further Reading

          Similar blocks of code found in 77 locations. Consider refactoring.
          Open

          function opcode_zero_1_onmouseover() {
              switch(opcode_1_state) {
                  case "low":
                      document.getElementById("opcode_zero_1").style.backgroundColor=lightgreen;
                      break;
          Severity: Major
          Found in section-4-web-server/control-an-fpga/js/opcode.js and 76 other locations - About 1 hr to fix
          section-4-web-server/control-an-fpga/js/opcode.js on lines 52..61
          section-4-web-server/control-an-fpga/js/opcode.js on lines 73..82
          section-4-web-server/control-an-fpga/js/opcode.js on lines 83..92
          section-4-web-server/control-an-fpga/js/opcode.js on lines 104..113
          section-4-web-server/control-an-fpga/js/opcode.js on lines 114..123
          section-4-web-server/control-an-fpga/js/opcode.js on lines 135..144
          section-4-web-server/control-an-fpga/js/opcode.js on lines 145..154
          section-4-web-server/control-an-fpga/js/opcode.js on lines 166..175
          section-4-web-server/control-an-fpga/js/opcode.js on lines 176..185
          section-4-web-server/control-an-fpga/js/opcode.js on lines 207..216
          section-4-web-server/control-an-fpga/js/opcode.js on lines 228..237
          section-4-web-server/control-an-fpga/js/opcode.js on lines 238..247
          section-4-web-server/control-an-fpga/js/opcode.js on lines 259..268
          section-4-web-server/control-an-fpga/js/opcode.js on lines 269..278
          section-4-web-server/control-an-fpga/js/opcode.js on lines 303..312
          section-4-web-server/control-an-fpga/js/opcode.js on lines 324..333
          section-4-web-server/control-an-fpga/js/opcode.js on lines 334..343
          section-4-web-server/control-an-fpga/js/opcode.js on lines 355..364
          section-4-web-server/control-an-fpga/js/opcode.js on lines 365..374
          section-4-web-server/control-an-fpga/js/opcode.js on lines 386..395
          section-4-web-server/control-an-fpga/js/opcode.js on lines 396..405
          section-4-web-server/control-an-fpga/js/opcode.js on lines 417..426
          section-4-web-server/control-an-fpga/js/opcode.js on lines 427..436
          section-4-web-server/control-an-fpga/js/opcode.js on lines 448..457
          section-4-web-server/control-an-fpga/js/opcode.js on lines 458..467
          section-4-web-server/control-an-fpga/js/opcode.js on lines 479..488
          section-4-web-server/control-an-fpga/js/opcode.js on lines 489..498
          section-4-web-server/control-an-fpga/js/opcode.js on lines 510..519
          section-4-web-server/control-an-fpga/js/opcode.js on lines 520..529
          section-4-web-server/control-an-fpga/js/opcode.js on lines 541..550
          section-4-web-server/control-an-fpga/js/opcode.js on lines 551..560
          section-4-web-server/control-an-fpga/js/opcode.js on lines 572..581
          section-4-web-server/control-an-fpga/js/opcode.js on lines 582..591
          section-4-web-server/control-an-fpga/js/opcode.js on lines 603..612
          section-4-web-server/control-an-fpga/js/opcode.js on lines 613..622
          section-4-web-server/control-an-fpga/js/opcode.js on lines 634..643
          section-4-web-server/control-an-fpga/js/opcode.js on lines 644..653
          section-4-web-server/control-an-fpga/js/opcode.js on lines 665..674
          section-4-web-server/control-an-fpga/js/opcode.js on lines 675..684
          section-4-web-server/control-an-fpga/js/opcode.js on lines 696..705
          section-4-web-server/control-an-fpga/js/opcode.js on lines 706..715
          section-4-web-server/control-an-fpga/js/opcode.js on lines 727..736
          section-4-web-server/control-an-fpga/js/opcode.js on lines 737..746
          section-4-web-server/control-an-fpga/js/opcode.js on lines 758..767
          section-4-web-server/control-an-fpga/js/opcode.js on lines 768..777
          section-4-web-server/control-an-fpga/js/opcode.js on lines 802..811
          section-4-web-server/control-an-fpga/js/opcode.js on lines 823..832
          section-4-web-server/control-an-fpga/js/opcode.js on lines 833..842
          section-4-web-server/control-an-fpga/js/opcode.js on lines 854..863
          section-4-web-server/control-an-fpga/js/opcode.js on lines 864..873
          section-4-web-server/control-an-fpga/js/opcode.js on lines 885..894
          section-4-web-server/control-an-fpga/js/opcode.js on lines 895..904
          section-4-web-server/control-an-fpga/js/opcode.js on lines 916..925
          section-4-web-server/control-an-fpga/js/opcode.js on lines 926..935
          section-4-web-server/control-an-fpga/js/opcode.js on lines 947..956
          section-4-web-server/control-an-fpga/js/opcode.js on lines 957..966
          section-4-web-server/control-an-fpga/js/opcode.js on lines 978..987
          section-4-web-server/control-an-fpga/js/opcode.js on lines 988..997
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1009..1018
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1019..1028
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1040..1049
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1050..1059
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1071..1080
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1081..1090
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1102..1111
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1112..1121
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1133..1142
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1143..1152
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1164..1173
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1174..1183
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1195..1204
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1205..1214
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1226..1235
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1236..1245
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1257..1266
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1267..1276

          Duplicated Code

          Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

          Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

          When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

          Tuning

          This issue has a mass of 68.

          We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

          The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

          If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

          See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

          Refactorings

          Further Reading

          Similar blocks of code found in 77 locations. Consider refactoring.
          Open

          function opcode_zero_0_onmouseout() {
              switch(opcode_0_state) {
                  case "low":
                      document.getElementById("opcode_zero_0").style.backgroundColor=lightgreen;
                      break;
          Severity: Major
          Found in section-4-web-server/control-an-fpga/js/opcode.js and 76 other locations - About 1 hr to fix
          section-4-web-server/control-an-fpga/js/opcode.js on lines 52..61
          section-4-web-server/control-an-fpga/js/opcode.js on lines 73..82
          section-4-web-server/control-an-fpga/js/opcode.js on lines 83..92
          section-4-web-server/control-an-fpga/js/opcode.js on lines 104..113
          section-4-web-server/control-an-fpga/js/opcode.js on lines 114..123
          section-4-web-server/control-an-fpga/js/opcode.js on lines 135..144
          section-4-web-server/control-an-fpga/js/opcode.js on lines 145..154
          section-4-web-server/control-an-fpga/js/opcode.js on lines 166..175
          section-4-web-server/control-an-fpga/js/opcode.js on lines 176..185
          section-4-web-server/control-an-fpga/js/opcode.js on lines 197..206
          section-4-web-server/control-an-fpga/js/opcode.js on lines 207..216
          section-4-web-server/control-an-fpga/js/opcode.js on lines 228..237
          section-4-web-server/control-an-fpga/js/opcode.js on lines 238..247
          section-4-web-server/control-an-fpga/js/opcode.js on lines 259..268
          section-4-web-server/control-an-fpga/js/opcode.js on lines 303..312
          section-4-web-server/control-an-fpga/js/opcode.js on lines 324..333
          section-4-web-server/control-an-fpga/js/opcode.js on lines 334..343
          section-4-web-server/control-an-fpga/js/opcode.js on lines 355..364
          section-4-web-server/control-an-fpga/js/opcode.js on lines 365..374
          section-4-web-server/control-an-fpga/js/opcode.js on lines 386..395
          section-4-web-server/control-an-fpga/js/opcode.js on lines 396..405
          section-4-web-server/control-an-fpga/js/opcode.js on lines 417..426
          section-4-web-server/control-an-fpga/js/opcode.js on lines 427..436
          section-4-web-server/control-an-fpga/js/opcode.js on lines 448..457
          section-4-web-server/control-an-fpga/js/opcode.js on lines 458..467
          section-4-web-server/control-an-fpga/js/opcode.js on lines 479..488
          section-4-web-server/control-an-fpga/js/opcode.js on lines 489..498
          section-4-web-server/control-an-fpga/js/opcode.js on lines 510..519
          section-4-web-server/control-an-fpga/js/opcode.js on lines 520..529
          section-4-web-server/control-an-fpga/js/opcode.js on lines 541..550
          section-4-web-server/control-an-fpga/js/opcode.js on lines 551..560
          section-4-web-server/control-an-fpga/js/opcode.js on lines 572..581
          section-4-web-server/control-an-fpga/js/opcode.js on lines 582..591
          section-4-web-server/control-an-fpga/js/opcode.js on lines 603..612
          section-4-web-server/control-an-fpga/js/opcode.js on lines 613..622
          section-4-web-server/control-an-fpga/js/opcode.js on lines 634..643
          section-4-web-server/control-an-fpga/js/opcode.js on lines 644..653
          section-4-web-server/control-an-fpga/js/opcode.js on lines 665..674
          section-4-web-server/control-an-fpga/js/opcode.js on lines 675..684
          section-4-web-server/control-an-fpga/js/opcode.js on lines 696..705
          section-4-web-server/control-an-fpga/js/opcode.js on lines 706..715
          section-4-web-server/control-an-fpga/js/opcode.js on lines 727..736
          section-4-web-server/control-an-fpga/js/opcode.js on lines 737..746
          section-4-web-server/control-an-fpga/js/opcode.js on lines 758..767
          section-4-web-server/control-an-fpga/js/opcode.js on lines 768..777
          section-4-web-server/control-an-fpga/js/opcode.js on lines 802..811
          section-4-web-server/control-an-fpga/js/opcode.js on lines 823..832
          section-4-web-server/control-an-fpga/js/opcode.js on lines 833..842
          section-4-web-server/control-an-fpga/js/opcode.js on lines 854..863
          section-4-web-server/control-an-fpga/js/opcode.js on lines 864..873
          section-4-web-server/control-an-fpga/js/opcode.js on lines 885..894
          section-4-web-server/control-an-fpga/js/opcode.js on lines 895..904
          section-4-web-server/control-an-fpga/js/opcode.js on lines 916..925
          section-4-web-server/control-an-fpga/js/opcode.js on lines 926..935
          section-4-web-server/control-an-fpga/js/opcode.js on lines 947..956
          section-4-web-server/control-an-fpga/js/opcode.js on lines 957..966
          section-4-web-server/control-an-fpga/js/opcode.js on lines 978..987
          section-4-web-server/control-an-fpga/js/opcode.js on lines 988..997
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1009..1018
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1019..1028
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1040..1049
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1050..1059
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1071..1080
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1081..1090
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1102..1111
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1112..1121
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1133..1142
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1143..1152
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1164..1173
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1174..1183
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1195..1204
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1205..1214
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1226..1235
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1236..1245
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1257..1266
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1267..1276

          Duplicated Code

          Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

          Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

          When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

          Tuning

          This issue has a mass of 68.

          We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

          The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

          If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

          See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

          Refactorings

          Further Reading

          Similar blocks of code found in 77 locations. Consider refactoring.
          Open

          function data_in_a_zero_6_onmouseover() {
              switch(data_in_a_6_state) {
                  case "low":
                      document.getElementById("data_in_a_zero_6").style.backgroundColor=lightgreen;
                      break;
          Severity: Major
          Found in section-4-web-server/control-an-fpga/js/opcode.js and 76 other locations - About 1 hr to fix
          section-4-web-server/control-an-fpga/js/opcode.js on lines 52..61
          section-4-web-server/control-an-fpga/js/opcode.js on lines 73..82
          section-4-web-server/control-an-fpga/js/opcode.js on lines 83..92
          section-4-web-server/control-an-fpga/js/opcode.js on lines 104..113
          section-4-web-server/control-an-fpga/js/opcode.js on lines 114..123
          section-4-web-server/control-an-fpga/js/opcode.js on lines 135..144
          section-4-web-server/control-an-fpga/js/opcode.js on lines 145..154
          section-4-web-server/control-an-fpga/js/opcode.js on lines 166..175
          section-4-web-server/control-an-fpga/js/opcode.js on lines 176..185
          section-4-web-server/control-an-fpga/js/opcode.js on lines 197..206
          section-4-web-server/control-an-fpga/js/opcode.js on lines 207..216
          section-4-web-server/control-an-fpga/js/opcode.js on lines 228..237
          section-4-web-server/control-an-fpga/js/opcode.js on lines 238..247
          section-4-web-server/control-an-fpga/js/opcode.js on lines 259..268
          section-4-web-server/control-an-fpga/js/opcode.js on lines 269..278
          section-4-web-server/control-an-fpga/js/opcode.js on lines 303..312
          section-4-web-server/control-an-fpga/js/opcode.js on lines 324..333
          section-4-web-server/control-an-fpga/js/opcode.js on lines 334..343
          section-4-web-server/control-an-fpga/js/opcode.js on lines 355..364
          section-4-web-server/control-an-fpga/js/opcode.js on lines 365..374
          section-4-web-server/control-an-fpga/js/opcode.js on lines 396..405
          section-4-web-server/control-an-fpga/js/opcode.js on lines 417..426
          section-4-web-server/control-an-fpga/js/opcode.js on lines 427..436
          section-4-web-server/control-an-fpga/js/opcode.js on lines 448..457
          section-4-web-server/control-an-fpga/js/opcode.js on lines 458..467
          section-4-web-server/control-an-fpga/js/opcode.js on lines 479..488
          section-4-web-server/control-an-fpga/js/opcode.js on lines 489..498
          section-4-web-server/control-an-fpga/js/opcode.js on lines 510..519
          section-4-web-server/control-an-fpga/js/opcode.js on lines 520..529
          section-4-web-server/control-an-fpga/js/opcode.js on lines 541..550
          section-4-web-server/control-an-fpga/js/opcode.js on lines 551..560
          section-4-web-server/control-an-fpga/js/opcode.js on lines 572..581
          section-4-web-server/control-an-fpga/js/opcode.js on lines 582..591
          section-4-web-server/control-an-fpga/js/opcode.js on lines 603..612
          section-4-web-server/control-an-fpga/js/opcode.js on lines 613..622
          section-4-web-server/control-an-fpga/js/opcode.js on lines 634..643
          section-4-web-server/control-an-fpga/js/opcode.js on lines 644..653
          section-4-web-server/control-an-fpga/js/opcode.js on lines 665..674
          section-4-web-server/control-an-fpga/js/opcode.js on lines 675..684
          section-4-web-server/control-an-fpga/js/opcode.js on lines 696..705
          section-4-web-server/control-an-fpga/js/opcode.js on lines 706..715
          section-4-web-server/control-an-fpga/js/opcode.js on lines 727..736
          section-4-web-server/control-an-fpga/js/opcode.js on lines 737..746
          section-4-web-server/control-an-fpga/js/opcode.js on lines 758..767
          section-4-web-server/control-an-fpga/js/opcode.js on lines 768..777
          section-4-web-server/control-an-fpga/js/opcode.js on lines 802..811
          section-4-web-server/control-an-fpga/js/opcode.js on lines 823..832
          section-4-web-server/control-an-fpga/js/opcode.js on lines 833..842
          section-4-web-server/control-an-fpga/js/opcode.js on lines 854..863
          section-4-web-server/control-an-fpga/js/opcode.js on lines 864..873
          section-4-web-server/control-an-fpga/js/opcode.js on lines 885..894
          section-4-web-server/control-an-fpga/js/opcode.js on lines 895..904
          section-4-web-server/control-an-fpga/js/opcode.js on lines 916..925
          section-4-web-server/control-an-fpga/js/opcode.js on lines 926..935
          section-4-web-server/control-an-fpga/js/opcode.js on lines 947..956
          section-4-web-server/control-an-fpga/js/opcode.js on lines 957..966
          section-4-web-server/control-an-fpga/js/opcode.js on lines 978..987
          section-4-web-server/control-an-fpga/js/opcode.js on lines 988..997
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1009..1018
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1019..1028
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1040..1049
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1050..1059
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1071..1080
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1081..1090
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1102..1111
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1112..1121
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1133..1142
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1143..1152
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1164..1173
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1174..1183
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1195..1204
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1205..1214
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1226..1235
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1236..1245
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1257..1266
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1267..1276

          Duplicated Code

          Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

          Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

          When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

          Tuning

          This issue has a mass of 68.

          We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

          The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

          If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

          See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

          Refactorings

          Further Reading

          Similar blocks of code found in 77 locations. Consider refactoring.
          Open

          function data_in_a_zero_5_onmouseover() {
              switch(data_in_a_5_state) {
                  case "low":
                      document.getElementById("data_in_a_zero_5").style.backgroundColor=lightgreen;
                      break;
          Severity: Major
          Found in section-4-web-server/control-an-fpga/js/opcode.js and 76 other locations - About 1 hr to fix
          section-4-web-server/control-an-fpga/js/opcode.js on lines 52..61
          section-4-web-server/control-an-fpga/js/opcode.js on lines 73..82
          section-4-web-server/control-an-fpga/js/opcode.js on lines 83..92
          section-4-web-server/control-an-fpga/js/opcode.js on lines 104..113
          section-4-web-server/control-an-fpga/js/opcode.js on lines 114..123
          section-4-web-server/control-an-fpga/js/opcode.js on lines 135..144
          section-4-web-server/control-an-fpga/js/opcode.js on lines 145..154
          section-4-web-server/control-an-fpga/js/opcode.js on lines 166..175
          section-4-web-server/control-an-fpga/js/opcode.js on lines 176..185
          section-4-web-server/control-an-fpga/js/opcode.js on lines 197..206
          section-4-web-server/control-an-fpga/js/opcode.js on lines 207..216
          section-4-web-server/control-an-fpga/js/opcode.js on lines 228..237
          section-4-web-server/control-an-fpga/js/opcode.js on lines 238..247
          section-4-web-server/control-an-fpga/js/opcode.js on lines 259..268
          section-4-web-server/control-an-fpga/js/opcode.js on lines 269..278
          section-4-web-server/control-an-fpga/js/opcode.js on lines 303..312
          section-4-web-server/control-an-fpga/js/opcode.js on lines 324..333
          section-4-web-server/control-an-fpga/js/opcode.js on lines 334..343
          section-4-web-server/control-an-fpga/js/opcode.js on lines 355..364
          section-4-web-server/control-an-fpga/js/opcode.js on lines 365..374
          section-4-web-server/control-an-fpga/js/opcode.js on lines 386..395
          section-4-web-server/control-an-fpga/js/opcode.js on lines 396..405
          section-4-web-server/control-an-fpga/js/opcode.js on lines 417..426
          section-4-web-server/control-an-fpga/js/opcode.js on lines 427..436
          section-4-web-server/control-an-fpga/js/opcode.js on lines 458..467
          section-4-web-server/control-an-fpga/js/opcode.js on lines 479..488
          section-4-web-server/control-an-fpga/js/opcode.js on lines 489..498
          section-4-web-server/control-an-fpga/js/opcode.js on lines 510..519
          section-4-web-server/control-an-fpga/js/opcode.js on lines 520..529
          section-4-web-server/control-an-fpga/js/opcode.js on lines 541..550
          section-4-web-server/control-an-fpga/js/opcode.js on lines 551..560
          section-4-web-server/control-an-fpga/js/opcode.js on lines 572..581
          section-4-web-server/control-an-fpga/js/opcode.js on lines 582..591
          section-4-web-server/control-an-fpga/js/opcode.js on lines 603..612
          section-4-web-server/control-an-fpga/js/opcode.js on lines 613..622
          section-4-web-server/control-an-fpga/js/opcode.js on lines 634..643
          section-4-web-server/control-an-fpga/js/opcode.js on lines 644..653
          section-4-web-server/control-an-fpga/js/opcode.js on lines 665..674
          section-4-web-server/control-an-fpga/js/opcode.js on lines 675..684
          section-4-web-server/control-an-fpga/js/opcode.js on lines 696..705
          section-4-web-server/control-an-fpga/js/opcode.js on lines 706..715
          section-4-web-server/control-an-fpga/js/opcode.js on lines 727..736
          section-4-web-server/control-an-fpga/js/opcode.js on lines 737..746
          section-4-web-server/control-an-fpga/js/opcode.js on lines 758..767
          section-4-web-server/control-an-fpga/js/opcode.js on lines 768..777
          section-4-web-server/control-an-fpga/js/opcode.js on lines 802..811
          section-4-web-server/control-an-fpga/js/opcode.js on lines 823..832
          section-4-web-server/control-an-fpga/js/opcode.js on lines 833..842
          section-4-web-server/control-an-fpga/js/opcode.js on lines 854..863
          section-4-web-server/control-an-fpga/js/opcode.js on lines 864..873
          section-4-web-server/control-an-fpga/js/opcode.js on lines 885..894
          section-4-web-server/control-an-fpga/js/opcode.js on lines 895..904
          section-4-web-server/control-an-fpga/js/opcode.js on lines 916..925
          section-4-web-server/control-an-fpga/js/opcode.js on lines 926..935
          section-4-web-server/control-an-fpga/js/opcode.js on lines 947..956
          section-4-web-server/control-an-fpga/js/opcode.js on lines 957..966
          section-4-web-server/control-an-fpga/js/opcode.js on lines 978..987
          section-4-web-server/control-an-fpga/js/opcode.js on lines 988..997
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1009..1018
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1019..1028
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1040..1049
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1050..1059
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1071..1080
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1081..1090
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1102..1111
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1112..1121
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1133..1142
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1143..1152
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1164..1173
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1174..1183
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1195..1204
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1205..1214
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1226..1235
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1236..1245
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1257..1266
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1267..1276

          Duplicated Code

          Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

          Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

          When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

          Tuning

          This issue has a mass of 68.

          We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

          The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

          If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

          See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

          Refactorings

          Further Reading

          Similar blocks of code found in 77 locations. Consider refactoring.
          Open

          function data_in_b_one_6_onmouseover() {
            switch(data_in_b_6_state) {
                case "low":
                    document.getElementById("data_in_b_one_6").style.backgroundColor=grey;
                    break;
          Severity: Major
          Found in section-4-web-server/control-an-fpga/js/opcode.js and 76 other locations - About 1 hr to fix
          section-4-web-server/control-an-fpga/js/opcode.js on lines 52..61
          section-4-web-server/control-an-fpga/js/opcode.js on lines 73..82
          section-4-web-server/control-an-fpga/js/opcode.js on lines 83..92
          section-4-web-server/control-an-fpga/js/opcode.js on lines 104..113
          section-4-web-server/control-an-fpga/js/opcode.js on lines 114..123
          section-4-web-server/control-an-fpga/js/opcode.js on lines 135..144
          section-4-web-server/control-an-fpga/js/opcode.js on lines 145..154
          section-4-web-server/control-an-fpga/js/opcode.js on lines 166..175
          section-4-web-server/control-an-fpga/js/opcode.js on lines 176..185
          section-4-web-server/control-an-fpga/js/opcode.js on lines 197..206
          section-4-web-server/control-an-fpga/js/opcode.js on lines 207..216
          section-4-web-server/control-an-fpga/js/opcode.js on lines 228..237
          section-4-web-server/control-an-fpga/js/opcode.js on lines 238..247
          section-4-web-server/control-an-fpga/js/opcode.js on lines 259..268
          section-4-web-server/control-an-fpga/js/opcode.js on lines 269..278
          section-4-web-server/control-an-fpga/js/opcode.js on lines 303..312
          section-4-web-server/control-an-fpga/js/opcode.js on lines 324..333
          section-4-web-server/control-an-fpga/js/opcode.js on lines 334..343
          section-4-web-server/control-an-fpga/js/opcode.js on lines 355..364
          section-4-web-server/control-an-fpga/js/opcode.js on lines 365..374
          section-4-web-server/control-an-fpga/js/opcode.js on lines 386..395
          section-4-web-server/control-an-fpga/js/opcode.js on lines 396..405
          section-4-web-server/control-an-fpga/js/opcode.js on lines 417..426
          section-4-web-server/control-an-fpga/js/opcode.js on lines 427..436
          section-4-web-server/control-an-fpga/js/opcode.js on lines 448..457
          section-4-web-server/control-an-fpga/js/opcode.js on lines 458..467
          section-4-web-server/control-an-fpga/js/opcode.js on lines 479..488
          section-4-web-server/control-an-fpga/js/opcode.js on lines 489..498
          section-4-web-server/control-an-fpga/js/opcode.js on lines 510..519
          section-4-web-server/control-an-fpga/js/opcode.js on lines 520..529
          section-4-web-server/control-an-fpga/js/opcode.js on lines 541..550
          section-4-web-server/control-an-fpga/js/opcode.js on lines 551..560
          section-4-web-server/control-an-fpga/js/opcode.js on lines 572..581
          section-4-web-server/control-an-fpga/js/opcode.js on lines 582..591
          section-4-web-server/control-an-fpga/js/opcode.js on lines 603..612
          section-4-web-server/control-an-fpga/js/opcode.js on lines 613..622
          section-4-web-server/control-an-fpga/js/opcode.js on lines 634..643
          section-4-web-server/control-an-fpga/js/opcode.js on lines 644..653
          section-4-web-server/control-an-fpga/js/opcode.js on lines 665..674
          section-4-web-server/control-an-fpga/js/opcode.js on lines 675..684
          section-4-web-server/control-an-fpga/js/opcode.js on lines 696..705
          section-4-web-server/control-an-fpga/js/opcode.js on lines 706..715
          section-4-web-server/control-an-fpga/js/opcode.js on lines 727..736
          section-4-web-server/control-an-fpga/js/opcode.js on lines 737..746
          section-4-web-server/control-an-fpga/js/opcode.js on lines 758..767
          section-4-web-server/control-an-fpga/js/opcode.js on lines 768..777
          section-4-web-server/control-an-fpga/js/opcode.js on lines 802..811
          section-4-web-server/control-an-fpga/js/opcode.js on lines 823..832
          section-4-web-server/control-an-fpga/js/opcode.js on lines 833..842
          section-4-web-server/control-an-fpga/js/opcode.js on lines 864..873
          section-4-web-server/control-an-fpga/js/opcode.js on lines 885..894
          section-4-web-server/control-an-fpga/js/opcode.js on lines 895..904
          section-4-web-server/control-an-fpga/js/opcode.js on lines 916..925
          section-4-web-server/control-an-fpga/js/opcode.js on lines 926..935
          section-4-web-server/control-an-fpga/js/opcode.js on lines 947..956
          section-4-web-server/control-an-fpga/js/opcode.js on lines 957..966
          section-4-web-server/control-an-fpga/js/opcode.js on lines 978..987
          section-4-web-server/control-an-fpga/js/opcode.js on lines 988..997
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1009..1018
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1019..1028
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1040..1049
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1050..1059
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1071..1080
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1081..1090
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1102..1111
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1112..1121
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1133..1142
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1143..1152
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1164..1173
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1174..1183
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1195..1204
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1205..1214
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1226..1235
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1236..1245
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1257..1266
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1267..1276

          Duplicated Code

          Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

          Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

          When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

          Tuning

          This issue has a mass of 68.

          We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

          The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

          If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

          See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

          Refactorings

          Further Reading

          Similar blocks of code found in 77 locations. Consider refactoring.
          Open

          function data_in_b_one_5_onmouseout() {
            switch(data_in_b_5_state) {
                case "low":
                    document.getElementById("data_in_b_one_5").style.backgroundColor=white;
                    break;
          Severity: Major
          Found in section-4-web-server/control-an-fpga/js/opcode.js and 76 other locations - About 1 hr to fix
          section-4-web-server/control-an-fpga/js/opcode.js on lines 52..61
          section-4-web-server/control-an-fpga/js/opcode.js on lines 73..82
          section-4-web-server/control-an-fpga/js/opcode.js on lines 83..92
          section-4-web-server/control-an-fpga/js/opcode.js on lines 104..113
          section-4-web-server/control-an-fpga/js/opcode.js on lines 114..123
          section-4-web-server/control-an-fpga/js/opcode.js on lines 135..144
          section-4-web-server/control-an-fpga/js/opcode.js on lines 145..154
          section-4-web-server/control-an-fpga/js/opcode.js on lines 166..175
          section-4-web-server/control-an-fpga/js/opcode.js on lines 176..185
          section-4-web-server/control-an-fpga/js/opcode.js on lines 197..206
          section-4-web-server/control-an-fpga/js/opcode.js on lines 207..216
          section-4-web-server/control-an-fpga/js/opcode.js on lines 228..237
          section-4-web-server/control-an-fpga/js/opcode.js on lines 238..247
          section-4-web-server/control-an-fpga/js/opcode.js on lines 259..268
          section-4-web-server/control-an-fpga/js/opcode.js on lines 269..278
          section-4-web-server/control-an-fpga/js/opcode.js on lines 303..312
          section-4-web-server/control-an-fpga/js/opcode.js on lines 324..333
          section-4-web-server/control-an-fpga/js/opcode.js on lines 334..343
          section-4-web-server/control-an-fpga/js/opcode.js on lines 355..364
          section-4-web-server/control-an-fpga/js/opcode.js on lines 365..374
          section-4-web-server/control-an-fpga/js/opcode.js on lines 386..395
          section-4-web-server/control-an-fpga/js/opcode.js on lines 396..405
          section-4-web-server/control-an-fpga/js/opcode.js on lines 417..426
          section-4-web-server/control-an-fpga/js/opcode.js on lines 427..436
          section-4-web-server/control-an-fpga/js/opcode.js on lines 448..457
          section-4-web-server/control-an-fpga/js/opcode.js on lines 458..467
          section-4-web-server/control-an-fpga/js/opcode.js on lines 479..488
          section-4-web-server/control-an-fpga/js/opcode.js on lines 489..498
          section-4-web-server/control-an-fpga/js/opcode.js on lines 510..519
          section-4-web-server/control-an-fpga/js/opcode.js on lines 520..529
          section-4-web-server/control-an-fpga/js/opcode.js on lines 541..550
          section-4-web-server/control-an-fpga/js/opcode.js on lines 551..560
          section-4-web-server/control-an-fpga/js/opcode.js on lines 572..581
          section-4-web-server/control-an-fpga/js/opcode.js on lines 582..591
          section-4-web-server/control-an-fpga/js/opcode.js on lines 603..612
          section-4-web-server/control-an-fpga/js/opcode.js on lines 613..622
          section-4-web-server/control-an-fpga/js/opcode.js on lines 634..643
          section-4-web-server/control-an-fpga/js/opcode.js on lines 644..653
          section-4-web-server/control-an-fpga/js/opcode.js on lines 665..674
          section-4-web-server/control-an-fpga/js/opcode.js on lines 675..684
          section-4-web-server/control-an-fpga/js/opcode.js on lines 696..705
          section-4-web-server/control-an-fpga/js/opcode.js on lines 706..715
          section-4-web-server/control-an-fpga/js/opcode.js on lines 727..736
          section-4-web-server/control-an-fpga/js/opcode.js on lines 737..746
          section-4-web-server/control-an-fpga/js/opcode.js on lines 758..767
          section-4-web-server/control-an-fpga/js/opcode.js on lines 768..777
          section-4-web-server/control-an-fpga/js/opcode.js on lines 802..811
          section-4-web-server/control-an-fpga/js/opcode.js on lines 823..832
          section-4-web-server/control-an-fpga/js/opcode.js on lines 833..842
          section-4-web-server/control-an-fpga/js/opcode.js on lines 854..863
          section-4-web-server/control-an-fpga/js/opcode.js on lines 864..873
          section-4-web-server/control-an-fpga/js/opcode.js on lines 885..894
          section-4-web-server/control-an-fpga/js/opcode.js on lines 895..904
          section-4-web-server/control-an-fpga/js/opcode.js on lines 916..925
          section-4-web-server/control-an-fpga/js/opcode.js on lines 947..956
          section-4-web-server/control-an-fpga/js/opcode.js on lines 957..966
          section-4-web-server/control-an-fpga/js/opcode.js on lines 978..987
          section-4-web-server/control-an-fpga/js/opcode.js on lines 988..997
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1009..1018
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1019..1028
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1040..1049
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1050..1059
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1071..1080
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1081..1090
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1102..1111
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1112..1121
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1133..1142
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1143..1152
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1164..1173
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1174..1183
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1195..1204
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1205..1214
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1226..1235
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1236..1245
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1257..1266
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1267..1276

          Duplicated Code

          Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

          Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

          When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

          Tuning

          This issue has a mass of 68.

          We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

          The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

          If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

          See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

          Refactorings

          Further Reading

          Similar blocks of code found in 77 locations. Consider refactoring.
          Open

          function data_in_b_one_4_onmouseout() {
          switch(data_in_b_4_state) {
              case "low":
                  document.getElementById("data_in_b_one_4").style.backgroundColor=white;
                  break;
          Severity: Major
          Found in section-4-web-server/control-an-fpga/js/opcode.js and 76 other locations - About 1 hr to fix
          section-4-web-server/control-an-fpga/js/opcode.js on lines 52..61
          section-4-web-server/control-an-fpga/js/opcode.js on lines 73..82
          section-4-web-server/control-an-fpga/js/opcode.js on lines 83..92
          section-4-web-server/control-an-fpga/js/opcode.js on lines 104..113
          section-4-web-server/control-an-fpga/js/opcode.js on lines 114..123
          section-4-web-server/control-an-fpga/js/opcode.js on lines 135..144
          section-4-web-server/control-an-fpga/js/opcode.js on lines 145..154
          section-4-web-server/control-an-fpga/js/opcode.js on lines 166..175
          section-4-web-server/control-an-fpga/js/opcode.js on lines 176..185
          section-4-web-server/control-an-fpga/js/opcode.js on lines 197..206
          section-4-web-server/control-an-fpga/js/opcode.js on lines 207..216
          section-4-web-server/control-an-fpga/js/opcode.js on lines 228..237
          section-4-web-server/control-an-fpga/js/opcode.js on lines 238..247
          section-4-web-server/control-an-fpga/js/opcode.js on lines 259..268
          section-4-web-server/control-an-fpga/js/opcode.js on lines 269..278
          section-4-web-server/control-an-fpga/js/opcode.js on lines 303..312
          section-4-web-server/control-an-fpga/js/opcode.js on lines 324..333
          section-4-web-server/control-an-fpga/js/opcode.js on lines 334..343
          section-4-web-server/control-an-fpga/js/opcode.js on lines 355..364
          section-4-web-server/control-an-fpga/js/opcode.js on lines 365..374
          section-4-web-server/control-an-fpga/js/opcode.js on lines 386..395
          section-4-web-server/control-an-fpga/js/opcode.js on lines 396..405
          section-4-web-server/control-an-fpga/js/opcode.js on lines 417..426
          section-4-web-server/control-an-fpga/js/opcode.js on lines 427..436
          section-4-web-server/control-an-fpga/js/opcode.js on lines 448..457
          section-4-web-server/control-an-fpga/js/opcode.js on lines 458..467
          section-4-web-server/control-an-fpga/js/opcode.js on lines 479..488
          section-4-web-server/control-an-fpga/js/opcode.js on lines 489..498
          section-4-web-server/control-an-fpga/js/opcode.js on lines 510..519
          section-4-web-server/control-an-fpga/js/opcode.js on lines 520..529
          section-4-web-server/control-an-fpga/js/opcode.js on lines 541..550
          section-4-web-server/control-an-fpga/js/opcode.js on lines 551..560
          section-4-web-server/control-an-fpga/js/opcode.js on lines 572..581
          section-4-web-server/control-an-fpga/js/opcode.js on lines 582..591
          section-4-web-server/control-an-fpga/js/opcode.js on lines 603..612
          section-4-web-server/control-an-fpga/js/opcode.js on lines 613..622
          section-4-web-server/control-an-fpga/js/opcode.js on lines 634..643
          section-4-web-server/control-an-fpga/js/opcode.js on lines 644..653
          section-4-web-server/control-an-fpga/js/opcode.js on lines 665..674
          section-4-web-server/control-an-fpga/js/opcode.js on lines 675..684
          section-4-web-server/control-an-fpga/js/opcode.js on lines 696..705
          section-4-web-server/control-an-fpga/js/opcode.js on lines 706..715
          section-4-web-server/control-an-fpga/js/opcode.js on lines 727..736
          section-4-web-server/control-an-fpga/js/opcode.js on lines 737..746
          section-4-web-server/control-an-fpga/js/opcode.js on lines 758..767
          section-4-web-server/control-an-fpga/js/opcode.js on lines 768..777
          section-4-web-server/control-an-fpga/js/opcode.js on lines 802..811
          section-4-web-server/control-an-fpga/js/opcode.js on lines 823..832
          section-4-web-server/control-an-fpga/js/opcode.js on lines 833..842
          section-4-web-server/control-an-fpga/js/opcode.js on lines 854..863
          section-4-web-server/control-an-fpga/js/opcode.js on lines 864..873
          section-4-web-server/control-an-fpga/js/opcode.js on lines 885..894
          section-4-web-server/control-an-fpga/js/opcode.js on lines 895..904
          section-4-web-server/control-an-fpga/js/opcode.js on lines 916..925
          section-4-web-server/control-an-fpga/js/opcode.js on lines 926..935
          section-4-web-server/control-an-fpga/js/opcode.js on lines 947..956
          section-4-web-server/control-an-fpga/js/opcode.js on lines 957..966
          section-4-web-server/control-an-fpga/js/opcode.js on lines 978..987
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1009..1018
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1019..1028
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1040..1049
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1050..1059
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1071..1080
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1081..1090
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1102..1111
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1112..1121
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1133..1142
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1143..1152
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1164..1173
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1174..1183
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1195..1204
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1205..1214
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1226..1235
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1236..1245
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1257..1266
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1267..1276

          Duplicated Code

          Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

          Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

          When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

          Tuning

          This issue has a mass of 68.

          We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

          The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

          If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

          See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

          Refactorings

          Further Reading

          Similar blocks of code found in 77 locations. Consider refactoring.
          Open

          function data_in_b_zero_1_onmouseover() {
          switch(data_in_b_1_state) {
              case "low":
                  document.getElementById("data_in_b_zero_1").style.backgroundColor=lightgreen;
                  break;
          Severity: Major
          Found in section-4-web-server/control-an-fpga/js/opcode.js and 76 other locations - About 1 hr to fix
          section-4-web-server/control-an-fpga/js/opcode.js on lines 52..61
          section-4-web-server/control-an-fpga/js/opcode.js on lines 73..82
          section-4-web-server/control-an-fpga/js/opcode.js on lines 83..92
          section-4-web-server/control-an-fpga/js/opcode.js on lines 104..113
          section-4-web-server/control-an-fpga/js/opcode.js on lines 114..123
          section-4-web-server/control-an-fpga/js/opcode.js on lines 135..144
          section-4-web-server/control-an-fpga/js/opcode.js on lines 145..154
          section-4-web-server/control-an-fpga/js/opcode.js on lines 166..175
          section-4-web-server/control-an-fpga/js/opcode.js on lines 176..185
          section-4-web-server/control-an-fpga/js/opcode.js on lines 197..206
          section-4-web-server/control-an-fpga/js/opcode.js on lines 207..216
          section-4-web-server/control-an-fpga/js/opcode.js on lines 228..237
          section-4-web-server/control-an-fpga/js/opcode.js on lines 238..247
          section-4-web-server/control-an-fpga/js/opcode.js on lines 259..268
          section-4-web-server/control-an-fpga/js/opcode.js on lines 269..278
          section-4-web-server/control-an-fpga/js/opcode.js on lines 303..312
          section-4-web-server/control-an-fpga/js/opcode.js on lines 324..333
          section-4-web-server/control-an-fpga/js/opcode.js on lines 334..343
          section-4-web-server/control-an-fpga/js/opcode.js on lines 355..364
          section-4-web-server/control-an-fpga/js/opcode.js on lines 365..374
          section-4-web-server/control-an-fpga/js/opcode.js on lines 386..395
          section-4-web-server/control-an-fpga/js/opcode.js on lines 396..405
          section-4-web-server/control-an-fpga/js/opcode.js on lines 417..426
          section-4-web-server/control-an-fpga/js/opcode.js on lines 427..436
          section-4-web-server/control-an-fpga/js/opcode.js on lines 448..457
          section-4-web-server/control-an-fpga/js/opcode.js on lines 458..467
          section-4-web-server/control-an-fpga/js/opcode.js on lines 479..488
          section-4-web-server/control-an-fpga/js/opcode.js on lines 489..498
          section-4-web-server/control-an-fpga/js/opcode.js on lines 510..519
          section-4-web-server/control-an-fpga/js/opcode.js on lines 520..529
          section-4-web-server/control-an-fpga/js/opcode.js on lines 541..550
          section-4-web-server/control-an-fpga/js/opcode.js on lines 551..560
          section-4-web-server/control-an-fpga/js/opcode.js on lines 572..581
          section-4-web-server/control-an-fpga/js/opcode.js on lines 582..591
          section-4-web-server/control-an-fpga/js/opcode.js on lines 603..612
          section-4-web-server/control-an-fpga/js/opcode.js on lines 613..622
          section-4-web-server/control-an-fpga/js/opcode.js on lines 634..643
          section-4-web-server/control-an-fpga/js/opcode.js on lines 644..653
          section-4-web-server/control-an-fpga/js/opcode.js on lines 665..674
          section-4-web-server/control-an-fpga/js/opcode.js on lines 675..684
          section-4-web-server/control-an-fpga/js/opcode.js on lines 696..705
          section-4-web-server/control-an-fpga/js/opcode.js on lines 706..715
          section-4-web-server/control-an-fpga/js/opcode.js on lines 727..736
          section-4-web-server/control-an-fpga/js/opcode.js on lines 737..746
          section-4-web-server/control-an-fpga/js/opcode.js on lines 758..767
          section-4-web-server/control-an-fpga/js/opcode.js on lines 768..777
          section-4-web-server/control-an-fpga/js/opcode.js on lines 802..811
          section-4-web-server/control-an-fpga/js/opcode.js on lines 823..832
          section-4-web-server/control-an-fpga/js/opcode.js on lines 833..842
          section-4-web-server/control-an-fpga/js/opcode.js on lines 854..863
          section-4-web-server/control-an-fpga/js/opcode.js on lines 864..873
          section-4-web-server/control-an-fpga/js/opcode.js on lines 885..894
          section-4-web-server/control-an-fpga/js/opcode.js on lines 895..904
          section-4-web-server/control-an-fpga/js/opcode.js on lines 916..925
          section-4-web-server/control-an-fpga/js/opcode.js on lines 926..935
          section-4-web-server/control-an-fpga/js/opcode.js on lines 947..956
          section-4-web-server/control-an-fpga/js/opcode.js on lines 957..966
          section-4-web-server/control-an-fpga/js/opcode.js on lines 978..987
          section-4-web-server/control-an-fpga/js/opcode.js on lines 988..997
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1009..1018
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1019..1028
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1040..1049
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1050..1059
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1071..1080
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1081..1090
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1102..1111
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1112..1121
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1133..1142
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1143..1152
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1164..1173
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1174..1183
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1205..1214
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1226..1235
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1236..1245
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1257..1266
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1267..1276

          Duplicated Code

          Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

          Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

          When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

          Tuning

          This issue has a mass of 68.

          We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

          The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

          If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

          See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

          Refactorings

          Further Reading

          Similar blocks of code found in 77 locations. Consider refactoring.
          Open

          function data_in_a_zero_7_onmouseout() {
              switch(data_in_a_7_state) {
                  case "low":
                      document.getElementById("data_in_a_zero_7").style.backgroundColor=lightgreen;
                      break;
          Severity: Major
          Found in section-4-web-server/control-an-fpga/js/opcode.js and 76 other locations - About 1 hr to fix
          section-4-web-server/control-an-fpga/js/opcode.js on lines 52..61
          section-4-web-server/control-an-fpga/js/opcode.js on lines 73..82
          section-4-web-server/control-an-fpga/js/opcode.js on lines 83..92
          section-4-web-server/control-an-fpga/js/opcode.js on lines 104..113
          section-4-web-server/control-an-fpga/js/opcode.js on lines 114..123
          section-4-web-server/control-an-fpga/js/opcode.js on lines 135..144
          section-4-web-server/control-an-fpga/js/opcode.js on lines 145..154
          section-4-web-server/control-an-fpga/js/opcode.js on lines 166..175
          section-4-web-server/control-an-fpga/js/opcode.js on lines 176..185
          section-4-web-server/control-an-fpga/js/opcode.js on lines 197..206
          section-4-web-server/control-an-fpga/js/opcode.js on lines 207..216
          section-4-web-server/control-an-fpga/js/opcode.js on lines 228..237
          section-4-web-server/control-an-fpga/js/opcode.js on lines 238..247
          section-4-web-server/control-an-fpga/js/opcode.js on lines 259..268
          section-4-web-server/control-an-fpga/js/opcode.js on lines 269..278
          section-4-web-server/control-an-fpga/js/opcode.js on lines 303..312
          section-4-web-server/control-an-fpga/js/opcode.js on lines 324..333
          section-4-web-server/control-an-fpga/js/opcode.js on lines 355..364
          section-4-web-server/control-an-fpga/js/opcode.js on lines 365..374
          section-4-web-server/control-an-fpga/js/opcode.js on lines 386..395
          section-4-web-server/control-an-fpga/js/opcode.js on lines 396..405
          section-4-web-server/control-an-fpga/js/opcode.js on lines 417..426
          section-4-web-server/control-an-fpga/js/opcode.js on lines 427..436
          section-4-web-server/control-an-fpga/js/opcode.js on lines 448..457
          section-4-web-server/control-an-fpga/js/opcode.js on lines 458..467
          section-4-web-server/control-an-fpga/js/opcode.js on lines 479..488
          section-4-web-server/control-an-fpga/js/opcode.js on lines 489..498
          section-4-web-server/control-an-fpga/js/opcode.js on lines 510..519
          section-4-web-server/control-an-fpga/js/opcode.js on lines 520..529
          section-4-web-server/control-an-fpga/js/opcode.js on lines 541..550
          section-4-web-server/control-an-fpga/js/opcode.js on lines 551..560
          section-4-web-server/control-an-fpga/js/opcode.js on lines 572..581
          section-4-web-server/control-an-fpga/js/opcode.js on lines 582..591
          section-4-web-server/control-an-fpga/js/opcode.js on lines 603..612
          section-4-web-server/control-an-fpga/js/opcode.js on lines 613..622
          section-4-web-server/control-an-fpga/js/opcode.js on lines 634..643
          section-4-web-server/control-an-fpga/js/opcode.js on lines 644..653
          section-4-web-server/control-an-fpga/js/opcode.js on lines 665..674
          section-4-web-server/control-an-fpga/js/opcode.js on lines 675..684
          section-4-web-server/control-an-fpga/js/opcode.js on lines 696..705
          section-4-web-server/control-an-fpga/js/opcode.js on lines 706..715
          section-4-web-server/control-an-fpga/js/opcode.js on lines 727..736
          section-4-web-server/control-an-fpga/js/opcode.js on lines 737..746
          section-4-web-server/control-an-fpga/js/opcode.js on lines 758..767
          section-4-web-server/control-an-fpga/js/opcode.js on lines 768..777
          section-4-web-server/control-an-fpga/js/opcode.js on lines 802..811
          section-4-web-server/control-an-fpga/js/opcode.js on lines 823..832
          section-4-web-server/control-an-fpga/js/opcode.js on lines 833..842
          section-4-web-server/control-an-fpga/js/opcode.js on lines 854..863
          section-4-web-server/control-an-fpga/js/opcode.js on lines 864..873
          section-4-web-server/control-an-fpga/js/opcode.js on lines 885..894
          section-4-web-server/control-an-fpga/js/opcode.js on lines 895..904
          section-4-web-server/control-an-fpga/js/opcode.js on lines 916..925
          section-4-web-server/control-an-fpga/js/opcode.js on lines 926..935
          section-4-web-server/control-an-fpga/js/opcode.js on lines 947..956
          section-4-web-server/control-an-fpga/js/opcode.js on lines 957..966
          section-4-web-server/control-an-fpga/js/opcode.js on lines 978..987
          section-4-web-server/control-an-fpga/js/opcode.js on lines 988..997
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1009..1018
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1019..1028
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1040..1049
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1050..1059
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1071..1080
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1081..1090
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1102..1111
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1112..1121
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1133..1142
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1143..1152
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1164..1173
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1174..1183
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1195..1204
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1205..1214
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1226..1235
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1236..1245
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1257..1266
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1267..1276

          Duplicated Code

          Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

          Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

          When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

          Tuning

          This issue has a mass of 68.

          We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

          The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

          If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

          See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

          Refactorings

          Further Reading

          Similar blocks of code found in 77 locations. Consider refactoring.
          Open

          function data_in_a_one_4_onmouseout() {
            switch(data_in_a_4_state) {
                case "low":
                    document.getElementById("data_in_a_one_4").style.backgroundColor=white;
                    break;
          Severity: Major
          Found in section-4-web-server/control-an-fpga/js/opcode.js and 76 other locations - About 1 hr to fix
          section-4-web-server/control-an-fpga/js/opcode.js on lines 52..61
          section-4-web-server/control-an-fpga/js/opcode.js on lines 73..82
          section-4-web-server/control-an-fpga/js/opcode.js on lines 83..92
          section-4-web-server/control-an-fpga/js/opcode.js on lines 104..113
          section-4-web-server/control-an-fpga/js/opcode.js on lines 114..123
          section-4-web-server/control-an-fpga/js/opcode.js on lines 135..144
          section-4-web-server/control-an-fpga/js/opcode.js on lines 145..154
          section-4-web-server/control-an-fpga/js/opcode.js on lines 166..175
          section-4-web-server/control-an-fpga/js/opcode.js on lines 176..185
          section-4-web-server/control-an-fpga/js/opcode.js on lines 197..206
          section-4-web-server/control-an-fpga/js/opcode.js on lines 207..216
          section-4-web-server/control-an-fpga/js/opcode.js on lines 228..237
          section-4-web-server/control-an-fpga/js/opcode.js on lines 238..247
          section-4-web-server/control-an-fpga/js/opcode.js on lines 259..268
          section-4-web-server/control-an-fpga/js/opcode.js on lines 269..278
          section-4-web-server/control-an-fpga/js/opcode.js on lines 303..312
          section-4-web-server/control-an-fpga/js/opcode.js on lines 324..333
          section-4-web-server/control-an-fpga/js/opcode.js on lines 334..343
          section-4-web-server/control-an-fpga/js/opcode.js on lines 355..364
          section-4-web-server/control-an-fpga/js/opcode.js on lines 365..374
          section-4-web-server/control-an-fpga/js/opcode.js on lines 386..395
          section-4-web-server/control-an-fpga/js/opcode.js on lines 396..405
          section-4-web-server/control-an-fpga/js/opcode.js on lines 417..426
          section-4-web-server/control-an-fpga/js/opcode.js on lines 427..436
          section-4-web-server/control-an-fpga/js/opcode.js on lines 448..457
          section-4-web-server/control-an-fpga/js/opcode.js on lines 458..467
          section-4-web-server/control-an-fpga/js/opcode.js on lines 479..488
          section-4-web-server/control-an-fpga/js/opcode.js on lines 510..519
          section-4-web-server/control-an-fpga/js/opcode.js on lines 520..529
          section-4-web-server/control-an-fpga/js/opcode.js on lines 541..550
          section-4-web-server/control-an-fpga/js/opcode.js on lines 551..560
          section-4-web-server/control-an-fpga/js/opcode.js on lines 572..581
          section-4-web-server/control-an-fpga/js/opcode.js on lines 582..591
          section-4-web-server/control-an-fpga/js/opcode.js on lines 603..612
          section-4-web-server/control-an-fpga/js/opcode.js on lines 613..622
          section-4-web-server/control-an-fpga/js/opcode.js on lines 634..643
          section-4-web-server/control-an-fpga/js/opcode.js on lines 644..653
          section-4-web-server/control-an-fpga/js/opcode.js on lines 665..674
          section-4-web-server/control-an-fpga/js/opcode.js on lines 675..684
          section-4-web-server/control-an-fpga/js/opcode.js on lines 696..705
          section-4-web-server/control-an-fpga/js/opcode.js on lines 706..715
          section-4-web-server/control-an-fpga/js/opcode.js on lines 727..736
          section-4-web-server/control-an-fpga/js/opcode.js on lines 737..746
          section-4-web-server/control-an-fpga/js/opcode.js on lines 758..767
          section-4-web-server/control-an-fpga/js/opcode.js on lines 768..777
          section-4-web-server/control-an-fpga/js/opcode.js on lines 802..811
          section-4-web-server/control-an-fpga/js/opcode.js on lines 823..832
          section-4-web-server/control-an-fpga/js/opcode.js on lines 833..842
          section-4-web-server/control-an-fpga/js/opcode.js on lines 854..863
          section-4-web-server/control-an-fpga/js/opcode.js on lines 864..873
          section-4-web-server/control-an-fpga/js/opcode.js on lines 885..894
          section-4-web-server/control-an-fpga/js/opcode.js on lines 895..904
          section-4-web-server/control-an-fpga/js/opcode.js on lines 916..925
          section-4-web-server/control-an-fpga/js/opcode.js on lines 926..935
          section-4-web-server/control-an-fpga/js/opcode.js on lines 947..956
          section-4-web-server/control-an-fpga/js/opcode.js on lines 957..966
          section-4-web-server/control-an-fpga/js/opcode.js on lines 978..987
          section-4-web-server/control-an-fpga/js/opcode.js on lines 988..997
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1009..1018
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1019..1028
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1040..1049
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1050..1059
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1071..1080
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1081..1090
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1102..1111
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1112..1121
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1133..1142
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1143..1152
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1164..1173
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1174..1183
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1195..1204
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1205..1214
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1226..1235
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1236..1245
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1257..1266
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1267..1276

          Duplicated Code

          Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

          Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

          When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

          Tuning

          This issue has a mass of 68.

          We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

          The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

          If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

          See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

          Refactorings

          Further Reading

          Similar blocks of code found in 77 locations. Consider refactoring.
          Open

          function data_in_b_zero_5_onmouseout() {
            switch(data_in_b_5_state) {
                case "low":
                    document.getElementById("data_in_b_zero_5").style.backgroundColor=lightgreen;
                    break;
          Severity: Major
          Found in section-4-web-server/control-an-fpga/js/opcode.js and 76 other locations - About 1 hr to fix
          section-4-web-server/control-an-fpga/js/opcode.js on lines 52..61
          section-4-web-server/control-an-fpga/js/opcode.js on lines 73..82
          section-4-web-server/control-an-fpga/js/opcode.js on lines 83..92
          section-4-web-server/control-an-fpga/js/opcode.js on lines 104..113
          section-4-web-server/control-an-fpga/js/opcode.js on lines 114..123
          section-4-web-server/control-an-fpga/js/opcode.js on lines 135..144
          section-4-web-server/control-an-fpga/js/opcode.js on lines 145..154
          section-4-web-server/control-an-fpga/js/opcode.js on lines 166..175
          section-4-web-server/control-an-fpga/js/opcode.js on lines 176..185
          section-4-web-server/control-an-fpga/js/opcode.js on lines 197..206
          section-4-web-server/control-an-fpga/js/opcode.js on lines 207..216
          section-4-web-server/control-an-fpga/js/opcode.js on lines 228..237
          section-4-web-server/control-an-fpga/js/opcode.js on lines 238..247
          section-4-web-server/control-an-fpga/js/opcode.js on lines 259..268
          section-4-web-server/control-an-fpga/js/opcode.js on lines 269..278
          section-4-web-server/control-an-fpga/js/opcode.js on lines 303..312
          section-4-web-server/control-an-fpga/js/opcode.js on lines 324..333
          section-4-web-server/control-an-fpga/js/opcode.js on lines 334..343
          section-4-web-server/control-an-fpga/js/opcode.js on lines 355..364
          section-4-web-server/control-an-fpga/js/opcode.js on lines 365..374
          section-4-web-server/control-an-fpga/js/opcode.js on lines 386..395
          section-4-web-server/control-an-fpga/js/opcode.js on lines 396..405
          section-4-web-server/control-an-fpga/js/opcode.js on lines 417..426
          section-4-web-server/control-an-fpga/js/opcode.js on lines 427..436
          section-4-web-server/control-an-fpga/js/opcode.js on lines 448..457
          section-4-web-server/control-an-fpga/js/opcode.js on lines 458..467
          section-4-web-server/control-an-fpga/js/opcode.js on lines 479..488
          section-4-web-server/control-an-fpga/js/opcode.js on lines 489..498
          section-4-web-server/control-an-fpga/js/opcode.js on lines 510..519
          section-4-web-server/control-an-fpga/js/opcode.js on lines 520..529
          section-4-web-server/control-an-fpga/js/opcode.js on lines 541..550
          section-4-web-server/control-an-fpga/js/opcode.js on lines 551..560
          section-4-web-server/control-an-fpga/js/opcode.js on lines 572..581
          section-4-web-server/control-an-fpga/js/opcode.js on lines 582..591
          section-4-web-server/control-an-fpga/js/opcode.js on lines 603..612
          section-4-web-server/control-an-fpga/js/opcode.js on lines 613..622
          section-4-web-server/control-an-fpga/js/opcode.js on lines 634..643
          section-4-web-server/control-an-fpga/js/opcode.js on lines 644..653
          section-4-web-server/control-an-fpga/js/opcode.js on lines 665..674
          section-4-web-server/control-an-fpga/js/opcode.js on lines 675..684
          section-4-web-server/control-an-fpga/js/opcode.js on lines 696..705
          section-4-web-server/control-an-fpga/js/opcode.js on lines 706..715
          section-4-web-server/control-an-fpga/js/opcode.js on lines 727..736
          section-4-web-server/control-an-fpga/js/opcode.js on lines 737..746
          section-4-web-server/control-an-fpga/js/opcode.js on lines 758..767
          section-4-web-server/control-an-fpga/js/opcode.js on lines 768..777
          section-4-web-server/control-an-fpga/js/opcode.js on lines 802..811
          section-4-web-server/control-an-fpga/js/opcode.js on lines 823..832
          section-4-web-server/control-an-fpga/js/opcode.js on lines 833..842
          section-4-web-server/control-an-fpga/js/opcode.js on lines 854..863
          section-4-web-server/control-an-fpga/js/opcode.js on lines 864..873
          section-4-web-server/control-an-fpga/js/opcode.js on lines 885..894
          section-4-web-server/control-an-fpga/js/opcode.js on lines 895..904
          section-4-web-server/control-an-fpga/js/opcode.js on lines 916..925
          section-4-web-server/control-an-fpga/js/opcode.js on lines 926..935
          section-4-web-server/control-an-fpga/js/opcode.js on lines 947..956
          section-4-web-server/control-an-fpga/js/opcode.js on lines 978..987
          section-4-web-server/control-an-fpga/js/opcode.js on lines 988..997
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1009..1018
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1019..1028
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1040..1049
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1050..1059
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1071..1080
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1081..1090
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1102..1111
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1112..1121
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1133..1142
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1143..1152
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1164..1173
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1174..1183
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1195..1204
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1205..1214
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1226..1235
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1236..1245
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1257..1266
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1267..1276

          Duplicated Code

          Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

          Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

          When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

          Tuning

          This issue has a mass of 68.

          We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

          The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

          If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

          See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

          Refactorings

          Further Reading

          Similar blocks of code found in 77 locations. Consider refactoring.
          Open

          function data_in_b_zero_1_onmouseout() {
          switch(data_in_b_1_state) {
              case "low":
                  document.getElementById("data_in_b_zero_1").style.backgroundColor=lightgreen;
                  break;
          Severity: Major
          Found in section-4-web-server/control-an-fpga/js/opcode.js and 76 other locations - About 1 hr to fix
          section-4-web-server/control-an-fpga/js/opcode.js on lines 52..61
          section-4-web-server/control-an-fpga/js/opcode.js on lines 73..82
          section-4-web-server/control-an-fpga/js/opcode.js on lines 83..92
          section-4-web-server/control-an-fpga/js/opcode.js on lines 104..113
          section-4-web-server/control-an-fpga/js/opcode.js on lines 114..123
          section-4-web-server/control-an-fpga/js/opcode.js on lines 135..144
          section-4-web-server/control-an-fpga/js/opcode.js on lines 145..154
          section-4-web-server/control-an-fpga/js/opcode.js on lines 166..175
          section-4-web-server/control-an-fpga/js/opcode.js on lines 176..185
          section-4-web-server/control-an-fpga/js/opcode.js on lines 197..206
          section-4-web-server/control-an-fpga/js/opcode.js on lines 207..216
          section-4-web-server/control-an-fpga/js/opcode.js on lines 228..237
          section-4-web-server/control-an-fpga/js/opcode.js on lines 238..247
          section-4-web-server/control-an-fpga/js/opcode.js on lines 259..268
          section-4-web-server/control-an-fpga/js/opcode.js on lines 269..278
          section-4-web-server/control-an-fpga/js/opcode.js on lines 303..312
          section-4-web-server/control-an-fpga/js/opcode.js on lines 324..333
          section-4-web-server/control-an-fpga/js/opcode.js on lines 334..343
          section-4-web-server/control-an-fpga/js/opcode.js on lines 355..364
          section-4-web-server/control-an-fpga/js/opcode.js on lines 365..374
          section-4-web-server/control-an-fpga/js/opcode.js on lines 386..395
          section-4-web-server/control-an-fpga/js/opcode.js on lines 396..405
          section-4-web-server/control-an-fpga/js/opcode.js on lines 417..426
          section-4-web-server/control-an-fpga/js/opcode.js on lines 427..436
          section-4-web-server/control-an-fpga/js/opcode.js on lines 448..457
          section-4-web-server/control-an-fpga/js/opcode.js on lines 458..467
          section-4-web-server/control-an-fpga/js/opcode.js on lines 479..488
          section-4-web-server/control-an-fpga/js/opcode.js on lines 489..498
          section-4-web-server/control-an-fpga/js/opcode.js on lines 510..519
          section-4-web-server/control-an-fpga/js/opcode.js on lines 520..529
          section-4-web-server/control-an-fpga/js/opcode.js on lines 541..550
          section-4-web-server/control-an-fpga/js/opcode.js on lines 551..560
          section-4-web-server/control-an-fpga/js/opcode.js on lines 572..581
          section-4-web-server/control-an-fpga/js/opcode.js on lines 582..591
          section-4-web-server/control-an-fpga/js/opcode.js on lines 603..612
          section-4-web-server/control-an-fpga/js/opcode.js on lines 613..622
          section-4-web-server/control-an-fpga/js/opcode.js on lines 634..643
          section-4-web-server/control-an-fpga/js/opcode.js on lines 644..653
          section-4-web-server/control-an-fpga/js/opcode.js on lines 665..674
          section-4-web-server/control-an-fpga/js/opcode.js on lines 675..684
          section-4-web-server/control-an-fpga/js/opcode.js on lines 696..705
          section-4-web-server/control-an-fpga/js/opcode.js on lines 706..715
          section-4-web-server/control-an-fpga/js/opcode.js on lines 727..736
          section-4-web-server/control-an-fpga/js/opcode.js on lines 737..746
          section-4-web-server/control-an-fpga/js/opcode.js on lines 758..767
          section-4-web-server/control-an-fpga/js/opcode.js on lines 768..777
          section-4-web-server/control-an-fpga/js/opcode.js on lines 802..811
          section-4-web-server/control-an-fpga/js/opcode.js on lines 823..832
          section-4-web-server/control-an-fpga/js/opcode.js on lines 833..842
          section-4-web-server/control-an-fpga/js/opcode.js on lines 854..863
          section-4-web-server/control-an-fpga/js/opcode.js on lines 864..873
          section-4-web-server/control-an-fpga/js/opcode.js on lines 885..894
          section-4-web-server/control-an-fpga/js/opcode.js on lines 895..904
          section-4-web-server/control-an-fpga/js/opcode.js on lines 916..925
          section-4-web-server/control-an-fpga/js/opcode.js on lines 926..935
          section-4-web-server/control-an-fpga/js/opcode.js on lines 947..956
          section-4-web-server/control-an-fpga/js/opcode.js on lines 957..966
          section-4-web-server/control-an-fpga/js/opcode.js on lines 978..987
          section-4-web-server/control-an-fpga/js/opcode.js on lines 988..997
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1009..1018
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1019..1028
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1040..1049
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1050..1059
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1071..1080
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1081..1090
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1102..1111
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1112..1121
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1133..1142
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1143..1152
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1164..1173
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1174..1183
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1195..1204
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1226..1235
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1236..1245
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1257..1266
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1267..1276

          Duplicated Code

          Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

          Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

          When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

          Tuning

          This issue has a mass of 68.

          We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

          The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

          If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

          See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

          Refactorings

          Further Reading

          Similar blocks of code found in 77 locations. Consider refactoring.
          Open

          function data_in_b_one_0_onmouseover() {
          switch(data_in_b_0_state) {
              case "low":
                  document.getElementById("data_in_b_one_0").style.backgroundColor=grey;
                  break;
          Severity: Major
          Found in section-4-web-server/control-an-fpga/js/opcode.js and 76 other locations - About 1 hr to fix
          section-4-web-server/control-an-fpga/js/opcode.js on lines 52..61
          section-4-web-server/control-an-fpga/js/opcode.js on lines 73..82
          section-4-web-server/control-an-fpga/js/opcode.js on lines 83..92
          section-4-web-server/control-an-fpga/js/opcode.js on lines 104..113
          section-4-web-server/control-an-fpga/js/opcode.js on lines 114..123
          section-4-web-server/control-an-fpga/js/opcode.js on lines 135..144
          section-4-web-server/control-an-fpga/js/opcode.js on lines 145..154
          section-4-web-server/control-an-fpga/js/opcode.js on lines 166..175
          section-4-web-server/control-an-fpga/js/opcode.js on lines 176..185
          section-4-web-server/control-an-fpga/js/opcode.js on lines 197..206
          section-4-web-server/control-an-fpga/js/opcode.js on lines 207..216
          section-4-web-server/control-an-fpga/js/opcode.js on lines 228..237
          section-4-web-server/control-an-fpga/js/opcode.js on lines 238..247
          section-4-web-server/control-an-fpga/js/opcode.js on lines 259..268
          section-4-web-server/control-an-fpga/js/opcode.js on lines 269..278
          section-4-web-server/control-an-fpga/js/opcode.js on lines 303..312
          section-4-web-server/control-an-fpga/js/opcode.js on lines 324..333
          section-4-web-server/control-an-fpga/js/opcode.js on lines 334..343
          section-4-web-server/control-an-fpga/js/opcode.js on lines 355..364
          section-4-web-server/control-an-fpga/js/opcode.js on lines 365..374
          section-4-web-server/control-an-fpga/js/opcode.js on lines 386..395
          section-4-web-server/control-an-fpga/js/opcode.js on lines 396..405
          section-4-web-server/control-an-fpga/js/opcode.js on lines 417..426
          section-4-web-server/control-an-fpga/js/opcode.js on lines 427..436
          section-4-web-server/control-an-fpga/js/opcode.js on lines 448..457
          section-4-web-server/control-an-fpga/js/opcode.js on lines 458..467
          section-4-web-server/control-an-fpga/js/opcode.js on lines 479..488
          section-4-web-server/control-an-fpga/js/opcode.js on lines 489..498
          section-4-web-server/control-an-fpga/js/opcode.js on lines 510..519
          section-4-web-server/control-an-fpga/js/opcode.js on lines 520..529
          section-4-web-server/control-an-fpga/js/opcode.js on lines 541..550
          section-4-web-server/control-an-fpga/js/opcode.js on lines 551..560
          section-4-web-server/control-an-fpga/js/opcode.js on lines 572..581
          section-4-web-server/control-an-fpga/js/opcode.js on lines 582..591
          section-4-web-server/control-an-fpga/js/opcode.js on lines 603..612
          section-4-web-server/control-an-fpga/js/opcode.js on lines 613..622
          section-4-web-server/control-an-fpga/js/opcode.js on lines 634..643
          section-4-web-server/control-an-fpga/js/opcode.js on lines 644..653
          section-4-web-server/control-an-fpga/js/opcode.js on lines 665..674
          section-4-web-server/control-an-fpga/js/opcode.js on lines 675..684
          section-4-web-server/control-an-fpga/js/opcode.js on lines 696..705
          section-4-web-server/control-an-fpga/js/opcode.js on lines 706..715
          section-4-web-server/control-an-fpga/js/opcode.js on lines 727..736
          section-4-web-server/control-an-fpga/js/opcode.js on lines 737..746
          section-4-web-server/control-an-fpga/js/opcode.js on lines 758..767
          section-4-web-server/control-an-fpga/js/opcode.js on lines 768..777
          section-4-web-server/control-an-fpga/js/opcode.js on lines 802..811
          section-4-web-server/control-an-fpga/js/opcode.js on lines 823..832
          section-4-web-server/control-an-fpga/js/opcode.js on lines 833..842
          section-4-web-server/control-an-fpga/js/opcode.js on lines 854..863
          section-4-web-server/control-an-fpga/js/opcode.js on lines 864..873
          section-4-web-server/control-an-fpga/js/opcode.js on lines 885..894
          section-4-web-server/control-an-fpga/js/opcode.js on lines 895..904
          section-4-web-server/control-an-fpga/js/opcode.js on lines 916..925
          section-4-web-server/control-an-fpga/js/opcode.js on lines 926..935
          section-4-web-server/control-an-fpga/js/opcode.js on lines 947..956
          section-4-web-server/control-an-fpga/js/opcode.js on lines 957..966
          section-4-web-server/control-an-fpga/js/opcode.js on lines 978..987
          section-4-web-server/control-an-fpga/js/opcode.js on lines 988..997
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1009..1018
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1019..1028
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1040..1049
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1050..1059
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1071..1080
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1081..1090
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1102..1111
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1112..1121
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1133..1142
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1143..1152
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1164..1173
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1174..1183
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1195..1204
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1205..1214
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1236..1245
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1257..1266
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1267..1276

          Duplicated Code

          Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

          Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

          When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

          Tuning

          This issue has a mass of 68.

          We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

          The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

          If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

          See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

          Refactorings

          Further Reading

          Similar blocks of code found in 77 locations. Consider refactoring.
          Open

          function data_in_b_one_0_onmouseout() {
          switch(data_in_b_0_state) {
              case "low":
                  document.getElementById("data_in_b_one_0").style.backgroundColor=white;
                  break;
          Severity: Major
          Found in section-4-web-server/control-an-fpga/js/opcode.js and 76 other locations - About 1 hr to fix
          section-4-web-server/control-an-fpga/js/opcode.js on lines 52..61
          section-4-web-server/control-an-fpga/js/opcode.js on lines 73..82
          section-4-web-server/control-an-fpga/js/opcode.js on lines 83..92
          section-4-web-server/control-an-fpga/js/opcode.js on lines 104..113
          section-4-web-server/control-an-fpga/js/opcode.js on lines 114..123
          section-4-web-server/control-an-fpga/js/opcode.js on lines 135..144
          section-4-web-server/control-an-fpga/js/opcode.js on lines 145..154
          section-4-web-server/control-an-fpga/js/opcode.js on lines 166..175
          section-4-web-server/control-an-fpga/js/opcode.js on lines 176..185
          section-4-web-server/control-an-fpga/js/opcode.js on lines 197..206
          section-4-web-server/control-an-fpga/js/opcode.js on lines 207..216
          section-4-web-server/control-an-fpga/js/opcode.js on lines 228..237
          section-4-web-server/control-an-fpga/js/opcode.js on lines 238..247
          section-4-web-server/control-an-fpga/js/opcode.js on lines 259..268
          section-4-web-server/control-an-fpga/js/opcode.js on lines 269..278
          section-4-web-server/control-an-fpga/js/opcode.js on lines 303..312
          section-4-web-server/control-an-fpga/js/opcode.js on lines 324..333
          section-4-web-server/control-an-fpga/js/opcode.js on lines 334..343
          section-4-web-server/control-an-fpga/js/opcode.js on lines 355..364
          section-4-web-server/control-an-fpga/js/opcode.js on lines 365..374
          section-4-web-server/control-an-fpga/js/opcode.js on lines 386..395
          section-4-web-server/control-an-fpga/js/opcode.js on lines 396..405
          section-4-web-server/control-an-fpga/js/opcode.js on lines 417..426
          section-4-web-server/control-an-fpga/js/opcode.js on lines 427..436
          section-4-web-server/control-an-fpga/js/opcode.js on lines 448..457
          section-4-web-server/control-an-fpga/js/opcode.js on lines 458..467
          section-4-web-server/control-an-fpga/js/opcode.js on lines 479..488
          section-4-web-server/control-an-fpga/js/opcode.js on lines 489..498
          section-4-web-server/control-an-fpga/js/opcode.js on lines 510..519
          section-4-web-server/control-an-fpga/js/opcode.js on lines 520..529
          section-4-web-server/control-an-fpga/js/opcode.js on lines 541..550
          section-4-web-server/control-an-fpga/js/opcode.js on lines 551..560
          section-4-web-server/control-an-fpga/js/opcode.js on lines 572..581
          section-4-web-server/control-an-fpga/js/opcode.js on lines 582..591
          section-4-web-server/control-an-fpga/js/opcode.js on lines 603..612
          section-4-web-server/control-an-fpga/js/opcode.js on lines 613..622
          section-4-web-server/control-an-fpga/js/opcode.js on lines 634..643
          section-4-web-server/control-an-fpga/js/opcode.js on lines 644..653
          section-4-web-server/control-an-fpga/js/opcode.js on lines 665..674
          section-4-web-server/control-an-fpga/js/opcode.js on lines 675..684
          section-4-web-server/control-an-fpga/js/opcode.js on lines 696..705
          section-4-web-server/control-an-fpga/js/opcode.js on lines 706..715
          section-4-web-server/control-an-fpga/js/opcode.js on lines 727..736
          section-4-web-server/control-an-fpga/js/opcode.js on lines 737..746
          section-4-web-server/control-an-fpga/js/opcode.js on lines 758..767
          section-4-web-server/control-an-fpga/js/opcode.js on lines 768..777
          section-4-web-server/control-an-fpga/js/opcode.js on lines 802..811
          section-4-web-server/control-an-fpga/js/opcode.js on lines 823..832
          section-4-web-server/control-an-fpga/js/opcode.js on lines 833..842
          section-4-web-server/control-an-fpga/js/opcode.js on lines 854..863
          section-4-web-server/control-an-fpga/js/opcode.js on lines 864..873
          section-4-web-server/control-an-fpga/js/opcode.js on lines 885..894
          section-4-web-server/control-an-fpga/js/opcode.js on lines 895..904
          section-4-web-server/control-an-fpga/js/opcode.js on lines 916..925
          section-4-web-server/control-an-fpga/js/opcode.js on lines 926..935
          section-4-web-server/control-an-fpga/js/opcode.js on lines 947..956
          section-4-web-server/control-an-fpga/js/opcode.js on lines 957..966
          section-4-web-server/control-an-fpga/js/opcode.js on lines 978..987
          section-4-web-server/control-an-fpga/js/opcode.js on lines 988..997
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1009..1018
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1019..1028
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1040..1049
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1050..1059
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1071..1080
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1081..1090
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1102..1111
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1112..1121
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1133..1142
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1143..1152
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1164..1173
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1174..1183
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1195..1204
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1205..1214
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1226..1235
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1257..1266
          section-4-web-server/control-an-fpga/js/opcode.js on lines 1267..1276

          Duplicated Code

          Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

          Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

          When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

          Tuning

          This issue has a mass of 68.

          We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

          The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

          If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

          See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

          Refactorings

          Further Reading

          There are no issues that match your filters.

          Category
          Status