Пример #1
0
def getRandom() :
	return randint(0,15)
	
startValue = 0.0
data = 'false'
orderflag = 0

while True :
	data = serverflag.parseHtml()
	print data
	if data == 'true' :

		#distance = getRandom();
		
		distance = sensor.getDistance()
		print distance

		if initialvalue.isIntialNotSet():
		#if startValue == 0:
			startValue =  distance
			
			#startValue = 15.0
			initialvalue.setInitialValue(startValue)

		else:
			startValue = initialvalue.getInitialValue()

		percnt = ((startValue-distance)/startValue)*100
		print percnt
Пример #2
0
def generateFeedback(javaFiles, traceFiles, pathToProjectFolder, traceDir, verbose=False, main_config = dict()):
	#generate the feedback
	#INPUT
	#javaFiles - Tuple of submitted and reference dicts
		#Each map maps the class file dir to the java file
	#traceFiles - Tuple of submitted and reference trace files
		#submittedTraceFiles - Dict mapping test case # to username to absolute trace file location on disk
		#referenceTraceFiles - Dict mapping test case # to username to absolute trace file location on disk

	#OUTPUT
	#feedback - Dict mapping username to feedback
	print("Generating Feedback", flush=True)
	submittedTraceFiles, referenceTraceFiles = traceFiles
	submittedJavaFiles, referenceJavaFiles = javaFiles

	editDistanceMapping = {}
	feedback = {}
	submittedPathDict = dict()
	referencePathDict = dict()
	for testcase in submittedTraceFiles:
		print("  Evaluating on Test Case %d"%(testcase), flush=True)
		for submittedPath in submittedTraceFiles[testcase]:
			submittedPathDict[submittedPath] = True
			if not submittedPath in editDistanceMapping:
				editDistanceMapping[submittedPath] = {}
			submittedFileName = submittedTraceFiles[testcase][submittedPath]
			submittedFullPath = os.path.join(submittedPath,submittedFileName)
			print("    Evaluating: %s"%(getName(submittedPath)), flush=True)
			for referencePath in referenceTraceFiles[testcase]:
				referencePathDict[referencePath] = True
				referenceFileName = referenceTraceFiles[testcase][referencePath]
				referenceFullPath = os.path.join(referencePath,referenceFileName)
				distanceVector = Distance.getDistance(traceDir, submittedFullPath, referenceFullPath, submittedJavaFiles[submittedPath], referenceJavaFiles[referencePath], main_config)
				if not referencePath in editDistanceMapping[submittedPath]:
					distList = list()
					distList.append(distanceVector)
					editDistanceMapping[submittedPath][referencePath] = (np.array(distanceVector), distList)
				else:
					oldDist, distList = editDistanceMapping[submittedPath][referencePath]
					distList.append(distanceVector)
					editDistanceMapping[submittedPath][referencePath] = (oldDist+np.array(distanceVector), distList)
	
	#normalize the vectors and convert to a magnitude distance
	for submittedPath in editDistanceMapping.keys():
		editDistanceMapping[submittedPath] = normalize(editDistanceMapping[submittedPath], verbose)

	#output the editDistanceMapping csv file
	submittedPaths = list(submittedPathDict.keys())
	referencePaths = list(referencePathDict.keys())
	csvStr = " "
	#add the reference program labels accross the top
	for rPath in referencePaths:
		csvStr += "," + rPath
	
	csvStr += "\n"

	#loop through the rows, printing the labels on the left side first
	for sPath in submittedPaths:
		csvStr += sPath
		for rPath in referencePaths:
			csvStr += "," + str(editDistanceMapping[sPath][rPath][0])
		csvStr += "\n"

	mappingCsvFile = open('editDistanceMappting.csv', 'wt', encoding='utf-8')
	mappingCsvFile.write(csvStr)

	for submittedPath in editDistanceMapping:
		minPath = ""
		minDistance = 1000000000
		for referencePath in editDistanceMapping[submittedPath]:
			if editDistanceMapping[submittedPath][referencePath][0] < minDistance:
				if(verbose):
					print("Distance: " + str(submittedPath) + " => " + str(referencePath) + ": " + str(editDistanceMapping[submittedPath][referencePath]))
				minDistance, distList = editDistanceMapping[submittedPath][referencePath]
				minPath = referencePath

		feedback[submittedPath] = (minPath, minDistance, distList)
	for user in feedback:
		print(getName(user) + " " + readResults(feedback[user][0]))
	print("Finished Generating Feedback")
	return feedback
Пример #3
0
import time

# Modul als Klasse schreiben ???
import Distance
import MotorFunctions as Motor

# Soll-Distanz in [cm]
maxDistance = 30

# Geschwindigkeit des Autos
speed = 0

Motor.initMotor()
Distance.initPins()
Distance.getDistance()

Motor.maxVelocity = 30
Motor.changeVelocity(int(speed))
input("Press Enter to continue >> ")

try:
    while True:
        # Ermittle Entfernung zum Hindernis
        dist = Distance.getDistance()
        t = time.time()
        time.sleep(0.01)

        # Ignoriere ungültige Messungen
        if dist == None:
            continue
Пример #4
0
	Skript um Entfernungsmessungen und Motorgeschwindigkeit zu kombinieren
	in Abhängigkeit der relativen Geschwindigkeit zum vorausfahrenen Fahrzeug
"""

import time

# Modul als Klasse schreiben ???
import Distance
import MotorFunctions as Motor

# Konstante zur Anpassung des Tastgrads
x = 1

Motor.initMotor()
Distance.initPins()
Distance.getDistance()

Motor.maxVelocity = 30
Motor.changeVelocity(int(0))
input("Press Enter to continue >> ")

try:
    while True:
        # Entfernungsmessungen
        dist1 = Distance.getDistance()
        t1 = time.time()
        time.sleep(0.01)
        dist2 = Distance.getDistance()
        t2 = time.time()

        if dist1 == None or dist2 == None: