Exemplo n.º 1
0
size_t LinkFrame::ReadUserData(byte_t* apBuffer) const
{
	assert(this->mIsComplete);
	size_t user_bytes = mHeader.GetLength() - LS_MIN_LENGTH;
	ReadUserData(mpBuffer+LS_HEADER_SIZE, apBuffer, user_bytes);
	return user_bytes;
}
Exemplo n.º 2
0
void LinkFrame::ReadUserData(const byte_t* apSrc, byte_t* apDest, size_t aLength)
{
	if(aLength == 0) return;	//base case of recursion
	size_t max = LS_DATA_BLOCK_SIZE;
	size_t num = (aLength <= max) ? aLength : max;
	size_t num_with_crc = num + 2;
	memcpy(apDest, apSrc, num);
	ReadUserData(apSrc+num_with_crc, apDest+num, aLength-num); //tail recursive
}
Exemplo n.º 3
0
void InitUserData(void) 
{
	char Idx;
	for (Idx = 0; Idx < PLAYER_COUNT; Idx++) {
		ALLBITS |= (1<<Idx);
	}

	if (READINTVALUE(UD_FIRSTRUN_FLAG) == FIRSTRUN_FLAG) {
		ReadUserData();
		if (GetCharValue(UD_START_SAVE)) {
			RecoverPlayerData();
		}
		if (GetCharValue(UD_UNSAVE_SCORE)) {
			SaveBetWinScore();
		}
	} else {
		ClearUserData();
		SetIntValue(UD_FIRSTRUN_FLAG, FIRSTRUN_FLAG);
	}
#ifdef _NO_PRINT
	SetCharValue(UD_IF_PRINT, 0);
#endif

#ifdef _TEST_
#define Debug lite_printf
	//ClearUserData();
	//SetIntValue(UD_FIRSTRUN_FLAG, FIRSTRUN_FLAG);-
	SetCharValue(UD_IF_PRINT, 0);
	//SetCharValue(UD_BETTIME, 5);
	//SetCharValue(UD_EXTRA_CODE_DIFFICULT, 1);	// 外5门设定难度
	//SetIntValue(UD_ROUNDLOSS_BOOM, 1000000);		// 当轮输爆机
	//SetIntValue(UD_STAGEWIN_BOOM, 20000000);		// 当期max loss
	//SetIntValue(UD_STAGELOSS_BOOM, 300000000);		// 当期max win
//	for (Idx = 0; Idx < UD_MAXCHAR_STATE; Idx++) {
//		Debug("%p = %d/%d\n", UserDataCharArray + Idx, READCHARVALUE(Idx), UserDataCharArray[Idx]);
//	}
//	for (Idx = 0; Idx < UD_MAXSHORT_STATE; Idx++) {
//		Debug("%p = %d/%d\n", UserDataShortArray + Idx, READSHORTVALUE(Idx), UserDataShortArray[Idx]);
//	}
	for (Idx = 0; Idx < UD_MAXINT_STATE; Idx++) {
		Debug("%p = %d/%d\n", UserDataIntArray + Idx, READINTVALUE(Idx), UserDataIntArray[Idx]);
	}
//	for (Idx = 0; Idx < UD_MAXLONGLONG_STATE; Idx++) {
//		Debug("%p = %d/", UserDataLongLongArray + Idx, READLONGLONGVALUE(Idx));
//		Debug("%d\n", UserDataLongLongArray[Idx]);
//	}
Debug("UUID:\n");
	for (Idx = 0; Idx < USB_PLAYER_COUNT; Idx++) {
		Debug("%p:%d/%d\n", UserDataIntArray+UD_INVALID_INT+Idx, GetIntValue(UD_USB_UUID+Idx), READINTVALUE(UD_USB_UUID+Idx));
	}
	
	SetIntValue(UD_USB_UUID + 5, 123456);
	SetIntValue(UD_USB_UUID + 6, 876543210);
#endif
}
Exemplo n.º 4
0
/***************************************************************************************************
*FunctionName: activityResume
*Description: 界面恢复显示时要做的事
*Input: 
*Output: 
*Return: 
*Author: xsx
*Date: 2016年12月21日09:01:58
***************************************************************************************************/
static void activityResume(void)
{
	/*读取所有操作人*/
	ReadUserData(S_UserPageBuffer->user);
	
	S_UserPageBuffer->pageindex = 1;
	S_UserPageBuffer->selectindex = 0;
	
	ShowList();
	SelectUser(S_UserPageBuffer->selectindex);
		
	AddNumOfSongToList(9, 0);
	
	SelectPage(84);
}
Exemplo n.º 5
0
/***************************************************************************************************
*FunctionName: activityStart
*Description: 显示主界面
*Input: 
*Output: 
*Return: 
*Author: xsx
*Date: 2016年12月21日09:00:32
***************************************************************************************************/
static void activityStart(void)
{
	/*获取当前测试的数据指针*/
	S_UserPageBuffer->currenttestdata = GetCurrentTestItem();
	S_UserPageBuffer->currenttestdata->statues = status_user;
	
	/*读取所有操作人*/
	ReadUserData(S_UserPageBuffer->user);
	
	S_UserPageBuffer->pageindex = 1;
	S_UserPageBuffer->selectindex = 0;
	
	ShowList();
	SelectUser(S_UserPageBuffer->selectindex);
		
	AddNumOfSongToList(9, 0);
	
	SelectPage(84);
}