/** Entscheidungstabelle */ struct decisionTable { uint16_t mask; /**< Positiv-Werte */ uint16_t filter; /**< Nicht-dontcare-Werte */ }; #define XX 0 /** Entscheidungstabelle Dekoder Schalterstellungen */ const struct decisionTable rqstIn[] = { [val_a] = {XX | XX | XX | in_e , 0 | 0 | 0 | in_e }, [val_b] = {in_l | 0 | 0 | 0 , in_l | in_d1 | in_d2 | in_e }, [val_c] = {0 | XX | XX | 0 , in_l | 0 | 0 | in_e }, [val_d] = {in_l | in_d1 | 0 | 0 , in_l | in_d1 | in_d2 | in_e }, [val_e] = {in_l | 0 | in_d2 | 0 , in_l | in_d1 | in_d2 | in_e }, /** D1- und D2-Signal gleichzeitig aktiv -> Verkabelungsfehler */ [val_error0] = {XX | in_d1 | in_d2 | XX , 0 |in_d1 | in_d2 | 0 }, };