コード例 #1
0
ファイル: test.c プロジェクト: adarqui/streamjs-c
void test_stream_filter(void) {
	stream_t *st;
	long count = 0;
	
	puts("Testing even filter (0-10):");
	st = stream_range(0, 10, 1);
	while(!stream_empty(st)) {
		st = stream_filter(st, stream_generic_filter_even, NULL);
		if(!st) break;
		printf("\t%p\n", (void *)stream_head(st));
		CU_ASSERT((void *)stream_head(st) == (void *)count);
		count += 2;
		st = stream_tail(st);
	}

	return;
}
コード例 #2
0
ファイル: usb.c プロジェクト: PolaricTracker/firmware
/* Main thread */
void usb_thread (void)
{
    for (;;)
    {
        bcond_wait(&usb_active);
        t_yield();
        int16_t c;
        while ((c = CDC_Device_ReceiveByte(&VirtualSerial_CDC_Interface)) > 0)
            stream_put(&cdc_instr, c);

        t_yield();
        while ( ! stream_empty(&cdc_outstr))
            CDC_Device_SendByte(&VirtualSerial_CDC_Interface, stream_get(&cdc_outstr));

        CDC_Device_USBTask(&VirtualSerial_CDC_Interface);
        USB_USBTask();
    }
}