Random terror phrases
Dependencies: EFM32_CapSenseSlider EFM32_SegmentLCD mbed
Fork of EMF32-Segment-Touch-Demo by
Diff: main.cpp
- 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;
-
- */
- }
-
}
}
