#include #include "basic/basic.h" #include "lcd/lcd.h" #include "lcd/print.h" #include "lcd/allfonts.h" #include "filesystem/ff.h" #include "filesystem/select.h" #include "funk/nrf24l01p.h" #include "usb/usbmsc.h" #include /**************************************************************************/ #define MAXNICK 20 char nickname[MAXNICK]; void nick_init(void){ FIL file[2]; /* File objects */ UINT readbytes; int res; res=f_open(&file[0], "nick.cfg", FA_OPEN_EXISTING|FA_READ); lcdPrint("open:"); lcdPrintln(f_get_rc_string(res)); if(res){ lcdPrintln("no nick.cfg..."); return; }; res = f_read(&file[0], nickname, MAXNICK-1, &readbytes); lcdPrint("read:"); lcdPrintln(f_get_rc_string(res)); if(res){ return; }; nickname[MAXNICK-1]=0; // truncate at newline (or other control chars) for(int i=0;i"); lcdNl(); res=f_close(&file[0]); lcdPrint("close:"); lcdPrintln(f_get_rc_string(res)); if(res){ return; }; lcdPrintln("Done."); }; char fontname[15]; void f_nick(void){ static char ctr=0; char key; static signed char x=10; static signed char y=10; while (1) { lcdClear(); lcdFill(255); setExtFont(fontname); DoString(x,y,nickname); setIntFont(&Font_7x8); lcdSetCrsr(50,50); lcdPrintInt(x); lcdPrint("x"); lcdPrintInt(y); lcdDisplay(); __asm volatile ("WFI"); __asm volatile ("WFI"); __asm volatile ("WFI"); __asm volatile ("WFI"); key= getInputRaw(); if(key & BTN_UP){ --y;//if(--y<0) y=0; }; if (key & BTN_DOWN){ ++y;//if(++y>=RESY) y=RESY-1; }; if (key & BTN_LEFT){ --x;//if(--x<0) x=0; }; if (key & BTN_RIGHT){ ++x;//if(++x>=RESX) x=RESX-1; }; if (key == BTN_ENTER){ lcdClear(); lcdPrintln("Done."); lcdDisplay(); ctr++; break; }; }; }; void f_font(void){ if( selectFile(fontname,"F0N") != 0){ lcdPrintln("No file selected."); return; }; lcdClear(); lcdPrintln(fontname); setExtFont(fontname); lcdPrintln("PUabc€"); setIntFont(&Font_7x8); lcdPrintln("done."); lcdDisplay(); while(!getInputRaw())delayms(10); }; void f_speedtest(void){ lcdClear(); lcdPrintln("Speedtest"); lcdNl(); lcdNl(); lcdPrintln("running..."); int start=getTimer(); int ctr=0; while(ctr++<1000){ lcdRefresh(); }; start=getTimer()-start; lcdPrint("Ticks:"); lcdPrintln(IntToStr(start,6,0)); lcdPrint("Tickspd:"); lcdPrintln(IntToStr(SYSTICKSPEED,3,0)); lcdRefresh(); getInputWait(); getInputWaitRelease(); }; void f_speedtest2(void){ lcdClear(); lcdPrintln("Speedtest"); lcdNl(); lcdNl(); lcdPrintln("running..."); int start=getTimer(); int ctr=0; int tm; while(!getInputRaw()){ ctr++; tm=((getTimer()-start)*SYSTICKSPEED)*1000/ctr; DoInt(0,32,tm); lcdRefresh(); }; getInputWaitRelease(); };