Posts by johanan

    I have an "almost" working system with VNC server, using external Ethernet Wiznet module.
    All start working well, but at random, the send function is not called any more. I know that the Recv is working as the embedded device stil responses to mouse clicks on remote PC VNC client.
    It is also clear because setting a break point in the send() function does not hit.
    I have no idea why this error and how to debug as the

    GUI_VNC_Process(&_Context, _Send, _Recv, (void *)sock);

    function is pre compiled and all I do is provide the two functions send() recv() as callbacks.

    Any idea how to debug this? emWin version is 5.26 , STmicro version.
    Thanks
    Johanan

    I implemented VNC server on my device (STM32F4), and it works OK with VNC client on a windows PC.

    However when I try to use VNC app from my android phone, the display is black (cursor movements and clicks works from hand device).

    I tried about 4 different VNC clients on my phone, all with same result.

    Any Idea what could be the problem?

    Thanks

    I am trying to display Arabic, and it seems to almost work.

    I don't know Arabic, but the complain I get is that the characters should be connected but they are not.
    Can anyone explain this, why the chars are not connected if I use the correct Unicode or UTF8 ?
    Is there a solution?

    Also which fonts are best for Arabic to use by FontConvert? ( Courier New, Tahoma, etc.) ?

    Thanks

    I wonder how LISTVIEW_AddRow() manages memory.

    I can see it is working very well, whoever I have a table of data which I need to display, and this table adds one line per day.

    So when my program runs it loops on all the lines in this table and calls LISTVIEW_AddRow() for each line.

    What is the memory requirements, will my program crash after n days? (if AddRow allocates memory, it will fail some time)
    If yes, how to overcome (user can scroll up or down).
    Thanks,
    Johanan

    Working !!
    Thanks very much.
    I use FREERtos queue inside the call back routine, I find this to be stable, if it helps anyone:

    Johanan

    Thanks Sven,
    I tried your code and it works OK with simulation, but my code does not.
    Should I call GUI_PID_StoreState() only inside the callBack function?

    My code is simple but in another thread (FreeRtos, but only one task calling GUI_EXE)
    any idea why it does not work?

    Regards,

    For development, I am trying to simulate a mouse click on emWIn Windows simulation.
    It works fine on the embedded device, but will make it much easier for development if I can simulate on my pC.
    I tried this, but it does not work.

    Any idea how to accomplish this?
    Thanks.

    Touch screen is working well if a touch is done inside the widget area.
    I wonder if it is possible to have a touch event if the touch is near the widget, so if user touches the screen, a touch event will be triggered for the nearest widget.
    Is this possible?
    Thansk
    Johanan

    I would like to start getting notifications only after all widgets in a window are initialised.

    my current solution is to start a short timer at screen build, but I am looking for a more elegant solution.
    Any ideas?
    Thanks


    void do_notification(WM_MESSAGE * pMsg)
    {
    WM_HWIN hItem = 0;

    int NCode;
    int objIx, wmId;
    TcObject * pObj ;
    if(notificationsDisableTimer > 0)
    return ; // no notification fo a while - need to updat screen first
    .
    .
    .
    }


    static void cbScreen(WM_MESSAGE * pMsg) {
    int i;
    char * barMsg;
    TGuiQdata guiMSg ;
    switch (pMsg->MsgId)
    {

    case WM_INIT_DIALOG:
    initScreenObjects(pMsg);
    refreshScrennObjects(pMsg->hWin, 1);
    break;

    case WM_NOTIFY_PARENT:
    do_notification(pMsg);
    break;
    .
    .
    .
    }

    Is there a way to check the current used internal memory of the WM?
    This is for development time, I wish to make sure that I deleted all "old" windows, so I think that if I can monitor the internal memory usage, I will be able to make sure no garbage windows are there.
    Any other idea to verify?
    Thanks
    Johanan

    Hi,
    I am using GUI VNC server, and I can see that it sends all the screen on every small change. Is it possible to configure it so only the rectangles of changes will be sent to the client?
    For example, if i have a changing display of a counter, instead of sending just the area of the counter it sends all the screen, which is very inefficient.
    Thanks
    Johanan

    Hello,
    I am struggling with the implementation of SEND/ RECEIVE function for the GUI_VNC_Process( ..)
    Can you please clarify:
    send and receive should be blocking functions? in particular, send should return only after the packet has been completely send ?
    Should GUI_VNC_Procces be called in an endless loop or just once to set the pointers for the send and receive functions and exits ?

    My goal is to use VNC via UART to a remote PC, the remote PC has a small service to convert UART data to localhost TCP and the VNC viewer is set to localhost, so any details of the way that these 3 functions work (GUI_VNC_Proccess(), pfSend(), pfRec() ) will help.

    Thanks
    Johanan