void
usage() {
	xSerialxPrintf_P(&xSerialPort,PSTR("E-Kermit %s\r\n"),VERSION);
	xSerialxPrintf_P(&xSerialPort,PSTR("Usage: %s <options>\r\n"),xname);
    xSerialxPrint_P(&xSerialPort,PSTR("Options:\r\n"));
    xSerialxPrint_P(&xSerialPort,PSTR(" -r           Receive files\r\n"));
#ifndef RECVONLY
    xSerialxPrint_P(&xSerialPort,PSTR(" -s <files>   Send files\r\n"));
#endif /* RECVONLY */
    xSerialxPrint_P(&xSerialPort,PSTR(" -p [neoms]   Parity: none, even, odd, mark, space\r\n"));
#ifdef F_CRC
    xSerialxPrint_P(&xSerialPort,PSTR(" -b [1235]    Block check type: 1, 2, 3, or 5\r\n"));
#endif /* F_CRC */
    xSerialxPrint_P(&xSerialPort,PSTR(" -k           Keep incompletely received files\r\n"));
    xSerialxPrint_P(&xSerialPort,PSTR(" -B           Force binary mode\r\n"));
    xSerialxPrint_P(&xSerialPort,PSTR(" -T           Force text mode\r\n"));
    xSerialxPrint_P(&xSerialPort,PSTR(" -R           Remote mode (vs local)\r\n"));
    xSerialxPrint_P(&xSerialPort,PSTR(" -L           Local mode (vs remote)\r\n"));
#ifdef DEBUG
    xSerialxPrint_P(&xSerialPort,PSTR(" -E <number>  Simulated error rate (0-100)\r\n"));
    xSerialxPrint_P(&xSerialPort,PSTR(" -d           Create debug.log\r\n"));
#endif /* DEBUG */
    xSerialxPrint_P(&xSerialPort,PSTR(" -h           Help (this message)\r\n"));
    doexit(FAILURE);
}
void
fatal(char *msg1, char *msg2, char *msg3) { /* Not to be called except */
    if (msg1) {				    /* from this module */
    	xSerialxPrintf_P(&xSerialPort,PSTR("%s: %s"),xname,msg1);
	if (msg2) xSerialxPrintf_P(&xSerialPort,PSTR("%s"),msg2);
	if (msg3) xSerialxPrintf_P(&xSerialPort,PSTR("%s"),msg3);
	xSerialxPrint_P(&xSerialPort,PSTR("\n"));
    }
    doexit(FAILURE);
}
	ERRORTYPE SensorManager::printResultsStdOut()
	{
		ERRORTYPE eRet =  ET_OK;

		//iterate through each sensor
		for(uint8_t u8SensorNo = 0; u8SensorNo < m_sConfig.u8SensorCount; ++u8SensorNo)
		{
			//iterate through each measurment data type which is provided by the sensor
			for(uint8_t u8MeasDataNo = 0; u8MeasDataNo < m_sConfig.pSensorList[u8SensorNo]->getMeasDataCount(); ++u8MeasDataNo)
			{
				ISensor::MeasurementDataInfo eMeasDataInfo = m_sConfig.pSensorList[u8SensorNo]->getMeasDataInfo(u8MeasDataNo);
				uint32_t u32Result = m_sConfig.pSensorList[u8SensorNo]->getResult(eMeasDataInfo.eMeasDataType);

				xSemaphoreTake(xConsoleMutex, portMAX_DELAY);
				xSerialPrint_P(PSTR("|Sensor Mgr| "));
				xSerialPrint_P(eMeasDataInfo.psMeasDataDescription);
				xSerialxPrintf_P( &xSerialPort, PSTR(" = %lu "),u32Result);
				xSerialPrint_P(eMeasDataInfo.psUnits);
				xSerialPrint_P(PSTR("\r\n"));
				xSemaphoreGive(xConsoleMutex);
			}
		}

		return eRet;
	}
	ERRORTYPE SensorManager::run()
	{
		ERRORTYPE eRet =  ET_OK;

		for(uint8_t u8Loop = 0; u8Loop < m_sConfig.u8SensorCount; ++u8Loop)
		{
			eRet = m_sConfig.pSensorList[u8Loop]->run();

			if(ET_OK != eRet)
			{
				xSemaphoreTake(xConsoleMutex, portMAX_DELAY);
				xSerialPrint_P(PSTR("/SENSOR MGR/ "));
				xSerialPrint_P(m_sConfig.pSensorList[u8Loop]->getMeasDataInfo(0).psMeasDataDescription);
				xSerialxPrintf_P( &xSerialPort, PSTR(", in state %u, encountered problems.\r\n"),m_sConfig.pSensorList[u8Loop]->getSensorState());
				xSemaphoreGive(xConsoleMutex);
				break;
			}
		}


		if( (ET_OK == eRet) &&
			(pdTRUE == xTaskCheckForTimeOut(&m_sLastResultPrintTimestamp, &m_sPrintResultsTimeout)))
		{
			this->printResultsStdOut();

			vTaskSetTimeOutState(&m_sLastResultPrintTimestamp);
			m_sPrintResultsTimeout = m_sConfig.sPrintResultsTimeout;
		}

		return eRet;
	}
// see xbee/device.h for documentation
xbee_wpan_debug
int _xbee_handle_transmit_status( xbee_dev_t *xbee,
	const void FAR *payload, uint16_t length, void FAR *context)
{
	#ifdef XBEE_DEVICE_VERBOSE
		const xbee_frame_transmit_status_t FAR *frame = payload;
	#else
		XBEE_UNUSED_PARAMETER( payload);
	#endif

	// standard XBee frame handler; stub isn't using any parameters yet
	XBEE_UNUSED_PARAMETER( xbee);
	XBEE_UNUSED_PARAMETER( length);
	XBEE_UNUSED_PARAMETER( context);

	// it may be necessary to push information up to user code so they know when
	// a packet has been received or if it didn't make it out
	#ifdef XBEE_DEVICE_VERBOSE
	xSerialxPrintf_P( &xSerial1Port, PSTR( "%s: id 0x%02x to 0x%04x retries=%d del=0x%02x disc=0x%02x\n"),
			__FUNCTION__, frame->frame_id,
			be16toh( frame->network_address_be), frame->retries, frame->delivery,
			frame->discovery);
	#endif

	return 0;
}
示例#6
0
文件: main.c 项目: MitchyJ/unoRTOS
/*-----------------------------------------------------------*/
static void TaskBlinkGreenLED(void *pvParameters) // Main Green LED Flash
{
    (void) pvParameters;;
    portTickType xLastWakeTime;
	/* The xLastWakeTime variable needs to be initialised with the current tick
	count.  Note that this is the only time we access this variable.  From this
	point on xLastWakeTime is managed automatically by the vTaskDelayUntil()
	API function. */
	xLastWakeTime = xTaskGetTickCount();

	DDRB |= _BV(DDB5);

    while(1)
    {
    	PORTB |=  _BV(PORTB5);       // main (red PB5) LED on. Arduino LED on
		vTaskDelayUntil( &xLastWakeTime, ( 500 / portTICK_RATE_MS ) );

		PORTB &= ~_BV(PORTB5);       // main (red PB5) LED off. Arduino LED off
		vTaskDelayUntil( &xLastWakeTime, ( 500 / portTICK_RATE_MS )  );

		xSerialxPrintf_P(&xSerialPort, PSTR("Current Timestamp: %lu xTaskGetTickCount(): %u\r\n"), time(NULL), xTaskGetTickCount());
    }
}
/*** EndHeader */
bool_t xbee_ser_invalid( xbee_serial_t *serial)
{
	bool_t disabled;

	if (serial)
	{
		disabled = 1;
		switch (serial->usart)
		{
			case USART0:
				disabled = FALSE;
				break;

#if defined(__AVR_ATmega324P__) || defined(__AVR_ATmega644P__) || defined(__AVR_ATmega1284P__) || defined(__AVR_ATmega324PA__) || defined(__AVR_ATmega644PA__) || defined(__AVR_ATmega640__) || defined(__AVR_ATmega1280__) || defined(__AVR_ATmega1281__) || defined(__AVR_ATmega2560__) || defined(__AVR_ATmega2561__)
			case USART1:
				disabled = FALSE;
				break;
#endif

			default:
				disabled = TRUE;
				break;
		}

		#ifdef XBEE_SERIAL_VERBOSE
	      if (disabled)
	      {
	    	  xSerialxPrintf_P( &xSerial1Port, PSTR("ERROR: Support for port %c not compiled in.  " \
					"Define XBEE_ON_USART%c and recompile.\n"), serial->usart + '0',
					serial->usart + '0');
	      }
	   #endif
		return disabled;
	}
	return TRUE;
}