예제 #1
0
파일: messaging.c 프로젝트: CRivlaldo/Kenny
void messaging_onMessageRead(unsigned char messageCode, unsigned char* parametersBuffer, unsigned short parametersBytesRead)
{
	switch((unsigned short) messageCode)
	{
		case MESSAGE_CODE_TEST_CONNECTION:
			testChannel();
			break;
		case MESSAGE_CODE_GET_VALUE_FROM_ULTRASONIC_SENSOR:
			getValueFromUltrasonicSensor(parametersBuffer[0]);
			break;
		case MESSAGE_CODE_GET_VALUES_FROM_MAGNETOMETER:
			getValuesFromMagnetometer();
			break;
		case MESSAGE_CODE_GET_VALUES_FROM_ACCELEROMETER:
			getValuesFromAccelerometer();
			break;
		case MESSAGE_CODE_GET_VALUES_FROM_GYROSCOPE:
			getValuesFromGyroscope();
			break;
		case MESSAGE_CODE_GET_BATTERY_VOLTAGE:
			getBatteryVoltage();
			break;
		case MESSAGE_CODE_GET_CHARGER_VOLTAGE:
			getChargerVoltage();
			break;
		case MESSAGE_CODE_CHANGE_MOTOR_STATE:
			changeMotorState(parametersBuffer[0], parametersBuffer[1]);
			break;
	}
}
예제 #2
0
MAD_STATUS madDspVct_linkdown
(
   IN MAD_DEV *dev, 
   IN  MAD_LPORT       port,
   OUT MAD_DSP_VCT_RESULT_STRUCT *madDspVctResultP
)
{
  int k = 0;
  int l = 0;
  char sw[64];		
  MAD_STATUS  retVal;

  MAD_U8 hwPort;

  MAD_CRITIC_INFO("@@@ Start madDspVct_linkdown (hold, and no pending mode) collect data \n");

    hwPort = MAD_LPORT_2_PORT(port);

    if(!(MAD_DEV_PORT_CHECK(dev, hwPort)))
    {
      MAD_DBG_INFO("The port %d is over range.\n", (int)port);
      return MAD_API_ERROR_OVER_PORT_RANGE;
    }

    if( !MAD_DEV_CAPABILITY(dev, MAD_PHY_DSP_VCT) ||
        !MAD_DEV_HWMODE(dev, hwPort, MAD_PHY_MODE_COPPER) )
    {
        MAD_DBG_ERROR("DSP VCT not supported.\n");
        return MAD_API_DSPVCT_NOT_SUPPORT;
    }

  for(k = 0; k <1; k++)
  {
    if((retVal = madHwWritePagedPhyReg(dev, hwPort,0xfc, 24,0x9555)) != MAD_OK)
    {
      MAD_DBG_ERROR("Reading from paged phy reg failed.\n");
      return retVal;
    }
    if((retVal = madHwWritePagedPhyReg(dev, hwPort,0xfc, 25,0x9575)) != MAD_OK)
    {
      MAD_DBG_ERROR("Reading from paged phy reg failed.\n");
      return retVal;
    }
    if((retVal = madHwWritePagedPhyReg(dev, hwPort,0xff, 17,0xdc0c)) != MAD_OK)
    {
      MAD_DBG_ERROR("Reading from paged phy reg failed.\n");
      return retVal;
    }
    if((retVal = madHwWritePagedPhyReg(dev, hwPort,0xff, 16,0x2159)) != MAD_OK)
    {
      MAD_DBG_ERROR("Reading from paged phy reg failed.\n");
      return retVal;
    }
    if((retVal = madHwWritePagedPhyReg(dev, hwPort,0xff, 17,0x0088)) != MAD_OK)
    {
      MAD_DBG_ERROR("Reading from paged phy reg failed.\n");
      return retVal;
    }
    if((retVal = madHwWritePagedPhyReg(dev, hwPort,0xff, 16,0x215d)) != MAD_OK)
    {
      MAD_DBG_ERROR("Reading from paged phy reg failed.\n");
      return retVal;
    }
    if((retVal = madHwWritePagedPhyReg(dev, hwPort,0xff, 17,0x8906)) != MAD_OK)
    {
      MAD_DBG_ERROR("Reading from paged phy reg failed.\n");
      return retVal;
    }
    if((retVal = madHwWritePagedPhyReg(dev, hwPort,0xff, 16,0x215b)) != MAD_OK)
    {
      MAD_DBG_ERROR("Reading from paged phy reg failed.\n");
      return retVal;
    }
    if((retVal = madHwWritePagedPhyReg(dev, hwPort,0xff, 17,0x2148)) != MAD_OK)
    {
      MAD_DBG_ERROR("Reading from paged phy reg failed.\n");
      return retVal;
    }
    if((retVal = madHwWritePagedPhyReg(dev, hwPort,0xff, 16,0x2144)) != MAD_OK)
    {
      MAD_DBG_ERROR("Reading from paged phy reg failed.\n");
      return retVal;
    }
    if((retVal = madHwWritePagedPhyReg(dev, hwPort,0xff, 17,0x8034)) != MAD_OK)
    {
      MAD_DBG_ERROR("Reading from paged phy reg failed.\n");
      return retVal;
    }
    if((retVal = madHwWritePagedPhyReg(dev, hwPort,0xff, 16,0x2141)) != MAD_OK)
    {
      MAD_DBG_ERROR("Reading from paged phy reg failed.\n");
      return retVal;
    }
    if((retVal = madHwWritePagedPhyReg(dev, hwPort,0xfb, 8,0x3606)) != MAD_OK)
    {
      MAD_DBG_ERROR("Reading from paged phy reg failed.\n");
      return retVal;
    }
    if((retVal = madHwWritePagedPhyReg(dev, hwPort,0, 16,0x3070)) != MAD_OK)
    {
      MAD_DBG_ERROR("Reading from paged phy reg failed.\n");
      return retVal;
    }
    if((retVal = madHwWritePagedPhyReg(dev, hwPort,0, 0,0x9140)) != MAD_OK)
    {
      MAD_DBG_ERROR("Reading from paged phy reg failed.\n");
      return retVal;
    }

    retVal = testChannel(dev, hwPort, sw, k, madDspVctResultP);

  }

  MAD_DBG_INFO("Exception ! File Syntax Error or Runtime Error!\n");
  return retVal;
}