I2C slave reply

Hi Paul

I changed my SLAVE program a bit . It still doesnt seem to work . Would you be able to advise me on how to proceed now .

// I2C communication  1 Master- 1 Slave 

// program for slave 4



#include <Wire.h>

#include <AccelStepper.h>

int incomingByte = 0;
int stepperPin = 0;
int stepperInterval = 2;
int stepperCounter = 0;
int stepCount = 0;

// timer variables
long millisec = 0;
long microsec = 0;



// stepper motor pins: STEP, DIRECTION, STEPPER ON/OFF
AccelStepper Stepper1(1,2,3);



void setup() {
  
  Wire.begin(4);
  Wire.onReceive(receiveEvent);
  Wire.onRequest(requestEvent);

  
    
 //Start Serial for debuging purposes	
  Serial.begin(115200); // USB comm with PC

for(int i = 0;i <54;i++) {
    pinMode(i,OUTPUT);
    digitalWrite(i,LOW);
  }

  
  
  // switch stepper chips off 
  digitalWrite(4,HIGH);

  
  
    Stepper1.setMaxSpeed(1000);

}


void receiveEvent(int howMany)
{
     if (Wire.available() > 0) {
     incomingByte = Wire.receive();
     }
}  
      

void requestEvent()
{

  if(Stepper1.run() == false)
  {
   if(Stepper1.currentPosition() ==4000)
   {digitalWrite(4,HIGH);
   Wire.send("yes");
   }               
  } 
}


void loop()
{ 
    Stepper1.run();
    
   
  
  
        //Serial.print("  Selection:");Serial.println(incomingByte);
        switch(incomingByte) {
          case 1: digitalWrite(4,LOW); digitalWrite(3,HIGH); digitalWrite(2,HIGH); //Serial.println("Stepper1: forward"); 
                   
                  Serial.println("forward");
                  Stepper1.setCurrentPosition(0);
                  Stepper1.setAcceleration(500.0);
                  Stepper1.moveTo(4000); 
                  
                  break;
          
        
          case 2:  digitalWrite(4,LOW); digitalWrite(3,LOW); digitalWrite(2,HIGH);   //Serial.println("Stepper1: backward"); 
                  
                  Serial.println("backward");
                  Stepper1.setCurrentPosition(0);
                  Stepper1.setAcceleration(500.0);
                  Stepper1.moveTo(-4000); 
                  break;
          
        
      }
     // switch loop
     incomingByte = 0;   
} // main loop