Subversion Repositories Projects

Rev

Rev 396 | Rev 440 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed

#ifndef HANDLER_H
#define HANDLER_H
#include <string>
#include "Parser.h"
#include "Communication.h"
#include "Kopter.h"
#include "../Parameter_Positions.h"
#include "../typedefs.h"

/**
 * The Handler handels commands that are send from/to the Mikrokopter
 * and parses them using the Parser-class.
 */


class Handler {
    private:
        Communication * com;

        // current LCD page
        int lcd_cur;
        //max count of LCD pages
        int lcd_max;
        //buffer to send data
        //char tx_data[150];
    public:
        Handler(Communication * com);
        //FlightCtrl commands
        void get_flightctrl_settings(int index);
        void set_flightctrl_settings(char * tx_data);
        void motor_test(sMotor motor);
        void read_mixer();
        void write_mixer(char * tx_data, int length);
        void get_motor_config();

        //NaviCtrl commands
        void set_navictrl_debug(int speed);
        void stop_navictrl_debug();
        void send_waypoint(Waypoint_t desired_pos);
        void add_waypoint(Waypoint_t wp);
        void delete_waypoints();

        //switch between MK modules/components
        void switch_navictrl();
        void switch_flightctrl();
        void switch_mk3mag();

        //commands for MK3MAG

        //commands for all modules/components
        void set_all_debug(int speed);
        void stop_all_debug();
        void get_analog();
        void show_lcd();
        void lcd_up();
        void lcd_down();
        void get_version();
        void get_ppm_channels();

        void receive_data(sRxData rx);
       
};

#endif