Example #1
0
 public void GenerateMessage4WheelsIndependantSpeedPIDSetup(object sender, IndependantPIDSetupArgs e)
 {
     byte[] payload = new byte[96];
     payload.SetValueRange(((float)(e.P_M1)).GetBytes(), 0);
     payload.SetValueRange(((float)(e.I_M1)).GetBytes(), 4);
     payload.SetValueRange(((float)(e.D_M1)).GetBytes(), 8);
     payload.SetValueRange(((float)(e.P_M2)).GetBytes(), 12);
     payload.SetValueRange(((float)(e.I_M2)).GetBytes(), 16);
     payload.SetValueRange(((float)(e.D_M2)).GetBytes(), 20);
     payload.SetValueRange(((float)(e.P_M3)).GetBytes(), 24);
     payload.SetValueRange(((float)(e.I_M3)).GetBytes(), 28);
     payload.SetValueRange(((float)(e.D_M3)).GetBytes(), 32);
     payload.SetValueRange(((float)(e.P_M4)).GetBytes(), 36);
     payload.SetValueRange(((float)(e.I_M4)).GetBytes(), 40);
     payload.SetValueRange(((float)(e.D_M4)).GetBytes(), 44);
     payload.SetValueRange(((float)(e.P_M1_Limit)).GetBytes(), 48);
     payload.SetValueRange(((float)(e.I_M1_Limit)).GetBytes(), 52);
     payload.SetValueRange(((float)(e.D_M1_Limit)).GetBytes(), 56);
     payload.SetValueRange(((float)(e.P_M2_Limit)).GetBytes(), 60);
     payload.SetValueRange(((float)(e.I_M2_Limit)).GetBytes(), 64);
     payload.SetValueRange(((float)(e.D_M2_Limit)).GetBytes(), 68);
     payload.SetValueRange(((float)(e.P_M3_Limit)).GetBytes(), 72);
     payload.SetValueRange(((float)(e.I_M3_Limit)).GetBytes(), 76);
     payload.SetValueRange(((float)(e.D_M3_Limit)).GetBytes(), 80);
     payload.SetValueRange(((float)(e.P_M4_Limit)).GetBytes(), 84);
     payload.SetValueRange(((float)(e.I_M4_Limit)).GetBytes(), 88);
     payload.SetValueRange(((float)(e.D_M4_Limit)).GetBytes(), 92);
     OnMessageToRobot((Int16)Commands.PC2R_4WheelsIndependantSpeedPIDSetGains, 96, payload);
     OnMessageToDisplaySpeedIndependantPidSetup(e);
 }
Example #2
0
 public virtual void OnMessageToDisplaySpeedIndependantPidSetup(IndependantPIDSetupArgs setup)
 {
     OnMessageToDisplaySpeedIndependantPidSetupEvent?.Invoke(this, setup);
 }
Example #3
0
 public void OnMessageToDisplayIndependantSpeedPidSetupReceived(object sender, IndependantPIDSetupArgs e)
 {
     asservSpeedDisplay.UpdateIndependantSpeedCorrectionGains(e.P_M1, e.P_M2, e.I_M1, e.I_M2, e.D_M1, e.D_M2);
     asservSpeedDisplay.UpdateIndependantSpeedCorrectionLimits(e.P_M1_Limit, e.P_M2_Limit, e.I_M1_Limit, e.I_M2_Limit, e.D_M1_Limit, e.D_M2_Limit);
 }