myeerste
Revision 0:bacc0d57f6b9, committed 2015-02-06
- 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