private int GetParamInt32(ParamID id) { int value; var status = GetParamInt32(id, out value); if (status != CTR_Code.CTR_OKAY) CheckStatus((int)status); return value; }
private double GetParam(ParamID id) { C_TalonSRX_RequestParam(m_impl, (int)id); Timer.Delay(DelayForSolicitedSignals); var value = 0.0; var status = C_TalonSRX_GetParamResponse(m_impl, (int)id, ref value); if (status != CTR_Code.CTR_OKAY) CheckStatus((int)status); return value; }
protected override void LaunchPluginFunction(CloudData data) { HashSet <int> selectedpointsSet = data.globalMetaData.SelectedPointsList; HashSet <float> selectedtrajectorySet = data.globalMetaData.SelectedTrajectories; N = 0; List <double> TrajectoriesList = new List <double>(); List <double> Xvalues = new List <double>(); List <double> Yvalues = new List <double>(); List <double> Zvalues = new List <double>(); List <double> Tvalues = new List <double>(); Debug.Log("lowtime " + data.globalMetaData.lowertimeLimit); Debug.Log("uptime " + data.globalMetaData.uppertimeLimit); float xaverage, yaverage, zaverage; float xsum = 0; float ysum = 0; float zsum = 0; int pointnumber = 0; foreach (float i in selectedtrajectorySet) { foreach (int j in data.pointTrajectoriesTable[i].metadata.selectedpointsIDList) { if (data.pointMetaDataTable[j].isHidden == false) { //Debug.Log("time " + data.pointDataTable[j].time); if (data.pointDataTable[j].time >= data.globalMetaData.lowertimeLimit && data.pointDataTable[j].time <= data.globalMetaData.uppertimeLimit) { Debug.Log("check"); N++; TrajectoriesList.Add(i); Xvalues.Add((double)data.pointDataTable[j].position.x); Yvalues.Add((double)data.pointDataTable[j].position.y); Zvalues.Add((double)data.pointDataTable[j].position.z); Tvalues.Add((double)data.pointDataTable[j].time); xsum += data.pointDataTable[j].normed_position.x; ysum += data.pointDataTable[j].normed_position.y; zsum += data.pointDataTable[j].normed_position.z; pointnumber++; } } } } xaverage = xsum / pointnumber; yaverage = ysum / pointnumber; zaverage = zsum / pointnumber; ArrowLocalPosition = new Vector3(xaverage, yaverage, zaverage); //DEBUG /** * N = 25; * for(int i = 0; i < 5; i++) * { * TrajectoriesList.Add(i); * Xvalues.Add((double)Random.Range(0,100)); * Yvalues.Add((double)Random.Range(0, 100)); * Zvalues.Add((double)Random.Range(0, 100)); * Tvalues.Add(0); * TrajectoriesList.Add(i); * Xvalues.Add((double)Random.Range(0, 100)); * Yvalues.Add((double)Random.Range(0, 100)); * Zvalues.Add((double)Random.Range(0, 100)); * Tvalues.Add(1); * TrajectoriesList.Add(i); * Xvalues.Add((double)Random.Range(0, 100)); * Yvalues.Add((double)Random.Range(0, 100)); * Zvalues.Add((double)Random.Range(0, 100)); * Tvalues.Add(2); * TrajectoriesList.Add(i); * Xvalues.Add((double)Random.Range(0, 100)); * Yvalues.Add((double)Random.Range(0, 100)); * Zvalues.Add((double)Random.Range(0, 100)); * Tvalues.Add(3); * TrajectoriesList.Add(i); * Xvalues.Add((double)Random.Range(0, 100)); * Yvalues.Add((double)Random.Range(0, 100)); * Zvalues.Add((double)Random.Range(0, 100)); * Tvalues.Add(4); * } * * Debug.Log(TrajectoriesList.Count); **/ //END_DEBUG double[] TrajectoriesArray = TrajectoriesList.ToArray(); double[] XvaluesArray = Xvalues.ToArray(); double[] YvaluesArray = Yvalues.ToArray(); double[] ZvaluesArray = Zvalues.ToArray(); double[] TvaluesArray = Tvalues.ToArray(); fixed(double *Trajectoriespointer = TrajectoriesArray) { fixed(double *xvalues = XvaluesArray) { fixed(double *yvalues = YvaluesArray) { fixed(double *zvalues = ZvaluesArray) { fixed(double *tvalues = TvaluesArray) { this.trajectories = Trajectoriespointer; this.xCoord = xvalues; this.yCoord = yvalues; this.zCoord = zvalues; this.tCoord = tvalues; double diffusion = 145.0; double forceX = 14.0; double forceY = 16.0; double forceZ = 17.0; Diffusion = &diffusion; ForceX = &forceX; ForceY = &forceY; ForceZ = &forceZ; //functionID = (FunctionID)dropdown.value; headerID = (HeaderID)headerDropdown.value; paramID = (ParamID)paramDropdown.value; // Debug.Log("FunctionID - "+(int)functionID); double.TryParse(SigmaInput.text, out Sigma); double.TryParse(SigmaxyInput.text, out SigmaXY); double.TryParse(SigmazInput.text, out SigmaZ); //Debug.Log("fid " + functionID); Debug.Log("Sigma " + Sigma); Debug.Log("Sigmaxy " + SigmaXY); Debug.Log("Sigmaz " + SigmaZ); Infer3D((int)headerID, (int)paramID, Sigma, SigmaXY, SigmaZ, N, trajectories, xCoord, yCoord, zCoord, tCoord, Diffusion, ForceX, ForceY, ForceZ); double diffusionres = *Diffusion; double forceXres = *ForceX; double forceYres = *ForceY; double forceZres = *ForceZ; diffusionres = Math.Round(diffusionres, 3); forceXres = Math.Round(forceXres, 3); forceYres = Math.Round(forceYres, 3); forceZres = Math.Round(forceZres, 3); ResultsString = "diffusion : " + diffusionres + "\n" + "forceX : " + forceXres + "\n" + "forceY : " + forceYres + "\n" + "forceZ : " + forceZres + "\n"; Debug.Log("N : " + N); Debug.Log("diffusion : " + *Diffusion); Debug.Log("forceX : " + *ForceX); Debug.Log("forceY : " + *ForceY); Debug.Log("forceZ : " + *ForceZ); GameObject go = new GameObject("ARROW"); go.transform.position = Vector3.zero; go.transform.SetParent(data.transform, true); //go.transform.SetParent(data.transform); go.AddComponent <GenerateArrow>(); go.GetComponent <GenerateArrow>().GenerateTriangularArrowMesh(new Vector3((float)*ForceX, (float)*ForceY, (float)*ForceZ).normalized); go.transform.localPosition = ArrowLocalPosition; Debug.Log("ArrowCalculatedpos : " + ArrowLocalPosition); Debug.Log("ArrowWorldPos : " + go.transform.position); Debug.Log("ArrowLocalPos : " + go.transform.localPosition); } } } } } }
private void SetParam(ParamID id, double value) { var errorCode = C_TalonSRX_SetParam(m_impl, (int)id, value); if (errorCode != CTR_Code.CTR_OKAY) CheckStatus((int)errorCode); }
private CTR_Code GetParamInt32(ParamID id, out int value) { C_TalonSRX_RequestParam(m_impl, (int)id); Timer.Delay(DelayForSolicitedSignals); value = 0; return C_TalonSRX_GetParamResponseInt32(m_impl, (int)id, ref value); }
/// <summary> /// General set frame. /// </summary> /// <param name="paramEnum">The parameter to set.</param> /// <param name="value">The value to set the parameter to.</param> public void SetParameter(ParamID paramEnum, double value) { CTR_Code status = C_TalonSRX_SetParam(m_talonPointer, (int)paramEnum, value); CheckCTRStatus(status); }
public ParamDefFloat(ParamID pid, float min, float max, float defaultV) { }