typedef struct FSM_State_s { unsigned PC5 : 1; unsigned PC4 : 1; unsigned PC3 : 1; unsigned PC2 : 1; unsigned PD4 : 1; unsigned PD5 : 1; unsigned PD6 : 1; unsigned PD7 : 1; } FSM_State_t; typedef unsigned int PTRType; typedef struct stateEntry_s { PTRType next; FSM_State_t state; } stateEntry_t; //----------| PC5 |---------- #define on 0 #define off 1 //----------| PC4 |---------- #define on 0 #define off 1 //----------| PC3 |---------- #define on 0 #define off 1 //----------| PC2 |---------- #define on 0 #define off 1 //----------| PD4 |---------- #define on 0 #define off 1 //----------| PD5 |---------- #define on 0 #define off 1 //----------| PD6 |---------- #define on 0 #define off 1 //----------| PD7 |---------- #define on 0 #define off 1 //------------ // PD7 , PD6 , PD5 , PD4 , PC2 , PC3 , PC4 , PC5 , stateEntry_t stateTable[] = { { 0, { on , on , on , on , on , on , on , on , }}, /* index: 0 */ { 1, { on , on , on , on , on , on , on , off , }}, /* index: 1 */ { 2, { on , on , on , on , on , on , off , on , }}, /* index: 2 */ { 3, { on , on , on , on , on , on , off , off , }}, /* index: 3 */ { 4, { on , on , on , on , on , off , on , on , }}, /* index: 4 */ { 5, { on , on , on , on , on , off , on , off , }}, /* index: 5 */ { 6, { on , on , on , on , on , off , off , on , }}, /* index: 6 */ { 7, { on , on , on , on , on , off , off , off , }}, /* index: 7 */ { 8, { on , on , on , on , off , on , on , on , }}, /* index: 8 */ { 9, { on , on , on , on , off , on , on , off , }}, /* index: 9 */ { 10, { on , on , on , on , off , on , off , on , }}, /* index: 10 */ { 11, { on , on , on , on , off , on , off , off , }}, /* index: 11 */ { 12, { on , on , on , on , off , off , on , on , }}, /* index: 12 */ { 13, { on , on , on , on , off , off , on , off , }}, /* index: 13 */ { 14, { on , on , on , on , off , off , off , on , }}, /* index: 14 */ { 15, { on , on , on , on , off , off , off , off , }}, /* index: 15 */ { 16, { on , on , on , off , on , on , on , on , }}, /* index: 16 */ { 17, { on , on , on , off , on , on , on , off , }}, /* index: 17 */ { 18, { on , on , on , off , on , on , off , on , }}, /* index: 18 */ { 19, { on , on , on , off , on , on , off , off , }}, /* index: 19 */ { 20, { on , on , on , off , on , off , on , on , }}, /* index: 20 */ { 21, { on , on , on , off , on , off , on , off , }}, /* index: 21 */ { 22, { on , on , on , off , on , off , off , on , }}, /* index: 22 */ { 23, { on , on , on , off , on , off , off , off , }}, /* index: 23 */ { 24, { on , on , on , off , off , on , on , on , }}, /* index: 24 */ { 25, { on , on , on , off , off , on , on , off , }}, /* index: 25 */ { 26, { on , on , on , off , off , on , off , on , }}, /* index: 26 */ { 27, { on , on , on , off , off , on , off , off , }}, /* index: 27 */ { 28, { on , on , on , off , off , off , on , on , }}, /* index: 28 */ { 29, { on , on , on , off , off , off , on , off , }}, /* index: 29 */ { 30, { on , on , on , off , off , off , off , on , }}, /* index: 30 */ { 31, { on , on , on , off , off , off , off , off , }}, /* index: 31 */ { 32, { on , on , off , on , on , on , on , on , }}, /* index: 32 */ { 33, { on , on , off , on , on , on , on , off , }}, /* index: 33 */ { 34, { on , on , off , on , on , on , off , on , }}, /* index: 34 */ { 35, { on , on , off , on , on , on , off , off , }}, /* index: 35 */ { 36, { on , on , off , on , on , off , on , on , }}, /* index: 36 */ { 37, { on , on , off , on , on , off , on , off , }}, /* index: 37 */ { 38, { on , on , off , on , on , off , off , on , }}, /* index: 38 */ { 39, { on , on , off , on , on , off , off , off , }}, /* index: 39 */ { 40, { on , on , off , on , off , on , on , on , }}, /* index: 40 */ { 41, { on , on , off , on , off , on , on , off , }}, /* index: 41 */ { 42, { on , on , off , on , off , on , off , on , }}, /* index: 42 */ { 43, { on , on , off , on , off , on , off , off , }}, /* index: 43 */ { 44, { on , on , off , on , off , off , on , on , }}, /* index: 44 */ { 45, { on , on , off , on , off , off , on , off , }}, /* index: 45 */ { 46, { on , on , off , on , off , off , off , on , }}, /* index: 46 */ { 47, { on , on , off , on , off , off , off , off , }}, /* index: 47 */ { 48, { on , on , off , off , on , on , on , on , }}, /* index: 48 */ { 49, { on , on , off , off , on , on , on , off , }}, /* index: 49 */ { 50, { on , on , off , off , on , on , off , on , }}, /* index: 50 */ { 51, { on , on , off , off , on , on , off , off , }}, /* index: 51 */ { 52, { on , on , off , off , on , off , on , on , }}, /* index: 52 */ { 53, { on , on , off , off , on , off , on , off , }}, /* index: 53 */ { 54, { on , on , off , off , on , off , off , on , }}, /* index: 54 */ { 55, { on , on , off , off , on , off , off , off , }}, /* index: 55 */ { 56, { on , on , off , off , off , on , on , on , }}, /* index: 56 */ { 57, { on , on , off , off , off , on , on , off , }}, /* index: 57 */ { 58, { on , on , off , off , off , on , off , on , }}, /* index: 58 */ { 59, { on , on , off , off , off , on , off , off , }}, /* index: 59 */ { 60, { on , on , off , off , off , off , on , on , }}, /* index: 60 */ { 61, { on , on , off , off , off , off , on , off , }}, /* index: 61 */ { 62, { on , on , off , off , off , off , off , on , }}, /* index: 62 */ { 63, { on , on , off , off , off , off , off , off , }}, /* index: 63 */ { 64, { on , off , on , on , on , on , on , on , }}, /* index: 64 */ { 65, { on , off , on , on , on , on , on , off , }}, /* index: 65 */ { 66, { on , off , on , on , on , on , off , on , }}, /* index: 66 */ { 67, { on , off , on , on , on , on , off , off , }}, /* index: 67 */ { 68, { on , off , on , on , on , off , on , on , }}, /* index: 68 */ { 69, { on , off , on , on , on , off , on , off , }}, /* index: 69 */ { 70, { on , off , on , on , on , off , off , on , }}, /* index: 70 */ { 71, { on , off , on , on , on , off , off , off , }}, /* index: 71 */ { 72, { on , off , on , on , off , on , on , on , }}, /* index: 72 */ { 73, { on , off , on , on , off , on , on , off , }}, /* index: 73 */ { 74, { on , off , on , on , off , on , off , on , }}, /* index: 74 */ { 75, { on , off , on , on , off , on , off , off , }}, /* index: 75 */ { 76, { on , off , on , on , off , off , on , on , }}, /* index: 76 */ { 77, { on , off , on , on , off , off , on , off , }}, /* index: 77 */ { 78, { on , off , on , on , off , off , off , on , }}, /* index: 78 */ { 79, { on , off , on , on , off , off , off , off , }}, /* index: 79 */ { 80, { on , off , on , off , on , on , on , on , }}, /* index: 80 */ { 81, { on , off , on , off , on , on , on , off , }}, /* index: 81 */ { 82, { on , off , on , off , on , on , off , on , }}, /* index: 82 */ { 83, { on , off , on , off , on , on , off , off , }}, /* index: 83 */ { 84, { on , off , on , off , on , off , on , on , }}, /* index: 84 */ { 85, { on , off , on , off , on , off , on , off , }}, /* index: 85 */ { 86, { on , off , on , off , on , off , off , on , }}, /* index: 86 */ { 87, { on , off , on , off , on , off , off , off , }}, /* index: 87 */ { 88, { on , off , on , off , off , on , on , on , }}, /* index: 88 */ { 89, { on , off , on , off , off , on , on , off , }}, /* index: 89 */ { 90, { on , off , on , off , off , on , off , on , }}, /* index: 90 */ { 91, { on , off , on , off , off , on , off , off , }}, /* index: 91 */ { 92, { on , off , on , off , off , off , on , on , }}, /* index: 92 */ { 93, { on , off , on , off , off , off , on , off , }}, /* index: 93 */ { 94, { on , off , on , off , off , off , off , on , }}, /* index: 94 */ { 95, { on , off , on , off , off , off , off , off , }}, /* index: 95 */ { 96, { on , off , off , on , on , on , on , on , }}, /* index: 96 */ { 97, { on , off , off , on , on , on , on , off , }}, /* index: 97 */ { 98, { on , off , off , on , on , on , off , on , }}, /* index: 98 */ { 99, { on , off , off , on , on , on , off , off , }}, /* index: 99 */ { 100, { on , off , off , on , on , off , on , on , }}, /* index: 100 */ { 101, { on , off , off , on , on , off , on , off , }}, /* index: 101 */ { 102, { on , off , off , on , on , off , off , on , }}, /* index: 102 */ { 103, { on , off , off , on , on , off , off , off , }}, /* index: 103 */ { 104, { on , off , off , on , off , on , on , on , }}, /* index: 104 */ { 105, { on , off , off , on , off , on , on , off , }}, /* index: 105 */ { 106, { on , off , off , on , off , on , off , on , }}, /* index: 106 */ { 107, { on , off , off , on , off , on , off , off , }}, /* index: 107 */ { 108, { on , off , off , on , off , off , on , on , }}, /* index: 108 */ { 109, { on , off , off , on , off , off , on , off , }}, /* index: 109 */ { 110, { on , off , off , on , off , off , off , on , }}, /* index: 110 */ { 111, { on , off , off , on , off , off , off , off , }}, /* index: 111 */ { 112, { on , off , off , off , on , on , on , on , }}, /* index: 112 */ { 113, { on , off , off , off , on , on , on , off , }}, /* index: 113 */ { 114, { on , off , off , off , on , on , off , on , }}, /* index: 114 */ { 115, { on , off , off , off , on , on , off , off , }}, /* index: 115 */ { 116, { on , off , off , off , on , off , on , on , }}, /* index: 116 */ { 117, { on , off , off , off , on , off , on , off , }}, /* index: 117 */ { 118, { on , off , off , off , on , off , off , on , }}, /* index: 118 */ { 119, { on , off , off , off , on , off , off , off , }}, /* index: 119 */ { 120, { on , off , off , off , off , on , on , on , }}, /* index: 120 */ { 121, { on , off , off , off , off , on , on , off , }}, /* index: 121 */ { 122, { on , off , off , off , off , on , off , on , }}, /* index: 122 */ { 123, { on , off , off , off , off , on , off , off , }}, /* index: 123 */ { 124, { on , off , off , off , off , off , on , on , }}, /* index: 124 */ { 125, { on , off , off , off , off , off , on , off , }}, /* index: 125 */ { 126, { on , off , off , off , off , off , off , on , }}, /* index: 126 */ { 127, { on , off , off , off , off , off , off , off , }}, /* index: 127 */ { 128, { off , on , on , on , on , on , on , on , }}, /* index: 128 */ { 129, { off , on , on , on , on , on , on , off , }}, /* index: 129 */ { 130, { off , on , on , on , on , on , off , on , }}, /* index: 130 */ { 131, { off , on , on , on , on , on , off , off , }}, /* index: 131 */ { 132, { off , on , on , on , on , off , on , on , }}, /* index: 132 */ { 133, { off , on , on , on , on , off , on , off , }}, /* index: 133 */ { 134, { off , on , on , on , on , off , off , on , }}, /* index: 134 */ { 135, { off , on , on , on , on , off , off , off , }}, /* index: 135 */ { 136, { off , on , on , on , off , on , on , on , }}, /* index: 136 */ { 137, { off , on , on , on , off , on , on , off , }}, /* index: 137 */ { 138, { off , on , on , on , off , on , off , on , }}, /* index: 138 */ { 139, { off , on , on , on , off , on , off , off , }}, /* index: 139 */ { 140, { off , on , on , on , off , off , on , on , }}, /* index: 140 */ { 141, { off , on , on , on , off , off , on , off , }}, /* index: 141 */ { 142, { off , on , on , on , off , off , off , on , }}, /* index: 142 */ { 143, { off , on , on , on , off , off , off , off , }}, /* index: 143 */ { 144, { off , on , on , off , on , on , on , on , }}, /* index: 144 */ { 145, { off , on , on , off , on , on , on , off , }}, /* index: 145 */ { 146, { off , on , on , off , on , on , off , on , }}, /* index: 146 */ { 147, { off , on , on , off , on , on , off , off , }}, /* index: 147 */ { 148, { off , on , on , off , on , off , on , on , }}, /* index: 148 */ { 149, { off , on , on , off , on , off , on , off , }}, /* index: 149 */ { 150, { off , on , on , off , on , off , off , on , }}, /* index: 150 */ { 151, { off , on , on , off , on , off , off , off , }}, /* index: 151 */ { 152, { off , on , on , off , off , on , on , on , }}, /* index: 152 */ { 153, { off , on , on , off , off , on , on , off , }}, /* index: 153 */ { 154, { off , on , on , off , off , on , off , on , }}, /* index: 154 */ { 155, { off , on , on , off , off , on , off , off , }}, /* index: 155 */ { 156, { off , on , on , off , off , off , on , on , }}, /* index: 156 */ { 157, { off , on , on , off , off , off , on , off , }}, /* index: 157 */ { 158, { off , on , on , off , off , off , off , on , }}, /* index: 158 */ { 159, { off , on , on , off , off , off , off , off , }}, /* index: 159 */ { 160, { off , on , off , on , on , on , on , on , }}, /* index: 160 */ { 161, { off , on , off , on , on , on , on , off , }}, /* index: 161 */ { 162, { off , on , off , on , on , on , off , on , }}, /* index: 162 */ { 163, { off , on , off , on , on , on , off , off , }}, /* index: 163 */ { 164, { off , on , off , on , on , off , on , on , }}, /* index: 164 */ { 165, { off , on , off , on , on , off , on , off , }}, /* index: 165 */ { 166, { off , on , off , on , on , off , off , on , }}, /* index: 166 */ { 167, { off , on , off , on , on , off , off , off , }}, /* index: 167 */ { 168, { off , on , off , on , off , on , on , on , }}, /* index: 168 */ { 169, { off , on , off , on , off , on , on , off , }}, /* index: 169 */ { 170, { off , on , off , on , off , on , off , on , }}, /* index: 170 */ { 171, { off , on , off , on , off , on , off , off , }}, /* index: 171 */ { 172, { off , on , off , on , off , off , on , on , }}, /* index: 172 */ { 173, { off , on , off , on , off , off , on , off , }}, /* index: 173 */ { 174, { off , on , off , on , off , off , off , on , }}, /* index: 174 */ { 175, { off , on , off , on , off , off , off , off , }}, /* index: 175 */ { 176, { off , on , off , off , on , on , on , on , }}, /* index: 176 */ { 177, { off , on , off , off , on , on , on , off , }}, /* index: 177 */ { 178, { off , on , off , off , on , on , off , on , }}, /* index: 178 */ { 179, { off , on , off , off , on , on , off , off , }}, /* index: 179 */ { 180, { off , on , off , off , on , off , on , on , }}, /* index: 180 */ { 181, { off , on , off , off , on , off , on , off , }}, /* index: 181 */ { 182, { off , on , off , off , on , off , off , on , }}, /* index: 182 */ { 183, { off , on , off , off , on , off , off , off , }}, /* index: 183 */ { 184, { off , on , off , off , off , on , on , on , }}, /* index: 184 */ { 185, { off , on , off , off , off , on , on , off , }}, /* index: 185 */ { 186, { off , on , off , off , off , on , off , on , }}, /* index: 186 */ { 187, { off , on , off , off , off , on , off , off , }}, /* index: 187 */ { 188, { off , on , off , off , off , off , on , on , }}, /* index: 188 */ { 189, { off , on , off , off , off , off , on , off , }}, /* index: 189 */ { 190, { off , on , off , off , off , off , off , on , }}, /* index: 190 */ { 191, { off , on , off , off , off , off , off , off , }}, /* index: 191 */ { 192, { off , off , on , on , on , on , on , on , }}, /* index: 192 */ { 193, { off , off , on , on , on , on , on , off , }}, /* index: 193 */ { 194, { off , off , on , on , on , on , off , on , }}, /* index: 194 */ { 195, { off , off , on , on , on , on , off , off , }}, /* index: 195 */ { 196, { off , off , on , on , on , off , on , on , }}, /* index: 196 */ { 197, { off , off , on , on , on , off , on , off , }}, /* index: 197 */ { 198, { off , off , on , on , on , off , off , on , }}, /* index: 198 */ { 199, { off , off , on , on , on , off , off , off , }}, /* index: 199 */ { 200, { off , off , on , on , off , on , on , on , }}, /* index: 200 */ { 201, { off , off , on , on , off , on , on , off , }}, /* index: 201 */ { 202, { off , off , on , on , off , on , off , on , }}, /* index: 202 */ { 203, { off , off , on , on , off , on , off , off , }}, /* index: 203 */ { 204, { off , off , on , on , off , off , on , on , }}, /* index: 204 */ { 205, { off , off , on , on , off , off , on , off , }}, /* index: 205 */ { 206, { off , off , on , on , off , off , off , on , }}, /* index: 206 */ { 207, { off , off , on , on , off , off , off , off , }}, /* index: 207 */ { 208, { off , off , on , off , on , on , on , on , }}, /* index: 208 */ { 209, { off , off , on , off , on , on , on , off , }}, /* index: 209 */ { 210, { off , off , on , off , on , on , off , on , }}, /* index: 210 */ { 211, { off , off , on , off , on , on , off , off , }}, /* index: 211 */ { 212, { off , off , on , off , on , off , on , on , }}, /* index: 212 */ { 213, { off , off , on , off , on , off , on , off , }}, /* index: 213 */ { 214, { off , off , on , off , on , off , off , on , }}, /* index: 214 */ { 215, { off , off , on , off , on , off , off , off , }}, /* index: 215 */ { 216, { off , off , on , off , off , on , on , on , }}, /* index: 216 */ { 217, { off , off , on , off , off , on , on , off , }}, /* index: 217 */ { 218, { off , off , on , off , off , on , off , on , }}, /* index: 218 */ { 219, { off , off , on , off , off , on , off , off , }}, /* index: 219 */ { 220, { off , off , on , off , off , off , on , on , }}, /* index: 220 */ { 221, { off , off , on , off , off , off , on , off , }}, /* index: 221 */ { 222, { off , off , on , off , off , off , off , on , }}, /* index: 222 */ { 223, { off , off , on , off , off , off , off , off , }}, /* index: 223 */ { 224, { off , off , off , on , on , on , on , on , }}, /* index: 224 */ { 225, { off , off , off , on , on , on , on , off , }}, /* index: 225 */ { 226, { off , off , off , on , on , on , off , on , }}, /* index: 226 */ { 227, { off , off , off , on , on , on , off , off , }}, /* index: 227 */ { 228, { off , off , off , on , on , off , on , on , }}, /* index: 228 */ { 229, { off , off , off , on , on , off , on , off , }}, /* index: 229 */ { 230, { off , off , off , on , on , off , off , on , }}, /* index: 230 */ { 231, { off , off , off , on , on , off , off , off , }}, /* index: 231 */ { 232, { off , off , off , on , off , on , on , on , }}, /* index: 232 */ { 233, { off , off , off , on , off , on , on , off , }}, /* index: 233 */ { 234, { off , off , off , on , off , on , off , on , }}, /* index: 234 */ { 235, { off , off , off , on , off , on , off , off , }}, /* index: 235 */ { 236, { off , off , off , on , off , off , on , on , }}, /* index: 236 */ { 237, { off , off , off , on , off , off , on , off , }}, /* index: 237 */ { 238, { off , off , off , on , off , off , off , on , }}, /* index: 238 */ { 239, { off , off , off , on , off , off , off , off , }}, /* index: 239 */ { 240, { off , off , off , off , on , on , on , on , }}, /* index: 240 */ { 241, { off , off , off , off , on , on , on , off , }}, /* index: 241 */ { 242, { off , off , off , off , on , on , off , on , }}, /* index: 242 */ { 243, { off , off , off , off , on , on , off , off , }}, /* index: 243 */ { 244, { off , off , off , off , on , off , on , on , }}, /* index: 244 */ { 245, { off , off , off , off , on , off , on , off , }}, /* index: 245 */ { 246, { off , off , off , off , on , off , off , on , }}, /* index: 246 */ { 247, { off , off , off , off , on , off , off , off , }}, /* index: 247 */ { 248, { off , off , off , off , off , on , on , on , }}, /* index: 248 */ { 249, { off , off , off , off , off , on , on , off , }}, /* index: 249 */ { 250, { off , off , off , off , off , on , off , on , }}, /* index: 250 */ { 251, { off , off , off , off , off , on , off , off , }}, /* index: 251 */ { 252, { off , off , off , off , off , off , on , on , }}, /* index: 252 */ { 253, { off , off , off , off , off , off , on , off , }}, /* index: 253 */ { 254, { off , off , off , off , off , off , off , on , }}, /* index: 254 */ { 255, { off , off , off , off , off , off , off , off , }}, /* index: 255 */ };