Skip to content

Commit 072b7b8

Browse files
authored
Merge pull request #9 from KonradIT/master
Fixed connecting loop
2 parents 6d2e3c0 + 37e8e71 commit 072b7b8

File tree

3 files changed

+117
-9
lines changed

3 files changed

+117
-9
lines changed

examples/ESP32_FreeRTOS/ESP32_FreeRTOS.ino

Lines changed: 107 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,9 @@
33

44
// Choose your camera
55
//GoProControl gp(GOPRO_SSID, GOPRO_PASS, CAMERA); // use this if you have a HERO3 or older
6-
//GoProControl gp(GOPRO_SSID, GOPRO_PASS, CAMERA, gopro_mac_address, BOARD_NAME); // use this if you have a HERO4 or newer
6+
//GoProControl gp(GOPRO_SSID, GOPRO_PASS, CAMERA, gopro_mac_address, BOARD_NAME);
7+
8+
char in = 0;
79

810
void setup()
911
{
@@ -13,10 +15,112 @@ void setup()
1315

1416
void loop()
1517
{
16-
// do stuff
18+
if (Serial.available() > 0)
19+
{
20+
in = Serial.read();
21+
//Serial.write(in);
22+
}
23+
24+
switch (in)
25+
{
26+
default:
27+
break;
28+
29+
// connect
30+
case 'C':
31+
gp.begin();
32+
break;
33+
34+
// turn on/off
35+
case 'T':
36+
gp.turnOn();
37+
break;
38+
39+
case 't':
40+
gp.turnOff();
41+
break;
42+
43+
// take a picture of start a video
44+
case 'A':
45+
gp.shoot();
46+
break;
47+
48+
// stop the video
49+
case 'S':
50+
gp.stopShoot();
51+
break;
52+
53+
//set modes
54+
case 'V':
55+
gp.setMode(VIDEO_MODE);
56+
break;
57+
58+
case 'P':
59+
gp.setMode(PHOTO_MODE);
60+
break;
61+
62+
case 'M':
63+
gp.setMode(MULTISHOT_MODE);
64+
break;
65+
66+
// set orientation
67+
case 'u':
68+
gp.setOrientation(ORIENTATION_UP);
69+
break;
70+
71+
case 'd':
72+
gp.setOrientation(ORIENTATION_DOWN);
73+
break;
74+
75+
case 'W':
76+
gp.setVideoFov(MEDIUM_FOV);
77+
break;
78+
79+
case 'E':
80+
gp.setFrameRate(FR_120);
81+
break;
82+
83+
case 'f':
84+
gp.setPhotoResolution(PR_11MP_WIDE);
85+
break;
86+
87+
case 'F':
88+
gp.setVideoResolution(VR_1080p);
89+
break;
90+
91+
case 'L':
92+
gp.setTimeLapseInterval(60);
93+
break;
94+
95+
case 'O':
96+
gp.localizationOn();
97+
break;
98+
99+
case 'I':
100+
gp.localizationOff();
101+
break;
102+
103+
case 'l':
104+
gp.deleteLast();
105+
break;
106+
107+
case 'D':
108+
gp.deleteAll();
109+
break;
110+
111+
case 'X':
112+
gp.end();
113+
break;
114+
115+
case 'p':
116+
gp.printStatus();
117+
break;
118+
}
119+
120+
in = 0;
17121
}
18122

19123
void keep_alive(void *parameter)
20124
{
21125
gp.keepAlive();
22-
}
126+
}

examples/GoProControl/GoProControl.ino

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33

44
// Choose your camera
55
//GoProControl gp(GOPRO_SSID, GOPRO_PASS, CAMERA); // use this if you have a HERO3 or older
6-
//GoProControl gp(GOPRO_SSID, GOPRO_PASS, CAMERA, gopro_mac_address, BOARD_NAME); // use this if you have a HERO4 or newer
6+
//GoProControl gp(GOPRO_SSID, GOPRO_PASS, CAMERA, gopro_mac_address, BOARD_NAME);
77

88
char in = 0;
99

@@ -114,8 +114,12 @@ void loop()
114114
case 'p':
115115
gp.printStatus();
116116
break;
117+
118+
case 'K':
119+
gp.keepAlive();
120+
break;
117121
}
118122

119123
in = 0;
120124
gp.keepAlive();
121-
}
125+
}

src/GoProControl.cpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -70,10 +70,10 @@ uint8_t GoProControl::begin()
7070

7171
WiFi.begin(_ssid.c_str(), _pwd.c_str());
7272

73-
while (WiFi.status() == WL_IDLE_STATUS)
74-
{
75-
;
76-
}
73+
while (WiFi.status() != WL_CONNECTED) {
74+
delay(1000);
75+
Serial.println("Connecting to WiFi..");
76+
}
7777

7878
if (WiFi.status() == WL_CONNECTED)
7979
{

0 commit comments

Comments
 (0)