2018-12-21 3
Dependents: mbed-os-rest-api-V1-2 mbed-os-rest-api-V1-2-2
Revision 1:b794ac1a3aa6, committed 2019-06-05
- Comitter:
- asaewing
- Date:
- Wed Jun 05 07:54:02 2019 +0000
- Parent:
- 0:61923a9dd110
- Commit message:
- 1.0
Changed in this revision
WheelManager.cpp | Show annotated file Show diff for this revision Revisions of this file |
--- a/WheelManager.cpp Fri Dec 21 07:54:10 2018 +0000 +++ b/WheelManager.cpp Wed Jun 05 07:54:02 2019 +0000 @@ -14,6 +14,10 @@ WheelManager::WheelManager() { + /*DataStorage::set_PWM_status(1, 0, 0); + DataStorage::set_PWM_status(2, 0, 0); + DataStorage::set_PWM_status(3, 0, 0); + DataStorage::set_PWM_status(4, 0, 0);*/ DataStorage::_W1_A = 0; DataStorage::_W1_B = 0; @@ -28,6 +32,11 @@ } WheelManager::WheelManager(std::string tmpTest) { + /*DataStorage::set_PWM_status(1, 0, 0); + DataStorage::set_PWM_status(2, 0, 0); + DataStorage::set_PWM_status(3, 0, 0); + DataStorage::set_PWM_status(4, 0, 0);*/ + DataStorage::_W1_A = 0; DataStorage::_W1_B = 0; @@ -51,18 +60,25 @@ DataStorage::_W4_A = 1; DataStorage::_W4_B = 0; + + //DataStorage::set_PWM_status(1, 0, 1); + //DataStorage::set_PWM_status(4, 1, 0); } else if (tmpMoveDirection>=13 && tmpMoveDirection<=15 || tmpMoveDirection==0 || tmpMoveDirection==1 || tmpMoveDirection==4 || tmpMoveDirection==11){ DataStorage::_W1_A = 1; DataStorage::_W1_B = 0; DataStorage::_W4_A = 0; DataStorage::_W4_B = 1; + //DataStorage::set_PWM_status(1, 1, 0); + //DataStorage::set_PWM_status(4, 0, 1); } else if (tmpMoveDirection==2 || tmpMoveDirection==10){ DataStorage::_W1_A = 0; DataStorage::_W1_B = 0; DataStorage::_W4_A = 0; DataStorage::_W4_B = 0; + //DataStorage::set_PWM_status(1, 0, 0); + //DataStorage::set_PWM_status(4, 0, 0); } //W2 W3// @@ -72,18 +88,24 @@ DataStorage::_W3_A = 1; DataStorage::_W3_B = 0; + //DataStorage::set_PWM_status(2, 0, 1); + //DataStorage::set_PWM_status(3, 1, 0); } else if (tmpMoveDirection>=7 && tmpMoveDirection<=11 || tmpMoveDirection==4 || tmpMoveDirection==13){ DataStorage::_W2_A = 1; DataStorage::_W2_B = 0; DataStorage::_W3_A = 0; DataStorage::_W3_B = 1; + //DataStorage::set_PWM_status(2, 1, 0); + //DataStorage::set_PWM_status(3, 0, 1); } else if (tmpMoveDirection==6 || tmpMoveDirection==14){ DataStorage::_W2_A = 0; DataStorage::_W2_B = 0; DataStorage::_W3_A = 0; DataStorage::_W3_B = 0; + //DataStorage::set_PWM_status(2, 0, 0); + //DataStorage::set_PWM_status(3, 0, 0); } //W1 W2 W3 W4// @@ -99,6 +121,10 @@ DataStorage::_W4_A = 1; DataStorage::_W4_B = 0; + /*DataStorage::set_PWM_status(1, 1, 0); + DataStorage::set_PWM_status(2, 1, 0); + DataStorage::set_PWM_status(3, 1, 0); + DataStorage::set_PWM_status(4, 1, 0);*/ } else if (tmpMoveDirection==17){ DataStorage::_W1_A = 0; DataStorage::_W1_B = 1; @@ -111,6 +137,10 @@ DataStorage::_W4_A = 0; DataStorage::_W4_B = 1; + /*DataStorage::set_PWM_status(1, 0, 1); + DataStorage::set_PWM_status(2, 0, 1); + DataStorage::set_PWM_status(3, 0, 1); + DataStorage::set_PWM_status(4, 0, 1);*/ } else if (tmpMoveDirection==40){ DataStorage::_W1_A = 0; DataStorage::_W1_B = 0; @@ -123,110 +153,52 @@ DataStorage::_W4_A = 0; DataStorage::_W4_B = 0; + /*DataStorage::set_PWM_status(1, 0, 0); + DataStorage::set_PWM_status(2, 0, 0); + DataStorage::set_PWM_status(3, 0, 0); + DataStorage::set_PWM_status(4, 0, 0);*/ } } void WM_pwmControl(DataStorage* tmpDS) { printf("### WM pwmControl - Start\r\n"); - /*PwmOut _W1_P(PD_14); - PwmOut _W2_P(PD_15); - PwmOut _W3_P(PE_12); - PwmOut _W4_P(PE_14);*/ - - //printf("### WM_pwmControl - 01\r\n"); - //printf("### WM_pwmControl - 01 - 01\r\n"); - //float tmpPeriod2 = (float)tmp[1]/1000000.0f; - //float tmpCycle2 = (float)tmp[2]/100.0f; - - /*printf("### WM_pwmControl - 01 - 01 - %d\r\n", (*tmpDS).get_testInt1()); - printf("### WM_pwmControl - 01 - 02 - %d\r\n", (*tmpDS).testInt2); - printf("### WM_pwmControl - 01 - 03 - %d\r\n", (*tmpDS).testInt3); - printf("### WM_pwmControl - 01 - 04 - %d\r\n", (*tmpDS).WM_PWM[1][0]); - printf("### WM_pwmControl - 01 - 05 - %d\r\n", (*tmpDS).WM_PWM[1][1]);*/ float *tmpPeriod2 = new float[4]; float *tmpWrite2 = new float[4]; - //{(float)(*tmpDS).WM_PWM[1][0]/1000000.0f, 0.0f, 0.0f, 0.0f}; - tmpPeriod2[0] = (float)(*tmpDS).WM_PWM[1][0]/1000000.0f; + + for (int ii=0;ii<4;ii++) { + tmpPeriod2[ii] = (float)(*tmpDS).WM_PWM[ii+1][0]/1000000.0f; + tmpWrite2[ii] = (float)(*tmpDS).WM_PWM[ii+1][1]/100.0f; + } + /*tmpPeriod2[0] = (float)(*tmpDS).WM_PWM[1][0]/1000000.0f; tmpPeriod2[1] = (float)(*tmpDS).WM_PWM[2][0]/1000000.0f; tmpPeriod2[2] = (float)(*tmpDS).WM_PWM[3][0]/1000000.0f; tmpPeriod2[3] = (float)(*tmpDS).WM_PWM[4][0]/1000000.0f; - //float tmpCycle2 = (float)(*tmpDS).WM_PWM[1][1]/100.0f; - //float tmpCycle3 = tmpCycle2+0.2f; - - //tmpPeriod2[1] = (float)(*tmpDS).WM_PWM[1][1]/100.0f; - //tmpPeriod2[2] = tmpPeriod2[1]+0.2f; tmpWrite2[0] = (float)(*tmpDS).WM_PWM[1][1]/100.0f; tmpWrite2[1] = (float)(*tmpDS).WM_PWM[2][1]/100.0f; tmpWrite2[2] = (float)(*tmpDS).WM_PWM[3][1]/100.0f; - tmpWrite2[3] = (float)(*tmpDS).WM_PWM[4][1]/100.0f; - - //if (tmpCycle3>1.0f) tmpCycle3=1.0f; - //if (tmpPeriod2[2]>1.0f) tmpPeriod2[2]=1.0f; - - //printf("### WM_pwmControl - 01 - %f\r\n", tmpCycle3); - printf("### WM pwmControl - 01 tmpPeriod2- %f; %f; %f; %f;\r\n", tmpPeriod2[0], tmpPeriod2[1], tmpPeriod2[2], tmpPeriod2[3]); - printf("### WM pwmControl - 02 tmpWrite2 - %f; %f; %f; %f;\r\n", tmpWrite2[0], tmpWrite2[1], tmpWrite2[2], tmpWrite2[3]); + tmpWrite2[3] = (float)(*tmpDS).WM_PWM[4][1]/100.0f;*/ - //printf("### WM_pwmControl - 02\r\n"); - - //PwmOut testPWM(PD_14); - //printf("### WM_pwmControl - 03\r\n"); + printf("### WM pwmControl - 01 tmpPeriod2- %f; %f; %f; %f;\r\n", tmpPeriod2[0], tmpPeriod2[1], tmpPeriod2[2], tmpPeriod2[3]); - //testPWM.period(tmpPeriod2); - //(*tmpPWM).period(tmpPeriod2); - - //(tmpDS->_WM_PWM_out01).period(tmpPeriod2[0]); + //for (int ii=0;ii<4;ii++) tmpDS->set_PWM_period(ii, tmpPeriod2[ii]); (tmpDS->_WM_PWM_out01).period(tmpPeriod2[0]); (tmpDS->_WM_PWM_out02).period(tmpPeriod2[1]); (tmpDS->_WM_PWM_out03).period(tmpPeriod2[2]); (tmpDS->_WM_PWM_out04).period(tmpPeriod2[3]); - //(*(*tmpDS).WM_PWM_out[0]).period(tmpPeriod2); - //printf("### WM_pwmControl - 04\r\n"); - - //testPWM.write(tmpCycle2); - //(*tmpPWM).write(tmpCycle2); + printf("### WM pwmControl - 02 tmpWrite2 - %f; %f; %f; %f;\r\n", tmpWrite2[0], tmpWrite2[1], tmpWrite2[2], tmpWrite2[3]); - //(tmpDS->_WM_PWM_out01).write(tmpCycle2); - //(tmpDS->_WM_PWM_out02).write(tmpCycle3); - - //(tmpDS->_WM_PWM_out01).write(tmpPeriod2[1]); - //(tmpDS->_WM_PWM_out02).write(tmpPeriod2[2]); + //for (int ii=0;ii<4;ii++) tmpDS->set_PWM_write(ii, tmpWrite2[ii]); (tmpDS->_WM_PWM_out01).write(tmpWrite2[0]); (tmpDS->_WM_PWM_out02).write(tmpWrite2[1]); (tmpDS->_WM_PWM_out03).write(tmpWrite2[2]); (tmpDS->_WM_PWM_out04).write(tmpWrite2[3]); - //(*(*tmpDS).WM_PWM_out[0]).write(tmpCycle2); - //printf("### WM_pwmControl - 05\r\n"); - /*if (tmp[0]==1){ - PwmOut _W_P(PD_14); - _W_P.period(tmpPeriod2); - _W_P.write(tmpCycle2); - - } else if (tmp[0]==2){ - PwmOut _W_P(PD_15); - _W_P.period(tmpPeriod2); - _W_P.write(tmpCycle2); - - } else if (tmp[0]==3){ - PwmOut _W_P(PE_12); - _W_P.period(tmpPeriod2); - _W_P.write(tmpCycle2); - - } else if (tmp[0]==4){ - PwmOut _W_P(PE_14); - _W_P.period(tmpPeriod2); - _W_P.write(tmpCycle2); - }*/ - delete [] tmpPeriod2; delete [] tmpWrite2; - //delete tmpCycle2; - //delete tmpCycle3; printf("### WM pwmControl - End\r\n"); } @@ -287,13 +259,6 @@ void WheelManager::runControl2(DataStorage* tmpDS, int** tmp) { printf("### WM runControl2 - Start\r\n"); - - /*PwmOut _W1_P(PD_14); - PwmOut _W2_P(PD_15); - PwmOut _W3_P(PE_12); - PwmOut _W4_P(PE_14);*/ - - //PwmOut* _W_P[4] = {&_W1_P, &_W2_P, &_W3_P, &_W4_P}; for (int ii=0;ii<5;ii++){ for (int jj=0;jj<2;jj++){ @@ -301,32 +266,12 @@ } } - //printf("### runControl - 01 - 01 - %d\r\n", DataStorage::testInt1); - //printf("### runControl - 01 - 02 - %d\r\n", DataStorage::testInt2); - //printf("### runControl - 01 - 03 - %d\r\n", DataStorage::testInt3); - //printf("### runControl - 01 - 01\r\n"); - this->moveDirectionControl(tmp[0][0]); - //pwmControl(tmp[0], tmp[1], tmp[2]); - //printf("### runControl - 01 - 02\r\n"); - - //PwmOut testPWM(PD_14); - //printf("### runControl - 02\r\n"); - //(*tmpThread).terminate(); - - //printf("### runControl - 03\r\n"); - //(*tmpThread).start(callback(WM_pwmControl, tmpDS)); WM_pwmControl(tmpDS); this->moveDirectionControl(tmp[0][0]); - //printf("### runControl - 04\r\n"); - //wait(1); - - //printf("### runControl - 05\r\n"); - //(*tmpThread).join(); - printf("### WM runControl2 - End\r\n"); }