Initial Release of Library for PAT9125 OTS on L476RG Platform
Dependencies: mbed
Diff: main.cpp
- Revision:
- 15:089f1d28d152
- Parent:
- 9:53b4b362cbb8
- Child:
- 16:7bea34dc0356
--- a/main.cpp Fri Oct 20 01:48:20 2017 +0000 +++ b/main.cpp Fri Oct 20 10:58:39 2017 +0000 @@ -19,18 +19,25 @@ #include "pat9125_i2c.h" #include "pat9125_mbed.h" +#define LCM_MODE + pat9125_mbed_state_s g_pat9125_mbed_state ; pat9125_mbed *gp_pat9125_mbed ; -pixart_lcm *gp_pixart_lcm ; +pixart_lcm *gp_pixart_lcm = NULL; +Serial *serial = NULL ; +#ifdef LCM_MODE +SPI spi(SPI_MOSI, SPI_MISO, SPI_SCK); +#else +Serial pc(USBTX, USBRX); +#endif -Serial pc(USBTX, USBRX); #define I2C_SDA_PIN I2C_SDA #define I2C_SCL_PIN I2C_SCL -//DigitalIn sdaDummy(I2C_SDA0, PullUp); -//DigitalIn sclDummy(I2C_SCL0, PullUp); +//DigitalIn sdaDummy(I2C_SDA_PIN, PullUp); +//DigitalIn sclDummy(I2C_SCL_PIN, PullUp); pat9125_i2c *gp_pat9125_i2c;//(I2C_SDA0, I2C_SCL0); -SPI spi(PA_7, NC, PA_5); + DigitalOut PIN_LCM_CSB(PB_6); DigitalOut PIN_LCM_RSTB(PA_9); @@ -38,8 +45,11 @@ InterruptIn PIN_SEN_MOTION(PB_3); DigitalIn motionDummy(PB_3, PullUp); + DigitalIn PIN_BTN_L(PA_0); +DigitalIn BTN_L_Dummy(PA_0, PullUp); DigitalIn PIN_BTN_R(PA_1); +DigitalIn BTN_R_Dummy(PA_1, PullUp); DigitalOut PIN_GLED(PA_10); DigitalOut PIN_RLED(PB_4); @@ -48,12 +58,11 @@ //----------------------------------------------------------------------- int main(void) { + int i = 0; char addr = 0; char data ; - pc.set_flow_control(SerialBase::Disabled) ; - pc.baud(115200); - pc.printf("---------- Pixart PAT9125 Demo\n"); +#ifdef LCM_MODE // +++++++ LCM Initialization +++++++ // // Chip must be deselected PIN_LCM_CSB = 1 ; @@ -64,12 +73,17 @@ spi.frequency(1000000); gp_pixart_lcm = new pixart_lcm(&spi, &PIN_LCM_CSB, &PIN_LCM_RSTB, &PIN_LCM_RS) ; // ------- LCM Initialization ------- // - +#else + serial = &pc ; + //pc.set_flow_control(SerialBase::Disabled) ; + pc.baud(115200); + pc.printf("---------- Pixart PAT9125 Demo\n"); +#endif // +++++++ PAT9125 Initialization +++++++ // gp_pat9125_i2c = new pat9125_i2c(I2C_SDA_PIN, I2C_SCL_PIN); gp_pat9125_i2c->frequency(400000); g_pat9125_mbed_state.p_i2c = gp_pat9125_i2c; - g_pat9125_mbed_state.p_pc = &pc; + g_pat9125_mbed_state.p_pc = serial; g_pat9125_mbed_state.pBTN_L = &PIN_BTN_L ; g_pat9125_mbed_state.pBTN_R = &PIN_BTN_R ; g_pat9125_mbed_state.pINT = &PIN_SEN_MOTION; @@ -79,9 +93,10 @@ g_pat9125_mbed_state.slave_id = (I2C_ADDRESS << 1); g_pat9125_mbed_state.sen_status = 0; - gp_pat9125_mbed = new pat9125_mbed(&g_pat9125_mbed_state) ; + gp_pat9125_mbed = new pat9125_mbed(&g_pat9125_mbed_state) ; +#ifdef LCM_MODE gp_pixart_lcm->LCM_DisplayString_Boot(g_pat9125_mbed_state.sen_status); - +#else if(g_pat9125_mbed_state.sen_status == true) { pc.printf("Initial Sensor ... Done\n"); @@ -90,8 +105,10 @@ { pc.printf("Initial Sensor ... Fail\n"); } +#endif while(true) { gp_pat9125_mbed->task(); } + }