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 Hill Chen

Committer:
PixArtHC
Date:
Wed Mar 06 21:03:07 2019 +0000
Revision:
2:be9899699c7c
Parent:
1:4c9b5b2f001e
Child:
4:1b406caf9581
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?

UserRevisionLine numberNew 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