teamALI / Mbed 2 deprecated HB2018

Dependencies:   mbed FreeRTOS

Revision:
40:debe99e228d3
Parent:
32:7f4145cc3551
Child:
46:5074781a28dd
--- a/HbMotor.cpp	Sat Jan 19 12:35:23 2019 +0000
+++ b/HbMotor.cpp	Mon Jan 21 06:32:24 2019 +0000
@@ -29,7 +29,6 @@
     
     //オフセット重畳
     curVal = val = val + ofs;
-    //sp.printf("MOT [%d]",curVal);//Test Code
     //PWM幅設定
     fpgaSubProp(id,val);
 }
@@ -84,8 +83,8 @@
     coefA = 0;     
     coefB = 0;     
     coefC = 0;     
-    //curPwmVal = 0; 
-    //curRpmVal = 0;
+
+    fpgaval = 0;
 }
 //=========================================
 //デストラクタ
@@ -130,28 +129,10 @@
         tmpPwm = (INT16)(coefA * tmpRpm * tmpRpm + coefB * tmpRpm + coefC);
         if(tmpPwm < 0) tmpPwm = 0;
     }
-    
-    return tmpPwm;
+    fpgaval = tmpPwm;
+    return fpgaval;
 }
 
-// void HbMotCtrl::setRpmValue(INT16 value){
-//     INT16 iVal = 0;
-//     if(value + ofs > rpmMax){
-//         iVal = rpmMax - ofs;
-//     }
-//     else if (value < 0){
-//         iVal = 0;
-//     }
-//     else{
-//         iVal = value;
-//     }
-//     val = iVal;
-//     iVal+=ofs;
-//     UCHAR uPos = pos * 2 + typ;
-    
-//     fpgaMotor(uPos, calcPwm((UINT16)iVal));
-// }
-
 void HbMotCtrl::setRpmValue(eMotInType type, INT16 value){
     INT16 iVal = 0;
     INT16 tmpVal;
@@ -186,23 +167,6 @@
     fpgaMotor(uPos, calcPwm(iVal));
 }
 
-// void HbMotCtrl::setRpmOfs(INT16 value){
-//     int iVal = 0;
-//     if(value + val > rpmMax){
-//         iVal = rpmMax - val;
-//     }
-//     else if (value < 0){
-//         iVal = 0;
-//     }
-//     else{
-//         iVal = value;
-//     }
-//     ofs = iVal;
-//     iVal+=val;
-//     UCHAR uPos = pos * 2 + typ;
-//     fpgaMotor(uPos, calcPwm((UINT16)iVal));
-// }
-
 INT16 HbMotCtrl::getRpmValue(eMotInType type){
     if(OFS == type){
        return ofs;
@@ -212,10 +176,16 @@
         return val;
     }
 }
-// INT16 HbMotCtrl::getRpmOfs(){
-//     return ofs;
-// }
-
+void HbMotCtrl::setValFpga(INT16 value)
+{
+    UCHAR uPos = pos * 2 + typ;
+    fpgaval = value;
+    fpgaMotor(uPos, value);
+}
+INT16 HbMotCtrl::getValFpga()
+{
+    return fpgaval;
+}
 //=========================================
 //コンストラクタ
 //=========================================
@@ -276,30 +246,40 @@
         motCtrl[1]->setMotCoef(a,b,c);
     }
 }
-//void HbSubProp::makeTbl(){
-//    if(motCtrl[0] == NULL) return;
-//    if(motCtrl[1] == NULL) return;
-//    motCtrl[0]->makeTable();
-//    motCtrl[1]->makeTable();
-//}
+
 void HbSubProp::setValue(eMotInType type, INT16 val){
     if(motCtrl[0] == NULL || motCtrl[1] == NULL) return;
     motCtrl[0]->setRpmValue(type, val);
     motCtrl[1]->setRpmValue(type, val);
 }
-// void HbSubProp::setOfs(INT16 val){
-//     if(motCtrl[0] == NULL || motCtrl[1] == NULL) return;
-//     motCtrl[0]->setRpmOfs(val);
-//     motCtrl[1]->setRpmOfs(val);
-// }
+
 INT16 HbSubProp::getValue(eMotInType type){
     if(motCtrl[0] == NULL || motCtrl[1] == NULL) return 0;
     // 同じはずなのでINのみ
     return motCtrl[0]->getRpmValue(type);
 }
-// INT16 HbSubProp::getOfs(){
-//     if(motCtrl[0] == NULL || motCtrl[1] == NULL) return 0;
-//     // 同じはずなのでINのみ
-//     return motCtrl[0]->getRpmOfs();
-// }
+
+void HbSubProp::setValueFpgaMot(eMotType type, INT16 val)
+{
+    if(motCtrl[0] == NULL || motCtrl[1] == NULL) return;
+    if(type == IN){
+        motCtrl[0]->setValFpga(val);
+    }
+    else
+    {
+        motCtrl[1]->setValFpga(val);
+    }
+}
 
+INT16 HbSubProp::getValueFpgaMot(eMotType type)
+{
+    if(motCtrl[0] == NULL || motCtrl[1] == NULL) return;
+    if(type == IN){
+        return motCtrl[0]->getValFpga();
+    }
+    else
+    {
+        return motCtrl[1]->getValFpga();
+    }
+}
+