Tolka villkor
Postat: 14 augusti 2019, 13:06:17
Hur skulle ni angripa följande problem.
Jag har brutit lite i det med block och penna för jag tänkte för en gångs skull
att jag skulle ha en bra lösning INNAN jag kodar en rad
Jag hoppas jag beskrivit problemet på ett någorlunda förståbart sätt.
Annars så kompletterar jag, så ställ frågor.
Jag har en MCU där jag avser hantera ett antal regler/villkor.
Problemet är att dessa är ställbara.
Förutsättningar:
En apparat kan vara i fem olika lägen, låt oss kalla dessa för "states"
För varje state kan man konfigurera upp till tio regler/villkor.
Dessa struktureras enligt följande:
om <variabel> är <villkor> <värde> så utför <kommando>
Variabel = Variabel1 - Variabel8
Villkor = Mindre än, Större än
Värde = 0-255
Kommando = Kommando1 - Kommando8
Reglerna är lagrade i Arrayer typ.
variabel[state][regel],villkor[state][regel},värde[state][regel],kommando[state][regel]
Hur kan man på enklaste sätt skapa en rutin som kontrollerar (och vid match utför) respektive regel ?
Rutinen behöver givetvis bara kontrollera de regler som gäller för aktuell state (apparaten kan bara he ett state).
Jag skriver i C men kan tolka förklaringar på de flesta språk (psuedo kod går bra).
Jag har brutit lite i det med block och penna för jag tänkte för en gångs skull
att jag skulle ha en bra lösning INNAN jag kodar en rad
Jag hoppas jag beskrivit problemet på ett någorlunda förståbart sätt.
Annars så kompletterar jag, så ställ frågor.
Jag har en MCU där jag avser hantera ett antal regler/villkor.
Problemet är att dessa är ställbara.
Förutsättningar:
En apparat kan vara i fem olika lägen, låt oss kalla dessa för "states"
För varje state kan man konfigurera upp till tio regler/villkor.
Dessa struktureras enligt följande:
om <variabel> är <villkor> <värde> så utför <kommando>
Variabel = Variabel1 - Variabel8
Villkor = Mindre än, Större än
Värde = 0-255
Kommando = Kommando1 - Kommando8
Reglerna är lagrade i Arrayer typ.
variabel[state][regel],villkor[state][regel},värde[state][regel],kommando[state][regel]
Hur kan man på enklaste sätt skapa en rutin som kontrollerar (och vid match utför) respektive regel ?
Rutinen behöver givetvis bara kontrollera de regler som gäller för aktuell state (apparaten kan bara he ett state).
Jag skriver i C men kan tolka förklaringar på de flesta språk (psuedo kod går bra).