Subversion Repositories FlightCtrl

Rev

Rev 258 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 258 Rev 266
Line 40... Line 40...
40
       
40
       
Line 41... Line 41...
41
        // Quadranten ermitteln
41
        // Quadranten ermitteln
42
 
42
 
43
        // Wert durch lineare Interpolation ermitteln 
43
        // Wert durch lineare Interpolation ermitteln 
Line 44... Line 44...
44
        if ((y == 0) && (x == 0))  wert =1; // Division durch 0 nicht erlaubt
44
        if ((y == 0) && (x == 0))  wert =1; // Division durch 0 nicht erlaubt
45
        else wert= abs(((long) x*1000)/((long)y));
45
        else wert= abs(((long)x*1000)/((long)y));
46
 
46
 
47
        if (wert <=268) //0...0.0,268  entsprechend 0..15 Grad
47
        if (wert <=268) //0...0.0,268  entsprechend 0..15 Grad
Line 106... Line 106...
106
 winkel = pgm_read_word(&pgm_sinus[winkel]);
106
 winkel = pgm_read_word(&pgm_sinus[winkel]);
107
 return (winkel*m*n);
107
 return (winkel*m*n);
108
}
108
}
Line 109... Line 109...
109
 
109
 
110
// Aus x,y und Winkel Distanz ermitteln
110
// Aus x,y und Winkel Distanz ermitteln
111
int get_dist(signed int x, signed int y, signed int phi)
111
long get_dist(signed int x, signed int y, signed int phi)
112
{
112
{
113
        long dist;
113
        long dist;
114
        if (abs(x) > abs(y) )
114
        if (abs(x) > abs(y) )
115
        {
115
        {
Line 119... Line 119...
119
        else
119
        else
120
        {
120
        {
121
                dist = (long) y;
121
                dist = (long) y;
122
                dist = abs((dist *1000) / (long) cos_i(phi));
122
                dist = abs((dist *1000) / (long) cos_i(phi));
123
        }
123
        }
124
  return (int)dist;
124
  return dist;
125
}
125
}