Beispiel #1
0
void getValuesFromGyroscope(void)
{
	writeFloatToBuffer(gyroscope_getX(), 0);
	writeFloatToBuffer(gyroscope_getY(), 4);
	writeFloatToBuffer(gyroscope_getZ(), 8);

	sendAnswer(12);
}
Beispiel #2
0
void getValuesFromMagnetometer(void)
{
	writeFloatToBuffer(compass_getX(), 0);
	writeFloatToBuffer(compass_getY(), 4);
	writeFloatToBuffer(compass_getZ(), 8);

	sendAnswer(12);
}
Beispiel #3
0
void getValuesFromAccelerometer(void)
{
	writeFloatToBuffer(accelerometer_getX(), 0);
	writeFloatToBuffer(accelerometer_getY(), 4);
	writeFloatToBuffer(accelerometer_getZ(), 8);

	sendAnswer(12);
}
void sendBlobs(uint64_t address) {
	
	uint8_t buffer[64];
	
	uint8_t idx = 0;
	
	buffer[idx++] = 'N';
	buffer[idx++] = numberOfDetectedBlobs;
	
	writeFloatToBuffer(buffer, kalmanStates.elevator.position, idx);
	idx += 4;
	writeFloatToBuffer(buffer, kalmanStates.aileron.position, idx);
	idx += 4;
	
	writeFloatToBuffer(buffer, mpcSetpoints.elevator, idx);
	idx += 4;
	writeFloatToBuffer(buffer, mpcSetpoints.aileron, idx);
	idx += 4;
	
	uint8_t i;
	for (i = 0; i < numberOfDetectedBlobs; i++) {
		
		writeFloatToBuffer(buffer, blobs[i].x, idx);
		idx += 4;
		
		writeFloatToBuffer(buffer, blobs[i].y, idx);
		idx += 4;
	}
	
	xbeeSendMessageTo(&buffer, idx, address);
}
Beispiel #5
0
void getBatteryVoltage(void)
{
	writeFloatToBuffer(charger_getBatteryVoltage(), 0);
	sendAnswer(4);
}