IO plocana FRDM K64

Revision:
14:b63e4664e2a8
Parent:
13:7c4ec32f6a54
Child:
15:3429cdc6e5f4
--- a/main.cpp	Sat Apr 24 18:48:38 2021 +0200
+++ b/main.cpp	Sat Apr 24 21:26:03 2021 +0200
@@ -17,6 +17,8 @@
 #include "IOspiprotokol.h"
 
 #include "ZeroCrossing.h"
+#include "ZC_CommandIndication.h"
+
 #include "IOzcControl.h"
 
 
@@ -27,7 +29,7 @@
 // Blinking rate in milliseconds
 #define BLINKING_RATE_MS                                                    200
 
-DigitalOut ioTest(IO_TEST,0);
+//DigitalOut ioTest(IO_TEST,0);
 
 
 
@@ -49,16 +51,23 @@
 
 C_spiProtokol c_spiProtokol( &c_data, &c_ledControl );
 
+
+
+
+
 C_zeroCrossing c_zeroCrossing( &c_data);
+
+
+
 C_zeroCrossing& rc_zc = c_zeroCrossing;
 
 C_zcControl c_zcControl( &c_zeroCrossing, &c_spiProtokol);
 
-//DigitalOut pola( PTB20, 0);  //  test zero crossing ivica
+C_ZC_CommandIndication c_zc_ci( &c_data, &c_zeroCrossing);
 
 
-Ticker test_RasaLed;
-DigitalOut RasaLed(PTE0,1);
+//Ticker test_RasaLed;
+//DigitalOut RasaLed(PTE0,1);
 
  int tz;
 
@@ -74,64 +83,8 @@
 s_log.clear();
 
 printf( " capacity %d max_size %d size %d\n\r", s_log.capacity(), s_log.max_size(), s_log.size());
-test_RasaLed.attach_us([=]{ RasaLed = !RasaLed;}, 500000   );
-
-/* postavljanje funkcija za komande i indikaciju sinhrono sa zero crossing-om */
-
- static int block_delay = 0;       
-
-        // uzlazni prolaz kroz nulu - izvrsenje komande
-        c_zeroCrossing.set_ontimeONfun( []()
-            {
-   //             testPin =! testPin;
-              rc_zc.set_portOut(  c_data.get_command() );  // upis komande na port  
-              if( c_data.get_newcommand_flag() == true) {  block_delay = 1;  }    // blokirati citanje indikacija posle novodobijene komande
-              else if(block_delay) { block_delay--;   }
-              else { c_data.set_messagge(); c_data.set_realIndication();}
-             } 
-        );
-        c_zeroCrossing.set_ontimeOFFfun(  [](){ } );
+//test_RasaLed.attach_us([=]{ RasaLed = !RasaLed;}, 500000   );
 
-        // minimum mreze - rad sa indikacijama ispravnosti sijalica
-        c_zeroCrossing.set_postponeONfun(  []()    
-            { 
-                if(block_delay == 0 && (c_data.check_newcommand_flag()== false) )
-                {
-                    char p1 = rc_zc.get_portInMin();   // dva ocitavanja porta
-                    wait_us(10);
-                    char p2 = rc_zc.get_portInMin();
-                    p1 &= p2;
-                    c_data.set_pMin( p1 );      // upis vrednosti minimuma mreze u C_data
-                    c_data.set_indication();    // proracun i upis indikacije u C_data  
-                    c_data.set_corectness();   // proracun i upis ispravnosti sijalice
-                    c_data.set_realIndication();    // izracun aktuelne indikacije - spremna za slanje na LEDove
-
- 
-                }
-                else c_data.clear_pMin();
-            } 
-        );
-
-
-// maximum mreze - rad sa neispravnim naponom - misem
-        c_zeroCrossing.set_postponeOFFfun( []() 
-            { 
-                    static int i=0, j=0;
-                if(block_delay == 0 && (c_data.check_newcommand_flag()== false))
-                {    
-                    ledB =!ledB; 
-                    char p1 = rc_zc.get_portInMax(); // dva ocitavanja porta
-                    wait_us(10);
-                    char p2 = rc_zc.get_portInMax();
-                    p1 |= p2;
-                    c_data.set_pMax( p1 );      // upis vrednosti maksimuma mreze
-                    c_data.set_faultVoltage();           // izracun i upis napona misa
- 
-                    
-                 }
-                else c_data.clear_pMax();
-                
-            } );
 
 
 int b = b2;