PixArt Optical Track Sensor, OTS, demo program for P5101 sensor with OTS library v1.1. Imported and modified from P9130 demo program. Initial release v1.0.
Dependencies: Pixart_OTS
Fork of OTS_P5101_Demo by
main.cpp@6:935148896ccf, 2019-03-26 (annotated)
- Committer:
- PixArtHC
- Date:
- Tue Mar 26 22:50:31 2019 +0000
- Revision:
- 6:935148896ccf
- Parent:
- 5:1633d262b22f
PixArt Optical Track Sensor, OTS, demo program for P5101 sensor with OTS library v1.1. Imported and modified from P9130 demo program. Initial release v1.0.
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
PixArtHC | 0:79d6b8ec630c | 1 | /* mbed Microcontroller Library |
PixArtHC | 0:79d6b8ec630c | 2 | * Copyright (c) 2018 ARM Limited |
PixArtHC | 0:79d6b8ec630c | 3 | * SPDX-License-Identifier: Apache-2.0 |
PixArtHC | 0:79d6b8ec630c | 4 | */ |
PixArtHC | 0:79d6b8ec630c | 5 | |
PixArtHC | 6:935148896ccf | 6 | /* PAA5101EW: Optical Tracking Sensor. |
PixArtHC | 0:79d6b8ec630c | 7 | * By PixArt Imaging Inc. |
PixArtHC | 0:79d6b8ec630c | 8 | * Primary Engineer: Hill Chen (PixArt USA) |
PixArtHC | 0:79d6b8ec630c | 9 | * |
PixArtHC | 0:79d6b8ec630c | 10 | * License: Apache-2.0; http://www.apache.org/licenses/LICENSE-2.0 |
PixArtHC | 0:79d6b8ec630c | 11 | */ |
PixArtHC | 0:79d6b8ec630c | 12 | |
PixArtHC | 2:be9899699c7c | 13 | /* Demo Code Revision History |
PixArtHC | 6:935148896ccf | 14 | * V1.0: March 26, 2019 |
PixArtHC | 0:79d6b8ec630c | 15 | * First release. |
PixArtHC | 0:79d6b8ec630c | 16 | */ |
PixArtHC | 0:79d6b8ec630c | 17 | |
PixArtHC | 0:79d6b8ec630c | 18 | #include "mbed.h" |
PixArtHC | 2:be9899699c7c | 19 | #include "Pixart_OTS.h" |
PixArtHC | 0:79d6b8ec630c | 20 | |
PixArtHC | 0:79d6b8ec630c | 21 | Serial pc(USBTX, USBRX); |
PixArtHC | 4:1b406caf9581 | 22 | SPI spi(p23, p24, p25); //mosi, miso, sclk |
PixArtHC | 4:1b406caf9581 | 23 | DigitalOut cs(p22); //chip select |
PixArtHC | 6:935148896ccf | 24 | DigitalOut ldp_enl_pin(p20);//laser diode control, low enable |
PixArtHC | 0:79d6b8ec630c | 25 | |
PixArtHC | 6:935148896ccf | 26 | static const Pixart_OTS_Model OTS_MODEL = PIXART_OTS_MODEL_5101; |
PixArtHC | 2:be9899699c7c | 27 | |
PixArtHC | 0:79d6b8ec630c | 28 | int main() |
PixArtHC | 0:79d6b8ec630c | 29 | { |
PixArtHC | 2:be9899699c7c | 30 | pc.baud(115200); |
PixArtHC | 2:be9899699c7c | 31 | |
PixArtHC | 6:935148896ccf | 32 | Pixart_OTS *pixart_ots = create_pixart_ots(OTS_MODEL, pc, spi, cs, ldp_enl_pin); |
PixArtHC | 2:be9899699c7c | 33 | |
PixArtHC | 2:be9899699c7c | 34 | if (!pixart_ots) |
PixArtHC | 2:be9899699c7c | 35 | { |
PixArtHC | 2:be9899699c7c | 36 | pc.printf("\r\n\n Not on library support list %d", OTS_MODEL); |
PixArtHC | 2:be9899699c7c | 37 | while (true); |
PixArtHC | 0:79d6b8ec630c | 38 | } |
PixArtHC | 0:79d6b8ec630c | 39 | |
PixArtHC | 2:be9899699c7c | 40 | bool result = pixart_ots->sensor_init(); |
PixArtHC | 2:be9899699c7c | 41 | |
PixArtHC | 2:be9899699c7c | 42 | if (result) |
PixArtHC | 2:be9899699c7c | 43 | { |
PixArtHC | 2:be9899699c7c | 44 | pc.printf("\r\n\n %s %s initialization successfully\r\n", PRODUCT, pixart_ots->get_model().c_str()); |
PixArtHC | 2:be9899699c7c | 45 | } |
PixArtHC | 2:be9899699c7c | 46 | else |
PixArtHC | 2:be9899699c7c | 47 | { |
PixArtHC | 2:be9899699c7c | 48 | pc.printf("\r\n\n %s %s fail on initialization", PRODUCT, pixart_ots->get_model().c_str()); |
PixArtHC | 2:be9899699c7c | 49 | while (true); |
PixArtHC | 2:be9899699c7c | 50 | } |
PixArtHC | 2:be9899699c7c | 51 | |
PixArtHC | 2:be9899699c7c | 52 | while (true) { |
PixArtHC | 2:be9899699c7c | 53 | #ifndef USE_CALLBACK |
PixArtHC | 2:be9899699c7c | 54 | pixart_ots->periodic_callback(); |
PixArtHC | 0:79d6b8ec630c | 55 | wait_ms(250); |
PixArtHC | 0:79d6b8ec630c | 56 | #endif |
PixArtHC | 0:79d6b8ec630c | 57 | } |
PixArtHC | 0:79d6b8ec630c | 58 | } |
PixArtHC | 2:be9899699c7c | 59 |