Joe Miller / Mbed 2 deprecated V8SolenoidEngine

Dependencies:   mbed

Revision:
3:b0b848c38e29
Parent:
2:de9b637d8cca
--- a/main_working1.cpp.txt	Sat Mar 21 06:00:04 2015 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,184 +0,0 @@
-// Revision 4 PWM Added ----- WORK IN PROGRESS
-
-#include "mbed.h"
-
- 
-#define EncRes      256
-#define DefaultGap  1
-#define Quad0       0
-#define Quad1       EncRes/4
-#define Quad2       EncRes/2
-#define Quad3       Quad1 + Quad2
-#define Quad4       EncRes
-#define Quad5       EncRes + Quad1
-
-
-#define OPENLOOP    0
-#define CLOSEDLOOP  1
-#define MODE        CLOSEDLOOP
-
-//Ticker DebugDisplay;
-//Serial pc(PTE0, PTE1);
-
-DigitalOut LEDR(PTB18);
-DigitalOut Cyl_1(PTD1);
-DigitalOut Cyl_2(PTD3);
-DigitalOut Cyl_3(PTD2);
-DigitalOut Cyl_4(PTD0);
-DigitalOut Cyl_5(PTD5);
-DigitalOut Cyl_6(PTA13);
-DigitalOut Cyl_7(PTC9);
-DigitalOut Cyl_8(PTC8);
-
-// User Rotary Encoder definition
-/*
-PwmOut          LEDRed(PTA5);
-PwmOut          LEDGreen(PTA4);
-PwmOut          LEDBlue(PTA12);
-InterruptIn     UserEnc1A(PTD4);
-DigitalIn       UserEnc1B(PTA12);
-DigitalIn       PB1(PTC3); */
-DigitalOut      ANODE(PTC6);
-DigitalOut      COMMON(PTC5);
-
-//---------------------------
-
-InterruptIn  CrankAngleEncA(PTA1);
-DigitalIn    CrankAngleEncB(PTC0);
-
-
-Timer t;
-
-char CylinderFired = 0;
-uint8_t CrankAngle, CrankAngleChange;
-uint8_t Gap = DefaultGap;
-float Throttle;
-// Max Speed is currently about 15RPS, 923RPM, 65ms/rev, 254uS/Encoder pulse
-// 1000us interval = 3.9RPS.   0.5RPS = 7813uS encoder pulse interval 
-uint16_t TargetInterval = 400; 
-int elapseTime;
-
-#define PWMPeriod 1000
-#define DefaultPWMPercent 0.5
-
-//Throttle = DefaultPWMPercent;
-//Cyl_1.period_us = PWMPeriod ; Cyl_1 = Throttle;
-//Cyl_2.period_us = PWMPeriod ; Cyl_2 = Throttle;
-//Cyl_3.period_us = PWMPeriod ; Cyl_3 = Throttle;
-//Cyl_4.period_us = PWMPeriod ; Cyl_4 = Throttle;
-//Cyl_5.period_us = PWMPeriod ; Cyl_5 = Throttle;
-//Cyl_6.period_us = PWMPeriod ; Cyl_6 = Throttle;
-//Cyl_7.period_us = PWMPeriod ; Cyl_7 = Throttle;
-//Cyl_8.period_us = PWMPeriod ; Cyl_8 = Throttle;
-
-/*
-void UserEnc1_pulse(void)
-{
-        if (UserEnc1B && (TargetInterval < 8000)) 
-            TargetInterval += 100;
-        else if (TargetInterval > 200)
-            TargetInterval -= 100;              
-     
-}
-*/
-
-void CrankAngleEnc_pulse(void)
-{
-    if (CrankAngleEncB)
-        CrankAngle++;
-    else 
-        CrankAngle--;
-   //elapseTime = t.read_us(); t.reset();     
-   CrankAngleChange = true;         
-}
-
-
-//void DispUpdate(void) {
-//   pc.printf("%d : %d : %d\n\r",CrankAngle,CylindersFired1,CylindersFired2);}
-
-int main() {
-    ANODE = 1 ; COMMON = 0;
-    LEDR = 0;
-    CrankAngleChange = true;
-//    pc.baud(57600);
- //   pc.printf("V8-Solenoid Engine...........");
-  
-   
-    Cyl_1 = 0; Cyl_2 = 0; Cyl_3 = 0; Cyl_4 = 0; 
-    Cyl_5 = 0; Cyl_6 = 1; Cyl_7 = 0; Cyl_8 = 0; 
-    wait_ms(500);
-    Cyl_2 = 1; Cyl_5 = 1;Cyl_6 = 0;
-    wait_ms(1000);
-    CrankAngle = 0;
-    Cyl_2 = 0; Cyl_5 = 0;
-   
-//   DebugDisplay.attach(&DispUpdate,2.0);
-    CrankAngleEncA.rise(&CrankAngleEnc_pulse);
-//    UserEnc1A.rise(&UserEnc1_pulse);
-
-//    pc.printf("Initialized!\n");
-
-    while(true) {
-
-        if(CrankAngleChange){
-
-            // Pair#2     270 deg to 90 deg   
-//            if      ( (CrankAngle < ((int8_t)Quad1-Gap-Taper) )  ||  ( (CrankAngle<(Quad5-Gap-Taper)) && (CrankAngle>(Quad3+Gap)) ) )
-            if      ( (CrankAngle < (Quad1-Gap))  ||  (CrankAngle>(Quad3+Gap)) ) {
-                Cyl_1 = 0; Cyl_4 = 0;
-                Cyl_7 = 1; Cyl_6 = 1;
-            }
-                
-            //Pair#4 90 deg to 270   
-            else if ((CrankAngle>(Quad1+Gap))  &&  (CrankAngle<(Quad3-Gap)))  {
-                Cyl_7 = 0; Cyl_6 = 0;
-                Cyl_4 = 1; Cyl_1 = 1;
-            }            
-            else {  
-                Cyl_1 = 0; 
-                Cyl_4 = 0;
-                Cyl_6 = 0; 
-                Cyl_7 = 0;
-            }
-            
-                
-            //Pair#3 0-180 deg
-            if      ((CrankAngle>Gap)   &&   (CrankAngle<(Quad2-Gap))) {    
-                Cyl_2 = 0; Cyl_5 = 0;
-                Cyl_8 = 1; Cyl_3 = 1;
-            }
-            // Pair#1 180-360 deg    
-            else if ((CrankAngle>(Quad2+Gap))   &&   (CrankAngle<(Quad4-Gap))) {
-                Cyl_3 = 0; Cyl_8 = 0;
-                Cyl_2 = 1; Cyl_5 = 1;
-            }             
-            else {
-                Cyl_3 = 0; 
-                Cyl_8 = 0;
-                Cyl_2 = 0; 
-                Cyl_5 = 0;
-            }
-               
-            CrankAngleChange = false;
-              
-            // Speed Control Section        
-        
-            if (MODE == CLOSEDLOOP) {
-/*                       
-                Error = TargetInterval - elapseTime;
-                ErrorPrime = Error - PreviousError;
-                CompensationSignal = pGain*Error + dGain*ErrorPrime;
-                PreviousError = Error;
-*/
-            }
-            else {
-
-                Throttle = TargetInterval;
-            
-            } 
-        }  //if crankAngleChange     
-      
-
-    }//main loop - while(true)
-}//main
-