Random terror phrases

Dependencies:   EFM32_CapSenseSlider EFM32_SegmentLCD mbed

Fork of EMF32-Segment-Touch-Demo by Max Scordamaglia

Revision:
2:9c22b1264236
Parent:
1:611525c0aa76
--- a/main.cpp	Fri Jun 26 11:36:58 2015 +0000
+++ b/main.cpp	Tue Sep 29 14:04:48 2015 +0000
@@ -1,3 +1,13 @@
+/** **************************************
+In un tempo variabile tra 1 e 5 secondi, refreshticker cambia scritta e nel contempo cambia:
+- temporizzazione di led0: meta' tempo acceso l'altra meta' spento
+- temporizzazione di led1: meta' tempo lampeggia, l'altra meta' (controllata dal'evento led0) resta acceso
+- accende io jecko che viene spento da led0
+I tasti rispondono, il sensore pure
+
+
+*/
+
 #include "EFM32_SegmentLCD.h"
 #include "EFM32_CapSenseSlider.h"
 
@@ -11,14 +21,17 @@
 DigitalOut myled1(LED1);
 DigitalOut myled0(LED0);
 
+Serial pc(USBTX, USBRX); //Apertura della seriale 2
+
 /******************** Define Timers *****************************/
 // devo separare i timers. Non so il perche'
 LowPowerTicker refreshTicker;
 LowPowerTicker ledTicker0;
 LowPowerTicker ledTicker1;
+LowPowerTicker timeTicker;
 
 /***************** Define global variables **********************/
-#define INIT_SECONDS		17600
+#define INIT_SECONDS		0
 #define TEST_DURATION		10
 
 volatile uint32_t seconds = INIT_SECONDS;
@@ -32,82 +45,10 @@
 void touchCallback(void);
 void slideCallback(void);
 
-/**
- * Callback for pushbutton interrupt
- */
-
-void symbolGest()
-{
-    if (count==7) {
-        segmentDisplay.Symbol(LCD_SYMBOL_GECKO, true);
-        segmentDisplay.Write("GeckoOn");
-    } else {
-        segmentDisplay.Symbol(LCD_SYMBOL_GECKO, false);
-        if (count%2==0) segmentDisplay.Write("Scorda");
-        else  segmentDisplay.Write("TataGek");
-    }
-
-}
-
-void in0_handler()
-{
-    count++;
-    if (count>7) count=7;
-    else segmentDisplay.ARing(count, true);
-    symbolGest() ;
-
-}
-
-void in1_handler()
-{
-    segmentDisplay.ARing(count, false);
-    count--;
-    if (count<0) count=-1;
-    symbolGest() ;
-
-}
-
+//------------ Funzioni -------------
 
-/**
- * Callback for 1 second timebase
- */
-void tickerCallback(void)
-{
-    seconds++;
-    uint32_t clockValue = ((seconds / 60) % 60) * 100 + (seconds % 60);
-    segmentDisplay.Number(clockValue);
-    segmentDisplay.Symbol(LCD_SYMBOL_COL10, seconds & 0x1);
-}
-
-/**
- * Callback for touching/untouching the cap slider
- */
-void touchCallback(void)
-{
-    segmentDisplay.Symbol(LCD_SYMBOL_EFM32, capSlider.isTouched());
+#include "Functions.h"
 
-    if(!capSlider.isTouched()) {
-        segmentDisplay.Write("Scorda");
-    }
-}
-
-/**
- * Callback for sliding the cap slider
- */
-void slideCallback(void)
-{
-    segmentDisplay.LowerNumber(capSlider.get_position());
-}
-
-void ledToggler(void)
-{
-    myled1 = !myled1;
-}
-
-void ledTogglerGen(void)
-{
-    myled0 = !myled0;
-}
 
 /*************************** MAIN *******************************/
 int main()
@@ -127,29 +68,19 @@
 
     // Start generating the 1Hz timebase
     refreshTicker.attach(&tickerCallback, 1.0f);
-    ledTicker1.attach(&ledToggler, 0.4f);
+    timeTicker.attach(&timeDisp, 1.0f);
     ledTicker0.attach(&ledTogglerGen, 0.5f);
+        ledTicker1.attach(&ledToggler, 0.1f);
 
-    printf("Initialization done! \n");
+    printf("Initialization done! \n\r");
     wait(0.01f); //Need to delay slightly to give the serial transmission a chance to flush out its buffer
-    segmentDisplay.Write("Scorda");
 
+    //inizializza random
+    srand (time(NULL));
 
     // Go into sleeping mode
     while(1) {
         sleep();
-
-        if(count >= 8) {
-            /*
-            	    // Go to 'completely dead' mode to show power consumption
-            	    refreshTicker.detach();
-            	    capSlider.stop();
-            	    in.disable_irq();
-            	    delete &segmentDisplay;
-
-            	    */
-        }
-
     }
 }