Subversion Repositories Projects

Rev

Blame | Last modification | View Log | RSS feed

#ifndef _PROCESSING_H
 #define _PROCESSING_H

#define INITIATE                                        3
#define GET_CONFIGURATION                       1
#define GET_FLIGHTCONTROL_VALUES        2
#define GET_3D_DATA                                     5      
#define SWITCH_FLIGHTCONTROL            4
#define GET_ANALOG_DATA                         6

extern void processing_init();
extern void analyze_data_package(serial_data_struct* pdata_package);
extern void get_distance();
extern void request_to_kopter(u8 request);
extern void process_flow_data(serial_data_struct* pdata_package_flow_process);
extern void process_gps_data(serial_data_struct* pdata_package_gps_process);

volatile int Distance;

struct str_optical_flow
{
        u64 time_usec;
        float flow_comp_m_x;
        float flow_comp_m_y;
        float ground_distance;
        int16 flow_x;
        int16 flow_y;
        u8 sensor_id;
        u8 quality;
        float gyroz;
};
struct str_optical_flow optical_flow_values;

struct str_optical_flow_rad
{
        u64 time_usec;
        u32 integration_time_us;
        float integrated_x;
        float integrated_y;
        float integrated_xgyro;
        float integrated_ygyro;
        float integrated_zgyro;
        u32 time_delta_distance_us;
        float distance;
        int16 temperature;
        u8 sensor_id;
        u8 quality;
};
struct str_optical_flow_rad optical_flow_rad;

struct str_gps
{
        float latitude;
        u8 lat_orientation;
        float longitude;
        u8 long_orientation;
        float utc;
        float utc_date;
        u8 valid;
};
struct str_gps gps_value_struct;

#endif //_PROCESSING_H