Za liniju

Dependents:   Lilnija_29012017

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers joystick.cpp Source File

joystick.cpp

00001 /** Projektiranje ugradbenih računalnih sustava
00002 * Default metoda za joystick X i Y os
00003 * @author: mario_meh
00004 * @code
00005 * #include "mbed.h"
00006 * #include "joystick.h"
00007 *
00008 * JoysKompas *data = new JoysKompas;
00009 * Joystick *joys = new Joystick(data);
00010 * joys->YEnable();
00011 *    
00012 * while(1) {
00013 *    switch(data->vertikala) {
00014 *         case 0:
00015 *             serial.printf("Gore: %i\r\n", data->vertikala);
00016 *             t_y0 = 0;
00017 *             break;
00018 *         case 1:
00019 *             serial.printf("Dolje: %i\r\n", data->vertikala);
00020 *             t_y1 = 0;
00021 *             break;
00022 *     }
00023 *    
00024 *}
00025 *
00026 * @endcode
00027 */
00028 #include "mbed.h"
00029 #include "joystick.h"
00030 
00031 bool yRadi = false;
00032 volatile int y_i = 0;
00033 
00034 int y_flag = false;
00035 int x_flag = false;
00036 
00037 Joystick::Joystick(JoysKompas *Data) : _x(PTB0), _y(PTB1), y_enable(Data)
00038                      //  PTB0  |   PTB1  
00039 {      
00040 }
00041 
00042 void Joystick::YEnable() {
00043     y_ticker.attach(this, &Joystick::YStatus, 1);
00044 }
00045 
00046 void Joystick::YDisable() {
00047     y_ticker.detach();
00048 }
00049 
00050 void Joystick::YStatus() {
00051     if(_x.read() < 0.022222222) {
00052         y_enable->horizontala = Lijevo; 
00053     } else if(_x.read() > 0.9888888) {
00054         y_enable->horizontala = Desno;
00055     } else if(_y.read() < 0.022222222) {
00056         y_enable->vertikala = Dolje;
00057     } else if(_y.read() > 0.9888888) {
00058         y_enable->vertikala = Gore;
00059     }
00060 }