Dependencies:   mbed

Committer:
faker
Date:
Mon Jun 13 15:20:17 2011 +0000
Revision:
0:adfbd02222d4

        

Who changed what in which revision?

UserRevisionLine numberNew contents of line
faker 0:adfbd02222d4 1 /*****************************************************/
faker 0:adfbd02222d4 2 /* Rotary Switch Check.cpp */
faker 0:adfbd02222d4 3 /* */
faker 0:adfbd02222d4 4 /* */
faker 0:adfbd02222d4 5 /*****************************************************/
faker 0:adfbd02222d4 6
faker 0:adfbd02222d4 7 #define SW_CHECK_MAIN
faker 0:adfbd02222d4 8 #include "R_Sw_Check.h"
faker 0:adfbd02222d4 9
faker 0:adfbd02222d4 10 unsigned char ucRotarySwPol(char swA_0, char swB_0,
faker 0:adfbd02222d4 11 char swA_1, char swB_1,
faker 0:adfbd02222d4 12 char swA_2, char swB_2,
faker 0:adfbd02222d4 13 char swA_3, char swB_3,
faker 0:adfbd02222d4 14 int *pol){
faker 0:adfbd02222d4 15
faker 0:adfbd02222d4 16 unsigned char ucRet = 0xFF;
faker 0:adfbd02222d4 17
faker 0:adfbd02222d4 18 // Rotary SW0
faker 0:adfbd02222d4 19 *pol = 0;
faker 0:adfbd02222d4 20 if((swA_0 == 0) && (g_sw0_0 == 1) && (swB_0 == 1)){
faker 0:adfbd02222d4 21 *pol = -1;
faker 0:adfbd02222d4 22 ucRet = 0;
faker 0:adfbd02222d4 23 }
faker 0:adfbd02222d4 24 if((swA_0 == 1) && (g_sw0_0 == 0) && (swB_0 == 1)){
faker 0:adfbd02222d4 25 *pol = 1;
faker 0:adfbd02222d4 26 ucRet = 0;
faker 0:adfbd02222d4 27 }
faker 0:adfbd02222d4 28 g_sw0_0 = swA_0;
faker 0:adfbd02222d4 29
faker 0:adfbd02222d4 30 // Rotary SW1
faker 0:adfbd02222d4 31 *(pol+1) = 0;
faker 0:adfbd02222d4 32 if((swA_1 == 0) && (g_sw1_0 == 1) && (swB_1 == 1)){
faker 0:adfbd02222d4 33 *(pol+1) = -1;
faker 0:adfbd02222d4 34 ucRet = 1;
faker 0:adfbd02222d4 35 }
faker 0:adfbd02222d4 36 if((swA_1 == 1) && (g_sw1_0 == 0) && (swB_1 == 1)){
faker 0:adfbd02222d4 37 *(pol+1) = 1;
faker 0:adfbd02222d4 38 ucRet = 1;
faker 0:adfbd02222d4 39 }
faker 0:adfbd02222d4 40 g_sw1_0 = swA_1;
faker 0:adfbd02222d4 41
faker 0:adfbd02222d4 42 // Rotary SW2
faker 0:adfbd02222d4 43 *(pol+2) = 0;
faker 0:adfbd02222d4 44 if((swA_2 == 0) && (g_sw2_0 == 1) && (swB_2 == 1)){
faker 0:adfbd02222d4 45 *(pol+2) = -1;
faker 0:adfbd02222d4 46 ucRet = 2;
faker 0:adfbd02222d4 47 }
faker 0:adfbd02222d4 48 if((swA_2 == 1) && (g_sw2_0 == 0) && (swB_2 == 1)){
faker 0:adfbd02222d4 49 *(pol+2) = 1;
faker 0:adfbd02222d4 50 ucRet = 2;
faker 0:adfbd02222d4 51 }
faker 0:adfbd02222d4 52 g_sw2_0 = swA_2;
faker 0:adfbd02222d4 53
faker 0:adfbd02222d4 54 // Rotary SW3
faker 0:adfbd02222d4 55 *(pol+3) = 0;
faker 0:adfbd02222d4 56 if((swA_3 == 0) && (g_sw3_0 == 1) && (swB_3 == 1)){
faker 0:adfbd02222d4 57 *(pol+3) = -1;
faker 0:adfbd02222d4 58 ucRet = 3;
faker 0:adfbd02222d4 59 }
faker 0:adfbd02222d4 60 if((swA_3 == 1) && (g_sw3_0 == 0) && (swB_3 == 1)){
faker 0:adfbd02222d4 61 *(pol+3) = 1;
faker 0:adfbd02222d4 62 ucRet = 3;
faker 0:adfbd02222d4 63 }
faker 0:adfbd02222d4 64 g_sw3_0 = swA_3;
faker 0:adfbd02222d4 65
faker 0:adfbd02222d4 66 return ucRet;
faker 0:adfbd02222d4 67 }
faker 0:adfbd02222d4 68
faker 0:adfbd02222d4 69 #undef SW_CHECK_MAIN