示例#1
0
//DWORD CSerialPort::RunThread()
void CSerialPort::run()
{
	long lLength;

	m_bRun = bOpen();
	m_bInRunThread = TRUE;
    
    qDebug() << "Interface : " << this->m_bNumInterface << " Thread : " << QThread::currentThreadId  ();
            
	while ( m_bRun )
	{
        
		if ((m_lSizeDataMax > 0) && (m_pRxBuffer != NULL))
		{
			if (bRead(m_pRxBuffer + m_lOffsetBuffer,m_lSizeDataMax - m_lOffsetBuffer,&lLength,FALSE))
			{
				m_lOffsetBuffer += lLength;
			}
			if (lDispatchTrame(m_pRxBuffer ,m_lOffsetBuffer) != 0)
			{
			}
			m_lOffsetBuffer = 0;	
		}
		else Sleep(1000);
	}
   
	Close();

//	return 0;
}
示例#2
0
//DWORD CCarteIO::RunThread()
void CCarteIO::run()
{
	m_bRun = bOpen();
    qDebug() << "Interface : " << this->m_bNumInterface << " Thread : " << QThread::currentThreadId  ();

	m_bInRunThread = TRUE;
	while (m_bRun)
	{
		if (m_ElemCycleStep.bExecuteBegin(m_bCanRead,m_bCanWrite,m_ExternalInterface))
		{
			m_bError = FALSE;
		}
		else
		{
			TRACE_DEBUG(eDebug,eComJBusMaster,_T(__FILE__),_T(__FUNCTION__),__LINE__,_T("BOOL CCarteIO::RunThread"));
			TRACE_DEBUG_IHM(eError,eComJBusMaster,eErrorCarteIOExecute);
			m_bError = TRUE;
		}
        QThread::msleep(m_dwDelay);
		if (m_ElemCycleStep.bExecuteEnd(m_bCanRead,m_bCanWrite,m_ExternalInterface))
		{
		}
		else
		{
			TRACE_DEBUG(eDebug,eComJBusMaster,_T(__FILE__),_T(__FUNCTION__),__LINE__,_T("BOOL CCarteIO::RunThread"));
			TRACE_DEBUG_IHM(eError,eComJBusMaster,eErrorCarteIOExecute);
		}
        QThread::msleep(m_dwDelay);
        while (m_bPause && m_bRun) QThread::msleep(m_dwDelay);
	}
	Close();

//	return 0;
}
示例#3
0
DWORD CSerialPort::RunThread()
{
	long lLength;

	m_bRun = bOpen();
	m_bInRunThread = TRUE;

	while ( m_bRun )
	{
		if ((m_lSizeDataMax > 0) && (m_pRxBuffer != NULL))
		{
			if (bRead(m_pRxBuffer + m_lOffsetBuffer,m_lSizeDataMax - m_lOffsetBuffer,&lLength,FALSE))
			{
				m_lOffsetBuffer += lLength;
			}
			if (lDispatchTrame(m_pRxBuffer ,m_lOffsetBuffer) != 0)
			{
			}
			m_lOffsetBuffer = 0;	
		}
		else Sleep(1000);
	}
	Close();

	return 0;
}
示例#4
0
static bool MENUinput(boxC& b)
{
 switch(inputK()) {
    case 27: netReset(); bOpen("main"); break;
    default: break;
 }

 return false;
}
示例#5
0
err_t
bpptree_create_dictionary(
		ion_dictionary_id_t 		id,
		key_type_t					key_type,
		int 						key_size,
		int 						value_size,
		int 						dictionary_size,
		ion_dictionary_compare_t 	compare,
		dictionary_handler_t 		*handler,
		dictionary_t 				*dictionary
)
{
	bpptree_t				*bpptree;
	bErrType				bErr;
	bOpenType				info;

	bpptree					= malloc(sizeof(bpptree_t));
	if (NULL == bpptree)
	{
		return err_out_of_memory;
	}

	char value_filename[20];
	bpptree_get_value_filename(id, value_filename);
	bpptree->values.file_handle		= ion_fopen(value_filename);
	
	bpptree->values.next_empty		= FILE_NULL;
		// FIXME: read this from a property bag.
	
	// FIXME: VARIABLE NAMES!
	char addr_filename[20];
	bpptree_get_addr_filename(id, addr_filename);
	info.iName					= addr_filename;
	info.keySize				= key_size;
	info.dupKeys				= boolean_false;
	// FIXME: HOW DO WE SET BLOCK SIZE?
	info.sectorSize				= 256;
	info.comp				= compare;
	
	if (bErrOk != (bErr = bOpen(info, &(bpptree->tree))))
	{
		return err_dictionary_initialization_failed;
	}

	dictionary->instance						= (dictionary_parent_t*) bpptree;
	dictionary->instance->compare 				= compare;
	dictionary->instance->key_type 				= key_type;
	dictionary->instance->record.key_size 		= key_size;
	dictionary->instance->record.value_size 	= value_size;
	//todo: need to check to make sure that the handler is registered
	dictionary->handler							= handler;		

	return err_ok;
}