myeerste

Dependencies:   mbed

Files at this revision

API Documentation at this revision

Comitter:
erastus
Date:
Fri Feb 06 13:34:53 2015 +0000
Child:
1:497211807af7
Commit message:
my eerstehene

Changed in this revision

main.cpp Show annotated file Show diff for this revision Revisions of this file
mbed.bld Show annotated file Show diff for this revision Revisions of this file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/main.cpp	Fri Feb 06 13:34:53 2015 +0000
@@ -0,0 +1,120 @@
+#include "mbed.h"
+#ifdef TARGET_UBLOX_C027
+ #include "C027_api.h"
+#else
+ #error "This example is targeted for the C027 platform"
+#endif
+
+#define Generator = p36;
+ifdef = 
+// PortIn     p(Port2, 0x0000003F);   // p21-p26
+
+DigitalOut myled(LED); 
+
+int main() {
+    int PowerI, LoopCounterI, PowerStatusI, Inverot1I, Invertor2I, Inveror3I, Invertor4I;
+    int EnableInvertorsI, NoStartI;
+    float   BattVoltageF;
+    
+    PowerI = 0;
+    EnableInvertorsI = LoopCounterI = 0;
+    PowerStatusI, NoStartI = 0;
+    Invertor1I = Invertor2I = Invertor3I = Invertor4I = 0;
+    //  sms ( "Startup");
+    DigitalOut( P3, 0xff)                           // set all relays off
+    while(1) 
+        {
+        PowerStatusI = DigitalIn( P2_0);            // get main power status
+        if ( PowerStatusI )
+            if ( GenStatusI)
+            {
+            if ( LoopCounterI++ > 6000)             // If power is off for 10 minutes
+                {
+                //  sms( poweroff);
+                wait( 300);
+                // sms ( starting gen);
+                do
+                    {
+                    myled = !myled;
+                    myled( myled);                   // Toggle LED
+                    if ( !GenStatusI )               // If no generator Voltage
+                        DigitalOut( GenOn);          //  Start Generator
+                    wait( 100);
+                    GenStatusI = DigitalIn( P2_1);
+                    if( GenStatusI)                  //  check for generator Voltage = 220V
+                        {
+                        DigitalOut( GenOff);         // stop starting generator
+                        // sms( GenOn);
+                        }  else
+                        if ( NoStartI ++ > 30)       //  try for 3 seconds
+                            {
+                            // sms( genrator not started);
+                            do
+                                {
+                                DigtalOut( GenOff);    // Set Generator off
+                                wait ( 400);           // Wait for 2 seconds
+                                GenStatusI = DigitalIn( P2_1);
+                                if ( GenStatusI )
+                                    NoStartI = 0;
+                                } while ( NoStartI-- > 0);
+                            
+                            }
+                    } while ( GenStatusI == 0);
+                DigitalOut( GenOff);            // set start to off
+                //     sms( GenStarted);
+                if ( GenStatusI)                // if Gen on close relays
+                    {
+                    //   sms( "starting inv 1");
+                    myled( myled);              //  set LED on
+                    DigitalOut ( relay);        //  start invertor 1
+                    wait ( 500);
+                    //   sms( "Starting inv 2");
+                    DigitalOut( relay);         //  start invertor 2
+                    wait ( 500);
+                    //   sms( "Starting inv 3");
+                    DigitalOut(relay);          //  start invertor 3
+                    wait ( 500);
+                    //   sms( "Starting inv 4");
+                    DigitalOut( relay);         //  start invertor 4
+                    wait ( 500)
+                    //   sms( "Starting Aircon");
+                    DigitalOut( relay);         //  start aircon
+                    }
+                }
+            } else if ( GenStausI)
+                {
+                if ( -- LoopCounter <= 0)
+                    {
+                    //   sms( "Eskom On ");
+                    //   sms( "Aircon to Eskom");
+                    DigitalOut( relay);         //  start aircon
+                    wait ( 5000);
+                    //   sms( "Invertor 1 to Eskom");
+                    myled( myled);              //  set LED on
+                    DigitalOut ( relay);        //  start invertor 1
+                    wait ( 1000);
+                    //   sms( "Invertor 2 to Eskom");
+                    DigitalOut( relay);         //  start invertor 2
+                    wait ( 1000);
+                    //   sms( "Invertor 3 to Eskom");
+                    DigitalOut(relay);          //  start invertor 3
+                    wait ( 1000);
+                    //   sms( "Invertoer 4 to Eskom");
+                    DigitalOut( relay);         //  start invertor 4                        
+                    }
+                } else
+                    LoopCounterI = 0;
+            } else
+                {
+                BattVoltageF = (float) AnalogIn(BattV);
+                BattVoltageF *= 0.1039;
+                if ( BattVoltageF < 24.00)
+                    {
+                    // sms( Voltage low);
+                    }
+                }
+        myled = !myled;
+        wait(1000);  // wait 1 sec
+        myled( myled);
+    }   // main loop while    
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mbed.bld	Fri Feb 06 13:34:53 2015 +0000
@@ -0,0 +1,1 @@
+http://mbed.org/users/mbed_official/code/mbed/builds/4fc01daae5a5
\ No newline at end of file