Test of ADNS3080 on DISCO_F429ZI

Dependencies:   BSP_DISCO_F429ZI LCD_DISCO_F429ZI mbed

Fork of ADNS3080_HelloWorld by ryosuke yumoto

Committer:
DenMorena
Date:
Wed Sep 27 03:28:48 2017 +0000
Revision:
2:c7076b745c5a
Parent:
1:46abb3b9347d
Test using ADNS3080 on DISCO_F429ZI

Who changed what in which revision?

UserRevisionLine numberNew contents of line
ryosuke 0:9beaad87014d 1 #include "mbed.h"
ryosuke 0:9beaad87014d 2 #include "ADNS3080.h"
DenMorena 2:c7076b745c5a 3 #include "LCD_DISCO_F429ZI.h"
ryosuke 0:9beaad87014d 4
DenMorena 2:c7076b745c5a 5 ADNS3080 OptFlow(PE_6, PE_5, PE_2, PE_4);//MOSI, MISO, SCLK, NCS
ryosuke 0:9beaad87014d 6 Serial pc(USBTX, USBRX);
ryosuke 0:9beaad87014d 7
DenMorena 2:c7076b745c5a 8 LCD_DISCO_F429ZI lcd;
DenMorena 2:c7076b745c5a 9
ryosuke 0:9beaad87014d 10 int main() {
ryosuke 1:46abb3b9347d 11
DenMorena 2:c7076b745c5a 12 pc.printf("Test ADNS3080\n\r");
ryosuke 0:9beaad87014d 13
ryosuke 1:46abb3b9347d 14 pc.printf("prodID is %x\n\r", OptFlow.getProdID());
DenMorena 2:c7076b745c5a 15 pc.printf("RevID is %x\n\r", OptFlow.getRevID());
DenMorena 2:c7076b745c5a 16 pc.printf("InverProdID is %x\n\r", OptFlow.getInverProdID());
ryosuke 1:46abb3b9347d 17 pc.printf("configuration is %x\n\r", OptFlow.getConfiguration_bits());
ryosuke 1:46abb3b9347d 18
DenMorena 2:c7076b745c5a 19 uint8_t text[30];
DenMorena 2:c7076b745c5a 20 BSP_LCD_SetFont(&Font20);
DenMorena 2:c7076b745c5a 21 sprintf((char*)text, "prodID1 is %x", OptFlow.getProdID());
DenMorena 2:c7076b745c5a 22 lcd.DisplayStringAt(0, LINE(0), (uint8_t *)&text, LEFT_MODE);
DenMorena 2:c7076b745c5a 23
DenMorena 2:c7076b745c5a 24 int x=0, y=0, dx=0, dy=0;
ryosuke 0:9beaad87014d 25 while(1){
ryosuke 1:46abb3b9347d 26 OptFlow.getMotion();
DenMorena 2:c7076b745c5a 27 dx = OptFlow.getDelta_X();
DenMorena 2:c7076b745c5a 28 dy = OptFlow.getDelta_Y();
DenMorena 2:c7076b745c5a 29 x += dx;
DenMorena 2:c7076b745c5a 30 y += dy;
DenMorena 2:c7076b745c5a 31 pc.printf("%4d, %4d, (%d,%d)\n\r", dx, dy, x, y);
DenMorena 2:c7076b745c5a 32
DenMorena 2:c7076b745c5a 33 sprintf((char*)text, "(dx,dy)=%4d,%4d", dx, dy);
DenMorena 2:c7076b745c5a 34 lcd.DisplayStringAt(0, LINE(1), (uint8_t *)&text, LEFT_MODE);
DenMorena 2:c7076b745c5a 35 sprintf((char*)text, "(x,y)=%4d,%4d", x, y);
DenMorena 2:c7076b745c5a 36 lcd.DisplayStringAt(0, LINE(2), (uint8_t *)&text, LEFT_MODE);
DenMorena 2:c7076b745c5a 37
ryosuke 1:46abb3b9347d 38 wait(0.01);
ryosuke 0:9beaad87014d 39 }
ryosuke 0:9beaad87014d 40 }