I don't finish configuring this program.

Dependencies:   mbed

Revision:
0:9beaad87014d
Child:
1:46abb3b9347d
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/ADNS3080.cpp	Thu May 08 12:59:25 2014 +0000
@@ -0,0 +1,78 @@
+#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;
+    
+}
\ No newline at end of file