a simple code for elevator
Dependencies: PinDetect mbed Servo
LED.cpp
- Committer:
- kemken
- Date:
- 2012-06-04
- Revision:
- 0:85829f7bbe62
File content as of revision 0:85829f7bbe62:
/* * PROGRAM RESPONSIBLE FOR open/close door. * ^^^^^^^ ^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^ * * FILE NAME: LED.cpp * USAGE: program that control 16 LED's that indicate the position of the doors. */ /* * including the wanted library files. */ #include "mbed.h" #include "LED.h" #include "main.h" /*--------------------------*\ * defineding the variables* \*--------------------------*/ int floor_level; int LED_order; DigitalOut latch(p8); // control a digital output pin.. SPI spi(p5, p6, p7); // SPI bus master; mosi, miso, sclk. Ticker door_timer; /* using ticker class which repeatedly call a function*/ void open_close_doors ( int f) { // a function that defined the number of elements and selecting a floor floor_level=f; // for selecting the wanted floor (0, 1) LED_order=28; // max. number of the elements } void doors (void) { // a function responsible of turning the LEDs on/off if (LED_order) { spi.write(door_light[floor_level][--LED_order]); //Write to the SPI Slave; Send the command. latch=1;// Deselect the device latch=0;// Select the device by seting chip select low if (LED_order==0) // when the LED order reach 0, a new event will be called (timeout) new_event(timeout); } } void doors_start (void) {// a ticker function for the LED doors. spi.format(16,0); latch =0;// Select the device by seting chip select low spi.write(0xFFFF); //Write to the SPI Slave; Send (0xFFFF)the command. latch=1;// Deselect the device latch=0; LED_order=0; door_timer.attach(&doors,0.2);// repeatedly call "doors" function. }