PixArt Optical Track Sensor, OTS, demo program for P9126 sensor with library. Alternative porting style in C++. Initial release v1.0.
Dependencies: Pixart_OTS
Fork of OTS_P9126_Demo by
main.cpp@2:be9899699c7c, 2019-03-06 (annotated)
- Committer:
- PixArtHC
- Date:
- Wed Mar 06 21:03:07 2019 +0000
- Revision:
- 2:be9899699c7c
- Parent:
- 1:4c9b5b2f001e
PixArt Optical Track Sensor, OTS, demo program for P9126 sensor with library. Alternative porting style in C++. 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 | 2:be9899699c7c | 6 | /* PAT9126JA: 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 | 0:79d6b8ec630c | 22 | I2C i2c(I2C_SDA0, I2C_SCL0); |
PixArtHC | 0:79d6b8ec630c | 23 | |
PixArtHC | 2:be9899699c7c | 24 | static const Pixart_OTS_Model OTS_MODEL = PIXART_OTS_MODEL_9126; |
PixArtHC | 2:be9899699c7c | 25 | |
PixArtHC | 0:79d6b8ec630c | 26 | int main() |
PixArtHC | 0:79d6b8ec630c | 27 | { |
PixArtHC | 2:be9899699c7c | 28 | pc.baud(115200); |
PixArtHC | 2:be9899699c7c | 29 | |
PixArtHC | 2:be9899699c7c | 30 | Pixart_OTS *pixart_ots = create_pixart_ots(OTS_MODEL, pc, i2c); |
PixArtHC | 2:be9899699c7c | 31 | |
PixArtHC | 2:be9899699c7c | 32 | if (!pixart_ots) |
PixArtHC | 2:be9899699c7c | 33 | { |
PixArtHC | 2:be9899699c7c | 34 | pc.printf("\r\n\n Not on library support list %d", OTS_MODEL); |
PixArtHC | 2:be9899699c7c | 35 | while (true); |
PixArtHC | 0:79d6b8ec630c | 36 | } |
PixArtHC | 0:79d6b8ec630c | 37 | |
PixArtHC | 2:be9899699c7c | 38 | bool result = pixart_ots->sensor_init(); |
PixArtHC | 2:be9899699c7c | 39 | |
PixArtHC | 2:be9899699c7c | 40 | if (result) |
PixArtHC | 2:be9899699c7c | 41 | { |
PixArtHC | 2:be9899699c7c | 42 | pc.printf("\r\n\n %s %s initialization successfully\r\n", PRODUCT, pixart_ots->get_model().c_str()); |
PixArtHC | 2:be9899699c7c | 43 | } |
PixArtHC | 2:be9899699c7c | 44 | else |
PixArtHC | 2:be9899699c7c | 45 | { |
PixArtHC | 2:be9899699c7c | 46 | pc.printf("\r\n\n %s %s fail on initialization", PRODUCT, pixart_ots->get_model().c_str()); |
PixArtHC | 2:be9899699c7c | 47 | while (true); |
PixArtHC | 2:be9899699c7c | 48 | } |
PixArtHC | 2:be9899699c7c | 49 | |
PixArtHC | 2:be9899699c7c | 50 | while (true) { |
PixArtHC | 2:be9899699c7c | 51 | #ifndef USE_CALLBACK |
PixArtHC | 2:be9899699c7c | 52 | pixart_ots->periodic_callback(); |
PixArtHC | 0:79d6b8ec630c | 53 | wait_ms(250); |
PixArtHC | 0:79d6b8ec630c | 54 | #endif |
PixArtHC | 0:79d6b8ec630c | 55 | } |
PixArtHC | 0:79d6b8ec630c | 56 | } |
PixArtHC | 2:be9899699c7c | 57 |