Esempio n. 1
0
void
DataInitWithBytes(Data self, unsigned char *bytes, long length)
{
	DataInit(self);
	/*@-mustfreeonly @*/
	self->_base = bytes;
	/*@=mustfreeonly @*/
	self->_length = length;
}
Esempio n. 2
0
Data
DataCreate(void)
{
	Data self;

	if ((self = calloc(1, sizeof (*self))) == NULL)
		return NULL;

	DataInit(self);
	/*@-type@*/
	self->destroy = free;
	/*@=type@*/

	return self;
}
Esempio n. 3
0
int
main(int argc, char **argv)
{
	Data a;
	struct data data;
	static unsigned char sample[] = { 1, 2, 3, 4 };

	printf("\n--Data--\n");

	printf("init local stack object\n");
	DataInit(&data);

	printf("destroy local stack object\n");
	data.destroy(&data);

	printf("create dynamic object");
	isNotNull((a = DataCreate()));

	printf("destroy dynamic object\n");
	a->destroy(a);

	printf("\nDataCreateCopyBytes()");
	isNotNull(a = DataCreateCopyBytes(sample, sizeof (sample)));

	printf("length equals original...%s\n", (size_t) a->length(a) == sizeof (sample) ? "OK" : "FAIL");
	printf("content same as original...%s\n", memcmp(a->base(a), sample, sizeof (sample)) == 0 ? "OK" : "FAIL");

	printf("destroy a\n");
	a->destroy(a);

	printf("\nDataCreateCopyString()");
	isNotNull(a = DataCreateCopyString("sample"));

	printf("length equals original...%s\n", (size_t) a->length(a) == sizeof ("sample") ? "OK" : "FAIL");
	printf("length equals strlen()+1...%s\n", (size_t) a->length(a) == strlen("sample")+1 ? "OK" : "FAIL");

	printf("memcmp() with original...%s\n", memcmp(a->base(a), "sample", (long) sizeof ("sample")) == 0 ? "OK" : "FAIL");
	printf("strcmp() with original...%s\n", strcmp(a->base(a), "sample") == 0 ? "OK" : "FAIL");

	printf("destroy a\n");
	a->destroy(a);

	printf("\n--DONE--\n");

	return 0;
}
Esempio n. 4
0
void TestSetGeneratorMainFlow()
{
    Knapsack_T   knapsack;
    TopList_T      topList;

    GetTopListFile();
        
    for( resourceType = 0; resourceType<RESOURCE_TYPE_NUM; resourceType++)
    {
        DataInit(&knapsack, &topList); 

        KnapsackCombinationSearch(&knapsack, &topList);

        TopListPrint(&topList);
    } 
    
    fclose(topList_fp);
}
Esempio n. 5
0
File: main.c Progetto: oldjohnh/car
int main(void)
{

	SystemClockSetup(ClockSource_EX50M,CoreClock_100M);
	DelayInit();
	OLED_Init();
	Sd_Init();
	chuinit_Init();
	DataInit();
	Data_Uart_Init();
	
	while(1)
	{
		Menu_Init();
		//ccd测试
		while(Flag == 1)
		{
			if(TIME1flag_20ms == 1)
			{
				TIME1flag_20ms = 0;
				ImageCapture(P1);
//				Sd_X();
//				Sd_D();
//				UART_Send_Con();
				oled_collect();
				oled_show();
			}
			CCD_HeiXian();
			OLED_ZhongXian();
			OLED_Write_Num3(4,0,Center);
			OLED_Write_Num3(0,0,Left);
			OLED_Write_Num3(9,0,Right);
			OLED_Write_Num3(0,2,AverageValue);

			if(Key_1 == 0) //发车
			{
				DelayMs(100);
				if(Key_1 == 0)
				{
					OLED_Clear();
					Flag = 2;
					SD_X = 0;
					PIT_Start(PIT1);
				}
			}
			if(Key_down == 0) //菜单
			{
				DelayMs(100);
				if(Key_down == 0)
				{
					OLED_Clear();
					Flag = 0;
					PIT_Stop(PIT1);
					FTM_PWM_ChangeDuty(FTM1_CH0_PB0,0);
					FTM_PWM_ChangeDuty(FTM1_CH1_PB1,0);
				}
			}
			if(Key_up == 0) //SD 发车
			{
				DelayMs(100);
				if(Key_up == 0)
				{
					SD_Flag = !SD_Flag;
					if(SD_Flag) OLED_Write_String(2,2,"SD running");
					else 				OLED_Write_String(2,2,"SD stopping");
				}
			}
			if(Key_right == 0) //上位机
			{
				DelayMs(100);
				if(Key_right == 0)
				{
					while(1)
					{
						OLED_Clear();
						Sd_D();
						UART_Send_Con();
					}
				}
			}
		}
		
	//发车
		while(Flag == 2)
		{
			if(TIME1flag_20ms == 1)
			{
				TIME1flag_20ms = 0;
				ImageCapture(P1);
				Sd_X();
			}
			CCD_HeiXian();
			if(leixin == 0)
			{
				if (jiasuflag <= jiasu_Num) FTM_PWM_ChangeDuty(FTM1_CH0_PB0,5000);
				else 								 				FTM_PWM_ChangeDuty(FTM1_CH0_PB0,FTMDuty_1);
			}
			if(leixin == 1) 
			{
				if (jiansuflag <= jiansu_Num)
				{
					FTM_PWM_ChangeDuty(FTM1_CH0_PB0,0);
					FTM_PWM_ChangeDuty(FTM1_CH1_PB1,100);
				}
//				else if(zhidaoflag_save < 200 && jiansuflag <= a6)
//				{
//					FTM_PWM_ChangeDuty(FTM1_CH0_PB0,0);
//				}
				else FTM_PWM_ChangeDuty(FTM1_CH0_PB0,FTMDuty_2);
			}
			if(Key_down == 0) //菜单
			{
				DelayMs(100);
				if(Key_down == 0)
				{
					OLED_Clear();
					Flag = 0;
					PIT_Stop(PIT1);
					FTM_PWM_ChangeDuty(FTM1_CH0_PB0,0);
					FTM_PWM_ChangeDuty(FTM1_CH1_PB1,0);
				}
			}
		}
	}
}
Esempio n. 6
0
void SkJS::InitializeDisplayables(const SkBitmap& bitmap, JSContext *cx, JSObject *obj, JSObject *proto) {
    SkJSDisplayable::gCanvas = new SkCanvas(bitmap);
    SkJSDisplayable::gPaint = new SkPaint();
#if SK_USE_CONDENSED_INFO == 0
    GenerateTables();
#else
    SkASSERT(0); // !!! compressed version hasn't been implemented
#endif
    AddInit(cx, obj, proto);
    AddCircleInit(cx, obj, proto);
    AddOvalInit(cx, obj, proto);
    AddPathInit(cx, obj, proto);
    AddRectangleInit(cx, obj, proto);
    AddRoundRectInit(cx, obj, proto);
//  AfterInit(cx, obj, proto);
    ApplyInit(cx, obj, proto);
    // AnimateInit(cx, obj, proto);
//  AnimateColorInit(cx, obj, proto);
    AnimateFieldInit(cx, obj, proto);
//  AnimateRotateInit(cx, obj, proto);
//  AnimateScaleInit(cx, obj, proto);
//  AnimateTranslateInit(cx, obj, proto);
    BitmapInit(cx, obj, proto);
//  BaseBitmapInit(cx, obj, proto);
//  BeforeInit(cx, obj, proto);
    BitmapShaderInit(cx, obj, proto);
    BlurInit(cx, obj, proto);
    ClipInit(cx, obj, proto);
    ColorInit(cx, obj, proto);
    CubicToInit(cx, obj, proto);
    DashInit(cx, obj, proto);
    DataInit(cx, obj, proto);
//  DimensionsInit(cx, obj, proto);
    DiscreteInit(cx, obj, proto);
    DrawToInit(cx, obj, proto);
    EmbossInit(cx, obj, proto);
    EventInit(cx, obj, proto);
//  FontInit(cx, obj, proto);
//  FocusInit(cx, obj, proto);
    ImageInit(cx, obj, proto);
    IncludeInit(cx, obj, proto);
//  InputInit(cx, obj, proto);
    LineInit(cx, obj, proto);
    LinearGradientInit(cx, obj, proto);
    LineToInit(cx, obj, proto);
    MatrixInit(cx, obj, proto);
    MoveInit(cx, obj, proto);
    MoveToInit(cx, obj, proto);
    OvalInit(cx, obj, proto);
    PathInit(cx, obj, proto);
    PaintInit(cx, obj, proto);
    DrawPointInit(cx, obj, proto);
    PolyToPolyInit(cx, obj, proto);
    PolygonInit(cx, obj, proto);
    PolylineInit(cx, obj, proto);
    PostInit(cx, obj, proto);
    QuadToInit(cx, obj, proto);
    RadialGradientInit(cx, obj, proto);
    RandomInit(cx, obj, proto);
    RectToRectInit(cx, obj, proto);
    RectangleInit(cx, obj, proto);
    RemoveInit(cx, obj, proto);
    ReplaceInit(cx, obj, proto);
    RotateInit(cx, obj, proto);
    RoundRectInit(cx, obj, proto);
    ScaleInit(cx, obj, proto);
    SetInit(cx, obj, proto);
    SkewInit(cx, obj, proto);
    // 3D_CameraInit(cx, obj, proto);
    // 3D_PatchInit(cx, obj, proto);
    SnapshotInit(cx, obj, proto);
//  StrokeInit(cx, obj, proto);
    TextInit(cx, obj, proto);
    TextOnPathInit(cx, obj, proto);
    TextToPathInit(cx, obj, proto);
    TranslateInit(cx, obj, proto);
//  UseInit(cx, obj, proto);
}
Esempio n. 7
0
File: main.c Progetto: oldjohnh/car
int main(void)
{

	SystemClockSetup(ClockSource_EX50M,CoreClock_100M);
	DelayInit();
	OLED_Init();
	Sd_Init();
	chuinit_Init();
	DataInit();
	Data_Uart_Init();
	
	while(1)
	{
		Menu_Init();
		//ccd
		while(Flag == 1)
		{
			if(TIME1flag_20ms == 1)
			{
				TIME1flag_20ms = 0;
				ImageCapture(Pixel);
//				Sd_X();
//				Sd_D();
//				UART_Send_Con();
				erzhi();
				LB();
				oled_collect();
				oled_show();
			}
			CCD_HeiXian();
			OLED_ZhongXian();
			OLED_Write_Num3(4,0,Center);
			OLED_Write_Num3(0,0,Left);
			OLED_Write_Num3(9,0,Right);
			if(Key_1 == 0) //??
			{
				DelayMs(100);
				if(Key_1 == 0)
				{
					OLED_Clear();
					Flag = 2;
					SD_X = 0;
					PIT_Start(PIT1);
				}
			}
			if(Key_down == 0) //发车
			{
				DelayMs(100);
				if(Key_down == 0)
				{
					OLED_Clear();
					Flag = 0;
					PIT_Stop(PIT1);
					FTM_PWM_ChangeDuty(FTM1_CH0_PB0,0);
				}
			}
			if(Key_right == 0) //上位机
			{
				DelayMs(100);
				if(Key_right == 0)
				{
					while(1)
					{
						OLED_Clear();
						Sd_D();
						UART_Send_Con();
						FTM_PWM_ChangeDuty(FTM1_CH0_PB0,0);
					}
				}
			}
		}
		
	//发车
		while(Flag == 2)
		{
			if(TIME1flag_20ms==1)
			{
				TIME1flag_20ms=0;
				ImageCapture(Pixel);
				erzhi();
				LB();
				Sd_X();
			}
			CCD_HeiXian();
			if(leixin == 0) 
			{
				if(jiasuflag <= a4) FTM_PWM_ChangeDuty(FTM1_CH0_PB0,5000);
				if(jiasuflag >  a4) FTM_PWM_ChangeDuty(FTM1_CH0_PB0,FTMDuty_1);
			}
			if(leixin == 1) 
			{
				if(jiansuflag <= a3) FTM_PWM_ChangeDuty(FTM1_CH0_PB0,0);
				if(jiansuflag >  a3) FTM_PWM_ChangeDuty(FTM1_CH0_PB0,FTMDuty_2);
			}
			if(Key_down == 0)//菜单
			{
				DelayMs(100);
				if(Key_down == 0)
				{
					OLED_Clear();
					Flag = 0;
					PIT_Stop(PIT1);
					FTM_PWM_ChangeDuty(FTM1_CH0_PB0,0);
				}
			}
		}
	}
}
Esempio n. 8
0
File: main.c Progetto: oldjohnh/car
int main(void)
{

	SystemClockSetup(ClockSource_EX50M,CoreClock_100M);
	DelayInit();
	OLED_Init();
	Sd_Init();
	chuinit_Init();
	DataInit();
	Data_Uart_Init();
	
	while(1)
	{
		Menu_Init();
		//ccd测试
		while(Flag == 1)
		{
			if(TIME1flag_20ms==1)
			{
				TIME1flag_20ms=0;
				ImageCapture(Pixel);
//				Sd_X();
//				Sd_D();
//				UART_Send_Con();
				erzhi();
				LB();
				oled_collect();
				oled_show();
			}
			CCD_HeiXian();
			OLED_ZhongXian();
			if(Key_1 == 0) //发车
			{
				DelayMs(100);
				if(Key_1 == 0)
				{
					OLED_Clear();
					Flag = 2;
					SD_X = 0;
					PIT_Start(PIT1);
				}
			}
			if(Key_down == 0) //菜单
			{
				DelayMs(100);
				if(Key_down == 0)
				{
					OLED_Clear();
					Flag = 0;
					PIT_Stop(PIT1);
					FTM_PWM_ChangeDuty(FTM1_CH0_PB0,0);
				}
			}
		}
		
	//发车
		while(Flag == 2)
		{
			if(TIME1flag_20ms==1)
			{
				TIME1flag_20ms=0;
				ImageCapture(Pixel);
				erzhi();
				LB();
//				Sd_X();
			}
			CCD_HeiXian();
			if(Center - 64 >= 7 || 63 - Center >= 7) FTM_PWM_ChangeDuty(FTM1_CH0_PB0,FTMDuty_2);
			if(Center - 64 <= 7 || 63 - Center >= 7) FTM_PWM_ChangeDuty(FTM1_CH0_PB0,FTMDuty_1);
			if(Key_down == 0)//菜单
			{
				DelayMs(100);
				if(Key_down == 0)
				{
					OLED_Clear();
					Flag = 0;
					PIT_Stop(PIT1);
					FTM_PWM_ChangeDuty(FTM1_CH0_PB0,0);
				}
			}
		}
//			while(SD_Flag)
//			{
//				Sd_D();
//				UART_Send_Con();
//			}
	}
}