diff --git a/.VSCodeCounter/2022-01-19_11-26-30/details.md b/.VSCodeCounter/2022-01-19_11-26-30/details.md new file mode 100644 index 0000000..d039de3 --- /dev/null +++ b/.VSCodeCounter/2022-01-19_11-26-30/details.md @@ -0,0 +1,66 @@ +# Details + +Date : 2022-01-19 11:26:30 + +Directory c:\Users\alex1\git\projektarbeit + +Total : 51 files, 1864 codes, 867 comments, 492 blanks, all 3223 lines + +[summary](results.md) / details / [diff summary](diff.md) / [diff details](diff-details.md) + +## Files +| filename | language | code | comment | blank | total | +| :--- | :--- | ---: | ---: | ---: | ---: | +| [debugMqtt/hw1/main.py](/debugMqtt/hw1/main.py) | Python | 15 | 2 | 10 | 27 | +| [debugMqtt/hw1/main_debug.py](/debugMqtt/hw1/main_debug.py) | Python | 12 | 2 | 10 | 24 | +| [debugMqtt/rhede/main.py](/debugMqtt/rhede/main.py) | Python | 16 | 2 | 10 | 28 | +| [debugMqtt/rhede/main_debug.py](/debugMqtt/rhede/main_debug.py) | Python | 13 | 2 | 10 | 25 | +| [doc/Diagrams/classdiagramm.uxf](/doc/Diagrams/classdiagramm.uxf) | umlet | 95 | 0 | 0 | 95 | +| [doc/Diagrams/statesAutopilot.uxf](/doc/Diagrams/statesAutopilot.uxf) | umlet | 389 | 0 | 2 | 391 | +| [include/config.h](/include/config.h) | C++ | 3 | 3 | 5 | 11 | +| [include/moveControl.h](/include/moveControl.h) | C++ | 44 | 104 | 21 | 169 | +| [include/moveControlConfig.h](/include/moveControlConfig.h) | C++ | 23 | 18 | 3 | 44 | +| [include/network.h](/include/network.h) | C++ | 23 | 10 | 9 | 42 | +| [include/networkConfig.h](/include/networkConfig.h) | C++ | 54 | 5 | 5 | 64 | +| [include/route.h](/include/route.h) | C++ | 0 | 39 | 14 | 53 | +| [lib/Illumination/underfloorLighting.cpp](/lib/Illumination/underfloorLighting.cpp) | C++ | 0 | 0 | 1 | 1 | +| [lib/Illumination/underfloorLighting.h](/lib/Illumination/underfloorLighting.h) | C++ | 0 | 0 | 1 | 1 | +| [lib/MQTT/debugMqtt.cpp](/lib/MQTT/debugMqtt.cpp) | C++ | 64 | 12 | 15 | 91 | +| [lib/MQTT/debugMqtt.h](/lib/MQTT/debugMqtt.h) | C++ | 35 | 110 | 14 | 159 | +| [lib/Menu/menu.cpp](/lib/Menu/menu.cpp) | C++ | 78 | 13 | 13 | 104 | +| [lib/Menu/menu.h](/lib/Menu/menu.h) | C++ | 24 | 12 | 12 | 48 | +| [lib/Menu/menuAction.cpp](/lib/Menu/menuAction.cpp) | C++ | 37 | 10 | 8 | 55 | +| [lib/Menu/menuAction.h](/lib/Menu/menuAction.h) | C++ | 21 | 10 | 7 | 38 | +| [lib/Menu/menuControl.h](/lib/Menu/menuControl.h) | C++ | 10 | 10 | 3 | 23 | +| [lib/Menu/pidSettings.cpp](/lib/Menu/pidSettings.cpp) | C++ | 9 | 10 | 10 | 29 | +| [lib/Menu/pidSettings.h](/lib/Menu/pidSettings.h) | C++ | 15 | 10 | 5 | 30 | +| [lib/MotorControl/motorControl.cpp](/lib/MotorControl/motorControl.cpp) | C++ | 144 | 24 | 33 | 201 | +| [lib/MotorControl/motorControl.h](/lib/MotorControl/motorControl.h) | C++ | 46 | 101 | 20 | 167 | +| [lib/Navigation/coordinate.cpp](/lib/Navigation/coordinate.cpp) | C++ | 1 | 0 | 2 | 3 | +| [lib/Navigation/coordinate.h](/lib/Navigation/coordinate.h) | C++ | 14 | 10 | 7 | 31 | +| [lib/Navigation/navigation.cpp](/lib/Navigation/navigation.cpp) | C++ | 1 | 0 | 2 | 3 | +| [lib/Navigation/navigation.h](/lib/Navigation/navigation.h) | C++ | 15 | 10 | 8 | 33 | +| [lib/Speedometer/speedometer.cpp](/lib/Speedometer/speedometer.cpp) | C++ | 81 | 12 | 21 | 114 | +| [lib/Speedometer/speedometer.h](/lib/Speedometer/speedometer.h) | C++ | 33 | 67 | 20 | 120 | +| [lib/Times/debugTimes.cpp](/lib/Times/debugTimes.cpp) | C++ | 15 | 10 | 4 | 29 | +| [lib/Times/debugTimes.h](/lib/Times/debugTimes.h) | C++ | 15 | 38 | 10 | 63 | +| [platformio.ini](/platformio.ini) | Ini | 14 | 9 | 2 | 25 | +| [src/driveModi/Modi/Autopilot/autopilot.cpp](/src/driveModi/Modi/Autopilot/autopilot.cpp) | C++ | 7 | 0 | 4 | 11 | +| [src/driveModi/Modi/Autopilot/autopilot.h](/src/driveModi/Modi/Autopilot/autopilot.h) | C++ | 18 | 0 | 8 | 26 | +| [src/driveModi/Modi/CaptureRoute/captureRoute.cpp](/src/driveModi/Modi/CaptureRoute/captureRoute.cpp) | C++ | 7 | 8 | 7 | 22 | +| [src/driveModi/Modi/CaptureRoute/captureRoute.h](/src/driveModi/Modi/CaptureRoute/captureRoute.h) | C++ | 12 | 3 | 6 | 21 | +| [src/driveModi/Modi/ConsolControl/consolControl.cpp](/src/driveModi/Modi/ConsolControl/consolControl.cpp) | C++ | 36 | 0 | 7 | 43 | +| [src/driveModi/Modi/ConsolControl/consolControl.h](/src/driveModi/Modi/ConsolControl/consolControl.h) | C++ | 17 | 0 | 7 | 24 | +| [src/driveModi/Modi/ManualControl/manualControl.cpp](/src/driveModi/Modi/ManualControl/manualControl.cpp) | C++ | 28 | 10 | 8 | 46 | +| [src/driveModi/Modi/ManualControl/manualControl.h](/src/driveModi/Modi/ManualControl/manualControl.h) | C++ | 22 | 56 | 13 | 91 | +| [src/driveModi/Modi/TestMode/testMode.cpp](/src/driveModi/Modi/TestMode/testMode.cpp) | C++ | 0 | 0 | 1 | 1 | +| [src/driveModi/Modi/TestMode/testMode.h](/src/driveModi/Modi/TestMode/testMode.h) | C++ | 0 | 0 | 1 | 1 | +| [src/driveModi/driveManager.cpp](/src/driveModi/driveManager.cpp) | C++ | 44 | 11 | 18 | 73 | +| [src/driveModi/driveManager.h](/src/driveModi/driveManager.h) | C++ | 29 | 11 | 11 | 51 | +| [src/driveModi/driveModi.h](/src/driveModi/driveModi.h) | C++ | 9 | 10 | 3 | 22 | +| [src/main.cpp](/src/main.cpp) | C++ | 107 | 6 | 26 | 139 | +| [src/moveControl.cpp](/src/moveControl.cpp) | C++ | 105 | 5 | 26 | 136 | +| [src/network.cpp](/src/network.cpp) | C++ | 64 | 17 | 14 | 95 | +| [src/route.cpp](/src/route.cpp) | C++ | 0 | 65 | 15 | 80 | + +[summary](results.md) / details / [diff summary](diff.md) / [diff details](diff-details.md) \ No newline at end of file diff --git a/.VSCodeCounter/2022-01-19_11-26-30/diff-details.md b/.VSCodeCounter/2022-01-19_11-26-30/diff-details.md new file mode 100644 index 0000000..146bbbc --- /dev/null +++ b/.VSCodeCounter/2022-01-19_11-26-30/diff-details.md @@ -0,0 +1,15 @@ +# Diff Details + +Date : 2022-01-19 11:26:30 + +Directory c:\Users\alex1\git\projektarbeit + +Total : 0 files, 0 codes, 0 comments, 0 blanks, all 0 lines + +[summary](results.md) / [details](details.md) / [diff summary](diff.md) / diff details + +## Files +| filename | language | code | comment | blank | total | +| :--- | :--- | ---: | ---: | ---: | ---: | + +[summary](results.md) / [details](details.md) / [diff summary](diff.md) / diff details \ No newline at end of file diff --git a/.VSCodeCounter/2022-01-19_11-26-30/diff.csv b/.VSCodeCounter/2022-01-19_11-26-30/diff.csv new file mode 100644 index 0000000..b7d8d75 --- /dev/null +++ b/.VSCodeCounter/2022-01-19_11-26-30/diff.csv @@ -0,0 +1,2 @@ +"filename", "language", "", "comment", "blank", "total" +"Total", "-", , 0, 0, 0 \ No newline at end of file diff --git a/.VSCodeCounter/2022-01-19_11-26-30/diff.md b/.VSCodeCounter/2022-01-19_11-26-30/diff.md new file mode 100644 index 0000000..48f38f0 --- /dev/null +++ b/.VSCodeCounter/2022-01-19_11-26-30/diff.md @@ -0,0 +1,19 @@ +# Diff Summary + +Date : 2022-01-19 11:26:30 + +Directory c:\Users\alex1\git\projektarbeit + +Total : 0 files, 0 codes, 0 comments, 0 blanks, all 0 lines + +[summary](results.md) / [details](details.md) / diff summary / [diff details](diff-details.md) + +## Languages +| language | files | code | comment | blank | total | +| :--- | ---: | ---: | ---: | ---: | ---: | + +## Directories +| path | files | code | comment | blank | total | +| :--- | ---: | ---: | ---: | ---: | ---: | + +[summary](results.md) / [details](details.md) / diff summary / [diff details](diff-details.md) \ No newline at end of file diff --git a/.VSCodeCounter/2022-01-19_11-26-30/diff.txt b/.VSCodeCounter/2022-01-19_11-26-30/diff.txt new file mode 100644 index 0000000..12ed54b --- /dev/null +++ b/.VSCodeCounter/2022-01-19_11-26-30/diff.txt @@ -0,0 +1,22 @@ +Date : 2022-01-19 11:26:30 +Directory : c:\Users\alex1\git\projektarbeit +Total : 0 files, 0 codes, 0 comments, 0 blanks, all 0 lines + +Languages ++----------+------------+------------+------------+------------+------------+ +| language | files | code | comment | blank | total | ++----------+------------+------------+------------+------------+------------+ ++----------+------------+------------+------------+------------+------------+ + +Directories ++------+------------+------------+------------+------------+------------+ +| path | files | code | comment | blank | total | ++------+------------+------------+------------+------------+------------+ ++------+------------+------------+------------+------------+------------+ + +Files ++----------+----------+------------+------------+------------+------------+ +| filename | language | code | comment | blank | total | ++----------+----------+------------+------------+------------+------------+ +| Total | | 0 | 0 | 0 | 0 | ++----------+----------+------------+------------+------------+------------+ \ No newline at end of file diff --git a/.VSCodeCounter/2022-01-19_11-26-30/results.csv b/.VSCodeCounter/2022-01-19_11-26-30/results.csv new file mode 100644 index 0000000..f685fb5 --- /dev/null +++ b/.VSCodeCounter/2022-01-19_11-26-30/results.csv @@ -0,0 +1,53 @@ +"filename", "language", "C++", "Ini", "Python", "umlet", "comment", "blank", "total" +"c:\Users\alex1\git\projektarbeit\debugMqtt\hw1\main.py", "Python", 0, 0, 15, 0, 2, 10, 27 +"c:\Users\alex1\git\projektarbeit\debugMqtt\hw1\main_debug.py", "Python", 0, 0, 12, 0, 2, 10, 24 +"c:\Users\alex1\git\projektarbeit\debugMqtt\rhede\main.py", "Python", 0, 0, 16, 0, 2, 10, 28 +"c:\Users\alex1\git\projektarbeit\debugMqtt\rhede\main_debug.py", "Python", 0, 0, 13, 0, 2, 10, 25 +"c:\Users\alex1\git\projektarbeit\doc\Diagrams\classdiagramm.uxf", "umlet", 0, 0, 0, 95, 0, 0, 95 +"c:\Users\alex1\git\projektarbeit\doc\Diagrams\statesAutopilot.uxf", "umlet", 0, 0, 0, 389, 0, 2, 391 +"c:\Users\alex1\git\projektarbeit\include\config.h", "C++", 3, 0, 0, 0, 3, 5, 11 +"c:\Users\alex1\git\projektarbeit\include\moveControl.h", "C++", 44, 0, 0, 0, 104, 21, 169 +"c:\Users\alex1\git\projektarbeit\include\moveControlConfig.h", "C++", 23, 0, 0, 0, 18, 3, 44 +"c:\Users\alex1\git\projektarbeit\include\network.h", "C++", 23, 0, 0, 0, 10, 9, 42 +"c:\Users\alex1\git\projektarbeit\include\networkConfig.h", "C++", 54, 0, 0, 0, 5, 5, 64 +"c:\Users\alex1\git\projektarbeit\include\route.h", "C++", 0, 0, 0, 0, 39, 14, 53 +"c:\Users\alex1\git\projektarbeit\lib\Illumination\underfloorLighting.cpp", "C++", 0, 0, 0, 0, 0, 1, 1 +"c:\Users\alex1\git\projektarbeit\lib\Illumination\underfloorLighting.h", "C++", 0, 0, 0, 0, 0, 1, 1 +"c:\Users\alex1\git\projektarbeit\lib\MQTT\debugMqtt.cpp", "C++", 64, 0, 0, 0, 12, 15, 91 +"c:\Users\alex1\git\projektarbeit\lib\MQTT\debugMqtt.h", "C++", 35, 0, 0, 0, 110, 14, 159 +"c:\Users\alex1\git\projektarbeit\lib\Menu\menu.cpp", "C++", 78, 0, 0, 0, 13, 13, 104 +"c:\Users\alex1\git\projektarbeit\lib\Menu\menu.h", "C++", 24, 0, 0, 0, 12, 12, 48 +"c:\Users\alex1\git\projektarbeit\lib\Menu\menuAction.cpp", "C++", 37, 0, 0, 0, 10, 8, 55 +"c:\Users\alex1\git\projektarbeit\lib\Menu\menuAction.h", "C++", 21, 0, 0, 0, 10, 7, 38 +"c:\Users\alex1\git\projektarbeit\lib\Menu\menuControl.h", "C++", 10, 0, 0, 0, 10, 3, 23 +"c:\Users\alex1\git\projektarbeit\lib\Menu\pidSettings.cpp", "C++", 9, 0, 0, 0, 10, 10, 29 +"c:\Users\alex1\git\projektarbeit\lib\Menu\pidSettings.h", "C++", 15, 0, 0, 0, 10, 5, 30 +"c:\Users\alex1\git\projektarbeit\lib\MotorControl\motorControl.cpp", "C++", 144, 0, 0, 0, 24, 33, 201 +"c:\Users\alex1\git\projektarbeit\lib\MotorControl\motorControl.h", "C++", 46, 0, 0, 0, 101, 20, 167 +"c:\Users\alex1\git\projektarbeit\lib\Navigation\coordinate.cpp", "C++", 1, 0, 0, 0, 0, 2, 3 +"c:\Users\alex1\git\projektarbeit\lib\Navigation\coordinate.h", "C++", 14, 0, 0, 0, 10, 7, 31 +"c:\Users\alex1\git\projektarbeit\lib\Navigation\navigation.cpp", "C++", 1, 0, 0, 0, 0, 2, 3 +"c:\Users\alex1\git\projektarbeit\lib\Navigation\navigation.h", "C++", 15, 0, 0, 0, 10, 8, 33 +"c:\Users\alex1\git\projektarbeit\lib\Speedometer\speedometer.cpp", "C++", 81, 0, 0, 0, 12, 21, 114 +"c:\Users\alex1\git\projektarbeit\lib\Speedometer\speedometer.h", "C++", 33, 0, 0, 0, 67, 20, 120 +"c:\Users\alex1\git\projektarbeit\lib\Times\debugTimes.cpp", "C++", 15, 0, 0, 0, 10, 4, 29 +"c:\Users\alex1\git\projektarbeit\lib\Times\debugTimes.h", "C++", 15, 0, 0, 0, 38, 10, 63 +"c:\Users\alex1\git\projektarbeit\platformio.ini", "Ini", 0, 14, 0, 0, 9, 2, 25 +"c:\Users\alex1\git\projektarbeit\src\driveModi\Modi\Autopilot\autopilot.cpp", "C++", 7, 0, 0, 0, 0, 4, 11 +"c:\Users\alex1\git\projektarbeit\src\driveModi\Modi\Autopilot\autopilot.h", "C++", 18, 0, 0, 0, 0, 8, 26 +"c:\Users\alex1\git\projektarbeit\src\driveModi\Modi\CaptureRoute\captureRoute.cpp", "C++", 7, 0, 0, 0, 8, 7, 22 +"c:\Users\alex1\git\projektarbeit\src\driveModi\Modi\CaptureRoute\captureRoute.h", "C++", 12, 0, 0, 0, 3, 6, 21 +"c:\Users\alex1\git\projektarbeit\src\driveModi\Modi\ConsolControl\consolControl.cpp", "C++", 36, 0, 0, 0, 0, 7, 43 +"c:\Users\alex1\git\projektarbeit\src\driveModi\Modi\ConsolControl\consolControl.h", "C++", 17, 0, 0, 0, 0, 7, 24 +"c:\Users\alex1\git\projektarbeit\src\driveModi\Modi\ManualControl\manualControl.cpp", "C++", 28, 0, 0, 0, 10, 8, 46 +"c:\Users\alex1\git\projektarbeit\src\driveModi\Modi\ManualControl\manualControl.h", "C++", 22, 0, 0, 0, 56, 13, 91 +"c:\Users\alex1\git\projektarbeit\src\driveModi\Modi\TestMode\testMode.cpp", "C++", 0, 0, 0, 0, 0, 1, 1 +"c:\Users\alex1\git\projektarbeit\src\driveModi\Modi\TestMode\testMode.h", "C++", 0, 0, 0, 0, 0, 1, 1 +"c:\Users\alex1\git\projektarbeit\src\driveModi\driveManager.cpp", "C++", 44, 0, 0, 0, 11, 18, 73 +"c:\Users\alex1\git\projektarbeit\src\driveModi\driveManager.h", "C++", 29, 0, 0, 0, 11, 11, 51 +"c:\Users\alex1\git\projektarbeit\src\driveModi\driveModi.h", "C++", 9, 0, 0, 0, 10, 3, 22 +"c:\Users\alex1\git\projektarbeit\src\main.cpp", "C++", 107, 0, 0, 0, 6, 26, 139 +"c:\Users\alex1\git\projektarbeit\src\moveControl.cpp", "C++", 105, 0, 0, 0, 5, 26, 136 +"c:\Users\alex1\git\projektarbeit\src\network.cpp", "C++", 64, 0, 0, 0, 17, 14, 95 +"c:\Users\alex1\git\projektarbeit\src\route.cpp", "C++", 0, 0, 0, 0, 65, 15, 80 +"Total", "-", 1310, 14, 56, 484, 867, 492, 3223 \ No newline at end of file diff --git a/.VSCodeCounter/2022-01-19_11-26-30/results.json b/.VSCodeCounter/2022-01-19_11-26-30/results.json new file mode 100644 index 0000000..22e32a4 --- /dev/null +++ b/.VSCodeCounter/2022-01-19_11-26-30/results.json @@ -0,0 +1 @@ +{"file:///c%3A/Users/alex1/git/projektarbeit/lib/Speedometer/speedometer.h":{"language":"C++","code":33,"comment":67,"blank":20},"file:///c%3A/Users/alex1/git/projektarbeit/lib/Times/debugTimes.h":{"language":"C++","code":15,"comment":38,"blank":10},"file:///c%3A/Users/alex1/git/projektarbeit/platformio.ini":{"language":"Ini","code":14,"comment":9,"blank":2},"file:///c%3A/Users/alex1/git/projektarbeit/src/moveControl.cpp":{"language":"C++","code":105,"comment":5,"blank":26},"file:///c%3A/Users/alex1/git/projektarbeit/include/moveControl.h":{"language":"C++","code":44,"comment":104,"blank":21},"file:///c%3A/Users/alex1/git/projektarbeit/src/main.cpp":{"language":"C++","code":107,"comment":6,"blank":26},"file:///c%3A/Users/alex1/git/projektarbeit/src/route.cpp":{"language":"C++","code":0,"comment":65,"blank":15},"file:///c%3A/Users/alex1/git/projektarbeit/include/config.h":{"language":"C++","code":3,"comment":3,"blank":5},"file:///c%3A/Users/alex1/git/projektarbeit/include/networkConfig.h":{"language":"C++","code":54,"comment":5,"blank":5},"file:///c%3A/Users/alex1/git/projektarbeit/include/moveControlConfig.h":{"language":"C++","code":23,"comment":18,"blank":3},"file:///c%3A/Users/alex1/git/projektarbeit/include/network.h":{"language":"C++","code":23,"comment":10,"blank":9},"file:///c%3A/Users/alex1/git/projektarbeit/debugMqtt/hw1/main_debug.py":{"language":"Python","code":12,"comment":2,"blank":10},"file:///c%3A/Users/alex1/git/projektarbeit/debugMqtt/rhede/main.py":{"language":"Python","code":16,"comment":2,"blank":10},"file:///c%3A/Users/alex1/git/projektarbeit/include/route.h":{"language":"C++","code":0,"comment":39,"blank":14},"file:///c%3A/Users/alex1/git/projektarbeit/src/network.cpp":{"language":"C++","code":64,"comment":17,"blank":14},"file:///c%3A/Users/alex1/git/projektarbeit/lib/Times/debugTimes.cpp":{"language":"C++","code":15,"comment":10,"blank":4},"file:///c%3A/Users/alex1/git/projektarbeit/lib/MQTT/debugMqtt.h":{"language":"C++","code":35,"comment":110,"blank":14},"file:///c%3A/Users/alex1/git/projektarbeit/debugMqtt/rhede/main_debug.py":{"language":"Python","code":13,"comment":2,"blank":10},"file:///c%3A/Users/alex1/git/projektarbeit/lib/Speedometer/speedometer.cpp":{"language":"C++","code":81,"comment":12,"blank":21},"file:///c%3A/Users/alex1/git/projektarbeit/lib/MQTT/debugMqtt.cpp":{"language":"C++","code":64,"comment":12,"blank":15},"file:///c%3A/Users/alex1/git/projektarbeit/src/driveModi/driveManager.h":{"language":"C++","code":29,"comment":11,"blank":11},"file:///c%3A/Users/alex1/git/projektarbeit/src/driveModi/driveModi.h":{"language":"C++","code":9,"comment":10,"blank":3},"file:///c%3A/Users/alex1/git/projektarbeit/src/driveModi/driveManager.cpp":{"language":"C++","code":44,"comment":11,"blank":18},"file:///c%3A/Users/alex1/git/projektarbeit/debugMqtt/hw1/main.py":{"language":"Python","code":15,"comment":2,"blank":10},"file:///c%3A/Users/alex1/git/projektarbeit/lib/Navigation/coordinate.h":{"language":"C++","code":14,"comment":10,"blank":7},"file:///c%3A/Users/alex1/git/projektarbeit/lib/Navigation/navigation.cpp":{"language":"C++","code":1,"comment":0,"blank":2},"file:///c%3A/Users/alex1/git/projektarbeit/lib/Navigation/navigation.h":{"language":"C++","code":15,"comment":10,"blank":8},"file:///c%3A/Users/alex1/git/projektarbeit/lib/Navigation/coordinate.cpp":{"language":"C++","code":1,"comment":0,"blank":2},"file:///c%3A/Users/alex1/git/projektarbeit/lib/Menu/pidSettings.h":{"language":"C++","code":15,"comment":10,"blank":5},"file:///c%3A/Users/alex1/git/projektarbeit/lib/Menu/menuControl.h":{"language":"C++","code":10,"comment":10,"blank":3},"file:///c%3A/Users/alex1/git/projektarbeit/lib/Illumination/underfloorLighting.cpp":{"language":"C++","code":0,"comment":0,"blank":1},"file:///c%3A/Users/alex1/git/projektarbeit/lib/Illumination/underfloorLighting.h":{"language":"C++","code":0,"comment":0,"blank":1},"file:///c%3A/Users/alex1/git/projektarbeit/lib/Menu/menuAction.cpp":{"language":"C++","code":37,"comment":10,"blank":8},"file:///c%3A/Users/alex1/git/projektarbeit/src/driveModi/Modi/TestMode/testMode.cpp":{"language":"C++","code":0,"comment":0,"blank":1},"file:///c%3A/Users/alex1/git/projektarbeit/src/driveModi/Modi/TestMode/testMode.h":{"language":"C++","code":0,"comment":0,"blank":1},"file:///c%3A/Users/alex1/git/projektarbeit/doc/Diagrams/classdiagramm.uxf":{"language":"umlet","code":95,"comment":0,"blank":0},"file:///c%3A/Users/alex1/git/projektarbeit/lib/Menu/menu.h":{"language":"C++","code":24,"comment":12,"blank":12},"file:///c%3A/Users/alex1/git/projektarbeit/src/driveModi/Modi/ConsolControl/consolControl.h":{"language":"C++","code":17,"comment":0,"blank":7},"file:///c%3A/Users/alex1/git/projektarbeit/src/driveModi/Modi/CaptureRoute/captureRoute.h":{"language":"C++","code":12,"comment":3,"blank":6},"file:///c%3A/Users/alex1/git/projektarbeit/src/driveModi/Modi/CaptureRoute/captureRoute.cpp":{"language":"C++","code":7,"comment":8,"blank":7},"file:///c%3A/Users/alex1/git/projektarbeit/lib/Menu/pidSettings.cpp":{"language":"C++","code":9,"comment":10,"blank":10},"file:///c%3A/Users/alex1/git/projektarbeit/src/driveModi/Modi/ManualControl/manualControl.h":{"language":"C++","code":22,"comment":56,"blank":13},"file:///c%3A/Users/alex1/git/projektarbeit/src/driveModi/Modi/ConsolControl/consolControl.cpp":{"language":"C++","code":36,"comment":0,"blank":7},"file:///c%3A/Users/alex1/git/projektarbeit/src/driveModi/Modi/ManualControl/manualControl.cpp":{"language":"C++","code":28,"comment":10,"blank":8},"file:///c%3A/Users/alex1/git/projektarbeit/lib/MotorControl/motorControl.h":{"language":"C++","code":46,"comment":101,"blank":20},"file:///c%3A/Users/alex1/git/projektarbeit/src/driveModi/Modi/Autopilot/autopilot.cpp":{"language":"C++","code":7,"comment":0,"blank":4},"file:///c%3A/Users/alex1/git/projektarbeit/lib/MotorControl/motorControl.cpp":{"language":"C++","code":144,"comment":24,"blank":33},"file:///c%3A/Users/alex1/git/projektarbeit/src/driveModi/Modi/Autopilot/autopilot.h":{"language":"C++","code":18,"comment":0,"blank":8},"file:///c%3A/Users/alex1/git/projektarbeit/doc/Diagrams/statesAutopilot.uxf":{"language":"umlet","code":389,"comment":0,"blank":2},"file:///c%3A/Users/alex1/git/projektarbeit/lib/Menu/menu.cpp":{"language":"C++","code":78,"comment":13,"blank":13},"file:///c%3A/Users/alex1/git/projektarbeit/lib/Menu/menuAction.h":{"language":"C++","code":21,"comment":10,"blank":7}} \ No newline at end of file diff --git a/.VSCodeCounter/2022-01-19_11-26-30/results.md b/.VSCodeCounter/2022-01-19_11-26-30/results.md new file mode 100644 index 0000000..1af4ac3 --- /dev/null +++ b/.VSCodeCounter/2022-01-19_11-26-30/results.md @@ -0,0 +1,46 @@ +# Summary + +Date : 2022-01-19 11:26:30 + +Directory c:\Users\alex1\git\projektarbeit + +Total : 51 files, 1864 codes, 867 comments, 492 blanks, all 3223 lines + +summary / [details](details.md) / [diff summary](diff.md) / [diff details](diff-details.md) + +## Languages +| language | files | code | comment | blank | total | +| :--- | ---: | ---: | ---: | ---: | ---: | +| C++ | 44 | 1,310 | 850 | 448 | 2,608 | +| umlet | 2 | 484 | 0 | 2 | 486 | +| Python | 4 | 56 | 8 | 40 | 104 | +| Ini | 1 | 14 | 9 | 2 | 25 | + +## Directories +| path | files | code | comment | blank | total | +| :--- | ---: | ---: | ---: | ---: | ---: | +| . | 51 | 1,864 | 867 | 492 | 3,223 | +| debugMqtt | 4 | 56 | 8 | 40 | 104 | +| debugMqtt\hw1 | 2 | 27 | 4 | 20 | 51 | +| debugMqtt\rhede | 2 | 29 | 4 | 20 | 53 | +| doc | 2 | 484 | 0 | 2 | 486 | +| doc\Diagrams | 2 | 484 | 0 | 2 | 486 | +| include | 6 | 147 | 179 | 57 | 383 | +| lib | 21 | 658 | 469 | 216 | 1,343 | +| lib\Illumination | 2 | 0 | 0 | 2 | 2 | +| lib\MQTT | 2 | 99 | 122 | 29 | 250 | +| lib\Menu | 7 | 194 | 75 | 58 | 327 | +| lib\MotorControl | 2 | 190 | 125 | 53 | 368 | +| lib\Navigation | 4 | 31 | 20 | 19 | 70 | +| lib\Speedometer | 2 | 114 | 79 | 41 | 234 | +| lib\Times | 2 | 30 | 48 | 14 | 92 | +| src | 17 | 505 | 202 | 175 | 882 | +| src\driveModi | 13 | 229 | 109 | 94 | 432 | +| src\driveModi\Modi | 10 | 147 | 77 | 62 | 286 | +| src\driveModi\Modi\Autopilot | 2 | 25 | 0 | 12 | 37 | +| src\driveModi\Modi\CaptureRoute | 2 | 19 | 11 | 13 | 43 | +| src\driveModi\Modi\ConsolControl | 2 | 53 | 0 | 14 | 67 | +| src\driveModi\Modi\ManualControl | 2 | 50 | 66 | 21 | 137 | +| src\driveModi\Modi\TestMode | 2 | 0 | 0 | 2 | 2 | + +summary / [details](details.md) / [diff summary](diff.md) / [diff details](diff-details.md) \ No newline at end of file diff --git a/.VSCodeCounter/2022-01-19_11-26-30/results.txt b/.VSCodeCounter/2022-01-19_11-26-30/results.txt new file mode 100644 index 0000000..5924f8c --- /dev/null +++ b/.VSCodeCounter/2022-01-19_11-26-30/results.txt @@ -0,0 +1,100 @@ +Date : 2022-01-19 11:26:30 +Directory : c:\Users\alex1\git\projektarbeit +Total : 51 files, 1864 codes, 867 comments, 492 blanks, all 3223 lines + +Languages ++----------+------------+------------+------------+------------+------------+ +| language | files | code | comment | blank | total | ++----------+------------+------------+------------+------------+------------+ +| C++ | 44 | 1,310 | 850 | 448 | 2,608 | +| umlet | 2 | 484 | 0 | 2 | 486 | +| Python | 4 | 56 | 8 | 40 | 104 | +| Ini | 1 | 14 | 9 | 2 | 25 | ++----------+------------+------------+------------+------------+------------+ + +Directories ++-------------------------------------------------------------------------------------+------------+------------+------------+------------+------------+ +| path | files | code | comment | blank | total | ++-------------------------------------------------------------------------------------+------------+------------+------------+------------+------------+ +| . | 51 | 1,864 | 867 | 492 | 3,223 | +| debugMqtt | 4 | 56 | 8 | 40 | 104 | +| debugMqtt\hw1 | 2 | 27 | 4 | 20 | 51 | +| debugMqtt\rhede | 2 | 29 | 4 | 20 | 53 | +| doc | 2 | 484 | 0 | 2 | 486 | +| doc\Diagrams | 2 | 484 | 0 | 2 | 486 | +| include | 6 | 147 | 179 | 57 | 383 | +| lib | 21 | 658 | 469 | 216 | 1,343 | +| lib\Illumination | 2 | 0 | 0 | 2 | 2 | +| lib\MQTT | 2 | 99 | 122 | 29 | 250 | +| lib\Menu | 7 | 194 | 75 | 58 | 327 | +| lib\MotorControl | 2 | 190 | 125 | 53 | 368 | +| lib\Navigation | 4 | 31 | 20 | 19 | 70 | +| lib\Speedometer | 2 | 114 | 79 | 41 | 234 | +| lib\Times | 2 | 30 | 48 | 14 | 92 | +| src | 17 | 505 | 202 | 175 | 882 | +| src\driveModi | 13 | 229 | 109 | 94 | 432 | +| src\driveModi\Modi | 10 | 147 | 77 | 62 | 286 | +| src\driveModi\Modi\Autopilot | 2 | 25 | 0 | 12 | 37 | +| src\driveModi\Modi\CaptureRoute | 2 | 19 | 11 | 13 | 43 | +| src\driveModi\Modi\ConsolControl | 2 | 53 | 0 | 14 | 67 | +| src\driveModi\Modi\ManualControl | 2 | 50 | 66 | 21 | 137 | +| src\driveModi\Modi\TestMode | 2 | 0 | 0 | 2 | 2 | ++-------------------------------------------------------------------------------------+------------+------------+------------+------------+------------+ + +Files ++-------------------------------------------------------------------------------------+----------+------------+------------+------------+------------+ +| filename | language | code | comment | blank | total | ++-------------------------------------------------------------------------------------+----------+------------+------------+------------+------------+ +| c:\Users\alex1\git\projektarbeit\debugMqtt\hw1\main.py | Python | 15 | 2 | 10 | 27 | +| c:\Users\alex1\git\projektarbeit\debugMqtt\hw1\main_debug.py | Python | 12 | 2 | 10 | 24 | +| c:\Users\alex1\git\projektarbeit\debugMqtt\rhede\main.py | Python | 16 | 2 | 10 | 28 | +| c:\Users\alex1\git\projektarbeit\debugMqtt\rhede\main_debug.py | Python | 13 | 2 | 10 | 25 | +| c:\Users\alex1\git\projektarbeit\doc\Diagrams\classdiagramm.uxf | umlet | 95 | 0 | 0 | 95 | +| c:\Users\alex1\git\projektarbeit\doc\Diagrams\statesAutopilot.uxf | umlet | 389 | 0 | 2 | 391 | +| c:\Users\alex1\git\projektarbeit\include\config.h | C++ | 3 | 3 | 5 | 11 | +| c:\Users\alex1\git\projektarbeit\include\moveControl.h | C++ | 44 | 104 | 21 | 169 | +| c:\Users\alex1\git\projektarbeit\include\moveControlConfig.h | C++ | 23 | 18 | 3 | 44 | +| c:\Users\alex1\git\projektarbeit\include\network.h | C++ | 23 | 10 | 9 | 42 | +| c:\Users\alex1\git\projektarbeit\include\networkConfig.h | C++ | 54 | 5 | 5 | 64 | +| c:\Users\alex1\git\projektarbeit\include\route.h | C++ | 0 | 39 | 14 | 53 | +| c:\Users\alex1\git\projektarbeit\lib\Illumination\underfloorLighting.cpp | C++ | 0 | 0 | 1 | 1 | +| c:\Users\alex1\git\projektarbeit\lib\Illumination\underfloorLighting.h | C++ | 0 | 0 | 1 | 1 | +| c:\Users\alex1\git\projektarbeit\lib\MQTT\debugMqtt.cpp | C++ | 64 | 12 | 15 | 91 | +| c:\Users\alex1\git\projektarbeit\lib\MQTT\debugMqtt.h | C++ | 35 | 110 | 14 | 159 | +| c:\Users\alex1\git\projektarbeit\lib\Menu\menu.cpp | C++ | 78 | 13 | 13 | 104 | +| c:\Users\alex1\git\projektarbeit\lib\Menu\menu.h | C++ | 24 | 12 | 12 | 48 | +| c:\Users\alex1\git\projektarbeit\lib\Menu\menuAction.cpp | C++ | 37 | 10 | 8 | 55 | +| c:\Users\alex1\git\projektarbeit\lib\Menu\menuAction.h | C++ | 21 | 10 | 7 | 38 | +| c:\Users\alex1\git\projektarbeit\lib\Menu\menuControl.h | C++ | 10 | 10 | 3 | 23 | +| c:\Users\alex1\git\projektarbeit\lib\Menu\pidSettings.cpp | C++ | 9 | 10 | 10 | 29 | +| c:\Users\alex1\git\projektarbeit\lib\Menu\pidSettings.h | C++ | 15 | 10 | 5 | 30 | +| c:\Users\alex1\git\projektarbeit\lib\MotorControl\motorControl.cpp | C++ | 144 | 24 | 33 | 201 | +| c:\Users\alex1\git\projektarbeit\lib\MotorControl\motorControl.h | C++ | 46 | 101 | 20 | 167 | +| c:\Users\alex1\git\projektarbeit\lib\Navigation\coordinate.cpp | C++ | 1 | 0 | 2 | 3 | +| c:\Users\alex1\git\projektarbeit\lib\Navigation\coordinate.h | C++ | 14 | 10 | 7 | 31 | +| c:\Users\alex1\git\projektarbeit\lib\Navigation\navigation.cpp | C++ | 1 | 0 | 2 | 3 | +| c:\Users\alex1\git\projektarbeit\lib\Navigation\navigation.h | C++ | 15 | 10 | 8 | 33 | +| c:\Users\alex1\git\projektarbeit\lib\Speedometer\speedometer.cpp | C++ | 81 | 12 | 21 | 114 | +| c:\Users\alex1\git\projektarbeit\lib\Speedometer\speedometer.h | C++ | 33 | 67 | 20 | 120 | +| c:\Users\alex1\git\projektarbeit\lib\Times\debugTimes.cpp | C++ | 15 | 10 | 4 | 29 | +| c:\Users\alex1\git\projektarbeit\lib\Times\debugTimes.h | C++ | 15 | 38 | 10 | 63 | +| c:\Users\alex1\git\projektarbeit\platformio.ini | Ini | 14 | 9 | 2 | 25 | +| c:\Users\alex1\git\projektarbeit\src\driveModi\Modi\Autopilot\autopilot.cpp | C++ | 7 | 0 | 4 | 11 | +| c:\Users\alex1\git\projektarbeit\src\driveModi\Modi\Autopilot\autopilot.h | C++ | 18 | 0 | 8 | 26 | +| c:\Users\alex1\git\projektarbeit\src\driveModi\Modi\CaptureRoute\captureRoute.cpp | C++ | 7 | 8 | 7 | 22 | +| c:\Users\alex1\git\projektarbeit\src\driveModi\Modi\CaptureRoute\captureRoute.h | C++ | 12 | 3 | 6 | 21 | +| c:\Users\alex1\git\projektarbeit\src\driveModi\Modi\ConsolControl\consolControl.cpp | C++ | 36 | 0 | 7 | 43 | +| c:\Users\alex1\git\projektarbeit\src\driveModi\Modi\ConsolControl\consolControl.h | C++ | 17 | 0 | 7 | 24 | +| c:\Users\alex1\git\projektarbeit\src\driveModi\Modi\ManualControl\manualControl.cpp | C++ | 28 | 10 | 8 | 46 | +| c:\Users\alex1\git\projektarbeit\src\driveModi\Modi\ManualControl\manualControl.h | C++ | 22 | 56 | 13 | 91 | +| c:\Users\alex1\git\projektarbeit\src\driveModi\Modi\TestMode\testMode.cpp | C++ | 0 | 0 | 1 | 1 | +| c:\Users\alex1\git\projektarbeit\src\driveModi\Modi\TestMode\testMode.h | C++ | 0 | 0 | 1 | 1 | +| c:\Users\alex1\git\projektarbeit\src\driveModi\driveManager.cpp | C++ | 44 | 11 | 18 | 73 | +| c:\Users\alex1\git\projektarbeit\src\driveModi\driveManager.h | C++ | 29 | 11 | 11 | 51 | +| c:\Users\alex1\git\projektarbeit\src\driveModi\driveModi.h | C++ | 9 | 10 | 3 | 22 | +| c:\Users\alex1\git\projektarbeit\src\main.cpp | C++ | 107 | 6 | 26 | 139 | +| c:\Users\alex1\git\projektarbeit\src\moveControl.cpp | C++ | 105 | 5 | 26 | 136 | +| c:\Users\alex1\git\projektarbeit\src\network.cpp | C++ | 64 | 17 | 14 | 95 | +| c:\Users\alex1\git\projektarbeit\src\route.cpp | C++ | 0 | 65 | 15 | 80 | +| Total | | 1,864 | 867 | 492 | 3,223 | ++-------------------------------------------------------------------------------------+----------+------------+------------+------------+------------+ \ No newline at end of file diff --git a/.vscode/settings.json b/.vscode/settings.json index 247209a..727da2e 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -63,5 +63,17 @@ "doxdocgen.generic.authorEmail": "alex@kleiax.de", - "doxdocgen.generic.authorName": "Alexander Klein" + "doxdocgen.generic.authorName": "Alexander Klein", + "files.associations": { + "new": "cpp", + "array": "cpp", + "*.tcc": "cpp", + "deque": "cpp", + "list": "cpp", + "string": "cpp", + "vector": "cpp", + "fstream": "cpp", + "istream": "cpp", + "streambuf": "cpp" + } } \ No newline at end of file diff --git a/include/moveControl.h b/include/moveControl.h index 729497f..8ed24cb 100644 --- a/include/moveControl.h +++ b/include/moveControl.h @@ -107,6 +107,14 @@ class MoveControl { */ void setPidTunings(uint8_t side, double p, double i, double d); + /** + * @brief Returns the PID object of the choosen side. + * + * @param side 0 -> left, 1 -> right + * @return PID* + */ + PID* getPID(uint8_t side); + /** * @brief Set the min delay between each loop * diff --git a/lib/Menu/menu.cpp b/lib/Menu/menu.cpp index 8cedc42..b2ad3fc 100644 --- a/lib/Menu/menu.cpp +++ b/lib/Menu/menu.cpp @@ -14,11 +14,7 @@ Menu::Menu() { this->it = this->entrys.begin(); } -void Menu::setParentMenu(Menu* menu) { - this->parentMenu = menu; -} - -void Menu::addEntry(MenuEntry* entry) { +void Menu::addEntry(MenuAction* entry) { this->entrys.push_back(entry); // TODO: Same shit here. Why I get the first element after an increment. @@ -31,8 +27,8 @@ void Menu::addEntry(MenuEntry* entry) { void Menu::printMenu() { Serial.println("\n\n"); - for (std::list::iterator iter = this->entrys.begin(); iter != this->entrys.end(); iter++) { - MenuEntry* selectedEntry = *(iter); + for (std::list::iterator iter = this->entrys.begin(); iter != this->entrys.end(); iter++) { + MenuAction* selectedEntry = *(iter); if (this->it == iter) Serial.print(" "); Serial.println(selectedEntry->getName()); @@ -40,15 +36,15 @@ void Menu::printMenu() { this->inSubmenu = false; } -void Menu::nextEntry() { +void Menu::down() { if (this->inSubmenu) { - MenuEntry* selectedEntry = *(this->it); - selectedEntry->getMenu()->nextEntry(); + MenuAction* selectedEntry = *(this->it); + selectedEntry->getMenu()->down(); return; } // TODO: Why I need the fucking next two lines? here and in the next function - std::list::iterator iter = this->it; + std::list::iterator iter = this->it; iter++; if (iter != this->entrys.end()) this->it++; @@ -57,13 +53,13 @@ void Menu::nextEntry() { this->printMenu(); } -void Menu::prevEntry() { +void Menu::up() { if (this->inSubmenu) { - MenuEntry* selectedEntry = *(this->it); - selectedEntry->getMenu()->prevEntry(); + MenuAction* selectedEntry = *(this->it); + selectedEntry->getMenu()->up(); return; } - std::list::iterator iter = this->entrys.end(); + std::list::iterator iter = this->entrys.end(); iter--; if (this->it != this->entrys.begin()) { Serial.println("--"); @@ -76,12 +72,12 @@ void Menu::prevEntry() { this->printMenu(); } -void Menu::enterEntry() { +void Menu::right() { // TODO: find out why i cannot call runAction() directly from the iterator - MenuEntry* selectedEntry = *(this->it); + MenuAction* selectedEntry = *(this->it); if (this->inSubmenu) { - selectedEntry->getMenu()->enterEntry(); + selectedEntry->getMenu()->right(); return; } @@ -92,13 +88,33 @@ void Menu::enterEntry() { selectedEntry->runAction(); } -void Menu::enterParentMenu() { +void Menu::left() { if (this->inSubmenu) { - MenuEntry* selectedEntry = *(this->it); - selectedEntry->getMenu()->enterParentMenu(); + MenuAction* selectedEntry = *(this->it); + selectedEntry->getMenu()->left(); return; } if (parentMenu) this->parentMenu->printMenu(); +} + +void Menu::yes() { + if (this->inSubmenu) { + MenuAction* selectedEntry = *(this->it); + selectedEntry->getMenu()->yes(); + return; + } + + this->right(); +} + +void Menu::no() { + if (this->inSubmenu) { + MenuAction* selectedEntry = *(this->it); + selectedEntry->getMenu()->no(); + return; + } + + this->left(); } \ No newline at end of file diff --git a/lib/Menu/menu.h b/lib/Menu/menu.h index 9b75e68..b63ac07 100644 --- a/lib/Menu/menu.h +++ b/lib/Menu/menu.h @@ -17,30 +17,29 @@ // have to be deleted after display installation #include -#include "menuEntry.h" +#include "menuAction.h" +#include "menuControl.h" -class MenuEntry; -class Menu { +class MenuAction; +class Menu : public MenuControl { public: Menu(); - void setParentMenu(Menu* menu); - - void addEntry(MenuEntry* entry); + void addEntry(MenuAction* entry); void printMenu(); - void nextEntry(); - void prevEntry(); - void enterEntry(); - void enterParentMenu(); + void down(); + void up(); + void right(); + void left(); + void yes(); + void no(); private: bool inSubmenu = false; - Menu* parentMenu; - - std::list entrys; - std::list::iterator it; + std::list entrys; + std::list::iterator it; }; diff --git a/lib/Menu/menuEntry.cpp b/lib/Menu/menuAction.cpp similarity index 65% rename from lib/Menu/menuEntry.cpp rename to lib/Menu/menuAction.cpp index 3380ae9..fa8055c 100644 --- a/lib/Menu/menuEntry.cpp +++ b/lib/Menu/menuAction.cpp @@ -8,28 +8,28 @@ * @copyright Copyright (c) 2022 * */ -#include "menuEntry.h" +#include "menuAction.h" -MenuEntry::MenuEntry(const char* name, void (*function) (), void (*callback) ()) { +MenuAction::MenuAction(const char* name, void (*function) (), void (*callback) ()) { this->name = name; this->function = function; this->callback = callback; } -MenuEntry::MenuEntry(const char* name, void (*function) ()) { +MenuAction::MenuAction(const char* name, void (*function) ()) { this->name = name; this->function = function; this->callback = nullptr; } -MenuEntry::MenuEntry(const char* name, Menu* menu) { +MenuAction::MenuAction(const char* name, MenuControl* menu) { this->name = name; this->menu = menu; this->isMenu = true; this->callback = nullptr; } -void MenuEntry::runAction() { +void MenuAction::runAction() { if (isMenu) this->menu->printMenu(); else @@ -39,15 +39,15 @@ void MenuEntry::runAction() { this->callback(); } -const char* MenuEntry::getName() { +const char* MenuAction::getName() { return this->name; } -bool MenuEntry::getIsMenu() { +bool MenuAction::getIsMenu() { return this->isMenu; } -Menu* MenuEntry::getMenu() { +MenuControl* MenuAction::getMenu() { if (isMenu) return this->menu; else diff --git a/lib/Menu/menuEntry.h b/lib/Menu/menuAction.h similarity index 62% rename from lib/Menu/menuEntry.h rename to lib/Menu/menuAction.h index cb2af02..8175dd3 100644 --- a/lib/Menu/menuEntry.h +++ b/lib/Menu/menuAction.h @@ -13,17 +13,17 @@ #include "menu.h" -class Menu; -class MenuEntry { +class MenuControl; +class MenuAction { public: - MenuEntry(const char* name, void (*function) (), void (*callback) ()); - MenuEntry(const char* name, void (*function) ()); - MenuEntry(const char* name, Menu* menu); + MenuAction(const char* name, void (*function) (), void (*callback) ()); + MenuAction(const char* name, void (*function) ()); + MenuAction(const char* name, MenuControl* menu); void runAction(); const char* getName(); bool getIsMenu(); - Menu* getMenu(); + MenuControl* getMenu(); private: const char* name; @@ -32,7 +32,7 @@ class MenuEntry { void (*callback) () = nullptr; bool isMenu = false; - Menu *menu; + MenuControl* menu; }; #endif // MENU_ENTRY_H \ No newline at end of file diff --git a/lib/Menu/menuControl.h b/lib/Menu/menuControl.h new file mode 100644 index 0000000..75eb0f4 --- /dev/null +++ b/lib/Menu/menuControl.h @@ -0,0 +1,33 @@ +/** + * @file menuControl.h + * @author Alexander Klein (alex@kleiax.de) + * @brief + * @version 0.1 + * @date 2022-01-19 + * + * @copyright Copyright (c) 2022 + * + */ + +#ifndef MENU_CONTROLL_H +#define MENU_CONTROLL_H + +class MenuControl { + public: + + // Ínputs from the Gamepad + virtual void down(); + virtual void up(); + virtual void right(); + virtual void left(); + virtual void yes(); + virtual void no(); + + virtual void printMenu(); + void setParentMenu(MenuControl* menu) {this->parentMenu = menu;} + + protected: + MenuControl* parentMenu = nullptr; +}; + +#endif // MENU_CONTROLL_H \ No newline at end of file diff --git a/lib/Menu/menuPidSettings.cpp b/lib/Menu/menuPidSettings.cpp new file mode 100644 index 0000000..e155946 --- /dev/null +++ b/lib/Menu/menuPidSettings.cpp @@ -0,0 +1,86 @@ +/** + * @file pidSettings.cpp + * @author Alexander Klein (alex@kleiax.de) + * @brief + * @version 0.1 + * @date 2022-01-19 + * + * @copyright Copyright (c) 2022 + * + */ + +#include "menuPidSettings.h" + +MenuPidSettings::MenuPidSettings(PID* pid) { + this->pid = pid; + this->values[0] = (uint8_t) pid->GetKp(); + this->values[1] = (uint8_t) pid->GetKi(); + this->values[2] = (uint8_t) pid->GetKd(); +} + +void MenuPidSettings::down() { + if (values[curPos] > 0) + values[curPos]--; + + this->printMenu(); +} + +void MenuPidSettings::up() { + if (values[curPos] < UINT8_MAX) + values[curPos]++; + + this->printMenu(); +} + +void MenuPidSettings::right() { + if (curPos < NUM_VAL - 1) + curPos++; + else + curPos = 0; + + this->printMenu(); +} + +void MenuPidSettings::left() { + if (curPos > 0) + curPos--; + else + curPos = NUM_VAL - 1; + + this->printMenu(); +} + +void MenuPidSettings::no() { + if (parentMenu) + this->parentMenu->printMenu(); +} + +void MenuPidSettings::yes() { + this->pid->SetTunings(this->values[0], this->values[1], this->values[2]); + if (parentMenu) + this->parentMenu->printMenu(); +} + +void MenuPidSettings::printMenu() { + Serial.println(" P I D "); + char pos[16]; + switch (this->curPos) { + case 0: + sprintf(pos, "_%d.3_ %d.3 %d.3 ", this->values[0], this->values[1], this->values[2]); + break; + + case 1: + sprintf(pos, " %d.3 _%d.3_ %d.3 ", this->values[0], this->values[1], this->values[2]); + break; + + case 2: + sprintf(pos, " %d.3 %d.3 _%d.3_", this->values[0], this->values[1], this->values[2]); + break; + + default: + break; + } + Serial.println(pos); +} + + diff --git a/lib/Menu/menuPidSettings.h b/lib/Menu/menuPidSettings.h new file mode 100644 index 0000000..dbda1e2 --- /dev/null +++ b/lib/Menu/menuPidSettings.h @@ -0,0 +1,44 @@ +/** + * @file pidSettings.h + * @author Alexander Klein (alex@kleiax.de) + * @brief + * @version 0.1 + * @date 2022-01-19 + * + * @copyright Copyright (c) 2022 + * + */ + +#ifndef PID_SETTINGS_H +#define PID_SETTINGS_H + +#include "menuControl.h" +#include +#include + +// TODO: delete after installtion of display +#include + +#define NUM_VAL 3 + +class MenuPidSettings : public MenuControl { + public: + MenuPidSettings(PID* pid); + + void down(); + void up(); + void right(); + void left(); + void no(); + void yes(); + + void printMenu(); + + private: + PID* pid; + uint8_t values[NUM_VAL]; + uint8_t curPos = 0; + +}; + +#endif // PID_SETTINGS_H \ No newline at end of file diff --git a/src/main.cpp b/src/main.cpp index 63dadb7..a9ec1b8 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -8,8 +8,10 @@ #include "driveModi/driveManager.h" #include "moveControl.h" #include "network.h" + #include "menu.h" -#include "menuEntry.h" +#include "menuAction.h" +#include "menuPidSettings.h" // Platzhalter, muss irgendwann weg void dummy(){Serial.println("Dummy in Action");} @@ -45,21 +47,23 @@ void setup() { main_m = new Menu(); Menu* mode_m = new Menu(); Menu* pid_m = new Menu(); + MenuPidSettings* pidl_m = new MenuPidSettings(moveController.getPID(0)); + MenuPidSettings* pidr_m = new MenuPidSettings(moveController.getPID(1)); // Entry for the main menu - MenuEntry* mode_e = new MenuEntry("Mode", mode_m); - MenuEntry* gps_e = new MenuEntry("GPS", dummy); - MenuEntry* pid_e = new MenuEntry("PID", pid_m); + MenuAction* mode_e = new MenuAction("Mode", mode_m); + MenuAction* gps_e = new MenuAction("GPS", dummy); + MenuAction* pid_e = new MenuAction("PID", pid_m); main_m->addEntry(mode_e); main_m->addEntry(gps_e); main_m->addEntry(pid_e); // Entry for the mode Menu - MenuEntry* autopilot_e = new MenuEntry("Autopilot", dummy); - MenuEntry* captureRoute_e = new MenuEntry("Capture Route", dummy); - MenuEntry* consolControl_e = new MenuEntry("Consol Control", dummy); - MenuEntry* manualControl_e = new MenuEntry("Manual Control", dummy); - MenuEntry* testMode_e = new MenuEntry("Test Mode", dummy); + MenuAction* autopilot_e = new MenuAction("Autopilot", dummy); + MenuAction* captureRoute_e = new MenuAction("Capture Route", dummy); + MenuAction* consolControl_e = new MenuAction("Consol Control", dummy); + MenuAction* manualControl_e = new MenuAction("Manual Control", dummy); + MenuAction* testMode_e = new MenuAction("Test Mode", dummy); mode_m->addEntry(autopilot_e); mode_m->addEntry(captureRoute_e); mode_m->addEntry(consolControl_e); @@ -67,12 +71,11 @@ void setup() { mode_m->addEntry(testMode_e); // Entry for the PID Menu - MenuEntry* p_e = new MenuEntry("P", dummy); - MenuEntry* i_e = new MenuEntry("I", dummy); - MenuEntry* d_e = new MenuEntry("D", dummy); - pid_m->addEntry(p_e); - pid_m->addEntry(i_e); - pid_m->addEntry(d_e); + MenuAction* pidl_e = new MenuAction("Left", pidl_m); + MenuAction* pidr_e = new MenuAction("Right", pidr_m); + pid_m->addEntry(pidl_e); + pid_m->addEntry(pidr_e); + } void loop() { @@ -97,16 +100,19 @@ bool isDelayReached() { void callbackControllerAction() { // Menu controlling - if (isDelayReached()) { if (Ps3.data.button.up) - main_m->prevEntry(); + main_m->up(); else if (Ps3.data.button.down) - main_m->nextEntry(); + main_m->down(); else if (Ps3.data.button.left) - main_m->enterParentMenu(); + main_m->left(); else if (Ps3.data.button.right) - main_m->enterEntry(); + main_m->right(); + else if (Ps3.data.button.circle) + main_m->yes(); + else if (Ps3.data.button.cross) + main_m->no(); else if (Ps3.data.button.select) main_m->printMenu(); else if (Ps3.data.button.ps) @@ -133,19 +139,3 @@ void controllerPrintBattery() { else if( controller_battery == ps3_status_battery_shutdown ) Serial.println("SHUTDOWN"); else Serial.println("UNDEFINED"); } - -void p_f() { - -} - -void i_f() { - -} - -void d_f() { - -} - -int32_t displaySelectValue() { - -} diff --git a/src/moveControl.cpp b/src/moveControl.cpp index b77130c..8bd31d2 100644 --- a/src/moveControl.cpp +++ b/src/moveControl.cpp @@ -89,6 +89,15 @@ void MoveControl::setPidTunings(uint8_t side, double p, double i, double d) { selectedPID->SetTunings(p, i, d); } +PID* MoveControl::getPID(uint8_t side) { + if (side == 0) + return this->left_pid; + else if (side == 1) + return this->right_pid; + else + return nullptr; +} + void MoveControl::calcTargetWheelSpeed() { /* original formula: (1 / r) / 1 b \ / x \ = / Xl \