Exemplo n.º 1
0
UINT32 vjpegEncoderCom_Callback(void)
{
#ifndef ECOS
	tt_sem_up(&g_vpJPEG.semEncoder);
#else
	cyg_semaphore_post(&g_vpJPEG.semEncoder);
#endif
	return 0;
}
Exemplo n.º 2
0
/* Available in: thread. */
void tt_pc_consume (TT_PC_T *pc, void (*consume) (void *arg), void *arg)
{
	tt_sem_down (&pc->consumer);

	if (consume != NULL)
		(*consume) (arg);
	
	tt_sem_up (&pc->producer);
}
Exemplo n.º 3
0
UINT32 vjpegDecoderErr_Callback(void)
{
#ifndef ECOS
	tt_sem_up(&g_vpJPEG.semDecoder);
#else
	g_DecodeStatus = false;
	cyg_semaphore_post(&g_vpJPEG.semDecoder);
#endif
	return 0;
}
Exemplo n.º 4
0
/* Available in: irq, thread. */
int tt_pc_try_consume (TT_PC_T *pc, void (*consume) (void *arg), void *arg)
{
	if (tt_sem_try_down (&pc->consumer) < 0)
		return -1;

	if (consume != NULL)
		(*consume) (arg);
	
	tt_sem_up (&pc->producer);

	return 0;
}
Exemplo n.º 5
0
/* Available in: thread. */
int tt_pc_consume_timeout (TT_PC_T *pc, void (*consume) (void *arg), void *arg, uint32_t msec)
{
	int rt = tt_sem_down_timeout (&pc->consumer, msec);

	if (rt == 0)
	{
		if (consume != NULL)
			(*consume) (arg);
		tt_sem_up (&pc->producer);
	}
	
	return rt;
}
Exemplo n.º 6
0
void thread_entry(void *arg)
{
	THREAD_ARG_T *the_arg = (THREAD_ARG_T *)arg;

	int start_ticks = tt_get_ticks ();
#define THREAD_RUN_MSEC 3000
	while (1)
	{
		int cur_ticks = tt_get_ticks ();
		if (tt_ticks_to_msec (cur_ticks - start_ticks) >= THREAD_RUN_MSEC)
			break;

		if(cur_ticks % 64 < 32)
			DrvGPIO_SetBit(the_arg->gpio_group, the_arg->gpio_bit);	/* Turn off LED */
		else
			DrvGPIO_ClrBit(the_arg->gpio_group, the_arg->gpio_bit);	/* Turn on LED */
	}

	tt_sem_up (the_arg->join_sem);
}
Exemplo n.º 7
0
void thread_entry(void *arg)
{
	THREAD_ARG_T *the_arg = (THREAD_ARG_T *)arg;

	tt_sem_down (the_arg->sem);
	while (1)
	{
		int cur_ticks = tt_get_ticks ();

		if (cur_ticks % 1024 < 4)
		{
			tt_sem_up (the_arg->sem);
			tt_thread_yield ();
			tt_sem_down (the_arg->sem);
		}

		if(cur_ticks % 64 < 32)
			the_arg->gpio_group->DOUT &= ~(1 << the_arg->gpio_bit);	/* Turn off LED */
		else
			the_arg->gpio_group->DOUT |= (1 << the_arg->gpio_bit);	/* Turn on LED */
	}
}