fix pwm channel

This commit is contained in:
2023-10-11 11:38:17 +02:00
parent f41cf5c6eb
commit a00e8d6d03
6 changed files with 27 additions and 25 deletions
+2 -16
View File
@@ -6,7 +6,6 @@ Do later:
-> Program underfloorLighting -> Program underfloorLighting
-> Add an beeper -> Add an beeper
-> Program the beeper -> Program the beeper
-> Update GNSS Lib to v3
-> Engine slow down without curve in motorControl -> Engine slow down without curve in motorControl
-> Network clean up (Mqtt remove?) -> Network clean up (Mqtt remove?)
-> Extra class for maneuver, autopilot should inherit from int16_t -> Extra class for maneuver, autopilot should inherit from int16_t
@@ -19,16 +18,7 @@ Do later:
-> Menu Display from parent as run() to make Menu as Component -> Menu Display from parent as run() to make Menu as Component
-> Racing Mode -> Racing Mode
-> ConsolControl -> ConsolControl
-> Menü für Sensordaten (kann in jedem Betriebsmodus aufgerufen werden)
- GNSS
- Ntrip
- CalcCompass
- RealCompass
- Gyroskop
- Geschwindigkeiten (vielleicht)
-> Menü für Einstellungen -> Menü für Einstellungen
- PID
- Geschwindigkeiten
- WiFi (save in Flash) - WiFi (save in Flash)
-> Battery -> Battery
- tabelle mit eigenen Werten übergeben und nicht in header (wiederverwendbarkeit) - tabelle mit eigenen Werten übergeben und nicht in header (wiederverwendbarkeit)
@@ -44,8 +34,6 @@ Do now:
Code: Code:
Doxygen Kommentare aktualisieren Doxygen Kommentare aktualisieren
magic numbers etc magic numbers etc
Menu in Lib Folder packen
testMode einzelner Motor testen klappt nicht
Fernbedienung! Fernbedienung!
Latex: Latex:
@@ -53,8 +41,6 @@ Latex:
Unterschied funktionale und nicht funktionale Anforderungen Unterschied funktionale und nicht funktionale Anforderungen
Overfull H-Boxen Overfull H-Boxen
Test Motor, Zeiten kontrolieren. Wenn einfach so dann bezug auf fehler bei Timing und freeRtos Test Motor, Zeiten kontrolieren. Wenn einfach so dann bezug auf fehler bei Timing und freeRtos
Bild mit RPY einbinden Was mit den nicht erfüllten Anforderungen machen?
Hardware doppelt erklärt
3D:
Rover:
+1 -1
View File
@@ -30,7 +30,7 @@ namespace PinNumbers {
constexpr uint8_t dir2 = 23; constexpr uint8_t dir2 = 23;
constexpr uint8_t pwm = 22; constexpr uint8_t pwm = 22;
constexpr uint8_t encoder = 33; constexpr uint8_t encoder = 33;
constexpr uint8_t pmwChannel = 0; constexpr uint8_t pmwChannel = 1;
} }
} }
+13 -1
View File
@@ -14,7 +14,7 @@
#include <stdint.h> #include <stdint.h>
#define HOTSPOT #define HW1
#ifdef HOTSPOT #ifdef HOTSPOT
namespace NetworkConfig { namespace NetworkConfig {
@@ -28,6 +28,18 @@ namespace NetworkConfig {
} }
#endif //HOTSPOT #endif //HOTSPOT
#ifdef HW1
namespace NetworkConfig {
const char ssid[] = "hw1_gast";
const char password[] = "KeineAhnung";
const char ip[] = "192.168.0.4";
const char subnet[] = "255.255.255.0";
const char gateway[] = "192.168.0.1";
const char dns[] = "8.8.8.8";
const bool mqtt = false;
}
#endif //HW1
//Network config Rhede //Network config Rhede
#ifdef RHEDE #ifdef RHEDE
namespace NetworkConfig { namespace NetworkConfig {
+2 -3
View File
@@ -15,7 +15,7 @@ board_build.partitions = no_ota.csv
framework = arduino framework = arduino
monitor_speed = 115200 monitor_speed = 115200
upload_speed = 921600 upload_speed = 921600
monitor_port = COM3 monitor_port = COM6
lib_deps = lib_deps =
https://git.kleiax.de/PlatformIO-Libs/SparkFunGNSS.git https://git.kleiax.de/PlatformIO-Libs/SparkFunGNSS.git
knolleary/PubSubClient@^2.8 knolleary/PubSubClient@^2.8
@@ -23,9 +23,8 @@ lib_deps =
marcoschwartz/LiquidCrystal_I2C@^1.1.4 marcoschwartz/LiquidCrystal_I2C@^1.1.4
bblanchon/ArduinoJson@^6.20.0 bblanchon/ArduinoJson@^6.20.0
mprograms/QMC5883LCompass@^1.2.0 mprograms/QMC5883LCompass@^1.2.0
https://git.kleiax.de/PlatformIO-Libs/Menu.git
jrowberg/I2Cdevlib-MPU6050@^1.0.0 jrowberg/I2Cdevlib-MPU6050@^1.0.0
upload_port = COM3 upload_port = COM6
test_ignore = test_desktop test_ignore = test_desktop
build_type = debug build_type = debug
monitor_filters = esp32_exception_decoder monitor_filters = esp32_exception_decoder
+2 -1
View File
@@ -17,7 +17,7 @@ void TestMode::run() {
this->abort = true; this->abort = true;
} }
if (millis() - this->actionStart > this->maneuverTime || this->abort) { if (this->busy && millis() - this->actionStart > this->maneuverTime || this->abort) {
this->busy = false; this->busy = false;
this->abort = false; this->abort = false;
this->moveControl->setDrivingStatus(MoveControl::Status::Stop); this->moveControl->setDrivingStatus(MoveControl::Status::Stop);
@@ -83,6 +83,7 @@ bool TestMode::leftEngine(int16_t powerPercentage, int16_t seconds) {
if (this->engineInit(powerPercentage, seconds)) { if (this->engineInit(powerPercentage, seconds)) {
this->moveControl->setRawPowerLeft(powerPercentage); this->moveControl->setRawPowerLeft(powerPercentage);
this->maneuver = Maneuver::LeftEngine; this->maneuver = Maneuver::LeftEngine;
std::cout << "TestMode::leftEngine" << std::endl;
return true; return true;
} }
return false; return false;
+7 -3
View File
@@ -44,7 +44,7 @@ MoveControl::MoveControl() {
this->right_motor->init(PinNumbers::RightMotor::pwm, PinNumbers::RightMotor::pmwChannel, PinNumbers::RightMotor::dir1, PinNumbers::RightMotor::dir2); this->right_motor->init(PinNumbers::RightMotor::pwm, PinNumbers::RightMotor::pmwChannel, PinNumbers::RightMotor::dir1, PinNumbers::RightMotor::dir2);
this->addChildComponent(this->left_motor); this->addChildComponent(this->left_motor);
this->addChildComponent(this->right_motor); this->addChildComponent(this->right_motor);
this->addChildComponent(this->left_speedometer); this->addChildComponent(this->left_speedometer);
this->addChildComponent(this->right_speedometer); this->addChildComponent(this->right_speedometer);
} }
@@ -80,11 +80,15 @@ void MoveControl::setDrivingStatus(Status status) {
this->driving_status = status; this->driving_status = status;
// switch (this->driving_status) { // switch (this->driving_status) {
// case Status::Stop : // case Status::Stop :
// Serial.println("New drivingState = Stop in MoveControl::setDrivingStatus"); // std::cout << "New drivingState = Stop in MoveControl::setDrivingStatus" << std::endl;
// break; // break;
// case Status::Drive : // case Status::Drive :
// Serial.println("New drivingState = Drive in MoveControl::setDrivingStatus"); // std::cout << "New drivingState = Drive in MoveControl::setDrivingStatus" << std::endl;
// break;
// case Status::Raw :
// std::cout << "New drivingState = Raw in MoveControl::setDrivingStatus" << std::endl;
// break; // break;
// default: // default: