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:
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?

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