Programme de contrôle de l'octopode 4DOF, Theraphosa-Salconi.

Dependencies:   debug mbed

CtrlBridge

  • fonction quelquonque pour communiquer avec les module
  • fonction quelquonque pour faire des recherche dans les module dispo
  • autre fonction pour jouer avec MemRegistre

Version 1.2.0

  • Ajout d'un mode de simulation pour tester le code avec seulement un contrôleur stm32
Committer:
salco
Date:
Tue Apr 28 01:57:07 2015 +0000
Revision:
20:c825e7b07af7
Parent:
19:0ac80045ba4c
Child:
21:5c17b7836733
walkingcrab is add but we need to compleet the fonction;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
salco 0:e4151abdff23 1 /*
salco 0:e4151abdff23 2 * homemadeSequence.cpp
salco 0:e4151abdff23 3 *
salco 0:e4151abdff23 4 * Created on: Mar 03, 2015
salco 0:e4151abdff23 5 * Author: salco
salco 0:e4151abdff23 6 */
salco 0:e4151abdff23 7 #include "homemadeSequence.h"
salco 19:0ac80045ba4c 8 unsigned char table_seqUp[9][2][3] = { { {80 , 210, 160}, {220, 90 , 114} },
salco 19:0ac80045ba4c 9 { {80 , 220, 170}, {220, 80 , 130} },
salco 19:0ac80045ba4c 10 { {90 , 220, 160}, {200, 80 , 140} },
salco 19:0ac80045ba4c 11 { {106, 220, 150}, {194, 80 , 150} },
salco 19:0ac80045ba4c 12 { {128, 220, 127}, {172, 80 , 173} },
salco 19:0ac80045ba4c 13 { {144, 205, 130}, {156, 95 , 170} },
salco 19:0ac80045ba4c 14 { {144, 210, 123}, {156, 89 , 177} },
salco 19:0ac80045ba4c 15 { {172, 185, 124}, {128, 115, 176} },
salco 19:0ac80045ba4c 16 { {194, 166, 118}, {106, 134, 182} } };
salco 19:0ac80045ba4c 17
salco 19:0ac80045ba4c 18 unsigned char table_seqDown[9][2][3] = { { {172, 185, 124}, {128, 115, 176} },
salco 19:0ac80045ba4c 19 { {172, 185, 124}, {128, 115, 176} },
salco 19:0ac80045ba4c 20 { {144, 210, 123}, {156, 89 , 177} },
salco 19:0ac80045ba4c 21 { {144, 205, 130}, {156, 95 , 170} },
salco 19:0ac80045ba4c 22 { {128, 220, 127}, {172, 80 , 173} },
salco 19:0ac80045ba4c 23 { {106, 220, 150}, {194, 80 , 150} },
salco 19:0ac80045ba4c 24 { {90 , 220, 160}, {200, 80 , 140} },
salco 19:0ac80045ba4c 25 { {80 , 220, 170}, {220, 80 , 130} },
salco 20:c825e7b07af7 26 { {80 , 100, 150}, {220, 200, 150} } };//fin de la seq il met ses patte sur sa tete**
salco 20:c825e7b07af7 27
salco 20:c825e7b07af7 28 unsigned char table_seqCrabe[33][8][3] = { { /* 0*/{ 0, 0, 0}, /* 4*/{125, 184, 156}, /* 8*/{132, 215, 147}, /*12*/{ 0, 0, 0},
salco 20:c825e7b07af7 29 /*16*/{203,101,128}, /*20*/{ 0, 0, 0}, /*24*/{176, 87, 163}, /*28*/{191, 103,133} },
salco 20:c825e7b07af7 30 { /* 0*/{ 0, 0, 0}, /* 4*/{111, 185, 156}, /* 8*/{ 0, 0, 0}, /*12*/{ 0, 0, 0},
salco 20:c825e7b07af7 31 /*16*/{209, 99,140}, /*20*/{ 0, 0, 0}, /*24*/{ 0, 0, 0}, /*28*/{196, 105,142} },
salco 20:c825e7b07af7 32 { /* 0*/{ 0, 0, 0}, /* 4*/{103, 192, 155}, /* 8*/{ 0, 0, 0}, /*12*/{ 0, 0, 0},
salco 20:c825e7b07af7 33 /*16*/{203,108,137}, /*20*/{ 0, 0, 0}, /*24*/{170, 88, 159}, /*28*/{191, 112,141} },
salco 20:c825e7b07af7 34 { /* 0*/{ 0, 0, 0}, /* 4*/{ 98, 199, 158}, /* 8*/{ 0, 0, 0}, /*12*/{ 0, 0, 0},
salco 20:c825e7b07af7 35 /*16*/{196,114,137}, /*20*/{ 0, 0, 0}, /*24*/{ 0, 0, 0}, /*28*/{184, 118,142} },
salco 20:c825e7b07af7 36 { /* 0*/{ 0, 0, 0}, /* 4*/{ 0, 0, 0}, /* 8*/{ 0, 0, 0}, /*12*/{ 0, 0, 0},
salco 20:c825e7b07af7 37 /*16*/{182,115,144}, /*20*/{ 0, 0, 0}, /*24*/{169, 83, 164}, /*28*/{172, 118,142} },
salco 20:c825e7b07af7 38 { /* 0*/{ 0, 0, 0}, /* 4*/{102, 201, 170}, /* 8*/{ 0, 0, 0}, /*12*/{ 0, 0, 0},
salco 20:c825e7b07af7 39 /*16*/{152,137,139}, /*20*/{ 0, 0, 0}, /*24*/{169, 78, 155}, /*28*/{146, 137,142} },
salco 20:c825e7b07af7 40 { /* 0*/{ 0, 0, 0}, /* 4*/{102, 207, 179}, /* 8*/{ 0, 0, 0}, /*12*/{ 0, 0, 0},
salco 20:c825e7b07af7 41 /*16*/{ 0, 0, 0}, /*20*/{ 0, 0, 0}, /*24*/{181, 76, 137}, /*28*/{ 0, 0, 0} },
salco 20:c825e7b07af7 42 { /* 0*/{ 0, 0, 0}, /* 4*/{ 94, 213, 183}, /* 8*/{ 0, 0, 0}, /*12*/{ 0, 0, 0},
salco 20:c825e7b07af7 43 /*16*/{ 0, 0, 0}, /*20*/{ 0, 0, 0}, /*24*/{181, 77, 131}, /*28*/{ 0, 0, 0} },
salco 20:c825e7b07af7 44 { /* 0*/{ 0, 0, 0}, /* 4*/{106, 216, 175}, /* 8*/{ 0, 0, 0}, /*12*/{ 0, 0, 0},
salco 20:c825e7b07af7 45 /*16*/{ 0, 0, 0}, /*20*/{ 0, 0, 0}, /*24*/{208, 75, 116}, /*28*/{ 0, 0, 0} },
salco 20:c825e7b07af7 46 { /* 0*/{ 0, 0, 0}, /* 4*/{129, 217, 165}, /* 8*/{ 0, 0, 0}, /*12*/{ 0, 0, 0},
salco 20:c825e7b07af7 47 /*16*/{ 0, 0, 0}, /*20*/{ 0, 0, 0}, /*24*/{225, 75, 109}, /*28*/{ 0, 0, 0} },
salco 20:c825e7b07af7 48 { /* 0*/{ 0, 0, 0}, /* 4*/{129, 221, 156}, /* 8*/{ 0, 0, 0}, /*12*/{ 0, 0, 0},
salco 20:c825e7b07af7 49 /*16*/{ 0, 0, 0}, /*20*/{161, 117, 148}, /*24*/{211, 85, 120}, /*28*/{ 0, 0, 0} },
salco 20:c825e7b07af7 50 { /* 0*/{153,159,157}, /* 4*/{141, 210, 152}, /* 8*/{ 0, 0, 0}, /*12*/{149, 158,159},
salco 20:c825e7b07af7 51 /*16*/{ 0, 0, 0}, /*20*/{172, 92, 165}, /*24*/{211, 90, 127}, /*28*/{ 0, 0, 0} },
salco 20:c825e7b07af7 52 { /* 0*/{121,180,156}, /* 4*/{139, 217, 134}, /* 8*/{ 0, 0, 0}, /*12*/{121, 180,156},
salco 20:c825e7b07af7 53 /*16*/{ 0, 0, 0}, /*20*/{ 0, 0, 0}, /*24*/{215, 93, 140}, /*28*/{ 0, 0, 0} },
salco 20:c825e7b07af7 54 { /* 0*/{113,176,156}, /* 4*/{ 0, 0, 0}, /* 8*/{ 0, 0, 0}, /*12*/{107, 182,156},
salco 20:c825e7b07af7 55 /*16*/{ 0, 0, 0}, /*20*/{168, 94, 157}, /*24*/{209, 101, 142}, /*28*/{ 0, 0, 0} },
salco 20:c825e7b07af7 56 { /* 0*/{105,183,155}, /* 4*/{ 0, 0, 0}, /* 8*/{ 0, 0, 0}, /*12*/{100, 187,150},
salco 20:c825e7b07af7 57 /*16*/{ 0, 0, 0}, /*20*/{ 0, 0, 0}, /*24*/{202, 106, 142}, /*28*/{ 0, 0, 0} },
salco 20:c825e7b07af7 58 { /* 0*/{100,191,158}, /* 4*/{ 0, 0, 0}, /* 8*/{ 0, 0, 0}, /*12*/{ 96, 193,155},
salco 20:c825e7b07af7 59 /*16*/{ 0, 0, 0}, /*20*/{167, 86, 166}, /*24*/{187, 109, 144}, /*28*/{ 0, 0, 0} },
salco 20:c825e7b07af7 60 { /* 0*/{103,193,170}, /* 4*/{ 0, 0, 0}, /* 8*/{ 0, 0, 0}, /*12*/{ 99, 197,170},
salco 20:c825e7b07af7 61 /*16*/{ 0, 0, 0}, /*20*/{166, 87, 150}, /*24*/{154, 133, 140}, /*28*/{ 0, 0, 0} },
salco 20:c825e7b07af7 62 { /* 0*/{103,200,177}, /* 4*/{ 0, 0, 0}, /* 8*/{ 0, 0, 0}, /*12*/{ 99, 201,177},
salco 20:c825e7b07af7 63 /*16*/{ 0, 0, 0}, /*20*/{177, 80, 145}, /*24*/{ 0, 0, 0}, /*28*/{ 0, 0, 0} },
salco 20:c825e7b07af7 64 { /* 0*/{ 96,205,182}, /* 4*/{ 0, 0, 0}, /* 8*/{ 0, 0, 0}, /*12*/{ 91, 208,176},
salco 20:c825e7b07af7 65 /*16*/{ 0, 0, 0}, /*20*/{177, 87, 130}, /*24*/{ 0, 0, 0}, /*28*/{ 0, 0, 0} },
salco 20:c825e7b07af7 66 { /* 0*/{108,216,171}, /* 4*/{ 0, 0, 0}, /* 8*/{ 0, 0, 0}, /*12*/{102, 210,173},
salco 20:c825e7b07af7 67 /*16*/{ 0, 0, 0}, /*20*/{192, 92, 123}, /*24*/{ 0, 0, 0}, /*28*/{ 0, 0, 0} },
salco 20:c825e7b07af7 68 { /* 0*/{108,216,171}, /* 4*/{ 0, 0, 0}, /* 8*/{ 0, 0, 0}, /*12*/{102, 210,173},
salco 20:c825e7b07af7 69 /*16*/{ 0, 0, 0}, /*20*/{218, 79, 120}, /*24*/{ 0, 0, 0}, /*28*/{ 0, 0, 0} },
salco 20:c825e7b07af7 70 { /* 0*/{129,219,151}, /* 4*/{ 0, 0, 0}, /* 8*/{ 0, 0, 0}, /*12*/{125, 213,157},
salco 20:c825e7b07af7 71 /*16*/{162,115,150}, /*20*/{206, 93, 118}, /*24*/{ 0, 0, 0}, /*28*/{154, 116,150} },
salco 20:c825e7b07af7 72 { /* 0*/{140,209,142}, /* 4*/{ 0, 0, 0}, /* 8*/{145, 161, 157}, /*12*/{135, 215,145},
salco 20:c825e7b07af7 73 /*16*/{170, 93,167}, /*20*/{206, 97, 127}, /*24*/{ 0, 0, 0}, /*28*/{163, 93,168} },
salco 20:c825e7b07af7 74 { /* 0*/{ 0, 0, 0}, /* 4*/{ 0, 0, 0}, /* 8*/{115, 182, 158}, /*12*/{ 0, 0, 0},
salco 20:c825e7b07af7 75 /*16*/{ 0, 0, 0}, /*20*/{212, 97, 142}, /*24*/{ 0, 0, 0}, /*28*/{ 0, 0, 0} },
salco 20:c825e7b07af7 76 { /* 0*/{ 0, 0, 0}, /* 4*/{ 0, 0, 0}, /* 8*/{101, 183, 156}, /*12*/{ 0, 0, 0},
salco 20:c825e7b07af7 77 /*16*/{167, 93,159}, /*20*/{205, 107, 142}, /*24*/{ 0, 0, 0}, /*28*/{160, 96,160} },
salco 20:c825e7b07af7 78 { /* 0*/{ 0, 0, 0}, /* 4*/{ 0, 0, 0}, /* 8*/{ 94, 190, 154}, /*12*/{ 0, 0, 0},
salco 20:c825e7b07af7 79 /*16*/{ 0, 0, 0}, /*20*/{197, 113, 144}, /*24*/{ 0, 0, 0}, /*28*/{ 0, 0, 0} },
salco 20:c825e7b07af7 80 { /* 0*/{ 0, 0, 0}, /* 4*/{ 0, 0, 0}, /* 8*/{ 89, 197, 158}, /*12*/{ 0, 0, 0},
salco 20:c825e7b07af7 81 /*16*/{167, 86,167}, /*20*/{182, 115, 142}, /*24*/{ 0, 0, 0}, /*28*/{161, 88,162} },
salco 20:c825e7b07af7 82 { /* 0*/{ 0, 0, 0}, /* 4*/{ 0, 0, 0}, /* 8*/{ 92, 200, 171}, /*12*/{ 0, 0, 0},
salco 20:c825e7b07af7 83 /*16*/{166, 86,156}, /*20*/{153, 136, 142}, /*24*/{ 0, 0, 0}, /*28*/{166, 86,156} },
salco 20:c825e7b07af7 84 { /* 0*/{ 0, 0, 0}, /* 4*/{ 0, 0, 0}, /* 8*/{ 92, 205, 175}, /*12*/{ 0, 0, 0},
salco 20:c825e7b07af7 85 /*16*/{177, 82,133}, /*20*/{ 0, 0, 0}, /*24*/{ 0, 0, 0}, /*28*/{169, 82,143} },
salco 20:c825e7b07af7 86 { /* 0*/{ 0, 0, 0}, /* 4*/{ 0, 0, 0}, /* 8*/{ 82, 215, 177}, /*12*/{ 0, 0, 0},
salco 20:c825e7b07af7 87 /*16*/{177, 85,126}, /*20*/{ 0, 0, 0}, /*24*/{ 0, 0, 0}, /*28*/{169, 84,135} },
salco 20:c825e7b07af7 88 { /* 0*/{ 0, 0, 0}, /* 4*/{ 0, 0, 0}, /* 8*/{ 96, 214, 176}, /*12*/{ 0, 0, 0},
salco 20:c825e7b07af7 89 /*16*/{191,101,113}, /*20*/{ 0, 0, 0}, /*24*/{ 0, 0, 0}, /*28*/{190, 86,124} },
salco 20:c825e7b07af7 90 { /* 0*/{ 0, 0, 0}, /* 4*/{ 0, 0, 0}, /* 8*/{120, 213, 158}, /*12*/{ 0, 0, 0},
salco 20:c825e7b07af7 91 /*16*/{213, 83,124}, /*20*/{ 0, 0, 0}, /*24*/{ 0, 0, 0}, /*28*/{202, 88,121} },
salco 20:c825e7b07af7 92 { /* 0*/{ 0, 0, 0}, /* 4*/{ 0, 0, 0}, /* 8*/{120, 217, 154}, /*12*/{ 0, 0, 0},
salco 20:c825e7b07af7 93 /*16*/{203, 95,110}, /*20*/{ 0, 0, 0}, /*24*/{165, 109, 152}, /*28*/{191, 101,120} }};
salco 19:0ac80045ba4c 94 /*unsigned char table_seqUpDown[9][8][4] = { { {140, 80, 210, 160}, {165, 80, 210, 160}, {160, 80, 210, 160}, {150, 80, 210, 160},
salco 19:0ac80045ba4c 95 {1, 2, 3, 4}, {1, 2, 3, 4}, {1, 2, 3, 4}, {1, 2, 3, 4} },
salco 19:0ac80045ba4c 96 { {1, 2, 3, 4}, {1, 2, 3, 4}, {1, 2, 3, 4}, {1, 2, 3, 4},
salco 19:0ac80045ba4c 97 {1, 2, 3, 4}, {1, 2, 3, 4}, {1, 2, 3, 4}, {1, 2, 3, 4} },
salco 19:0ac80045ba4c 98 { {1, 2, 3, 4}, {1, 2, 3, 4}, {1, 2, 3, 4}, {1, 2, 3, 4},
salco 19:0ac80045ba4c 99 {1, 2, 3, 4}, {1, 2, 3, 4}, {1, 2, 3, 4}, {1, 2, 3, 4} },
salco 19:0ac80045ba4c 100 { {1, 2, 3, 4}, {1, 2, 3, 4}, {1, 2, 3, 4}, {1, 2, 3, 4},
salco 19:0ac80045ba4c 101 {1, 2, 3, 4}, {1, 2, 3, 4}, {1, 2, 3, 4}, {1, 2, 3, 4} },
salco 19:0ac80045ba4c 102 { {1, 2, 3, 4}, {1, 2, 3, 4}, {1, 2, 3, 4}, {1, 2, 3, 4},
salco 19:0ac80045ba4c 103 {1, 2, 3, 4}, {1, 2, 3, 4}, {1, 2, 3, 4}, {1, 2, 3, 4} },
salco 19:0ac80045ba4c 104 { {1, 2, 3, 4}, {1, 2, 3, 4}, {1, 2, 3, 4}, {1, 2, 3, 4},
salco 19:0ac80045ba4c 105 {1, 2, 3, 4}, {1, 2, 3, 4}, {1, 2, 3, 4}, {1, 2, 3, 4} },
salco 19:0ac80045ba4c 106 { {1, 2, 3, 4}, {1, 2, 3, 4}, {1, 2, 3, 4}, {1, 2, 3, 4},
salco 19:0ac80045ba4c 107 {1, 2, 3, 4}, {1, 2, 3, 4}, {1, 2, 3, 4}, {1, 2, 3, 4} },
salco 19:0ac80045ba4c 108 { {1, 2, 3, 4}, {1, 2, 3, 4}, {1, 2, 3, 4}, {1, 2, 3, 4},
salco 19:0ac80045ba4c 109 {1, 2, 3, 4}, {1, 2, 3, 4}, {1, 2, 3, 4}, {1, 2, 3, 4} },
salco 19:0ac80045ba4c 110 { {1, 2, 3, 4}, {1, 2, 3, 4}, {1, 2, 3, 4}, {1, 2, 3, 4},
salco 19:0ac80045ba4c 111 {1, 2, 3, 4}, {1, 2, 3, 4}, {1, 2, 3, 4}, {1, 2, 3, 4} } };*/
salco 0:e4151abdff23 112 homemadeSequence::homemadeSequence()
salco 0:e4151abdff23 113 {
salco 19:0ac80045ba4c 114 m_SequenceChosen=0;
salco 19:0ac80045ba4c 115 m_idFrame=0;
salco 0:e4151abdff23 116 }
salco 0:e4151abdff23 117 homemadeSequence::~homemadeSequence()
salco 0:e4151abdff23 118 {
salco 0:e4151abdff23 119
salco 0:e4151abdff23 120 }
salco 0:e4151abdff23 121 unsigned char* homemadeSequence::get_frame(/*char idSequence,char idOperation,*/char idLeg)
salco 0:e4151abdff23 122 {
salco 19:0ac80045ba4c 123 debug(DEBUG_HOMEMADE_GETFRAME,"\n\r In Get Frame");
salco 0:e4151abdff23 124 m_posLeg[0] = 0;
salco 0:e4151abdff23 125 m_posLeg[1] = 0;
salco 0:e4151abdff23 126 m_posLeg[2] = 0;
salco 0:e4151abdff23 127 m_posLeg[3] = 0;
salco 19:0ac80045ba4c 128 debug(DEBUG_HOMEMADE_GETFRAME,"\n\r idLeg: %i",idLeg);
salco 19:0ac80045ba4c 129 debug(DEBUG_HOMEMADE_GETFRAME,"\n\r m_SequenceChosen: %i",m_SequenceChosen);
salco 19:0ac80045ba4c 130 debug(DEBUG_HOMEMADE_GETFRAME,"\n\r m_idFrame: %i",m_idFrame);
salco 0:e4151abdff23 131 switch(m_SequenceChosen) {
salco 0:e4151abdff23 132 case 1:// 01 - Calibration(milieu) //
salco 0:e4151abdff23 133 if(m_idFrame == 1) {//if(idOperation == 1) {
salco 0:e4151abdff23 134 m_posLeg[0] = 150;
salco 0:e4151abdff23 135 m_posLeg[1] = 150;
salco 0:e4151abdff23 136 m_posLeg[2] = 150;
salco 0:e4151abdff23 137 m_posLeg[3] = 150;
salco 19:0ac80045ba4c 138 } else {
salco 19:0ac80045ba4c 139 m_posLeg[0] = 0;
salco 19:0ac80045ba4c 140 m_posLeg[1] = 0;
salco 19:0ac80045ba4c 141 m_posLeg[2] = 0;
salco 19:0ac80045ba4c 142 m_posLeg[3] = 0;
salco 0:e4151abdff23 143 }
salco 0:e4151abdff23 144 break;
salco 0:e4151abdff23 145
salco 0:e4151abdff23 146 case 2:// 02 - Debout //
salco 0:e4151abdff23 147 seqUpDown(true,m_idFrame,idLeg);//seqUpDown(true,idOperation,idLeg);
salco 0:e4151abdff23 148 break;
salco 0:e4151abdff23 149 case 3:// 03 - Coucher //
salco 0:e4151abdff23 150 seqUpDown(false,m_idFrame,idLeg);//seqUpDown(false,idOperation,idLeg);
salco 0:e4151abdff23 151 break;
salco 0:e4151abdff23 152 case 4:// 04 - Tourne Gauche //
salco 0:e4151abdff23 153 break;
salco 0:e4151abdff23 154 case 5:// 05 - Tourne Droite //
salco 0:e4151abdff23 155 break;
salco 0:e4151abdff23 156 case 6:// 06 - Marche //
salco 0:e4151abdff23 157 break;
salco 0:e4151abdff23 158 case 7:// 07 - Recule //
salco 0:e4151abdff23 159 break;
salco 0:e4151abdff23 160 case 8:// 07 - Repositioner //
salco 0:e4151abdff23 161 break;
salco 0:e4151abdff23 162 case 9:// 09 - Crabe Gauche //
salco 0:e4151abdff23 163 break;
salco 0:e4151abdff23 164 case 10:// 10 - Crabe Droite //
salco 0:e4151abdff23 165 break;
salco 0:e4151abdff23 166 }
salco 19:0ac80045ba4c 167 debug(DEBUG_HOMEMADE_GETFRAME,"\n\r posLeg: [0]:%i, [1]:%i, [2]:%i, [3]:%i,",m_posLeg[0],m_posLeg[1],m_posLeg[2],m_posLeg[3]);
salco 19:0ac80045ba4c 168 debug(DEBUG_HOMEMADE_GETFRAME,"\n\r Out Get Frame");
salco 0:e4151abdff23 169 return m_posLeg;
salco 0:e4151abdff23 170 }
salco 0:e4151abdff23 171
salco 0:e4151abdff23 172 void homemadeSequence::seqUpDown(bool downUP,char idOperation,char idLeg)
salco 0:e4151abdff23 173 {
salco 0:e4151abdff23 174 if((idOperation<10)&&(idOperation>0)) {
salco 19:0ac80045ba4c 175 switch(idLeg) { //moving hips
salco 0:e4151abdff23 176 case 1:
salco 0:e4151abdff23 177 m_posLeg[0] = 140;
salco 0:e4151abdff23 178 break;
salco 0:e4151abdff23 179 case 2:
salco 0:e4151abdff23 180 m_posLeg[0] = 165;
salco 0:e4151abdff23 181 break;
salco 0:e4151abdff23 182 case 3:
salco 0:e4151abdff23 183 m_posLeg[0] = 160;
salco 0:e4151abdff23 184 break;
salco 0:e4151abdff23 185 case 6:
salco 0:e4151abdff23 186 m_posLeg[0] = 133;
salco 0:e4151abdff23 187 break;
salco 0:e4151abdff23 188 case 7:
salco 0:e4151abdff23 189 m_posLeg[0] = 170;
salco 0:e4151abdff23 190 break;
salco 0:e4151abdff23 191 default:
salco 0:e4151abdff23 192 m_posLeg[0] = 150;
salco 0:e4151abdff23 193 break;
salco 0:e4151abdff23 194 }
salco 19:0ac80045ba4c 195 if(downUP)
salco 19:0ac80045ba4c 196 {
salco 19:0ac80045ba4c 197 if(idLeg<5)
salco 19:0ac80045ba4c 198 for(int i=1; i <= 3; i++) m_posLeg[i]=table_seqUp[idOperation-1][0][i-1];
salco 19:0ac80045ba4c 199 else
salco 19:0ac80045ba4c 200 for(int i=1; i <= 3; i++) m_posLeg[i]=table_seqUp[idOperation-1][1][i-1];
salco 19:0ac80045ba4c 201 }
salco 19:0ac80045ba4c 202 else
salco 19:0ac80045ba4c 203 {
salco 19:0ac80045ba4c 204 if(idLeg<5)
salco 19:0ac80045ba4c 205 for(int i=1; i <= 3; i++) m_posLeg[i]=table_seqDown[idOperation-1][0][i-1];
salco 19:0ac80045ba4c 206 else
salco 19:0ac80045ba4c 207 for(int i=1; i <= 3; i++) m_posLeg[i]=table_seqDown[idOperation-1][1][i-1];
salco 19:0ac80045ba4c 208 }
salco 19:0ac80045ba4c 209 /*if(idOperation == 1) {
salco 0:e4151abdff23 210 if(idLeg<5) {
salco 0:e4151abdff23 211 m_posLeg[1] = 80;
salco 0:e4151abdff23 212 m_posLeg[2] = 210;
salco 0:e4151abdff23 213 m_posLeg[3] = 160;
salco 0:e4151abdff23 214 } else {
salco 0:e4151abdff23 215 m_posLeg[1] = 220;
salco 0:e4151abdff23 216 m_posLeg[2] = 90;
salco 0:e4151abdff23 217 m_posLeg[3] = 114;
salco 0:e4151abdff23 218 }
salco 0:e4151abdff23 219
salco 0:e4151abdff23 220 } else {
salco 0:e4151abdff23 221 if(!downUP) {
salco 0:e4151abdff23 222 if(idOperation == 9) {
salco 0:e4151abdff23 223 if(idLeg<5) {
salco 0:e4151abdff23 224 m_posLeg[1] = 80;
salco 0:e4151abdff23 225 m_posLeg[2] = 100;
salco 0:e4151abdff23 226 m_posLeg[3] = 150;
salco 0:e4151abdff23 227 } else {
salco 0:e4151abdff23 228 m_posLeg[1] = 220;
salco 0:e4151abdff23 229 m_posLeg[2] = 200;
salco 0:e4151abdff23 230 m_posLeg[3] = 150;
salco 0:e4151abdff23 231 }
salco 0:e4151abdff23 232 }
salco 0:e4151abdff23 233 idOperation = 10 - idOperation;
salco 0:e4151abdff23 234 }
salco 0:e4151abdff23 235
salco 0:e4151abdff23 236 switch(idOperation) {
salco 19:0ac80045ba4c 237 case 1:
salco 0:e4151abdff23 238
salco 19:0ac80045ba4c 239 break;
salco 0:e4151abdff23 240 case 2:
salco 0:e4151abdff23 241 if(idLeg<5) {
salco 0:e4151abdff23 242 m_posLeg[1] = 80;
salco 0:e4151abdff23 243 m_posLeg[2] = 220;
salco 0:e4151abdff23 244 m_posLeg[3] = 170;
salco 0:e4151abdff23 245 } else {
salco 0:e4151abdff23 246 m_posLeg[1] = 220;
salco 0:e4151abdff23 247 m_posLeg[2] = 80;
salco 0:e4151abdff23 248 m_posLeg[3] = 130;
salco 0:e4151abdff23 249 }
salco 0:e4151abdff23 250 break;
salco 0:e4151abdff23 251 case 3:
salco 0:e4151abdff23 252 if(idLeg<5) {
salco 0:e4151abdff23 253 m_posLeg[1] = 90;
salco 0:e4151abdff23 254 m_posLeg[2] = 220;
salco 0:e4151abdff23 255 m_posLeg[3] = 160;
salco 0:e4151abdff23 256 } else {
salco 0:e4151abdff23 257 m_posLeg[1] = 200;
salco 0:e4151abdff23 258 m_posLeg[2] = 200;
salco 0:e4151abdff23 259 m_posLeg[3] = 140;
salco 0:e4151abdff23 260 }
salco 0:e4151abdff23 261 break;
salco 0:e4151abdff23 262 case 4:
salco 0:e4151abdff23 263 if(idLeg<5) {
salco 0:e4151abdff23 264 m_posLeg[1] = 106;
salco 0:e4151abdff23 265 m_posLeg[2] = 220;
salco 0:e4151abdff23 266 m_posLeg[3] = 150;
salco 0:e4151abdff23 267 } else {
salco 0:e4151abdff23 268 m_posLeg[1] = 195;
salco 0:e4151abdff23 269 m_posLeg[2] = 80;
salco 0:e4151abdff23 270 m_posLeg[3] = 150;
salco 0:e4151abdff23 271 }
salco 0:e4151abdff23 272 break;
salco 0:e4151abdff23 273 case 5:
salco 0:e4151abdff23 274 if(idLeg<5) {
salco 0:e4151abdff23 275 m_posLeg[1] = 128;
salco 0:e4151abdff23 276 m_posLeg[2] = 220;
salco 0:e4151abdff23 277 m_posLeg[3] = 128;
salco 0:e4151abdff23 278 } else {
salco 0:e4151abdff23 279 m_posLeg[1] = 172;
salco 0:e4151abdff23 280 m_posLeg[2] = 80;
salco 0:e4151abdff23 281 m_posLeg[3] = 173;
salco 0:e4151abdff23 282 }
salco 0:e4151abdff23 283 break;
salco 0:e4151abdff23 284 case 6:
salco 0:e4151abdff23 285 if(idLeg<5) {
salco 0:e4151abdff23 286 m_posLeg[1] = 144;
salco 0:e4151abdff23 287 m_posLeg[2] = 205;
salco 0:e4151abdff23 288 m_posLeg[3] = 130;
salco 0:e4151abdff23 289 } else {
salco 0:e4151abdff23 290 m_posLeg[1] = 156;
salco 0:e4151abdff23 291 m_posLeg[2] = 95;
salco 0:e4151abdff23 292 m_posLeg[3] = 170;
salco 0:e4151abdff23 293 }
salco 0:e4151abdff23 294 break;
salco 0:e4151abdff23 295 case 7:
salco 0:e4151abdff23 296 if(idLeg<5) {
salco 0:e4151abdff23 297 m_posLeg[1] = 144;
salco 0:e4151abdff23 298 m_posLeg[2] = 211;
salco 0:e4151abdff23 299 m_posLeg[3] = 123;
salco 0:e4151abdff23 300 } else {
salco 0:e4151abdff23 301 m_posLeg[1] = 156;
salco 0:e4151abdff23 302 m_posLeg[2] = 89;
salco 0:e4151abdff23 303 m_posLeg[3] = 177;
salco 0:e4151abdff23 304 }
salco 0:e4151abdff23 305 break;
salco 0:e4151abdff23 306 case 8:
salco 0:e4151abdff23 307 if(idLeg<5) {
salco 0:e4151abdff23 308 m_posLeg[1] = 172;
salco 0:e4151abdff23 309 m_posLeg[2] = 185;
salco 0:e4151abdff23 310 m_posLeg[3] = 124;
salco 0:e4151abdff23 311 } else {
salco 0:e4151abdff23 312 m_posLeg[1] = 128;
salco 0:e4151abdff23 313 m_posLeg[2] = 115;
salco 0:e4151abdff23 314 m_posLeg[3] = 176;
salco 0:e4151abdff23 315 }
salco 0:e4151abdff23 316 break;
salco 0:e4151abdff23 317 case 9:
salco 0:e4151abdff23 318 if(idLeg<5) {
salco 0:e4151abdff23 319 m_posLeg[1] = 194;
salco 0:e4151abdff23 320 m_posLeg[2] = 166;
salco 0:e4151abdff23 321 m_posLeg[3] = 118;
salco 0:e4151abdff23 322 } else {
salco 0:e4151abdff23 323 m_posLeg[1] = 106;
salco 0:e4151abdff23 324 m_posLeg[2] = 134;
salco 0:e4151abdff23 325 m_posLeg[3] = 182;
salco 0:e4151abdff23 326 }
salco 0:e4151abdff23 327 break;
salco 19:0ac80045ba4c 328 default:
salco 19:0ac80045ba4c 329 m_posLeg[0] = 0;
salco 19:0ac80045ba4c 330 m_posLeg[1] = 0;
salco 19:0ac80045ba4c 331 m_posLeg[2] = 0;
salco 19:0ac80045ba4c 332 m_posLeg[3] = 0;
salco 19:0ac80045ba4c 333 break;
salco 0:e4151abdff23 334 }
salco 19:0ac80045ba4c 335 }*/
salco 0:e4151abdff23 336 }
salco 0:e4151abdff23 337 }
salco 0:e4151abdff23 338 void homemadeSequence::seqTurn(bool leftRIGHT,char idOperation,char idLeg)
salco 0:e4151abdff23 339 {}
salco 0:e4151abdff23 340 void homemadeSequence::seqWalk(bool backFRONT,char idOperation,char idLeg)
salco 0:e4151abdff23 341 {}
salco 0:e4151abdff23 342 void homemadeSequence::seqRepositioner(char idOperation,char idLeg)
salco 0:e4151abdff23 343 {}
salco 0:e4151abdff23 344 void homemadeSequence::seqCrabe(bool leftRIGHT,char idOperation,char idLeg)
salco 0:e4151abdff23 345 {}
salco 0:e4151abdff23 346 bool homemadeSequence::next_frame(void)
salco 0:e4151abdff23 347 {
salco 19:0ac80045ba4c 348 debug(DEBUG_HOMEMADE_NEXTFRAME,"\n\r in Next Frame");
salco 19:0ac80045ba4c 349 bool temp=false;
salco 19:0ac80045ba4c 350 debug(DEBUG_HOMEMADE_NEXTFRAME,"\n\r m_idframe == %d",m_idFrame);
salco 19:0ac80045ba4c 351
salco 19:0ac80045ba4c 352 //if(m_idFrame > 1){
salco 0:e4151abdff23 353 m_idFrame++;
salco 19:0ac80045ba4c 354 unsigned char* tmpTable = get_frame(1);
salco 0:e4151abdff23 355
salco 19:0ac80045ba4c 356 if((tmpTable[0]!=0) && (tmpTable[1]!=0) && (tmpTable[2]!=0) && (tmpTable[3]!=0)) //{
salco 19:0ac80045ba4c 357 temp=true;
salco 19:0ac80045ba4c 358 //m_idFrame++;//get_frame(m_idFrame);
salco 19:0ac80045ba4c 359 //}
salco 19:0ac80045ba4c 360 else
salco 19:0ac80045ba4c 361 m_idFrame--;
salco 19:0ac80045ba4c 362
salco 19:0ac80045ba4c 363 //}
salco 19:0ac80045ba4c 364 //}
salco 19:0ac80045ba4c 365 debug(DEBUG_HOMEMADE_NEXTFRAME,"\n\r m_idframe == %d",m_idFrame);
salco 19:0ac80045ba4c 366 debug(DEBUG_HOMEMADE_NEXTFRAME,"\n\r out Next Frame");
salco 0:e4151abdff23 367 return temp;
salco 0:e4151abdff23 368 }
salco 19:0ac80045ba4c 369 bool homemadeSequence::prev_frame(void) //true == prev is ok
salco 0:e4151abdff23 370 {
salco 19:0ac80045ba4c 371 //false == impossible
salco 19:0ac80045ba4c 372 debug(DEBUG_HOMEMADE_PREVFRAME,"\n\r in Prev Frame");
salco 19:0ac80045ba4c 373 bool temp=false;
salco 19:0ac80045ba4c 374 debug(DEBUG_HOMEMADE_PREVFRAME,"\n\r m_idframe == %d",m_idFrame);
salco 19:0ac80045ba4c 375
salco 19:0ac80045ba4c 376 if(m_idFrame > 1) {
salco 19:0ac80045ba4c 377 m_idFrame--;
salco 19:0ac80045ba4c 378 unsigned char* tmpTable = get_frame(1);
salco 0:e4151abdff23 379
salco 19:0ac80045ba4c 380 if((tmpTable[0]!=0) && (tmpTable[1]!=0) && (tmpTable[2]!=0) && (tmpTable[3]!=0)) //{
salco 19:0ac80045ba4c 381 temp=true;
salco 19:0ac80045ba4c 382 //m_idFrame++;//get_frame(m_idFrame);
salco 19:0ac80045ba4c 383 //}
salco 19:0ac80045ba4c 384 else
salco 19:0ac80045ba4c 385 m_idFrame++;
salco 19:0ac80045ba4c 386
salco 19:0ac80045ba4c 387 //}
salco 19:0ac80045ba4c 388 }
salco 19:0ac80045ba4c 389 debug(DEBUG_HOMEMADE_PREVFRAME,"\n\r m_idframe == %d",m_idFrame);
salco 19:0ac80045ba4c 390 debug(DEBUG_HOMEMADE_PREVFRAME,"\n\r out Prev Frame");
salco 0:e4151abdff23 391 return temp;
salco 0:e4151abdff23 392 }