📄 fm_test.c
字号:
}void PaintBi_ValueBitmap(unsigned char* pp,int x,int y,int width,int high,int color0,int color1){ int i,j,k,l; unsigned char tmp; for(j=0;j<high;j++) { for(i=0;i<width/8;i++) { k=*(pp+j*width/8+i); tmp=0x80; for(l=0;l<8;l++) { if(l>0) tmp=tmp>>1; if(((tmp&k)&0xff)!=0) { DrawPoint(i*8+l+x,j+y,color1); } else { DrawPoint(i*8+l+x,j+y,color0); } } } }}void Paint_Screen(unsigned char *pp,int x,int y){ PaintBitmap(pp,x,y,SCRWIDE,SCRHIGH);}void Display_a_digit24(unsigned int x,unsigned int y,char digit,int color,int bcolor){ int buf,bpos,i,j,tmp=0x80; int tx,ty; bpos=digit*48; tx=x; ty=y; for(i=0;i<24;i++) { buf=digitfont24x16[2*i+bpos]; for(j=0;j<8;j++) { if(tmp&buf) { DrawPoint(tx,ty,color); } else { DrawPoint(tx,ty,bcolor); } tx++; tmp=tmp>>1; } tmp=0x80; buf=digitfont24x16[2*i+bpos+1]; for(j=0;j<8;j++) { if(tmp&buf) { DrawPoint(tx,ty,color); } else { DrawPoint(tx,ty,bcolor); } tx++; tmp=tmp>>1; } tx=x; ty++; tmp=0x80; }}void Display_a_number24(unsigned int x,unsigned int y,char length,int number,int color,int bcolor){ int buf; int l=length; int px=x,py=y; int num; if(length==1) { buf=10; } else if(length==2) { buf=100; } else if(length==3) { buf=1000; } else if(length==4) { buf=10000; } else if(length==5) { buf=100000; } else { printf("Too large to show!\n"); return; } number%=buf; buf/=10; num=number; while(((number/buf)==0)&&(l>0)&&(buf>1)) { buf/=10; l--; px+=16; } while(l>0) { Display_a_digit24(px,py,num/buf,color,bcolor); l--; px+=16; num%=buf; buf/=10; }}void Display_a_star24(unsigned int x,unsigned int y,int color,int bcolor){ int buf,i,j,tmp=0x80; int tx,ty; tx=x; ty=y; for(i=0;i<24;i++) { buf=star24[2*i]; for(j=0;j<8;j++) { if(tmp&buf) { DrawPoint(tx,ty,color); } else { DrawPoint(tx,ty,bcolor); } tx++; tmp=tmp>>1; } tmp=0x80; buf=star24[2*i+1]; for(j=0;j<8;j++) { if(tmp&buf) { DrawPoint(tx,ty,color); } else { DrawPoint(tx,ty,bcolor); } tx++; tmp=tmp>>1; } tx=x; ty++; tmp=0x80; }}//------------------------------------------------------// Load Shuttle driver//------------------------------------------------------unsigned char Load_FM_Driver(){ pid_t pid; if((pid=vfork())<0)
{
perror("Vfork error in FM load"); return 0;
exit(1);
}
else if (pid==0)
{
printf("Load FM driver_fm_test\n"); execl("/sbin/insmod","insmod","/usr/kb/fm.ko",NULL); return 1;
exit(1);
} return 1;}//------------------------------------------------------// Make Shuttle DEV file//------------------------------------------------------unsigned char Make_FM_DevFile(){ pid_t pid; if((pid=vfork())<0)
{
perror("Vfork error in FM_fm_test make"); return 0;
exit(1);
}
else if (pid==0)
{
printf("make FM file_fm_test\n"); execl("/bin/mknod","mknod","/dev/fm","c","251","0",NULL); return 1;
exit(1);
} return 1;}//------------------------------------------------------// Remove FM DEV file//------------------------------------------------------unsigned char Remove_FM_DevFile(){ pid_t pid; if((pid=vfork())<0)
{
perror("Vfork error in FM remove"); return 0;
exit(1);
}
else if (pid==0)
{
printf("Remove FM file_fm_test_fm_test\n"); execl("/sbin/rmmod","rmmod","fm",NULL); return 1;
exit(1);
} return 1;}//------------------------------------------------------// Remove FM file//------------------------------------------------------unsigned char Remove_FM_File(){ pid_t pid; if((pid=vfork())<0)
{
perror("Vfork error in FM remove"); return 0;
exit(1);
}
else if (pid==0)
{
printf("Remove FM file_fm_test\n"); execl("/bin/rm","rm","/dev/fm",NULL); return 1;
exit(1);
} return 1;}//------------------------------------------------------// Load MLG driver//------------------------------------------------------unsigned char Load_MLG_Driver(){ pid_t pid; if((pid=vfork())<0)
{
perror("Vfork error in MLG load"); return 0;
exit(1);
}
else if (pid==0)
{
printf("Load MLG driver_MLG_test\n"); execl("/sbin/insmod","insmod","/usr/kb/mlg.ko",NULL); return 1;
exit(1);
} return 1;}//------------------------------------------------------// Make MLG DEV file//------------------------------------------------------unsigned char Make_MLG_DevFile(){ pid_t pid; if((pid=vfork())<0)
{
perror("Vfork error in MLG_test make"); return 0;
exit(1);
}
else if (pid==0)
{
printf("make MLG file_MLG_test\n"); execl("/bin/mknod","mknod","/dev/mlg","c","250","0",NULL); return 1;
exit(1);
} return 1;}//------------------------------------------------------// Remove MLG DEV file//------------------------------------------------------unsigned char Remove_MLG_DevFile(){ pid_t pid; if((pid=vfork())<0)
{
perror("Vfork error in MLG remove"); return 0;
exit(1);
}
else if (pid==0)
{
printf("Remove MLG file_MLG_test_MLG_test\n"); execl("/sbin/rmmod","rmmod","mlg",NULL); return 1;
exit(1);
} return 1;}//------------------------------------------------------// Remove MLG file//------------------------------------------------------unsigned char Remove_MLG_File(){ pid_t pid; if((pid=vfork())<0)
{
perror("Vfork error in MLG remove"); return 0;
exit(1);
}
else if (pid==0)
{
printf("Remove MLG file_fm_test\n"); execl("/bin/rm","rm","/dev/mlg",NULL); return 1;
exit(1);
} return 1;}//------------------------------------------------------// Load Keyboard driver//------------------------------------------------------unsigned char Load_Keyboard_Driver(){ pid_t pid; if((pid=vfork())<0)
{
perror("Vfork error in LCD load"); return 0;
exit(1);
}
else if (pid==0)
{
printf("Load Keyboard driver_fm_test\n"); execl("/sbin/insmod","insmod","/usr/kb/Keyboard.ko",NULL); return 1;
exit(1);
} return 1;}//------------------------------------------------------// Make Keyboard DEV file//------------------------------------------------------unsigned char Make_Keyboard_DevFile(){ pid_t pid; if((pid=vfork())<0)
{
perror("Vfork error in Keyboard make"); return 0;
exit(1);
}
else if (pid==0)
{
printf("make Keyboard file_fm_test\n"); execl("/bin/mknod","mknod","/dev/Keyboard","c","252","0",NULL); return 1;
exit(1);
} return 1;}//------------------------------------------------------// Remove Keyboard DEV file//------------------------------------------------------unsigned char Remove_Keyboard_DevFile(){ pid_t pid; if((pid=vfork())<0)
{
perror("Vfork error in Keyboard remove"); return 0;
exit(1);
}
else if (pid==0)
{
printf("Remove Keyboard file_fm_test\n"); execl("/sbin/rmmod","rmmod","Keyboard",NULL); return 1;
exit(1);
} return 1;}//------------------------------------------------------// Remove Keyboard file//------------------------------------------------------unsigned char Remove_Keyboard_File(){ pid_t pid; if((pid=vfork())<0)
{
perror("Vfork error in Keyboard remove"); return 0;
exit(1);
}
else if (pid==0)
{
printf("Remove Keyboard_fm_test file\n"); execl("/bin/rm","rm","/dev/Keyboard",NULL); return 1;
exit(1);
} return 1;}void Goto_Node(int index){ Current_Node=index;}void Para_Setup(){ int i,ret,pi,inx; int fd; int status; unsigned char KBCbuf[10]; printf("parameters setup\n"); close(fk); close(fmd); close(fl);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -