faker 1968
/
Effector_110613
R_Sw_Check.cpp@0:adfbd02222d4, 2011-06-13 (annotated)
- Committer:
- faker
- Date:
- Mon Jun 13 15:20:17 2011 +0000
- Revision:
- 0:adfbd02222d4
Who changed what in which revision?
User | Revision | Line number | New 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 |