View difference between Paste ID: 7CdGFFXF and 6QnhjUyW
SHOW: | | - or go back to the newest paste.
1
import gifAnimation.*;
2
import processing.serial.*;
3
4
int lf = 10;    // Linefeed in ASCII
5
String myString = null;
6
Serial myPort;  // The serial port
7
PImage imgGreen;
8
PImage imgRed;
9
PImage wallpaper;
10
11
boolean LimitSwitchVerticalAxisReached = false;
12
boolean LimitSwitchHorizontalAxisReached = false;
13
boolean LimitSwitchRotaryAxisReached = false;
14
boolean jsonFlag = false; 
15
16
void setup() {
17
  fullScreen();
18
  myPort = new Serial(this, Serial.list()[0], 9600);
19
  myPort.clear();
20
  imgGreen = loadImage("greenEggSmall.png");
21
  imgRed = loadImage("redEggSmall.png");
22
  wallpaper = loadImage("Wallpaper4.jpg");
23
24
  void draw() {
25
    background(wallpaper);
26
27
    // Grey Background for "Home Position Finished"
28
    fill(229, 229, 229, 100);
29
    stroke(0, 0, 0, 100); 
30
    rect(90, 955, 520, 70, 20);
31
32
    // Grey Background for "Limit Switch Horizontal Axis"
33
    fill(229, 229, 229, 100);
34
    stroke(0, 0, 0, 100); 
35
    rect(90, 855, 520, 70, 20);
36
37
    // Grey Background for "Limit Switch Rotary Axis"
38
    fill(229, 229, 229, 100);
39
    stroke(0, 0, 0, 100); 
40
    rect(90, 755, 520, 70, 20);
41
42
    // Grey Background for "Limit Switch Vertical Axis"
43
    fill(229, 229, 229, 100);
44
    stroke(0, 0, 0, 100); 
45
    rect(90, 655, 520, 70, 20);
46
47
    // Grey Background for "Motor-X Running"
48
    fill(229, 229, 229, 100);
49
    stroke(0, 0, 0, 100); 
50
    rect(700, 655, 390, 70, 20);
51
52
    // Grey Background for "Motor-Y Running"
53
    fill(229, 229, 229, 100);
54
    stroke(0, 0, 0, 100); 
55
    rect(700, 755, 390, 70, 20);
56
57
    // Grey Background for "Motor-Z Running"
58
    fill(229, 229, 229, 100);
59
    stroke(0, 0, 0, 100); 
60
    rect(700, 855, 390, 70, 20);
61
62
    while (myPort.available() > 0) {
63
      String myString = myPort.readStringUntil('}');
64
65
      if (myString != null) {
66
        println(myString);
67
        String subString = null;
68
69
        if (myString.length() > 8) {
70
          subString = myString.substring(4, 8);
71
        } else {
72
          subString = "defaultString";
73
        }
74
75
        if (subString.equals("ArdC") == true) {
76
          jsonFlag = true;
77
        } else {
78
          jsonFlag = false;
79
        }
80
81
        if (jsonFlag == true) {
82
          try {
83
            JSONObject json = JSONObject.parse(myString);
84
            String vArduinoConnected = json.getString("ArdC");
85
            String btnXForward = json.getString("XF");
86
            String btnXDownward= json.getString("XD");
87
            String btnYLeft= json.getString("YL");
88
            String btnYRight= json.getString("YR");
89
            String btnZUp= json.getString("ZU");
90
            String btnZDown= json.getString("ZD");
91
            String btnInitialise= json.getString("Init");
92
            String LimitSwitchRotary = json.getString("LimR");
93
            String LimitSwitchHorizontal = json.getString("LimH");
94
            String LimitSwitchVertical = json.getString("LimV");
95
            println(btnXForward);
96
97
            if (LimitSwitchHorizontal.equals("1") == true) {
98
              image(imgGreen, 550, 865);
99
              LimitSwitchHorizontalAxisReached = true;
100-
            } else if (LimitSwitchHorizontal.equals("1") == false) {
100+
            } else {
101
              image(imgRed, 550, 865);
102
              LimitSwitchHorizontalAxisReached = false;
103
            }
104
             
105
            if (LimitSwitchRotary.equals("1") == true) {
106
              image(imgGreen, 550, 765);
107
              LimitSwitchRotaryAxisReached = true;
108-
            } else if (LimitSwitchRotary.equals("1") == false) {
108+
            } else {
109
              image(imgRed, 550, 765);
110
              LimitSwitchRotaryAxisReached = false;
111
            }
112
             
113
            if (LimitSwitchVertical.equals("1") == true) {
114
              image(imgGreen, 550, 665);
115
              LimitSwitchVerticalAxisReached = true;
116-
            } else if(LimitSwitchVertical.equals("1") == false) {
116+
            } else {
117
              image(imgRed, 550, 665);
118
              LimitSwitchVerticalAxisReached = false;
119
            }
120
             
121
            if (btnXForward.equals("1") == true || btnXDownward.equals("1") == true) {
122
              image(imgGreen, 1030, 665);
123-
            } else if(btnXForward.equals("1") == false || btnXDownward.equals("1") == false) {
123+
            } else {
124
              image(imgRed, 1030, 665);
125
            }
126
             
127
            if (btnYLeft.equals("1") == true || btnYRight.equals("1")  == true) {
128
              image(imgGreen, 1030, 765);
129-
            } else if(btnYLeft.equals("1") == false || btnYRight.equals("1")  == false) {
129+
            } else {
130
              image(imgRed, 1030, 765);
131
            }
132
             
133
            if (btnZUp.equals("1") == true || btnZDown.equals("1")  == true) {
134
              image(imgGreen, 1030, 865);
135-
            } else if(btnZUp.equals("1") == false || btnZDown.equals("1")  == false){
135+
            } else {
136
              image(imgRed, 1030, 865);
137
            }
138
             
139
            if (LimitSwitchHorizontalAxisReached && LimitSwitchRotaryAxisReached && LimitSwitchVerticalAxisReached) {
140
              image(imgGreen, 550, 965);
141-
            } else if(LimitSwitchHorizontalAxisReached == false || LimitSwitchRotaryAxisReached == false || LimitSwitchVerticalAxisReached == false) {
141+
            } else {
142
              image(imgRed, 550, 965);
143
            }
144
          } 
145
146
          catch (Exception e) {
147
            println("An error occured, while trying to parse the jSon object.");
148
          }
149
        }
150
151
        textSize(30);
152
        fill(255, 255, 255);
153
        text("Home Position Finished", 110, 1000);
154
155
        fill(255, 255, 255);
156
        text("Limit Switch Horizontal Axis", 110, 900);
157
158
        fill(255, 255, 255);
159
        text("Limit Switch Rotary Axis", 110, 800);
160
161
        fill(255, 255, 255);
162
        text("Limit Switch Vertical Axis", 110, 700);
163
164
        fill(255, 255, 255);
165
        text("Motor-X Running", 720, 700);
166
167
        fill(255, 255, 255);
168
        text("Motor-Y Running", 720, 800);
169
170
        fill(255, 255, 255);
171
        text("Motor-Z Running", 720, 900);
172
173
        textSize(40);
174
        fill(255, 255, 255);
175
        text("Motor Direction", 1200, 600);
176
      }
177
    }
178
  }