wifi dependency removed

This commit is contained in:
2022-03-03 15:14:30 +01:00
parent e127009601
commit ecd76bc6d5
4 changed files with 70 additions and 19 deletions
+39 -14
View File
@@ -18,13 +18,14 @@
#include <iostream>
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#include <BluetoothSerial.h>
#include "config.h"
#include "driveModi/driveManager.h"
#include "OutputBuf/outputBuf.h"
#include "moveControl.h"
#include "network.h"
#include "outputBufMqtt.h"
#include "debugMqtt.h"
#include "menu.h"
@@ -40,8 +41,11 @@ MoveControl moveController;
DriveManager driveManager(&moveController);
Menu* main_m;
LiquidCrystal_I2C* lcd;
OutputBufMqtt* bufMqtt;
DebugMqtt* debugMqtt;
OutputBuf* outputBuf;
DebugMqtt* debugMqtt = nullptr;
BluetoothSerial* serialBT = nullptr;
bool wifiIsActive;
void callbackControllerAction(void);
void callbackControllerConnect(void);
@@ -51,17 +55,21 @@ void makeMenu(void);
void setup() {
Serial.begin(115200);
char wifiIndicator = 'X';
Network::setIps();
Network::connectWifi();
Network::setupMQTT();
Network::checkMQTT();
DebugMqtt::init(Network::getMqttClient(), Loglevel::debug);
std::cout << "Activate additional output via MQTT..." << std::endl;
debugMqtt = new DebugMqtt("Console");
bufMqtt = new OutputBufMqtt(debugMqtt);
std::cout.rdbuf(bufMqtt);
wifiIsActive = Network::connectWifi();
if (wifiIsActive) {
Network::checkMQTT();
DebugMqtt::init(Network::getMqttClient(), Loglevel::debug);
std::cout << "Activate additional output via MQTT..." << std::endl;
debugMqtt = new DebugMqtt("Console");
outputBuf = new OutputBuf(debugMqtt);
wifiIndicator = '-';
} else
outputBuf = new OutputBuf();
std::cout.rdbuf(outputBuf);
std::cout << "Welcome to Kleiax-Rover" << std::endl;
std::cout << "All actions from the main program run on Core -> " << xPortGetCoreID() << std::endl;
@@ -69,14 +77,22 @@ void setup() {
Ps3.attach(callbackControllerAction);
Ps3.attachOnConnect(callbackControllerConnect);
std::cout << "\nReady to connect a PS3 Controller... \n";
// Need to be connected befor an other device connect
Ps3.begin(CONTROLLER_MAC);
std::cout << "Activate additional output via Bluetooth..." << std::endl;
serialBT = new BluetoothSerial;
serialBT->begin("Kleiax-Rover");
outputBuf->setSerialBT(serialBT);
outputBuf->activateMqtt(false);
Wire.begin(21, 19);
// i2cScanner();
lcd = new LiquidCrystal_I2C(0x3F,16,2);
lcd->init();
lcd->backlight();
lcd->print("- Kleiax-Rover -");
lcd->printf("%c Kleiax-Rover %c", wifiIndicator, wifiIndicator);
lcd->setCursor(0, 1);
lcd->print("Press PS-Button");
@@ -84,9 +100,18 @@ void setup() {
}
void loop() {
Network::checkWiFi();
Network::checkMQTT();
if (wifiIsActive) {
Network::checkWiFi();
Network::checkMQTT();
}
driveManager.loop();
// static uint32_t lastMillis = 0;
// if (millis() - lastMillis > 2000) {
// std::cout << "Is BT-Consol connected: " << serialBT->connected() << std::endl;
// lastMillis = millis();
// }
}
void callbackControllerAction() {