コード例 #1
0
ファイル: SPIJNI.cpp プロジェクト: FRC3238/allwpilib
/*
 * Class:     edu_wpi_first_wpilibj_hal_SPIJNI
 * Method:    spiInitialize
 * Signature: (B)V
 */
JNIEXPORT void JNICALL Java_edu_wpi_first_wpilibj_hal_SPIJNI_spiInitialize
  (JNIEnv * env, jclass, jbyte port)
{
	SPIJNI_LOG(logDEBUG) << "Calling SPIJNI spiInitialize";
	SPIJNI_LOG(logDEBUG) << "Port = " << (jint) port;
	int32_t status = 0;
	spiInitialize(port, &status);
	SPIJNI_LOG(logDEBUG) << "Status = " << status;
	CheckStatus(env, status);
}
コード例 #2
0
ファイル: test_all.c プロジェクト: RFMicron/Hermes
void test_spi_init()
{
    spiConfig_t spiConfigIn;
    spiConfig_t spiConfigIn2;
    spiConfig_t spiConfigOut;

    spiConfigIn.frequency =  100000ULL;
    spiConfigIn.instance = SPI1;
    spiConfigIn.clockPhase = 1;
    spiConfigIn.clockPolarity = 0;
    spiInitialize(&spiConfigIn,NULL);
    spiConfigIn2.frequency =  500000ULL;
    spiConfigIn2.instance = SPI2;
    spiConfigIn2.clockPhase = 0;
    spiConfigIn2.clockPolarity = 1;
    // spiConfigOut should save last configuration (spiConfigIn)
    spiInitialize(&spiConfigIn2,&spiConfigOut);

    TEST_ASSERT_TRUE(spiConfigIn.frequency == spiConfigOut.frequency);
    TEST_ASSERT_TRUE(spiConfigIn.instance == spiConfigOut.instance);
    TEST_ASSERT_TRUE(spiConfigIn.clockPhase == spiConfigOut.clockPhase);
    TEST_ASSERT_TRUE(spiConfigIn.clockPolarity == spiConfigOut.clockPolarity);
}
コード例 #3
0
ファイル: test_all.c プロジェクト: RFMicron/Hermes
void test_spi_speed()
{
    spiConfig_t spiConfigIn;

    spiConfigIn.frequency =  100000;
    spiConfigIn.instance = SPI1;
    spiConfigIn.clockPhase = 1;
    spiConfigIn.clockPolarity = 0;
    spiInitialize(&spiConfigIn,NULL);

    u32 actFrequency = 4000000ULL / (2*(SPI1BRGL+1));

    if(actFrequency != spiConfigIn.frequency)
        printf("%ld instead of %ld\n",actFrequency,spiConfigIn.frequency);
    TEST_ASSERT_FLOAT_WITHIN(0.2,1.0,spiConfigIn.frequency/actFrequency);
}
コード例 #4
0
void targetSpiInit(void) 
{

	//Initialize the DICE II SPI module to use the following GPIO
	//MOSI = GPIO11
	//MISO = GPIO12
	//CLK  = GPIO8
	spiInitialize(11, 12, 8);
	
	//Create the two slave devices
	spiGetSlaveDevice(&cpldSSId);
	spiGetSlaveDevice(&codecSSId);

	//Configure each of the devices and the slave select call back.
	spiConfigure(0,         SPI_SET_SS_ROUTINE, spi_slave_select);
	spiConfigure(codecSSId, SPI_RATE, (void *)SPI_SPEED);
	spiConfigure(codecSSId, SPI_WSIZE, (void *)SPI_WSIZE_16);
	spiConfigure(cpldSSId,  SPI_RATE, (void *)SPI_SPEED);
	spiConfigure(cpldSSId,  SPI_WSIZE, (void *)SPI_WSIZE_16);	

	//at init time, let's talk to CPLD and initialize
	//read the CPLD version
	spiOpBlock(cpldSSId, CPLD_SPI_RD_CMD(CPLD_VER_REG,0), &cpldVer);
	if (cpldVer>=255) cpldVer = 0;
	cpldSupported = ((cpldVer >= 12) && (cpldVer < 128));
	
	if (cpldSupported) 
	{
		//Enable parallel mode and passthrough of SPI to both Codecs
		spiOpBlock(cpldSSId, CPLD_SPI_WR_CMD(CPLD_CTRL_REG, CPLD_CTRL_PAR_EN | 
															CPLD_CTRL_CODEC_EN | 
															CPLD_CTRL_SPI1_EN | 
															CPLD_CTRL_SPI2_EN | 
															CPLD_CTRL_USER_EN), NULL);
 		//read the initial switches
		spiOpBlock(cpldSSId, CPLD_SPI_RD_CMD(CPLD_SW_REG,0), &initialSwitchSetting);
	}
	else
		initialSwitchSetting = 0x1; //Flash mode
	
}	
コード例 #5
0
HRESULT mainInitialize(void)
{
	HRESULT		hResult = NO_ERROR;
    
#ifdef _CLI
	hResult = cliSIOInitialize();
	if (hResult != NO_ERROR) return hResult;
#endif //_CLI

#if 1 //LM???
	//Setting WWUID for this device
	lalSetWWUID(DEFAULT_DEVICE_ID_HIGH, DEFAULT_DEVICE_ID_LOW);
#endif

#ifdef _SYSDEBUG
	//sysDebugSetEnabled(SYSDEBUG_TRACE_SPS | SYSDEBUG_TRACE_FIS);
#endif //_SYSDEBUG

	TCTaskingInitialize(); // Init kernel

	hResult = mainInitializeTasks();
	if (hResult != NO_ERROR) return hResult;

#ifdef _FIS
	{
		fisInitialize();  //Initialize fis early to be able to get environment settings
		hResult = envInitialize("setup"); //Initialize environment, assume settings image named "setup"
		if (hResult != NO_ERROR)
		{
			sysDebugPrintf("Could not initialize environment - will use default values\n");      
		}
		envGetEenvironmentLongDefault	("SERIAL_NO", &serialNo, MAX_PRODUCT_SERIAL);
		lalSetWWUID (GET_WWUID_HIGH, GET_WWUID_LOW(serialNo));
		//ML:171106, per default JET uses PHY clock due to ADAT pulse width on DICE JR/Mini.
		//envGetEenvironmentLongDefault	("HPLL_CLK", &hpllClk, HPLL_CLK_HZ);
		//hpllSetClock(hpllClk);
	}
#endif //_FIS
	
#ifdef _CLI
	hResult = cliInitialize();
	if (hResult != NO_ERROR) return hResult;

	hResult = cliBuiltInToolSetSplashCB(SplashCB);
	if (hResult != NO_ERROR) return hResult;

	hResult = cliBuiltInToolSetResetCB(StartBoot);
	if (hResult != NO_ERROR) return hResult;
	
#ifdef _FIS
	hResult = envCliInstallTools();
	if (hResult != NO_ERROR) return hResult;
#endif //_FIS
#endif //_CLI

#ifdef _1394CORE
	hResult = lalInitialize1394();			// create the basic 1394 protocol (lal layer and below)
	if (hResult != NO_ERROR) return hResult;
#endif //_1394CORE

#ifdef _AVS
	hResult = avsInitialize();
	if (hResult != NO_ERROR) return hResult;

//#ifdef _CLI
//	hResult = avsTestCliInstallTools();
//	if (hResult != NO_ERROR) return hResult;
//#endif // _CLI

#endif //_AVS

#ifdef _CRB
	crbInitialize();
#endif

#ifdef _IRM
	hResult = irmInitialize();
	if (hResult != NO_ERROR) return hResult;
#endif //_IRM

#ifdef _CMP
	hResult = cmpInitialize();
	if (hResult != NO_ERROR) return hResult;
#endif //_CMP

#ifdef _FCP
	hResult = fcpInitialize();
	if (hResult != NO_ERROR) return hResult;
#endif //_FCP

#ifdef _AVC
	hResult = avcInitialize();
	if (hResult != NO_ERROR) return hResult;
#if 1 //LM???
	hResult = avcPanelInitialize();
	if (hResult != NO_ERROR) return hResult;
#endif
#endif //_AVC

#ifdef _EDS
	hResult = edsInitialize();
	if (hResult != NO_ERROR) return hResult;
#endif //_EDS

#ifdef _DRD
	hResult = drdInitialize();
	if (hResult != NO_ERROR) return hResult;
#endif //_DRD

#if defined (_AVC) && defined (_EDS) && defined (_DRD)
	hResult = avcAudioInitialize();
	if (hResult != NO_ERROR) return hResult;

	hResult = avcMusicInitialize();
	if (hResult != NO_ERROR) return hResult;
#endif //_AVC &&  _EDS && _DRD

#ifdef _DTCP
	hResult = dtcpInitialize();
	if (hResult != NO_ERROR) return hResult;
#endif //_DTCP

#ifdef _PIONEERDVD
	hResult = pioneerDVDInitialize();
	if (hResult != NO_ERROR) return hResult;
#endif //_PIONEERDVD

#ifdef _REMOTEDVD
	hResult = remoteDVDInitialize();
	if (hResult != NO_ERROR) return hResult;
#endif //_REMOTEDVD

#ifdef _CLI_CB
	// How do we get rid of this, ML????
	hResult = cliCBInitialize();
	if (hResult != NO_ERROR) return hResult;
#endif //_CLI

#ifdef _MLAN
	hResult = mLANInitialize();
	if (hResult != NO_ERROR) return hResult;
#endif //_MLAN

#ifdef _DICE_DRIVER
	hResult = diceDriverInitialize();
	if (hResult != NO_ERROR) return hResult;	
#endif //_DICE_DRIVER

#if defined (_AVC) && defined (_EDS) && defined (_DRD)
	hResult = avcDriverInitialize();
	if (hResult != NO_ERROR) return hResult;	
#endif // (_AVC) && defined (_EDS) && defined (_DRD)

#ifdef _FRMWLOAD
	hResult = frmwLoadInitialize();
	if (hResult != NO_ERROR) return hResult;	
	frmwLoadSetResetCB(StartBoot);
	if (hResult != NO_ERROR) return hResult;	
#endif //_FRMWLOAD

#ifdef _DALREMOTE
	hResult = RDALInitialize();
	if (hResult != NO_ERROR) return hResult;
#endif //_DALREMOTE

#ifdef _DICEJR
	hResult = diceInitialize();
	if (hResult != NO_ERROR) return hResult;
	hResult = dalInitialize();
	if (hResult != NO_ERROR) return hResult;
#endif //_DICE2

#ifdef _MEMTEST
	hResult = memTestInitialize();
	if (hResult != NO_ERROR) return hResult;
#endif //_MEMTEST

#ifdef _DSP
#ifdef _CLI
	hResult = dspCliInitialize();
	if (hResult != NO_ERROR) return hResult;
#endif // _CLI
#endif //_DSP

#ifdef _GRAY
//	hResult = grayInitialize();	//LM??? grayInitialize called from cli command
#ifdef _CLI
	hResult = grayCliInitialize();
	if (hResult != NO_ERROR) return hResult;
#endif // _CLI
#endif //_GRAY

#ifdef _CLI
	hResult = TCKernelCliInitialize();
	if (hResult != NO_ERROR) return hResult;
#endif //_CLI

#ifdef _I2C
	i2cInitialize();
#endif //I2C


#ifdef _DICE_TIMER2
	diceTimer2Initialize();
#endif //_DICE_TIMER2

#ifdef _AML
	amlInitialize();
#endif //_DICE_TIMER2

#ifdef _SPI
	spiInitialize();
#endif

	hResult = myAppInitialize();
	if (hResult != NO_ERROR) return hResult;

	TCTaskingStart();

	return hResult;
}