Random terror phrases

Dependencies:   EFM32_CapSenseSlider EFM32_SegmentLCD mbed

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

Committer:
MaxScorda
Date:
Tue Sep 29 14:04:48 2015 +0000
Revision:
2:9c22b1264236
Parent:
1:611525c0aa76
1.0

Who changed what in which revision?

UserRevisionLine numberNew contents of line
MaxScorda 2:9c22b1264236 1 /** **************************************
MaxScorda 2:9c22b1264236 2 In un tempo variabile tra 1 e 5 secondi, refreshticker cambia scritta e nel contempo cambia:
MaxScorda 2:9c22b1264236 3 - temporizzazione di led0: meta' tempo acceso l'altra meta' spento
MaxScorda 2:9c22b1264236 4 - temporizzazione di led1: meta' tempo lampeggia, l'altra meta' (controllata dal'evento led0) resta acceso
MaxScorda 2:9c22b1264236 5 - accende io jecko che viene spento da led0
MaxScorda 2:9c22b1264236 6 I tasti rispondono, il sensore pure
MaxScorda 2:9c22b1264236 7
MaxScorda 2:9c22b1264236 8
MaxScorda 2:9c22b1264236 9 */
MaxScorda 2:9c22b1264236 10
MaxScorda 0:cb2d0eb1f49e 11 #include "EFM32_SegmentLCD.h"
MaxScorda 0:cb2d0eb1f49e 12 #include "EFM32_CapSenseSlider.h"
MaxScorda 0:cb2d0eb1f49e 13
MaxScorda 0:cb2d0eb1f49e 14 /******************** Define I/O *****************************/
MaxScorda 0:cb2d0eb1f49e 15 InterruptIn in0(PB9);
MaxScorda 0:cb2d0eb1f49e 16 InterruptIn in1(PB10);
MaxScorda 0:cb2d0eb1f49e 17
MaxScorda 0:cb2d0eb1f49e 18 silabs::EFM32_SegmentLCD segmentDisplay;
MaxScorda 0:cb2d0eb1f49e 19 silabs::EFM32_CapSenseSlider capSlider;
MaxScorda 0:cb2d0eb1f49e 20
MaxScorda 1:611525c0aa76 21 DigitalOut myled1(LED1);
MaxScorda 1:611525c0aa76 22 DigitalOut myled0(LED0);
MaxScorda 1:611525c0aa76 23
MaxScorda 2:9c22b1264236 24 Serial pc(USBTX, USBRX); //Apertura della seriale 2
MaxScorda 2:9c22b1264236 25
MaxScorda 0:cb2d0eb1f49e 26 /******************** Define Timers *****************************/
MaxScorda 1:611525c0aa76 27 // devo separare i timers. Non so il perche'
MaxScorda 0:cb2d0eb1f49e 28 LowPowerTicker refreshTicker;
MaxScorda 1:611525c0aa76 29 LowPowerTicker ledTicker0;
MaxScorda 1:611525c0aa76 30 LowPowerTicker ledTicker1;
MaxScorda 2:9c22b1264236 31 LowPowerTicker timeTicker;
MaxScorda 0:cb2d0eb1f49e 32
MaxScorda 0:cb2d0eb1f49e 33 /***************** Define global variables **********************/
MaxScorda 2:9c22b1264236 34 #define INIT_SECONDS 0
MaxScorda 0:cb2d0eb1f49e 35 #define TEST_DURATION 10
MaxScorda 0:cb2d0eb1f49e 36
MaxScorda 0:cb2d0eb1f49e 37 volatile uint32_t seconds = INIT_SECONDS;
MaxScorda 0:cb2d0eb1f49e 38 int count = -1;
MaxScorda 0:cb2d0eb1f49e 39
MaxScorda 0:cb2d0eb1f49e 40
MaxScorda 0:cb2d0eb1f49e 41 /***************** Define callback handlers *********************/
MaxScorda 0:cb2d0eb1f49e 42 void tickerCallback(void);
MaxScorda 0:cb2d0eb1f49e 43 void in0_handler();
MaxScorda 0:cb2d0eb1f49e 44 void in1_handler();
MaxScorda 0:cb2d0eb1f49e 45 void touchCallback(void);
MaxScorda 0:cb2d0eb1f49e 46 void slideCallback(void);
MaxScorda 0:cb2d0eb1f49e 47
MaxScorda 2:9c22b1264236 48 //------------ Funzioni -------------
MaxScorda 0:cb2d0eb1f49e 49
MaxScorda 2:9c22b1264236 50 #include "Functions.h"
MaxScorda 0:cb2d0eb1f49e 51
MaxScorda 1:611525c0aa76 52
MaxScorda 0:cb2d0eb1f49e 53 /*************************** MAIN *******************************/
MaxScorda 0:cb2d0eb1f49e 54 int main()
MaxScorda 0:cb2d0eb1f49e 55 {
MaxScorda 0:cb2d0eb1f49e 56 // Initialize pushbutton handler
MaxScorda 0:cb2d0eb1f49e 57 in0.rise(NULL);
MaxScorda 0:cb2d0eb1f49e 58 in0.fall(in0_handler);
MaxScorda 0:cb2d0eb1f49e 59
MaxScorda 0:cb2d0eb1f49e 60 in1.rise(NULL);
MaxScorda 0:cb2d0eb1f49e 61 in1.fall(in1_handler);
MaxScorda 0:cb2d0eb1f49e 62
MaxScorda 0:cb2d0eb1f49e 63 // Enable the capacitive slider
MaxScorda 0:cb2d0eb1f49e 64 capSlider.start();
MaxScorda 0:cb2d0eb1f49e 65 capSlider.attach_touch(touchCallback);
MaxScorda 0:cb2d0eb1f49e 66 capSlider.attach_untouch(touchCallback);
MaxScorda 0:cb2d0eb1f49e 67 capSlider.attach_slide(-1, slideCallback);
MaxScorda 0:cb2d0eb1f49e 68
MaxScorda 0:cb2d0eb1f49e 69 // Start generating the 1Hz timebase
MaxScorda 0:cb2d0eb1f49e 70 refreshTicker.attach(&tickerCallback, 1.0f);
MaxScorda 2:9c22b1264236 71 timeTicker.attach(&timeDisp, 1.0f);
MaxScorda 1:611525c0aa76 72 ledTicker0.attach(&ledTogglerGen, 0.5f);
MaxScorda 2:9c22b1264236 73 ledTicker1.attach(&ledToggler, 0.1f);
MaxScorda 0:cb2d0eb1f49e 74
MaxScorda 2:9c22b1264236 75 printf("Initialization done! \n\r");
MaxScorda 0:cb2d0eb1f49e 76 wait(0.01f); //Need to delay slightly to give the serial transmission a chance to flush out its buffer
MaxScorda 0:cb2d0eb1f49e 77
MaxScorda 2:9c22b1264236 78 //inizializza random
MaxScorda 2:9c22b1264236 79 srand (time(NULL));
MaxScorda 0:cb2d0eb1f49e 80
MaxScorda 0:cb2d0eb1f49e 81 // Go into sleeping mode
MaxScorda 0:cb2d0eb1f49e 82 while(1) {
MaxScorda 0:cb2d0eb1f49e 83 sleep();
MaxScorda 0:cb2d0eb1f49e 84 }
MaxScorda 0:cb2d0eb1f49e 85 }
MaxScorda 0:cb2d0eb1f49e 86