Revision d02c536e devices/DiWheelDrive/userthread.cpp

View differences:

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