Al. K. schrieb:
> void notifyDccSpeed( uint16_t Addr, DCC_ADDR_TYPE AddrType, uint8_t
> Speed, DCC_DIRECTION Dir, DCC_SPEED_STEPS SpeedSteps )
Aus dieser Zeile liest man folgendes raus:
DCC_DIRECTION ist keine Variable, sondern der Typ der Variablen Dir.
Wenn man diese Richtung in einer globalen Variable namens "Richtung"
speichern möchte, sollte diese Variable von demselben Typ sein.
Also definiert man eine globale Variable:
Innerhalb der Funktion notifyDccSpeed() kann man nun diese Variable mit
dem aktuellen Wert von Dir füllen:
Den Wert von Richtung fragt man dann außerhalb der Funktion nicht mit 1
oder 0 ab (was ist davon rückwärts, was vorwärts?), sondern mit dem
vorgegenbenen Wert DCC_DIR_FWD.
Also: Wenn Richtung == DCC_DIR_FWD, dann gehts vorwärts, anderenfalls
rückwärts.
Man kann aber auch den Source nach der Definition von DCC_DIR_FWD
durchsuchen, wenn man den numerischen Wert tatsächlich braucht. Das
scheint ein enum zu sein.