Subversion Repositories HomeAutomation

Rev

Rev 1286 | Rev 1288 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | SVN | RSS feed

Rev 1286 Rev 1287
Line 51... Line 51...
51
F3: Klar
51
F3: Klar
52
F4: Klar
52
F4: Klar
53
F5: Klar
53
F5: Klar
54
F6: Klar
54
F6: Klar
55
F7: Klar
55
F7: Klar
56
F8: Klar
56
F8: Klar? (kontrollera funktion)
57
F9:
57
F9:
58
 
-
 
59
*/
58
*/
60
 
-
 
61
 
59
 
62
/*
60
/*
63
To fix:
61
To fix:
64
Break out to a driver file
62
Break out to a driver file
65
*/
63
*/
Line 103... Line 101...
103
            if (f1_sign != CAN_MODULE_ENUM_TOUCH_GESTURE_F2_M)
101
            if (f1_sign != CAN_MODULE_ENUM_TOUCH_GESTURE_F2_M)
104
            {
102
            {
105
                functionData.f1++;
103
                functionData.f1++;
106
            }
104
            }
107
            f1_sign = CAN_MODULE_ENUM_TOUCH_GESTURE_F2_M;
105
            f1_sign = CAN_MODULE_ENUM_TOUCH_GESTURE_F2_M;
108
        }
106
        }
109
       
107
       
110
        /* Function 3 indicates the sign value of area gap between g(x) and f(x) */
108
        /* Function 3 indicates the sign value of area gap between g(x) and f(x) */
111
        if (buffer[i].x > min(buffer[startIndex].x, buffer[endIndex].x) && buffer[i].x < max(buffer[startIndex].x, buffer[endIndex].x))
109
        if (buffer[i].x > min(buffer[startIndex].x, buffer[endIndex].x) && buffer[i].x < max(buffer[startIndex].x, buffer[endIndex].x))
112
        {
110
        {
113
            f3_tmp += f3_yref - (buffer[i].y + buffer[i-1].y)/2;
111
            f3_tmp += f3_yref - (buffer[i].y + buffer[i-1].y)/2;
Line 117... Line 115...
117
        if (xMin > buffer[i].x)
115
        if (xMin > buffer[i].x)
118
        {
116
        {
119
            xMin = buffer[i].x;
117
            xMin = buffer[i].x;
120
        }
118
        }
121
        if (xMax < buffer[i].x)
119
        if (xMax < buffer[i].x)
122
        {
120
        {
123
            xMax = buffer[i].x;
121
            xMax = buffer[i].x;
124
        }
122
        }
125
        if (yMin > buffer[i].y)
123
        if (yMin > buffer[i].y)
126
        {
124
        {
127
            yMin = buffer[i].y;
125
            yMin = buffer[i].y;
128
        }
126
        }
129
        if (yMax < buffer[i].y)
127
        if (yMax < buffer[i].y)
130
        {
128
        {
131
            yMax = buffer[i].y;
129
            yMax = buffer[i].y;
132
        }
130
        }
133
       
131
       
134
        /* Function 4 represents the sign value of the sum of the x coordinates of all the points that constitute strokes
132
        /* Function 4 represents the sign value of the sum of the x coordinates of all the points that constitute strokes
135
        minus the x coordinates of the last point */
133
        minus the x coordinates of the last point */
136
        f4_tmp += (int16_t)buffer[i].x - (int16_t)buffer[endIndex].x;
134
        f4_tmp += (int16_t)buffer[i].x - (int16_t)buffer[endIndex].x;
137
       
135
       
138
        /* Function 5 checks the sign value of the sum of the x coordinates of all the points that constitute strokes
136
        /* Function 5 checks the sign value of the sum of the x coordinates of all the points that constitute strokes
139
        minus x coordinates of the first point */
137
        minus x coordinates of the first point */
140
        f5_tmp += (int16_t)buffer[i].x - (int16_t)buffer[startIndex].x;
138
        f5_tmp += (int16_t)buffer[i].x - (int16_t)buffer[startIndex].x;
141
    }
139
    }
142
   
140
   
Line 149... Line 147...
149
        for (uint8_t i = startIndex+1; i < endIndex-1; i++)
147
        for (uint8_t i = startIndex+1; i < endIndex-1; i++)
150
        {
148
        {
151
            if (j > buffer[i].y)
149
            if (j > buffer[i].y)
152
            {
150
            {
153
                if (f7_sign != '+')
151
                if (f7_sign != '+')
154
                {
152
                {
155
                    f7_tmp++;
153
                    f7_tmp++;
156
                }
154
                }
157
                f7_sign = '+';
155
                f7_sign = '+';
158
            }
156
            }
159
            else {
157
            else {
160
                if (f7_sign != '-')
158
                if (f7_sign != '-')
161
                {
159
                {
162
                    f7_tmp++;
160
                    f7_tmp++;
163
                }
161
                }
Line 233... Line 231...
233
        gpio_set_pullup(sns_Touch_XPLUS);   //turn on pullup for x+
231
        gpio_set_pullup(sns_Touch_XPLUS);   //turn on pullup for x+
234
        gpio_set_out(sns_Touch_YPLUS);
232
        gpio_set_out(sns_Touch_YPLUS);
235
        gpio_set_pin(sns_Touch_YPLUS);      //turn on 1 on y+
233
        gpio_set_pin(sns_Touch_YPLUS);      //turn on 1 on y+
236
        gpio_set_out(sns_Touch_YMINUS);
234
        gpio_set_out(sns_Touch_YMINUS);
237
        gpio_clr_pin(sns_Touch_YMINUS);     //turn on 0 on y-
235
        gpio_clr_pin(sns_Touch_YMINUS);     //turn on 0 on y-
-
 
236
        #ifdef sns_Touch_SWITCH_XY
-
 
237
            uint8_t adyval = ADC_Get(sns_Touch_TOUCHXAD)>>2;    //read x-
-
 
238
        #else
238
        uint8_t adxval = ADC_Get(sns_Touch_TOUCHXAD)>>2;    //read x-
239
            uint8_t adxval = ADC_Get(sns_Touch_TOUCHXAD)>>2;    //read x-
-
 
240
        #endif
-
 
241
       
239
        gpio_set_in(sns_Touch_YPLUS);
242
        gpio_set_in(sns_Touch_YPLUS);
240
        gpio_clr_pullup(sns_Touch_YPLUS);   //turn off pullup for y+
243
        gpio_clr_pullup(sns_Touch_YPLUS);   //turn off pullup for y+
241
        gpio_set_in(sns_Touch_YMINUS);
244
        gpio_set_in(sns_Touch_YMINUS);
242
        gpio_clr_pullup(sns_Touch_YMINUS);  //turn off pullup for y-
245
        gpio_clr_pullup(sns_Touch_YMINUS);  //turn off pullup for y-
243
        gpio_set_in(sns_Touch_XPLUS);
246
        gpio_set_in(sns_Touch_XPLUS);
244
        gpio_clr_pullup(sns_Touch_XPLUS);   //turn off pullup for x+
247
        gpio_clr_pullup(sns_Touch_XPLUS);   //turn off pullup for x+
245
       
248
       
246
        gpio_set_in(sns_Touch_YPLUS);
249
        gpio_set_in(sns_Touch_YPLUS);
247
        gpio_set_pullup(sns_Touch_YPLUS);   //turn on pullup for y+
250
        gpio_set_pullup(sns_Touch_YPLUS);   //turn on pullup for y+
248
        gpio_set_out(sns_Touch_XPLUS);
251
        gpio_set_out(sns_Touch_XPLUS);
249
        gpio_set_pin(sns_Touch_XPLUS);      //turn on 1 on x+
252
        gpio_set_pin(sns_Touch_XPLUS);      //turn on 1 on x+
250
        gpio_set_out(sns_Touch_XMINUS);
253
        gpio_set_out(sns_Touch_XMINUS);
251
        gpio_clr_pin(sns_Touch_XMINUS);     //turn on 0 on x-
254
        gpio_clr_pin(sns_Touch_XMINUS);     //turn on 0 on x-
-
 
255
        #ifdef sns_Touch_SWITCH_XY
-
 
256
            uint8_t adxval = ADC_Get(sns_Touch_TOUCHYAD)>>2;    //read y-
-
 
257
        #else
252
        uint8_t adyval = ADC_Get(sns_Touch_TOUCHYAD)>>2;    //read y-
258
            uint8_t adyval = ADC_Get(sns_Touch_TOUCHYAD)>>2;    //read y-
-
 
259
        #endif
253
        gpio_set_in(sns_Touch_XPLUS);
260
        gpio_set_in(sns_Touch_XPLUS);
254
        gpio_clr_pullup(sns_Touch_XPLUS);   //turn off pullup for x+
261
        gpio_clr_pullup(sns_Touch_XPLUS);   //turn off pullup for x+
255
        gpio_set_in(sns_Touch_XMINUS);
262
        gpio_set_in(sns_Touch_XMINUS);
256
        gpio_clr_pullup(sns_Touch_XMINUS);  //turn off pullup for x-
263
        gpio_clr_pullup(sns_Touch_XMINUS);  //turn off pullup for x-
257
        gpio_set_in(sns_Touch_YPLUS);
264
        gpio_set_in(sns_Touch_YPLUS);
258
        gpio_clr_pullup(sns_Touch_YPLUS);   //turn off pullup for y+
265
        gpio_clr_pullup(sns_Touch_YPLUS);   //turn off pullup for y+
-
 
266
       
-
 
267
       
259
       
268
 
260
        if (adyval < 0xf0 && adxval < 0xf0 )
269
        if (adyval < 0xf0 && adxval < 0xf0 )
261
        {
270
        {
-
 
271
#ifdef sns_Touch_INVERT_Y
-
 
272
            adyval = 255-adyval;
-
 
273
        #endif
-
 
274
        #ifdef sns_Touch_INVERT_X
-
 
275
            adxval = 255-adxval;
-
 
276
        #endif
262
            pushStatus = 1;
277
            pushStatus = 1;
263
            uint8_t xdiff=0;
278
            uint8_t xdiff=0;
264
            uint8_t ydiff=0;
279
            uint8_t ydiff=0;
265
            if (rxbufidx > 0)
280
            if (rxbufidx > 0)
266
            {
281
            {