Skip to content

Commit 9b5088b

Browse files
update WiFi_LoRa_32FactoryTest Wireless_Stick_FactoryTest Wireless_Stick_Lite_FactoryTest
1 parent 7980c23 commit 9b5088b

File tree

3 files changed

+286
-170
lines changed

3 files changed

+286
-170
lines changed

examples/Factory_Test/WiFi_LoRa_32FactoryTest/WiFi_LoRa_32FactoryTest.ino

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ void WIFISetUp(void)
5151
delay(1000);
5252
WiFi.mode(WIFI_STA);
5353
WiFi.setAutoConnect(true);
54-
WiFi.begin("heltec_test","heltec_test_pwd");
54+
WiFi.begin("Your WiFi SSID","Your Password");//fill in "Your WiFi SSID","Your Password"
5555
delay(100);
5656

5757
byte count = 0;
@@ -75,7 +75,7 @@ void WIFISetUp(void)
7575
Heltec.display -> clear();
7676
Heltec.display -> drawString(0, 0, "Connecting...Failed");
7777
Heltec.display -> display();
78-
//w hile(1);
78+
//while(1);
7979
}
8080
Heltec.display -> drawString(0, 10, "WIFI Setup done");
8181
Heltec.display -> display();
@@ -85,6 +85,10 @@ void WIFISetUp(void)
8585
void WIFIScan(unsigned int value)
8686
{
8787
unsigned int i;
88+
if(WiFi.status() != WL_CONNECTED)
89+
{
90+
WiFi.mode(WIFI_MODE_NULL);
91+
}
8892
for(i=0;i<value;i++)
8993
{
9094
Heltec.display -> drawString(0, 20, "Scan start...");
@@ -101,7 +105,7 @@ void WIFIScan(unsigned int value)
101105
Heltec.display -> clear();
102106
Heltec.display -> drawString(0, 0, "no network found");
103107
Heltec.display -> display();
104-
while(1);
108+
//while(1);
105109
}
106110
else
107111
{
@@ -131,7 +135,7 @@ void WIFIScan(unsigned int value)
131135

132136
bool resendflag=false;
133137
bool deepsleepflag=false;
134-
void resend()
138+
void interrupt_GPIO0()
135139
{
136140
delay(10);
137141
if(digitalRead(0)==0)
@@ -157,7 +161,7 @@ void setup()
157161
WIFISetUp();
158162
WIFIScan(1);
159163

160-
attachInterrupt(0,resend,FALLING);
164+
attachInterrupt(0,interrupt_GPIO0,FALLING);
161165
LoRa.onReceive(onReceive);
162166
send();
163167
LoRa.receive();

examples/Factory_Test/Wireless_Stick_FactoryTest/Wireless_Stick_FactoryTest.ino

Lines changed: 146 additions & 104 deletions
Original file line numberDiff line numberDiff line change
@@ -42,133 +42,175 @@ int interval = 1000; // interval between sends
4242

4343
void WIFISetUp(void)
4444
{
45-
// Set WiFi to station mode and disconnect from an AP if it was previously connected
46-
WiFi.disconnect(true);
47-
delay(100);
48-
WiFi.mode(WIFI_STA);
49-
WiFi.setAutoConnect(true);
50-
WiFi.begin("Your WiFi SSID","Your Password");//fill in "Your WiFi SSID","Your Password"
51-
delay(100);
52-
Heltec.display->clear();
53-
54-
byte count = 0;
55-
while(WiFi.status() != WL_CONNECTED && count < 10)
56-
{
57-
count ++;
58-
delay(500);
59-
Heltec.display->drawString(0, 0, "Connecting...");
60-
Heltec.display->display();
61-
}
45+
// Set WiFi to station mode and disconnect from an AP if it was previously connected
46+
WiFi.disconnect(true);
47+
delay(100);
48+
WiFi.mode(WIFI_STA);
49+
WiFi.setAutoConnect(true);
50+
WiFi.begin("Your WiFi SSID","Your Password");//fill in "Your WiFi SSID","Your Password"
51+
delay(100);
52+
Heltec.display->clear();
53+
54+
byte count = 0;
55+
while(WiFi.status() != WL_CONNECTED && count < 10)
56+
{
57+
count ++;
58+
delay(500);
59+
Heltec.display->drawString(0, 0, "Connecting...");
60+
Heltec.display->display();
61+
}
6262
//Heltec.display->clear();
63-
if(WiFi.status() == WL_CONNECTED)
64-
{
65-
//Heltec.display->drawString(35, 38, "WIFI SETUP");
66-
Heltec.display->drawString(0, 9, "OK");
67-
Heltec.display->display();
68-
delay(1000);
69-
Heltec.display->clear();
70-
}
71-
else
72-
{
73-
//Heltec.display->clear();
74-
Heltec.display->drawString(0, 9, "Failed");
75-
Heltec.display->display();
76-
delay(1000);
77-
Heltec.display->clear();
78-
}
63+
if(WiFi.status() == WL_CONNECTED)
64+
{
65+
//Heltec.display->drawString(35, 38, "WIFI SETUP");
66+
Heltec.display->drawString(0, 9, "OK");
67+
Heltec.display->display();
68+
delay(1000);
69+
Heltec.display->clear();
70+
}
71+
else
72+
{
73+
//Heltec.display->clear();
74+
Heltec.display->drawString(0, 9, "Failed");
75+
Heltec.display->display();
76+
delay(1000);
77+
Heltec.display->clear();
78+
}
7979
}
8080

8181
void WIFIScan(unsigned int value)
8282
{
83-
unsigned int i;
84-
WiFi.mode(WIFI_MODE_NULL);
85-
for(i=0;i<value;i++)
86-
{
87-
Heltec.display->drawString(0, 0, "Scan start...");
88-
Heltec.display->display();
89-
90-
int n = WiFi.scanNetworks();
91-
Heltec.display->drawString(0, 9, "Scan done");
92-
Heltec.display->display();
93-
delay(500);
94-
Heltec.display->clear();
95-
96-
if (n == 0)
97-
{
98-
Heltec.display->clear();
99-
Heltec.display->drawString(0, 18, "no network found");
100-
Heltec.display->display();
101-
while(1);
102-
}
103-
else
104-
{
105-
Heltec.display->drawString(0, 18, (String)n + " nets found");
106-
Heltec.display->display();
107-
delay(2000);
108-
Heltec.display->clear();
109-
}
110-
}
83+
unsigned int i;
84+
if(WiFi.status() != WL_CONNECTED)
85+
{
86+
WiFi.mode(WIFI_MODE_NULL);
87+
}
88+
for(i=0;i<value;i++)
89+
{
90+
Heltec.display->drawString(0, 0, "Scan start...");
91+
Heltec.display->display();
92+
93+
int n = WiFi.scanNetworks();
94+
Heltec.display->drawString(0, 9, "Scan done");
95+
Heltec.display->display();
96+
delay(500);
97+
Heltec.display->clear();
98+
99+
if (n == 0)
100+
{
101+
Heltec.display->clear();
102+
Heltec.display->drawString(0, 18, "no network found");
103+
Heltec.display->display();
104+
//while(1);
105+
}
106+
else
107+
{
108+
Heltec.display->drawString(0, 18, (String)n + " nets found");
109+
Heltec.display->display();
110+
delay(2000);
111+
Heltec.display->clear();
112+
}
113+
}
114+
}
115+
bool resendflag=false;
116+
bool deepsleepflag=false;
117+
void interrupt_GPIO0()
118+
{
119+
delay(10);
120+
if(digitalRead(0)==0)
121+
{
122+
if(digitalRead(LED)==LOW)
123+
{resendflag=true;}
124+
else
125+
{
126+
deepsleepflag=true;
127+
}
128+
}
111129
}
112-
113130
void setup()
114131
{
115-
pinMode(LED,OUTPUT);
116-
Heltec.begin(true /*DisplayEnable Enable*/, true /*LoRa Disable*/, true /*Serial Enable*/, true /*PABOOST Enable*/, 470E6 /**/);
132+
pinMode(LED,OUTPUT);
133+
Heltec.begin(true /*DisplayEnable Enable*/, true /*LoRa Disable*/, true /*Serial Enable*/, true /*PABOOST Enable*/, 868E6 /**/);
117134

118-
WIFISetUp();
119-
WIFIScan(1);
135+
WIFISetUp();
136+
WIFIScan(1);
120137

121-
// register the receive callback
122-
LoRa.onReceive(onReceive);
123-
124-
// put the radio into receive mode
125-
LoRa.receive();
138+
attachInterrupt(0,interrupt_GPIO0,FALLING);
139+
LoRa.onReceive(onReceive);
140+
send();
141+
LoRa.receive();
142+
displaySendReceive();
126143
}
127144

128145
void loop()
129146
{
130-
if(millis() - lastSendTime > interval)//waiting LoRa interrupt
131-
{
132-
LoRa.beginPacket();
133-
LoRa.print("hello ");
134-
LoRa.print(counter++);
135-
LoRa.endPacket();
136-
137-
LoRa.receive();
138-
139-
digitalWrite(LED,HIGH);
140-
Heltec.display->drawString(0, 0, (String)(counter-1) + " sent done");
141-
Heltec.display->display();
142-
143-
interval = random(1000) + 1000; //1~2 seconds
144-
lastSendTime = millis();
145-
146-
Heltec.display->clear();
147-
}
148-
if(receiveflag)
149-
{
150-
Heltec.display->drawString(0,9, "Received " + packSize);
151-
Heltec.display->drawString(0,16, packet);
152-
Heltec.display->drawString(0,24, rssi);
153-
Heltec.display->display();
154-
155-
digitalWrite(LED,LOW);
156-
157-
receiveflag = false;
158-
}
159-
//delay(1000);
147+
if(deepsleepflag)
148+
{
149+
LoRa.end();
150+
LoRa.sleep();
151+
delay(100);
152+
pinMode(4,INPUT);
153+
pinMode(5,INPUT);
154+
pinMode(14,INPUT);
155+
pinMode(15,INPUT);
156+
pinMode(16,INPUT);
157+
pinMode(17,INPUT);
158+
pinMode(18,INPUT);
159+
pinMode(19,INPUT);
160+
pinMode(26,INPUT);
161+
pinMode(27,INPUT);
162+
digitalWrite(Vext,HIGH);
163+
delay(2);
164+
esp_deep_sleep_start();
165+
}
166+
if(resendflag)
167+
{
168+
resendflag=false;
169+
send();
170+
LoRa.receive();
171+
displaySendReceive();
172+
}
173+
if(receiveflag)
174+
{
175+
digitalWrite(25,HIGH);
176+
displaySendReceive();
177+
delay(1000);
178+
receiveflag = false;
179+
send();
180+
LoRa.receive();
181+
displaySendReceive();
182+
}
183+
}
184+
185+
void send()
186+
{
187+
LoRa.beginPacket();
188+
LoRa.print("hello ");
189+
LoRa.print(counter++);
190+
LoRa.endPacket();
160191
}
192+
void displaySendReceive()
193+
{
194+
Heltec.display->drawString(0, 0, (String)(counter-1) + " sent done");
195+
Heltec.display->drawString(0,9, "Received " + packSize);
196+
Heltec.display->drawString(0,16, packet);
197+
Heltec.display->drawString(0,24, rssi);
198+
Heltec.display -> display();
199+
delay(100);
200+
Heltec.display -> clear();
201+
}
202+
161203

162204
void onReceive(int packetSize)//LoRa receiver interrupt service
163205
{
164-
//if (packetSize == 0) return;
206+
//if (packetSize == 0) return;
165207

166-
packet = "";
208+
packet = "";
167209
packSize = String(packetSize,DEC);
168210

169211
while (LoRa.available())
170212
{
171-
packet += (char) LoRa.read();
213+
packet += (char) LoRa.read();
172214
}
173215

174216
Serial.println(packet);

0 commit comments

Comments
 (0)