/** * \brief Initializes all the subsystems for this Droplet. This function MUST be called * by the user before using any other functions in the API. */ static void initAllSystems(void){ cli(); Config32MHzClock(); calculateIdNumber(); schedulerInit(); INIT_DEBUG_PRINT("SCHEDULER INIT\r\n"); pcCommInit(); INIT_DEBUG_PRINT("PC COM INIT\r\n"); rgbLEDinit(); INIT_DEBUG_PRINT("LED INIT\r\n"); powerInit(); INIT_DEBUG_PRINT("POWER INIT\r\n"); i2cInit(); INIT_DEBUG_PRINT("I2C INIT\r\n"); enableInterrupts(); rangeAlgsInit(); INIT_DEBUG_PRINT("RANGE ALGORITHMS INIT\r\n"); rgbSensorInit(); INIT_DEBUG_PRINT("RGB SENSE INIT\r\n"); irLedInit(); INIT_DEBUG_PRINT("IR LED INIT\r\n"); irSensorInit(); INIT_DEBUG_PRINT("IR SENSE INIT\r\n"); #ifdef AUDIO_DROPLET speakerInit(); INIT_DEBUG_PRINT("SPEAKER INIT\r\n"); micInit(); INIT_DEBUG_PRINT("MIC INIT\r\n"); //Must occur after ir_sensor_init. #endif motorInit(); INIT_DEBUG_PRINT("MOTOR INIT\r\n"); randomInit(); INIT_DEBUG_PRINT("RAND INIT\r\n"); //This uses adc readings for a random seed, and so requires that the adcs have been initialized. localizationInit(); INIT_DEBUG_PRINT("LOCALIZATION INIT\r\n"); #ifdef SYNCHRONIZED fireflySyncInit(); #endif setAllirPowers(256); startupLightSequence(); irCommInit(); INIT_DEBUG_PRINT("IR COM INIT\r\n"); #ifdef AUDIO_DROPLET enableMicInterrupt(); #endif }
static UINT32 sysInit( void ) { /* board dependent modules */ rtcInit(); wdtInit(); inputInit(); audioInit(); fmInit(); lineBufferInit(); graphicInit(); scalarInit(); if (strcmp(SYSCONFIG_PRODUCT, "gplus.microwindowsUI__gplus.evm32900b") != 0) { aesInit(); } sdmaInit(); #ifdef SYSCONFIG_ARCH_SPMP8050 rotatorInit(); #endif #ifdef SYSCONFIG_ARCH_SPMP8050 cevaInit(); #endif if( gp_ver.major == MACH_GPL32900 ) { cevaInit(); } storageInit(); if (strcmp(SYSCONFIG_MAINSTORAGE, "gp_usb_disk")) { usbInit(); } usbWifiInit(); touchpanelInit(); #ifdef SYSCONFIG_SDIO system("modprobe cfg80211"); system("modprobe mac80211"); system("modprobe sunrpc"); #endif sensorInit(); ppuInit(); //tvInit(); powerInit(); batteryInit(); gsensorInit(); asensorInit(); #ifdef SYSCONFIG_GP_FAST_BOOT gpFastBootInit(); #endif /* SYSCONFIG_GP_FAST_BOOT */ if( gp_ver.major == MACH_GPL32900B ) { On2Init(); LBPInit(); } return SP_OK; }