https://bitbucket.org/daniel_fort/magic-lantern
Raw File
Tip revision: 1f7e3ce8c2262b99d55478832cc4719270036b2e authored by alex@thinkpad on 05 February 2017, 00:37:58 UTC
Function task annotations (autogenerated).
Tip revision: 1f7e3ce
vsync-lite.c
/** 
 * Vsync for LiveView - to be called from state-object.c
 * 
 **/

#include "dryos.h"

static struct msg_queue * vsync_msg_queue = 0;


/*** ? ***/
/*** Called from state-object.c:stateobj_lv_spy () ***/
void lv_vsync_signal()
{
    msg_queue_post(vsync_msg_queue, 1);
}

/*** livev_hiprio_task ***/
void lv_vsync(int mz)
{
    #if defined(CONFIG_DIGIC_V) || defined(CONFIG_60D)
    int msg;
    msg_queue_receive(vsync_msg_queue, (struct event**)&msg, 100);
    #else
    static int k = 0; k++;
    msleep(mz ? (k % 50 == 0 ? MIN_MSLEEP : 10) : MIN_MSLEEP);
    #endif
}

/*** ml_init ***/
static void vsync_init()
{
    vsync_msg_queue = (void*)msg_queue_create("vsync_mq", 1);
}

INIT_FUNC("vsync", vsync_init);
back to top