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@4:1b406caf9581, 2019-03-06 (annotated)
- Committer:
- PixArtHC
- Date:
- Wed Mar 06 21:17:05 2019 +0000
- Revision:
- 4:1b406caf9581
- Parent:
- 2:be9899699c7c
- Child:
- 5:1633d262b22f
PixArt Optical Track Sensor, OTS, demo program for P9125 sensor with library. Imported and modified from P9125 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 | 4:1b406caf9581 | 6 | /* PAT9125EL: 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 | 2:be9899699c7c | 14 | * V1.0: March 6, 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 | 0:79d6b8ec630c | 24 | |
PixArtHC | 4:1b406caf9581 | 25 | static const Pixart_OTS_Model OTS_MODEL = PIXART_OTS_MODEL_9125; |
PixArtHC | 2:be9899699c7c | 26 | |
PixArtHC | 0:79d6b8ec630c | 27 | int main() |
PixArtHC | 0:79d6b8ec630c | 28 | { |
PixArtHC | 2:be9899699c7c | 29 | pc.baud(115200); |
PixArtHC | 2:be9899699c7c | 30 | |
PixArtHC | 4:1b406caf9581 | 31 | Pixart_OTS *pixart_ots = create_pixart_ots(OTS_MODEL, pc, spi, cs); |
PixArtHC | 2:be9899699c7c | 32 | |
PixArtHC | 2:be9899699c7c | 33 | if (!pixart_ots) |
PixArtHC | 2:be9899699c7c | 34 | { |
PixArtHC | 2:be9899699c7c | 35 | pc.printf("\r\n\n Not on library support list %d", OTS_MODEL); |
PixArtHC | 2:be9899699c7c | 36 | while (true); |
PixArtHC | 0:79d6b8ec630c | 37 | } |
PixArtHC | 0:79d6b8ec630c | 38 | |
PixArtHC | 2:be9899699c7c | 39 | bool result = pixart_ots->sensor_init(); |
PixArtHC | 2:be9899699c7c | 40 | |
PixArtHC | 2:be9899699c7c | 41 | if (result) |
PixArtHC | 2:be9899699c7c | 42 | { |
PixArtHC | 2:be9899699c7c | 43 | pc.printf("\r\n\n %s %s initialization successfully\r\n", PRODUCT, pixart_ots->get_model().c_str()); |
PixArtHC | 2:be9899699c7c | 44 | } |
PixArtHC | 2:be9899699c7c | 45 | else |
PixArtHC | 2:be9899699c7c | 46 | { |
PixArtHC | 2:be9899699c7c | 47 | pc.printf("\r\n\n %s %s fail on initialization", PRODUCT, pixart_ots->get_model().c_str()); |
PixArtHC | 2:be9899699c7c | 48 | while (true); |
PixArtHC | 2:be9899699c7c | 49 | } |
PixArtHC | 2:be9899699c7c | 50 | |
PixArtHC | 2:be9899699c7c | 51 | while (true) { |
PixArtHC | 2:be9899699c7c | 52 | #ifndef USE_CALLBACK |
PixArtHC | 2:be9899699c7c | 53 | pixart_ots->periodic_callback(); |
PixArtHC | 0:79d6b8ec630c | 54 | wait_ms(250); |
PixArtHC | 0:79d6b8ec630c | 55 | #endif |
PixArtHC | 0:79d6b8ec630c | 56 | } |
PixArtHC | 0:79d6b8ec630c | 57 | } |
PixArtHC | 2:be9899699c7c | 58 |