Test of ADNS3080 on DISCO_F429ZI
Dependencies: BSP_DISCO_F429ZI LCD_DISCO_F429ZI mbed
Fork of ADNS3080_HelloWorld by
main.cpp@2:c7076b745c5a, 2017-09-27 (annotated)
- 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?
User | Revision | Line number | New 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 | } |