PixArt Optical Track Sensor, OTS, demo program for P9130 sensor with library. Imported and modified from P9126 demo program. Initial release v1.0.

Dependencies:   Pixart_OTS

Fork of OTS_P9130_Demo by Hill Chen

Committer:
PixArtHC
Date:
Wed Mar 06 21:25:04 2019 +0000
Revision:
5:1633d262b22f
Parent:
4:1b406caf9581
PixArt Optical Track Sensor, OTS, demo program for P9130 sensor with library. Imported and modified from P9126 demo program. 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 5:1633d262b22f 6 /* PAT9130EW: 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 5:1633d262b22f 25 static const Pixart_OTS_Model OTS_MODEL = PIXART_OTS_MODEL_9130;
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