Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: BSP_DISCO_F429ZI LCD_DISCO_F429ZI mbed
Fork of ADNS3080_HelloWorld by
ADNS3080.h
00001 /* 00002 *author Ryosuke Yumoto 00003 */ 00004 #ifndef ADNS3080_H 00005 #define ADNS3080_H 00006 00007 #include "mbed.h" 00008 00009 //Register map 00010 #define ADNS3080_PRODUCT_ID 0x00 00011 #define ADNS3080_REVISION_ID 0x01 00012 #define ADNS3080_MOTION 0x02 00013 #define ADNS3080_DELTA_X 0x03 00014 #define ADNS3080_DELTA_Y 0x04 00015 #define ADNS3080_SQUAL 0x05 00016 #define ADNS3080_PIXEL_SUM 0x06 00017 #define ADNS3080_MAXIMUM_PIXEL 0x07 00018 #define ADNS3080_CONFIGURATION_BITS 0x0a 00019 #define ADNS3080_EXTENDED_CONFIG 0x0b 00020 #define ADNS3080_DATA_OUT_LOWER 0x0c 00021 #define ADNS3080_DATA_OUT_UPPER 0x0d 00022 #define ADNS3080_SHUTTER_LOWER 0x0e 00023 #define ADNS3080_SHUTTER_UPPER 0x0f 00024 #define ADNS3080_FRAME_PERIOD_LOWER 0x10 00025 #define ADNS3080_FRAME_PERIOD_UPPER 0x11 00026 #define ADNS3080_MOTION_CLEAR 0x12 00027 #define ADNS3080_FRAME_CAPTURE 0x13 00028 #define ADNS3080_SROM_ENABLE 0x14 00029 #define ADNS3080_FRAME_PERIOD_MAX_BOUND_LOWER 0x19 00030 #define ADNS3080_FRAME_PERIOD_MAX_BOUND_UPPER 0x1a 00031 #define ADNS3080_FRAME_PERIOD_MIN_BOUND_LOWER 0x1b 00032 #define ADNS3080_FRAME_PERIOD_MIN_BOUND_UPPER 0x1c 00033 #define ADNS3080_SHUTTER_MAX_BOUND_LOWER 0x1d 00034 #define ADNS3080_SHUTTER_MAX_BOUND_UPPER 0x1e 00035 #define ADNS3080_SROM_ID 0x1f 00036 #define ADNS3080_OBSERVATION 0x3d 00037 #define ADNS3080_INVERSE_PRODUCT_ID 0x3f 00038 #define ADNS3080_PIXEL_BURST 0x40 00039 #define ADNS3080_MOTION_BURST 0x50 00040 #define ADNS3080_SROM_LOAD 0x60 00041 00042 #define ADNS3080_SPI_READ 0x00 00043 #define ADNS3080_SPI_WRITE 0x80 00044 00045 00046 00047 class ADNS3080{ 00048 public: 00049 00050 ADNS3080(PinName mosi, PinName miso, PinName sck, PinName cs); 00051 00052 int getProdID(void); 00053 int getRevID(void); 00054 int getMotion(void); 00055 signed char getDelta_X(void); 00056 signed char getDelta_Y(void); 00057 unsigned int getSQUAL(void); 00058 unsigned short getPixel_sum(void); 00059 char getMax_Pixel(void); 00060 int getConfiguration_bits(void); 00061 void setConfiguration_bits(char configuration); 00062 int getExtended_config(void); 00063 void setExtended_config(char extended_config); 00064 /* 00065 short getData_Out(void); 00066 unsigned int getShutter(void); 00067 unsigned int getFrame_Period(void); 00068 void Motion_Clear(void); 00069 */ 00070 00071 int getInverProdID(void); 00072 00073 private: 00074 00075 SPI spi_; 00076 DigitalOut nCS_; 00077 00078 int ReadRegister(int address); 00079 00080 void WriteRegister(int address, char data); 00081 }; 00082 00083 #endif
Generated on Thu Jul 14 2022 21:59:03 by
1.7.2
