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); }
public virtual void OnMessageToDisplaySpeedIndependantPidSetup(IndependantPIDSetupArgs setup) { OnMessageToDisplaySpeedIndependantPidSetupEvent?.Invoke(this, setup); }
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); }