Revision d02c536e devices/DiWheelDrive/userthread.cpp
| devices/DiWheelDrive/userthread.cpp | ||
|---|---|---|
| 1 |
#include "global.hpp" |
|
| 2 |
#include <cmath> |
|
| 3 |
#include "linefollow.hpp" |
|
| 4 | 1 |
#include "userthread.hpp" |
| 5 | 2 |
#include "amiro_map.hpp" |
| 3 |
#include "global.hpp" |
|
| 4 |
#include "linefollow.hpp" |
|
| 6 | 5 |
|
| 7 | 6 |
using namespace amiro; |
| 8 | 7 |
|
| ... | ... | |
| 842 | 841 |
|
| 843 | 842 |
|
| 844 | 843 |
global.odometry.setPosition(1.0, 0.0, 0.0); |
| 844 |
chprintf((BaseSequentialStream *)&global.sercanmux1, "Current Point: %d\n", global.odometry.getPosition().x); |
|
| 845 | 845 |
global.tcase++; // 6 |
| 846 | 846 |
// Fixpoint on left side |
| 847 | 847 |
ret = map.update(0, 20000, LineFollowStrategy::EDGE_RIGHT); |
| ... | ... | |
| 858 | 858 |
|
| 859 | 859 |
|
| 860 | 860 |
global.odometry.setPosition(1.5, 0.0, 0.0); |
| 861 |
chprintf((BaseSequentialStream *)&global.sercanmux1, |
|
| 862 |
"Current Point: %d\n", global.odometry.getPosition().x); |
|
| 861 | 863 |
global.tcase++; // 7 |
| 862 | 864 |
// Fixpoint on left side, no update should appear because fixpoint already |
| 863 | 865 |
// marked |
| ... | ... | |
| 871 | 873 |
&& (map.get_state()->strategy == 0x01); |
| 872 | 874 |
// && (map.get_state()->dist == 0); |
| 873 | 875 |
|
| 876 |
global.odometry.setPosition(1.2, 0.0, 0.0); |
|
| 877 |
global.tcase++; // 8 |
|
| 878 |
// Fixpoint on left side, no update should appear because fixpoint already |
|
| 879 |
// marked |
|
| 880 |
ret = map.update(20000, 20000, LineFollowStrategy::EDGE_RIGHT); |
|
| 881 |
chprintf((BaseSequentialStream *)&global.sercanmux1, |
|
| 882 |
"Update test %d: Ret %d, cur %d, nex %d, dist %d, len %d\n", global.tcase, ret, |
|
| 883 |
map.get_state()->current, map.get_state()->next, map.get_state()->dist, map.get_state()->eLength); |
|
| 884 |
// No case should be true because neither was a node visited nor |
|
| 885 |
// was a fixpoint detected. |
|
| 886 |
global.testres[global.tcase] = |
|
| 887 |
(ret == 0x04) && (map.get_state()->strategy == 0x01) |
|
| 888 |
&& (map.get_state()->dist == 0); |
|
| 874 | 889 |
|
| 890 |
global.odometry.setPosition(.5, 0.0, 0.0); |
|
| 891 |
chprintf((BaseSequentialStream *)&global.sercanmux1, |
|
| 892 |
"Current Point: %d\n", global.odometry.getPosition().x); |
|
| 893 |
global.tcase++; // 9 |
|
| 894 |
// Fixpoint on left side, no update should appear because fixpoint already |
|
| 895 |
// marked |
|
| 896 |
ret = map.update(0, 20000, LineFollowStrategy::EDGE_RIGHT); |
|
| 897 |
chprintf((BaseSequentialStream *)&global.sercanmux1, |
|
| 898 |
"Update test %d: Ret %d, cur %d, nex %d, dist %d, len %d\n", |
|
| 899 |
global.tcase, ret, map.get_state()->current, |
|
| 900 |
map.get_state()->next, map.get_state()->dist, |
|
| 901 |
map.get_state()->eLength); |
|
| 902 |
// No case should be true because neither was a node visited nor |
|
| 903 |
// was a fixpoint detected. |
|
| 904 |
global.testres[global.tcase] = |
|
| 905 |
(ret == 9) && |
|
| 906 |
(map.get_state()->strategy == 1) && |
|
| 907 |
(map.get_state()->dist == 0) && |
|
| 908 |
(map.get_state()->eLength == 50); |
|
| 875 | 909 |
|
| 876 |
|
|
| 910 |
global.odometry.setPosition(.75, 0.0, 0.0); |
|
| 911 |
chprintf((BaseSequentialStream *)&global.sercanmux1, |
|
| 912 |
"Current Point: %d\n", global.odometry.getPosition().x); |
|
| 913 |
global.tcase++; // 10 |
|
| 914 |
// Fixpoint on left side, no update should appear because fixpoint already |
|
| 915 |
// marked |
|
| 916 |
ret = map.update(20000, 20000, LineFollowStrategy::EDGE_RIGHT); |
|
| 917 |
chprintf((BaseSequentialStream *)&global.sercanmux1, |
|
| 918 |
"Update test %d: Ret %d, cur %d, nex %d, dist %d, len %d\n", |
|
| 919 |
global.tcase, ret, map.get_state()->current, |
|
| 920 |
map.get_state()->next, map.get_state()->dist, |
|
| 921 |
map.get_state()->eLength); |
|
| 922 |
// No case should be true because neither was a node visited nor |
|
| 923 |
// was a fixpoint detected. |
|
| 924 |
global.testres[global.tcase] = |
|
| 925 |
(ret == 12) && (map.get_state()->strategy == 1) && |
|
| 926 |
(map.get_state()->dist == 50) && (map.get_state()->eLength == 50); |
|
| 877 | 927 |
|
| 878 | 928 |
int failed = 0; |
| 879 | 929 |
int passed = 0; |
Also available in: Unified diff