ryosuke yumoto
/
ADNS3080_HelloWorld
I don't finish configuring this program.
ADNS3080.cpp
- Committer:
- ryosuke
- Date:
- 2014-05-08
- Revision:
- 0:9beaad87014d
- Child:
- 1:46abb3b9347d
File content as of revision 0:9beaad87014d:
#include "ADNS3080.h" ADNS3080::ADNS3080(PinName mosi, PinName miso, PinName sck, PinName cs) : spi_(mosi, miso, sck), nCS_(cs){ spi_.frequency(2000000); spi_.format(8, 3); nCS_=1; wait_us(500); } int ADNS3080::getProdID(void) { return ReadRegister(ADNS3080_PRODUCT_ID); } int ADNS3080::getRevID(void) { return ReadRegister(ADNS3080_REVISION_ID); } int ADNS3080::getMotion(void) { return ReadRegister(ADNS3080_MOTION); } signed char ADNS3080::getDelta_X(void) { return ReadRegister(ADNS3080_DELTA_X); } signed char ADNS3080::getDelta_Y(void) { return ReadRegister(ADNS3080_DELTA_Y); } int ADNS3080::getInverProdID(void) { return ReadRegister(ADNS3080_INVERSE_PRODUCT_ID); } int ADNS3080::ReadRegister(int address) { int tx = (ADNS3080_SPI_READ | address); int rx = 0; nCS_=0; spi_.write(tx); wait_us(50); rx = spi_.write(0x00); nCS_ = 1; return rx; } void ADNS3080::WriteRegister(int address, char data) { int tx = ( ADNS3080_SPI_WRITE | address); nCS_=0; spi_.write(tx); spi_.write(data); nCS_=1; }