[elektro] FT800 kerdes - toggle funkcio hogyan mukodik?

elight at gmail.hu elight at gmail.hu
Thu May 8 15:01:48 CEST 2014


Szia

nem parametereztél el valamit?

kapcsold ki a 3D -t pl mert az növeli a méretet
és lehetnek a  nem látható részen esetleg dolgok.. stb...

Az alap függvény az FTDI c++  mintaprogramból átírva PIC C -re :


void FT_CMD_Toggle( unsigned int  x, unsigned int  y, unsigned int  w, 
unsigned int  font, unsigned int options, unsigned int state, char* s)
{
   FT800_CMD_Start_WR( FT_CMD_SIZE*4 +  str_charnum_count( s ) + 1);
   FT800_CMD_Func_Send32(  CMD_TOGGLE);
   FT800_CMD_Func_Send32(  (((unsigned long)y<<16)|x));
   FT800_CMD_Func_Send32(  (((unsigned long)font<<16)|w));
   FT800_CMD_Func_Send32(  (((unsigned long)state<<16)|options));
   FT800_CMD_Func_SendSTR(  s );
   FT800_CMD_Func_End( (FT_CMD_SIZE*4 +  str_charnum_count( s ) + 1));
}

És a használatára álljon is egy kis display demó részlet...
ezzel jól tesztelhetők a paraméterek , feltéve ha változtatod őket...

// ---------------  TOGGLE BUTTON  TEST by GERCO Elektronika

    for ( jj = 0; jj < 12 ; jj++ )
   {
    if( ( jj & 0x01)  == 0 )
    {
      FT_cmd(CMD_DLSTART);                         //coproc list start
      FT_cmd(COLOR_RGB(50, 100, 33)); // change color to
      FT_cmd(CLEAR(1, 1, 1)); // clear screen
      FT_cmd(END());
      FT_cmd_fgcolor( COLOR_RGB(100,100,100) );
      FT_cmd_gradcolor( COLOR_RGB( 200,200,50 ));
      FT_cmd_Button(300, 10, 140, 100, 31, 0, "On!");     //
      FT_cmd_toggle(60, 20, 33, 27, 0, 65535, "no" "\xff" "yes");
      FT_cmd_toggle(60, 60, 33, 27, 0, 0, "no" "\xff" "yes");
      FT_CMD_Text(20, 200,   31, 0, "SWITCH TESZT");
      FT_cmd(END());
      FT_cmd(DISPLAY()); // display the image
      FT_cmd( CMD_SWAP );
      delay_ms(1000);
    }
    else
    {
       FT_cmd(CMD_DLSTART);                         //coproc list start
       FT_cmd(COLOR_RGB(50, 100, 33)); // change color to
       FT_cmd(CLEAR(1, 1, 1)); // clear screen
       FT_cmd(END());
       FT_cmd_fgcolor( COLOR_RGB(50,50,50) );
       FT_cmd_gradcolor( COLOR_RGB( 200,200,50 ));
       FT_cmd_Button(300, 10, 140, 100, 31, 0, "Off!");     //
       FT_cmd_toggle(60, 20, 33, 27, 0, 0, "no" "\xff" "yes");
       FT_cmd_toggle(60, 60, 33, 27, 0, 65535, "no" "\xff" "yes");
         FT_CMD_Text(20, 200,   31, 0, "SWITCH TESZT");
       FT_cmd(END());
       FT_cmd(DISPLAY()); // display the image
       FT_cmd( CMD_SWAP );
       delay_ms(1000);
    }
   }

//----------------------------------------


Természetesen a változókat dekralálni kell
és valamicske főprogramot is illik, ahol inicializálsz mindent... :-)
Ez csak a grafika kezelés , a touch-ot is be kell fűzni
ha nyomógombként szeretnéd nyomkodni..
Az billegeti a ( jj & 0x01)  értéket.
De gondolom a kérdés alapján nem kell magyarázni..
Szóval ez szerintem grafikailag  tuti hogy megy...

vagy használd a Mikroe VisualTft-t .. ott behúzod,
és csípőből megy.

Üdv István




2014-05-08 14:27 keltezéssel, Moravcsik Szilard írta:
> Sziasztok!
>
> Kezd aktuálissá válni az első "igazi" feladat egy xmega + FT800 EVE chip
> párossal. Januárban már játszottam vele, de most vettem észre, hogy a
> TOGGLE kapcsoló funkció nem jelenik meg helyesen. Valahogy a megadott
> szöveg nem látszik, illetve csak részben, a gombot sem tudom
> jobbra/balra átkapcsolni, szóval totál csőd.
>
> Ha már használta valaki és van működő toggle függvénye, program
> részlete, stb., elküldené?
>
> Üdv:
> Szilárd
>
>
> -----------------------------------------
>            elektro[-flame|-etc]
>



More information about the Elektro mailing list