Erastus Coetzee / Mbed 2 deprecated C027_HelloWorld

Dependencies:   mbed

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers main.cpp Source File

main.cpp

00001 #include "mbed.h"
00002 //#ifdef TARGET_UBLOX_C027
00003 #include "C027_api.h"
00004 //#else
00005 //#error "This example is targeted for the C027 platform"
00006 //#endif
00007 
00008 #include "gpio_api.h"
00009 
00010 Serial pc(USBTX, USBRX); // tx, rx
00011 
00012 DigitalOut  myled (LED);
00013 
00014 #define Generator = p36;
00015 //ifdef =
00016 // PortIn     p(Port2, 0x0000003F);   // p21-p26
00017 
00018 void  digitalout( int Status)
00019 {
00020 }
00021 
00022 float AnalogIn ( int BattV)
00023 {
00024     float V;
00025 
00026     return (V);
00027 }
00028 
00029 int main()
00030 {
00031     int PowerI, LoopCounterI, PowerStatusI, Invertor1I, Invertor2I, Invertor3I, Invertor4I;
00032     int EnableInvertorsI, NoStartI, GenStatusI, LedI, GenOn, GenOff;
00033     float   BattVoltageF;
00034 
00035     PowerI = 0;
00036     EnableInvertorsI = LoopCounterI = 0;
00037     GenStatusI = PowerStatusI = NoStartI = 0;
00038     Invertor1I = Invertor2I = Invertor3I = Invertor4I = 0;
00039     uint32_t gpio_set(PinName pin);
00040     for(;;)
00041      pc.printf("Hello World!\n");
00042     //  sms ( "Startup");
00043 //        DigitalOut( LED);                           // set all relays off
00044     while(1) {
00045         PowerStatusI = DigitalIn( P2_0);            // get main power status
00046         if ( PowerStatusI )
00047             if ( GenStatusI) {
00048                 if ( LoopCounterI++ > 6000) {           // If power is off for 10 minutes
00049                     //  sms( poweroff);
00050                     wait( 300);
00051                     // sms ( starting gen);
00052                     do {
00053                         LedI = !LedI;
00054 //                    myled( LedI );                   // Toggle LED
00055                         if ( !GenStatusI )               // If no generator Voltage
00056                             digitalout( 0);          //  Start Generator
00057                         wait( 100);
00058                         GenStatusI = DigitalIn( P2_1);
00059                         if( GenStatusI) {                //  check for generator Voltage = 220V
00060                             digitalout( GenOff);         // stop starting generator
00061                             // sms( GenOn);
00062                         }  else if ( NoStartI ++ > 30) {    //  try for 3 seconds
00063                             // sms( genrator not started);
00064                             do {
00065                                 digitalout( GenOff);    // Set Generator off
00066                                 wait ( 400);           // Wait for 2 seconds
00067                                 GenStatusI = DigitalIn( P2_1);
00068                                 if ( GenStatusI )
00069                                     NoStartI = 0;
00070                             } while ( NoStartI-- > 0);
00071 
00072                         }
00073                     } while ( GenStatusI == 0);
00074                     digitalout( GenOff);            // set start to off
00075                     //     sms( GenStarted);
00076                     if ( GenStatusI) {              // if Gen on close relays
00077                         //   sms( "starting inv 1");
00078 //                   myled( myled);              //  set LED on
00079                         digitalout ( 1 );        //  start invertor 1
00080                         wait ( 500);
00081                         //   sms( "Starting inv 2");
00082                         digitalout( 2);         //  start invertor 2
00083                         wait ( 500);
00084                         //   sms( "Starting inv 3");
00085                         digitalout( 3 );          //  start invertor 3
00086                         wait ( 500);
00087                         //   sms( "Starting inv 4");
00088                         digitalout( 4 );         //  start invertor 4
00089                         wait ( 500);
00090                         //   sms( "Starting Aircon");
00091                         digitalout( 5 );         //  start aircon
00092                     }
00093                 }
00094             } else if ( GenStatusI) {
00095                 if ( -- LoopCounterI <= 0) {
00096                     //   sms( "Eskom On ");
00097                     //   sms( "Aircon to Eskom");
00098                     digitalout( 0 );         //  start aircon
00099                     wait ( 5000);
00100                     //   sms( "Invertor 1 to Eskom");
00101 //                    myled( myled);              //  set LED on
00102                     digitalout ( 1 );        //  start invertor 1
00103                     wait ( 1000);
00104                     //   sms( "Invertor 2 to Eskom");
00105                     digitalout( 2 );         //  start invertor 2
00106                     wait ( 1000);
00107                     //   sms( "Invertor 3 to Eskom");
00108                     digitalout( 3 );          //  start invertor 3
00109                     wait ( 1000);
00110                     //   sms( "Invertoer 4 to Eskom");
00111                     digitalout( 4 );         //  start invertor 4
00112                 }  else
00113                     LoopCounterI = 0;
00114             } else {
00115 //                BattVoltageF =  AnalogIn( 1);    // Batt V
00116                 BattVoltageF *= 0.1039;
00117                 if ( BattVoltageF < 24.00) {
00118                     // sms( Voltage low);
00119                 }
00120             }
00121 //        myled = !myled;
00122         wait(1000);  // wait 1 sec
00123 //        myled( LedI);
00124     }   // main loop while
00125 }