コード例 #1
0
ファイル: SegDisp.cpp プロジェクト: shaferA/SegDisp
//show a floating point number for a speficied amount of time
void SegDisp::showFloat(float num, int dec, int ms, char align){
	int d[4] = {sd_EMPTY, sd_EMPTY, sd_EMPTY, sd_EMPTY};
	/*
	Errors
	*/
	if (dec > 3 || dec < 0){
		Error(3);
	}
	else if (num > 9999){
		Error(4);
	}
	else if (num < -999){
		Error(5);
	}
	else if (align!='L' && align!='R'){
		Error(6);
	}
	else if (ms < 0){
		Error(7);
	}
	dec = splitFloat(num,d,dec);
	if (align!='L'){
		dec = dec + moveRight(d);
	}
	showSequence(numbers[d[0]],numbers[d[1]],numbers[d[2]],numbers[d[3]],ms,dec);
}
コード例 #2
0
ファイル: inserter.cpp プロジェクト: AnarNFT/books-code
int main() {
    std::list<int> aList(5, 0);     // 5 Nullen

    std::cout << "aList.size() = "
              << aList.size() << std::endl;

    showSequence(aList);
    std::list<int> aList2;         // leer

    copyadd(aList.begin(), aList.end(), 
            std::inserter(aList2, aList2.begin()));

    std::cout << "aList2.size() = "
              << aList2.size() << std::endl;

    showSequence(aList2);
}
コード例 #3
0
ファイル: htmhelper.cpp プロジェクト: sarbjit-longia/ahuman
void HtmHelper::showAcceptWithoutPrediction( int layerPos , int h , int v , HtmSequence *cs , HtmSequence *csa , int action )
{
	Xml xml = logger.getLogSettings();
	String s = xml.getProperty( "showAcceptActions" , "" );
	char l_buf[ 10 ];
	sprintf( l_buf , "%d" , action );
	if( strstr( s , l_buf ) == NULL )
		return;

	int layer = xml.getIntProperty( "showLayer" , -1 );
	if( layer >= 0 && layer != layerPos )
		return;

	String area = String( "l" ) + layerPos + "-h" + h + "-v" + v;
	logger.logDebug( area + ": action=" + action );
	showSequence( "current" , cs );
	showSequence( "stored" , csa );
}
コード例 #4
0
ファイル: SegDisp.cpp プロジェクト: shaferA/SegDisp
//displays "Err" for a specified amount of time
void SegDisp::Error(int code){
	/*
	create the error patterns
	*/
	int e[7] = {1,1,0,1,1,1,0};
	int r[7] = {0,0,0,1,1,0,0};
	/*
	this holds individual digits when we split the error code
	*/
	int d[4] = {sd_EMPTY,sd_EMPTY,sd_EMPTY,sd_EMPTY};
	/*
	Split the error code into its individual digits, storing the results in d
	*/
	splitInteger(code,d);
	/*
	enter infinite loop showing "Err" and the code
	*/
	while (true){
		showSequence(e,r,r,numbers[sd_EMPTY],1500);
		showSequence(numbers[d[0]],numbers[d[1]],numbers[d[2]],numbers[d[3]],1500);
	}	
}
コード例 #5
0
ファイル: SegDisp.cpp プロジェクト: shaferA/SegDisp
//show 2, 2-digit numbers
void SegDisp::showTime(int a, int b, int ms, bool leading){
	int d[4] = {10, 10, 10, 10};
	/*
	show applicable error messages
	*/
	if (a > 99 || a < 0){
		Error(16);
	}
	if (b > 99 || b < 0){
		Error(17);
	}
	if (ms < 0){
		Error(18);
	}
	/*
	turn on the colon
	*/
	colonOn();
	/*
	get the individual digits
	*/
	if (a > 9){
		d[0] = a / 10;
		d[1] = a - d[0]*10;
	}
	else if (leading){
		d[0] = 0;
		d[1] = a;
	}
	else{
		d[1] = a;
	}
	if (b>9){
		d[2] = b / 10;
		d[3] = b - d[2]*10;
	}
	else{
		d[2] = 0;
		d[3] = b;
	}
	/*
	show the sequence
	*/
	showSequence(numbers[d[0]],numbers[d[1]],numbers[d[2]],numbers[d[3]],ms,-1);
	/*
	turn off the colon
	*/
	colonOff();
}
コード例 #6
0
ファイル: htmhelper.cpp プロジェクト: sarbjit-longia/ahuman
void HtmHelper::showLayer( String title , HtmLayer *layer )
{
	Xml xml = logger.getLogSettings();
	int layerPos = xml.getIntProperty( "showLayer" , -1 );
	if( layerPos >= 0 && layer -> getLayerPos() != layerPos )
		return;

	logger.logDebug( title + " - sequences are:" );
	HtmLayerMemory *lm = layer -> getMemory();

	int n = lm -> getSequenceCount();
	for( int k = 0; k < n; k++ )
		{
			HtmSequence *seq = lm -> getSequenceByPos( k );
			showSequence( String( "s[" ) + k + "]" , seq );
		}
}
コード例 #7
0
ファイル: SegDisp.cpp プロジェクト: shaferA/SegDisp
//show integer for a specified amount of time
void SegDisp::showInteger(int num, int ms, char align){
	int d[4] = {sd_EMPTY, sd_EMPTY, sd_EMPTY, sd_EMPTY};
	if (num > 9999){
		Error(8);
	}
	else if (num < -999){
		Error(9);
	}
	else if (align!='L' && align!='R'){
		Error(10);
	}
	else if(ms < 0){
		Error(11);
	}
	splitInteger(num, d);
	
	//handle alignment
	if (align=='L'){
		moveLeft(d);
	}
	
	showSequence(numbers[d[0]],numbers[d[1]],numbers[d[2]],numbers[d[3]],ms,-1);
}
コード例 #8
0
ファイル: SegDisp.cpp プロジェクト: shaferA/SegDisp
//make dot optional
void SegDisp::showSequence(int pattern1[7], int pattern2[7], int pattern3[7], int pattern4[7], int ms){
	showSequence(pattern1,pattern2,pattern3,pattern4,ms,-1);
}