Funktion will nicht richtig

sizeof(roomRaffstore)

Ich habe doch gesagt dass genau das nicht geht! Genau deshalb muss man die Größe extra übergeben. Du hast size als Parameter, dann verwende es auch

Zeiger sind auf einem 8-Bit Prozessor 16 Bit groß. Also kommt da immer 2 heraus. Dein Array ist aber 4 Bytes groß

Kleine Korrektur:
Ich hatte es erst so geschrieben dass man die Anzahl der Elemente im Array übergibt. Aber da du es byte-weise überträgt braucht man da tatsächlich die Größe in Bytes. Also nur sizeof() der Array-Variablen bei der Übergabe:

Raffstore(7, RafstoreLeo, sizeof(RafstoreLeo), pin3, pin4 );