a simple code for elevator

Dependencies:   PinDetect mbed Servo

Committer:
kemken
Date:
Mon Jun 04 13:51:43 2012 +0000
Revision:
0:85829f7bbe62

        

Who changed what in which revision?

UserRevisionLine numberNew contents of line
kemken 0:85829f7bbe62 1 /*
kemken 0:85829f7bbe62 2 * PROGRAM RESPONSIBLE FOR BEEPING.
kemken 0:85829f7bbe62 3 * ^^^^^^^ ^^^^^^^^^^^ ^^^ ^^^^^^^
kemken 0:85829f7bbe62 4 *
kemken 0:85829f7bbe62 5 * FILE NAME: beeper.cpp
kemken 0:85829f7bbe62 6 * USAGE: a simple beep program.
kemken 0:85829f7bbe62 7 */
kemken 0:85829f7bbe62 8
kemken 0:85829f7bbe62 9
kemken 0:85829f7bbe62 10
kemken 0:85829f7bbe62 11 /*
kemken 0:85829f7bbe62 12 * including the wanted library files.
kemken 0:85829f7bbe62 13 */
kemken 0:85829f7bbe62 14 #include "mbed.h"
kemken 0:85829f7bbe62 15 #include "beeper.h"
kemken 0:85829f7bbe62 16 #include "main.h"
kemken 0:85829f7bbe62 17
kemken 0:85829f7bbe62 18 AnalogOut beeper(p18); /*set the voltage of an analog output pin*/
kemken 0:85829f7bbe62 19 Ticker bing_timer; /* using ticker class which repeatedly call a function*/
kemken 0:85829f7bbe62 20
kemken 0:85829f7bbe62 21 /*--------------------------*\
kemken 0:85829f7bbe62 22 * defineding the variables*
kemken 0:85829f7bbe62 23 \*--------------------------*/
kemken 0:85829f7bbe62 24 const signed short *ptr;
kemken 0:85829f7bbe62 25 signed short a;
kemken 0:85829f7bbe62 26 int b;
kemken 0:85829f7bbe62 27 unsigned short c;
kemken 0:85829f7bbe62 28 int order;
kemken 0:85829f7bbe62 29
kemken 0:85829f7bbe62 30 void bing(void) { // a function that defined the number of elements
kemken 0:85829f7bbe62 31 order=23118;
kemken 0:85829f7bbe62 32 ptr=ding;
kemken 0:85829f7bbe62 33 }
kemken 0:85829f7bbe62 34
kemken 0:85829f7bbe62 35 void beep (void) { // a function responsible of creating sound
kemken 0:85829f7bbe62 36
kemken 0:85829f7bbe62 37 if (order) {
kemken 0:85829f7bbe62 38 /********************************************************
kemken 0:85829f7bbe62 39 * this part is converting sined values to unsigned *
kemken 0:85829f7bbe62 40 * so as to make the sound clear *
kemken 0:85829f7bbe62 41 ********************************************************/
kemken 0:85829f7bbe62 42 a=*ptr;
kemken 0:85829f7bbe62 43 ptr++;
kemken 0:85829f7bbe62 44 b=a;
kemken 0:85829f7bbe62 45 c= (unsigned short)b;
kemken 0:85829f7bbe62 46 beeper=c;
kemken 0:85829f7bbe62 47 if (--order==0) // when the beeping is finish a new event will be called (timeout)
kemken 0:85829f7bbe62 48 new_event(timeout);
kemken 0:85829f7bbe62 49 }
kemken 0:85829f7bbe62 50 }
kemken 0:85829f7bbe62 51
kemken 0:85829f7bbe62 52 void bing_start (void) { // a ticker function for the beeper.
kemken 0:85829f7bbe62 53 beeper=0;
kemken 0:85829f7bbe62 54 order=0;
kemken 0:85829f7bbe62 55 bing_timer.attach_us(&beep,23); // repeatedly call "beep" function.
kemken 0:85829f7bbe62 56 }