Need support? support@freenove.com
72
73
74
75
76
77
78
79
80
81
82
83
84
void onBleReceived(BLECharacteristic *pCharacteristic) {
std::string rxValue = pCharacteristic->getValue();
static String bleInputString = "";
if (rxValue.length() > 0) {
for (int i = 0; i < rxValue.length(); i++) {
bleInputString += rxValue[i];
if (rxValue[i] == '\n') {
enterMessageQueue(bleInputString);
bleInputString = "";
}
}
}
}
Receive commands by WiFi.
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
void onWiFiCmdReceived(WiFiClient *client) {
static String wifiInputString = "";
while (client->available()) {
char rv[1024];
int ret = client->read((uint8_t *)rv, sizeof(rv));
for (int i = 0; i < ret; i++) {
wifiInputString += rv[i];
if (rv[i] == '\n') {
Serial.print(wifiInputString);
enterMessageQueue(wifiInputString);
wifiInputString = "";
}
}
}
}
Divide the commands into robot dog action commands and other commands according to the types and
send them into the corresponding message queue.
108
109
110
111
112
113
114
115
116
117
void enterMessageQueue(String msg) {
Serial.print("msg : ");
Serial.print(msg);
switch (msg.charAt(0)) {
case ACTION_INSTALLATION:
case ACTION_CALIBRATE:
case ACTION_UP_DOWN:
case ACTION_BODY_HEIGHT:
case ACTION_MOVE_ANY:
case ACTION_TWIST: