Beispiel #1
0
/**
 * Initialisiert den Maussensor
 */
void mouse_sens_init(void) {
	MOUSE_Enable();
	delay(100);

	MOUSE_DDR |= MOUSE_SCK_PIN; // SCK auf Output
	MOUSE_PORT = (uint8_t) (MOUSE_PORT & ~MOUSE_SCK_PIN); // SCK auf 0

	delay(10);

	mouse_sens_write(MOUSE_CONFIG_REG, MOUSE_CFG_RESET); // reset sensor
	mouse_sens_write(MOUSE_CONFIG_REG, MOUSE_CFG_FORCEAWAKE); // always on
}
Beispiel #2
0
/**
 * Uebertraegt ein write-Kommando an den Sensor
 * \param addr Adresse
 * \param data Datum
 */
void mouse_sens_write(uint8_t addr, uint8_t data) {
	MOUSE_Enable();
	mouse_sens_writeByte(addr |= 0x80); // MSB muss 1 sein, Datenblatt S.12 Write Operation
	mouse_sens_writeByte(data);
	mouse_sens_wait(); // 100 us Pause
}
Beispiel #3
0
/**
 * Schickt ein Lesekommando an den Sensor und liest ein Byte zurueck
 * \param addr die Adresse
 * \return das Datum
 */
uint8_t mouse_sens_read(uint8_t addr) {
	MOUSE_Enable();
	mouse_sens_writeByte(addr);
	mouse_sens_wait(); // 100 us Pause
	return mouse_sens_readByte();
}
Beispiel #4
0
/*!
 * Schickt ein Lesekommando an den Sensor
 * und liest ein Byte zurueck
 * @param adr die Adresse
 * @return das Datum
 */
BK_U8B mouse_sens_read(BK_U8B adr) {
	MOUSE_Enable();
	mouse_sens_writeByte(adr);
	mouse_sens_wait(); // 100 us Pause
	return mouse_sens_readByte();
}