Example #1
0
void lambda_auswerten(char *buffer) {

  char * nextWordPtr;
  int i;
  //printf("%s\r\n",buffer);
  if( countchr(buffer, ';') != 4) {
    if(strncmp(buffer, WATCHDAG_ERROR_STRING, strlen(WATCHDAG_ERROR_STRING)) == 0) {
      sprintf(O2Mem.cur_value, "ERROR" );
      _status.Watchdog = 1;
      lambda_state = 0;
    }
    return;
  }
  
  nextWordPtr = strtok(buffer, ";"); // split using space as divider
  _lambda = atoi(nextWordPtr);
  
  nextWordPtr = strtok(NULL,";");
  _ref = atoi(nextWordPtr);
 
  nextWordPtr = strtok(NULL,";");
  _bat = atoi(nextWordPtr);
 
  nextWordPtr = strtok(NULL,";");
  _status.data = atoi(nextWordPtr);  

  nextWordPtr = strtok(NULL,";");
  _cj.data = atoi(nextWordPtr);  
  
   _Ubetrieb = (1.22/_ref)*1023;
  _Ubat = ((5.0 * 4.9) / 1023) * _bat;
   
   
  if(lambda_fehler()){
    sprintf(O2Mem.cur_value, "ERROR" );
    
  }else if(lambda_state == RUNNING) {
    
    _Ip =  (_lambda * 1.22)/(250.0*17.0*62.0);  //in A
    
    _o2 = (_Ip*1000.0+0.035)/0.1221;
    //printf("  %u : %f : %f\r\n",_lambda, _Ip, _o2);
    sprintf(O2Mem.cur_value, "%3.1f%%", _o2);
    for(i=126;i>0;i--) {
        O2Mem.Mem[i+1] = O2Mem.Mem[i];
       
    }
    O2Mem.Mem[1] = O2Mem.Mem[0];
    O2Mem.Mem[0] = _o2;
  } else {
    sprintf(O2Mem.cur_value, "STOP");
  }
  
}
Example #2
0
uint32_t GetClanFromStatstring(char *text) {
	char blah[8], *tmp;

	if (countchr(text, ' ') == 3) {
		tmp = strrchr(text, ' ');
		if (!tmp)
			return 0;
		strncpy(blah, tmp + 1, sizeof(blah));
		return *(uint32_t *)blah;
	}
	return 0;
}
Example #3
0
File: 905.c Project: shtyd/syspro
int
string_split( char *str, char del, int *countp, char ***vecp  )
{
	char **vec ;
	int  count_max, i, len ;
	char *s, *p ;

	if( str == 0 )
		return( -1 );
	count_max = countchr(str,del)+1 ;
	vec = malloc( sizeof(char *)*(count_max+1) );
	if( vec == 0 )
		return( -1 );

	for( i=0 ; i<count_max ; i++ )
	{
		while( *str == del )
			str ++ ;
		if( *str == 0 )
			break;
		for( p = str ; *p!=del && *p!=0 ; p++ )
			continue;
		/* *p == del || *p=='\0' */
		len =  p - str ;
		s = malloc( len+1 );
		if( s == 0 )
		{
			int j ;
			for( j=0 ; j<i; j++ )
			{
				free( vec[j] );
				vec[j] = 0 ;
			}
			return( -1 );
		}
		memcpy( s, str, len );
		s[len] = 0 ;
		vec[i] = s ;
		str = p ;
	}
	vec[i] = 0 ;
	*countp = i ;
	*vecp = vec ;
	return( i );
}