virtuellesensoren.cpp

来自「this the code of bootstation」· C++ 代码 · 共 75 行

CPP
75
字号

#if _MSC_VER > 1000
#include "stdafx.h"		//in MFC einkommentieren, sonst raus!

#include "virtuelleSensoren.h"

float Weg_Zaehler = 0;
float Weg_merker = 0;

//Virtuellere Sensoren
//erzeugt aus den Daten der Seitensensoren und einem 
//zur點kgelegten Weg von 1.5m einen imagin鋜en Sensorwert am
//Heck des Schiffes

void virtuelle_Sensoren()
{
	int i;

	if (Weg_Zaehler < 1.5 && Weg_Zaehler >= 0)
	{
		//Vorw鋜tsflug
		while ( (Weg_merker + Weg_Zaehler + 0.1) <= s_Zeppelin )
		{
			Weg_Zaehler += 0.1;
			for (i=18; i >= 0; i--)
			{
				virtuell_rechts_Daten[i+1] = virtuell_rechts_Daten[i];
				virtuell_links_Daten[i+1] = virtuell_links_Daten[i];
			}

		}
		//R點kw鋜tsflug
		i = 0;
		while ( (Weg_merker + Weg_Zaehler - 0.1) >= s_Zeppelin )
		{
			Weg_Zaehler -= 0.1;			//Array in 10cm Schritten weiterschieben
			for (i = 0; i < 18; i++)
			{

				virtuell_rechts_Daten[i] = virtuell_rechts_Daten[i+1];
				virtuell_links_Daten[i] = virtuell_links_Daten[i+1];
				}

		}

	}
	else
	{
		Weg_merker = s_Zeppelin;
		Weg_Zaehler = 0;
	}

	//kleinsten Wert von 14,15,16 einsetzten
	virtuell_rechts = (virtuell_rechts_Daten[14] 
					+ virtuell_rechts_Daten[15] + virtuell_rechts_Daten[16])/3;
		
	virtuell_links = (virtuell_links_Daten[14]
					+ virtuell_links_Daten[15] + virtuell_links_Daten[16])/3;

	//Endpunkte setzten
	virtuell_rechts_Daten[0] = Entf_rechts[0];
	virtuell_rechts_Daten[19] = 1;			//Sicherheit
	virtuell_links_Daten[0] = Entf_links[0];
	virtuell_links_Daten[19] = 1;			//Sicherheit

}
void virtuell_init()
{
	int i=0;
	for(i=0; i<20; i++)
	{
		virtuell_rechts_Daten[i] = 1;
		virtuell_links_Daten[i] = 1;
	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?