# HG changeset patch # User jeandet@PC-DE-JEANDET.lab-lpp.local # Date 2012-11-21 18:40:07 # Node ID da27034d4b7832df43124df6fb09e411550f3a54 # Parent 565d4ea316415cf90d0cb3ad8a6b3714381bd2fb sync diff --git a/bsp/includes/BEAGLESYNTH/bsp.h b/bsp/includes/BEAGLESYNTH/bsp.h --- a/bsp/includes/BEAGLESYNTH/bsp.h +++ b/bsp/includes/BEAGLESYNTH/bsp.h @@ -49,6 +49,8 @@ #define PSU_ALERT_1_5V PF3 #define PSU_ALERT_3_3V PF4 +#define LCD_RESET PE2 + extern float VREF0; extern uint32_t currentCpuFreq; diff --git a/bsp/src/BEAGLESYNTH/bsp.c b/bsp/src/BEAGLESYNTH/bsp.c --- a/bsp/src/BEAGLESYNTH/bsp.c +++ b/bsp/src/BEAGLESYNTH/bsp.c @@ -36,8 +36,8 @@ extern streamdevice* __opnfiles__[__MAX_ LCD_t lcd0; LCD_IF_t lcdIF0; -volatile int16_t* lcd0_CMD=(volatile int16_t*)0x60000000; -volatile int16_t* lcd0_DATA=(volatile int16_t*)(0x60000000+(1<<20)); +volatile int16_t* lcd0_CMD=(volatile int16_t*) 0x60000000; +volatile int16_t* lcd0_DATA=(volatile int16_t*)(0x61FFFFF0); float VREF0 =(float)3.3; @@ -109,6 +109,11 @@ void bsp_FSMC_init() #define GPIOGETPORT(gpio) ((GPIO_TypeDef*)(((((uint32_t)gpio) & (uint32_t)0x0000FF00)*(uint32_t)4) + (uint32_t)GPIOA)) #define GPIOPORTNUM(gpio) (((uint32_t)(gpio) & (uint32_t)0x0000FF00)>>(uint32_t)8) + gpio_t gpio1 = gpioopen(LCD_RESET); + gpiosetspeed(&gpio1,gpiohighspeed); + gpiosetdir(&gpio1,gpiooutdir); + gpioclr(LCD_RESET); + gpio_t LCD_DBxList[]={PD14,PD15,PD0,PD1,PE7,PE8,PE9,PE10,PE11,PE12,PE13,PE14,PE15\ ,PD8,PD9,PD10,PD4,PD5,PD7,PE4}; for(int i=0;i<20;i++) @@ -167,6 +172,7 @@ void bsp_FSMC_init() lcdIF0.writereg=&bsp_lcd0_write_reg; lcd0.interface=&lcdIF0; lcd0.init=&ili9328init; + gpioset(LCD_RESET); lcd0.init(&lcd0); } @@ -219,10 +225,6 @@ void bsp_lcd0_write_reg(uint32_t reg,uin { *lcd0_CMD=(uint16_t)reg; *lcd0_DATA=(uint16_t)data; - printf("Write to 0x%x 0x%x\n\r",reg,data); - *lcd0_CMD=(uint16_t)reg; - data = *lcd0_DATA; - printf("Readback to 0x%x 0x%x\n\r",reg,data); } diff --git a/examples/BeagleSynthHello/main.c b/examples/BeagleSynthHello/main.c --- a/examples/BeagleSynthHello/main.c +++ b/examples/BeagleSynthHello/main.c @@ -16,40 +16,26 @@ int main() INA226_t ina5VSens,ina33VSens,ina15VSens; gpioset(PSU_DISABLE); volatile int16_t* regtest=(volatile int16_t*)0x60000000; - volatile int16_t* regtest2=(volatile int16_t*)(0x60000000+(1<<20)); + volatile int16_t* regtest2=(volatile int16_t*)(0x61FFFFF0); //ina226open(&ina5VSens,i2c2,INA226_MODE_SHUNT_VOLTAGE_CONTINUOUS|INA226_AVERAGES_16|INA226_BUS_CONV_8244us|INA226_SHUNT_CONV_8244us,0,0,15,1000000); //ina226open(&ina15VSens,i2c2,INA226_MODE_SHUNT_VOLTAGE_CONTINUOUS|INA226_AVERAGES_16|INA226_BUS_CONV_8244us|INA226_SHUNT_CONV_8244us,1,0,15,1000000); *regtest=(int16_t)0; printf("LCD ID=%x\n\r",0xFFFF&(*regtest2)); - *regtest=(int16_t)ILI9328_REGISTER_ENTRYMODE; - *regtest2=(int16_t)0x1008; + //*regtest=(int16_t)ILI9328_REGISTER_ENTRYMODE; + //*regtest2=(int16_t)0x1008; *regtest=(int16_t)0x20; *regtest2=(int16_t)0x0; *regtest=(int16_t)0x21; *regtest2=(int16_t)0x0; *regtest=(int16_t)0x22; - for(volatile int i=0;i<32;i++) + for(volatile int i=0;i<(320*240);i++) { - *regtest=(int16_t)0x20; *regtest2=(int16_t)i; - *regtest=(int16_t)0x21; - *regtest2=(int16_t)0x0; - *regtest=(int16_t)0x22; - *regtest2=(int16_t)-i; + for(volatile int l=0;l<(1024);l++); + } - *regtest=(int16_t)ILI9328_REGISTER_ENTRYMODE; - *regtest2=(int16_t)0x1018; - - for(volatile int i=0;i<32;i++) - { - *regtest=(int16_t)0x20; - *regtest2=(int16_t)i; - *regtest=(int16_t)0x21; - *regtest2=(int16_t)0x0; - *regtest=(int16_t)0x22; - int16_t test=*regtest2; - printf("DATA@%d=%x\n\r",i,0xFFFF&(*regtest2)); - } + //*regtest=(int16_t)ILI9328_REGISTER_ENTRYMODE; + //*regtest2=(int16_t)0x1018; if(-1==ina226open(&ina33VSens,i2c2,INA226_MODE_SHUNT_VOLTAGE_CONTINUOUS|INA226_AVERAGES_16|INA226_BUS_CONV_8244us|INA226_SHUNT_CONV_8244us,0,1,15,1000000)) {