Random terror phrases
Dependencies: EFM32_CapSenseSlider EFM32_SegmentLCD mbed
Fork of EMF32-Segment-Touch-Demo by
Functions.h
- Committer:
- MaxScorda
- Date:
- 2015-09-29
- Revision:
- 2:9c22b1264236
File content as of revision 2:9c22b1264236:
#include <string> char* string2char(string sttde) { //ora aggiunge comunque l'EOS. Decidere se parametrizzare //sttde=addEOS(sttde); char *cstr = new char[sttde.length() + 1]; strcpy(cstr, sttde.c_str()); // delete [] cstr; return cstr; } //****************** FUNZIONI STANDARD NON MODIFICATE /** * Callback for pushbutton interrupt */ void symbolGest() { if (count==7) { segmentDisplay.Symbol(LCD_SYMBOL_GECKO, true); segmentDisplay.Write("GeckoOn"); pc.printf("Gecko! \n\r"); } else { segmentDisplay.Symbol(LCD_SYMBOL_GECKO, false); if (count%2==0) segmentDisplay.Write("Scorda"); else segmentDisplay.Write("TataGek"); } } void ledToggler(void) { myled1 = !myled1; } void ledTogglerGen(void) { myled0 = !myled0; segmentDisplay.Symbol(LCD_SYMBOL_GECKO, false); myled1=1; ledTicker1.detach(); } void timeDisp() { seconds++; uint32_t clockValue = ((seconds / 60) % 60) * 100 + (seconds % 60); segmentDisplay.Number(clockValue); segmentDisplay.Symbol(LCD_SYMBOL_COL10, seconds & 0x1); } /** * Callback for display */ void tickerCallback(void) { float rtime; int choicev; string mess; //choice choicev=rand()%15; switch (choicev) { case 0: mess="Vai Via"; break; case 1: mess="Via!!"; break; case 2: mess="Vattene"; break; case 3: mess="Aiuto!"; break; case 4: mess="Basta!"; break; case 5: mess="Paura!"; break; case 6: mess="No!"; break; case 7: mess="No!No!!"; break; case 8: mess="Noooooo"; break; case 9: mess="Lontano"; break; case 10: mess="Aaargh"; break; case 11: mess="Aaahhh"; break; case 12: mess="Orrore!"; break; case 13: mess="Vattene"; break; case 14: mess="Oddioo"; break; } //display segmentDisplay.Write(string2char(mess)); //ricalcolo ticker rtime=((rand()%4000)+1000)/1000; refreshTicker.detach(); refreshTicker.attach(&tickerCallback, rtime); myled0 = 1; segmentDisplay.Symbol(LCD_SYMBOL_GECKO, true); ledTicker0.detach(); ledTicker0.attach(&ledTogglerGen, rtime/2); ledTicker1.attach(&ledToggler, 0.1f); } /** * Callback for touching/untouching the cap slider */ void touchCallback(void) { segmentDisplay.Symbol(LCD_SYMBOL_EFM32, capSlider.isTouched()); if(!capSlider.isTouched()) { segmentDisplay.Write("Bestia!"); printf("Touch in use \n\r"); } } /** * Callback for sliding the cap slider */ void slideCallback(void) { segmentDisplay.LowerNumber(capSlider.get_position()); } //************************ FUNZIONI MODIFICATE void in0_handler() { segmentDisplay.Write("No 0!"); /* pc.printf("Button 0 \n\r"); count++; if (count>7) count=7; else segmentDisplay.ARing(count, true); symbolGest() ; */ } void in1_handler() { segmentDisplay.Write("No 1!"); /* printf("Button 1 \n\r"); segmentDisplay.ARing(count, false); count--; if (count<0) count=-1; symbolGest() ; */ }