|
|
#include <stdio.h>
|
|
|
#include <fat32.h>
|
|
|
#include <gpio.h>
|
|
|
#include <uart.h>
|
|
|
#include <stm32f4xx.h>
|
|
|
#include <math.h>
|
|
|
#include <bsp.h>
|
|
|
#include <i2c.h>
|
|
|
#include <CS43L22.h>
|
|
|
#include <STMPE811.h>
|
|
|
#include <ina226.h>
|
|
|
#include <fonts.h>
|
|
|
#include <stdlib.h>
|
|
|
#include <core.h>
|
|
|
#include <terminal.h>
|
|
|
|
|
|
extern streamdevice* __opnfiles__[__MAX_OPENED_FILES__];
|
|
|
|
|
|
#define LCD_COLOR_WHITE 0xFFFF
|
|
|
#define LCD_COLOR_BLACK 0x0000
|
|
|
#define LCD_COLOR_GREY 0xF7DE
|
|
|
#define LCD_COLOR_BLUE 0x001F
|
|
|
#define LCD_COLOR_BLUE2 0x051F
|
|
|
#define LCD_COLOR_RED 0xF800
|
|
|
#define LCD_COLOR_MAGENTA 0xF81F
|
|
|
#define LCD_COLOR_GREEN 0x07E0
|
|
|
#define LCD_COLOR_CYAN 0x7FFF
|
|
|
#define LCD_COLOR_YELLOW 0xFFE0
|
|
|
|
|
|
void testAudioDAC()
|
|
|
{
|
|
|
CS43L22_t dac;
|
|
|
cs43l22open(&dac,i2c1,0);
|
|
|
uint8_t ID= cs43l22getID(&dac);
|
|
|
printf("dac ID = %d\n\r",ID);
|
|
|
}
|
|
|
|
|
|
void testIOEXPender()
|
|
|
{
|
|
|
STMPE811_t ioexp1,ioexp2;
|
|
|
char data[2]={0,0};
|
|
|
i2cwrite(i2c1,0x50,data,1);
|
|
|
|
|
|
//i2cread(i2c1,0x88,data,2);
|
|
|
// stmpe811init(&ioexp1,i2c1,0);
|
|
|
// stmpe811init(&ioexp2,i2c1,1);
|
|
|
// printf("Scan for IOEXPANDER:\n\r ID1=%d\n\rID2=%d",stmpe811getID(&ioexp1),stmpe811getID(&ioexp2));
|
|
|
}
|
|
|
|
|
|
int _terminal_writenc(terminal_t* terminal,char* data, int n)
|
|
|
{
|
|
|
#define CHARXPOS(terminal,charwidth) (((terminal)->column * charwidth) + (terminal)->Xpos)
|
|
|
#define CHARYPOS(terminal,charheight) ((terminal)->line * charheight + (terminal)->Ypos+charheight)
|
|
|
int charw=terminal->font->Width + terminal->horizontalSpace;
|
|
|
int charh=terminal->font->Height + terminal->verticalSpace;
|
|
|
int l=0;
|
|
|
char buffer[2]=" ";
|
|
|
while(l<n)
|
|
|
{
|
|
|
|
|
|
buffer[0]=data[l];
|
|
|
if(buffer[0]=='\n')
|
|
|
{
|
|
|
terminal->line= (terminal->line+1) % terminal->lineCount;
|
|
|
terminal->column = 0;
|
|
|
// if(terminal->line==0)
|
|
|
// terminal_clear(terminal);
|
|
|
// else
|
|
|
// terminal_clearCurentLine(terminal);
|
|
|
}else {
|
|
|
if(buffer[0]=='\t')
|
|
|
{
|
|
|
for(int i=0;i<1;i++)terminal_movecursor(terminal,1);
|
|
|
}
|
|
|
// else
|
|
|
// if(terminal->column==0)terminal_clearCurentLine(terminal);
|
|
|
if(buffer[0]!='\r'){
|
|
|
// terminal->LCD->paintFilRect(terminal->LCD,CHARXPOS(terminal,charw),CHARYPOS(terminal, charh)-charh,charw,charh,terminal->backgroundColor,0,terminal->backgroundColor);
|
|
|
terminal->LCD->paintText(terminal->LCD,buffer,CHARXPOS(terminal,charw),(CHARYPOS(terminal, charh))-(terminal->verticalSpace/2),terminal->font,terminal->textColor);
|
|
|
terminal_movecursor(terminal,1);
|
|
|
}
|
|
|
}
|
|
|
l++;
|
|
|
}
|
|
|
return n;
|
|
|
}
|
|
|
|
|
|
int main()
|
|
|
{
|
|
|
delay_100us(10000);
|
|
|
uint16_t innerbuffer[16];
|
|
|
uint16_t outterbuffer[16];
|
|
|
for(int i=0;i<16;i++)innerbuffer[i]=LCD_COLOR_BLUE;
|
|
|
for(int i=0;i<16;i++)outterbuffer[i]=LCD_COLOR_RED;
|
|
|
ili9328paintFilRect(&lcd0,0,0,240,320,LCD_COLOR_CYAN,5,LCD_COLOR_BLACK);
|
|
|
|
|
|
streamdevice* fd1=__opnfiles__[1];
|
|
|
streamdevice fd2;
|
|
|
int i=0;
|
|
|
terminal_t terminal0,terminal1;
|
|
|
terminal_init(&terminal0,&lcd0,&ComicSansMS_18,fd1);
|
|
|
//terminal_init(&terminal1,&lcd0,&ComicSansMS_18,&fd2);
|
|
|
terminal_setgeometry(&terminal0,5,5,terminal0.LCD->width-10,(terminal0.LCD->height)-10);
|
|
|
//terminal_setbackgroundColor(&terminal1,0xFFFF);
|
|
|
//terminal_settextColor(&terminal1,0x0000);
|
|
|
//terminal_setgeometry(&terminal1,5,(terminal0.LCD->height/2)+5,terminal0.LCD->width-10,(terminal0.LCD->height/2)-10);
|
|
|
printf("Line cnt :\n \t%d\n",terminal0.lineCount);
|
|
|
printf("Column cnt :\n \t%d\n",terminal0.columnCount);
|
|
|
printf("CPU Freq :\n \t%dMHz\n",getCpuFreq()/1000000);
|
|
|
//testAudioDAC();
|
|
|
for(int i=0;i<240;i++)
|
|
|
{
|
|
|
lcd0.paintFilRect(&lcd0,i,0,1,320,0,0,i);
|
|
|
}
|
|
|
lcd0.paintText(&lcd0,"A",100,100,&ComicSansMS_24,0);
|
|
|
while(1)_terminal_writenc(&terminal0,"test ",5);
|
|
|
return 0;
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|