/** Standard driver entry point. Initializes the driver. */ NTSTATUS DriverEntry(PDRIVER_OBJECT DriverObject, PUNICODE_STRING RegistryPath) { NTSTATUS status = STATUS_UNSUCCESSFUL; DEBUG_ENTER_FUNCTION("DriverObject=0x%p; RegistryPath=%S", DriverObject, RegistryPath->Buffer); #ifdef _DEBUG status = DebugAllocatorModuleInit(); #else status = STATUS_SUCCESS; #endif if (NT_SUCCESS(status)) { status = SpecialValuesModuleInit(DriverObject); if (NT_SUCCESS(status)) { status = DriverInit(DriverObject); if (!NT_SUCCESS(status)) SpecialValuesModuleFinit(); } if (!NT_SUCCESS(status)) { #ifdef _DEBUG DebugAllocatorModuleFinit(); #endif } } DEBUG_EXIT_FUNCTION("0x%x", status); return status; }
int main(){ DSG::Sample_Rate(44100); DSG::FourierSquare _sqr(220.0,0.0); DriverInit(&_sqr); Pa_Sleep(5000); DriverExit(); return 0; }
/** ****************************************************************************** ** Main application to control the program flow *****************************************************************************/ void main(void) { // Initialize all interrupt levels of resources Vectors_InitIrqLevels(); // Allow all interrupt levels __set_il(7); // Enable interrupts __EI(); Flash_EnableWriting(); InitLCD(); #if ((SMC_TYPE != SMC_TYPE_R200) && (ZPD == ZPD_ENABLE)) ZPD_Init(); //ќжидание окончани¤ ZPD while (m_enSmcMode == Zpd) { WDTCP = 0x00; } #else m_enSmcMode = NormalDriving; #endif InitSMC(20); Timer_Init(); InitADC(); InitRTC(); // ≈сли двигатель R200 или ZPD не активно #if ((SMC_TYPE == SMC_TYPE_R200) || (ZPD == ZPD_DISABLE)) ZeroPosSMC(); Timer_Wait(TIMER_ID_MAIN, 2000, TRUE); #endif ClearPosSMC(); DriverInit(); InitFRTimer0(); InitExtInt0(); //test Init_4_imp(); InitBacklight(); Button_Init(ButtonCallback); CAN_Init(); J1939_init(); InitUsart0(); if (Button_GetCurrentButtonState(BUTTON_ID_B1) == StateLow) SetModePass(); while(1) { WDTCP_ = 0x00; Timer_Main(); } }
struct DriverBase* _LibInit( struct DriverBase* AHIsubBase, BPTR seglist, struct ExecBase* sysbase ) { SysBase = sysbase; AHIsubBase->library.lib_Node.ln_Type = NT_LIBRARY; AHIsubBase->library.lib_Node.ln_Name = (STRPTR) LibName; AHIsubBase->library.lib_Flags = LIBF_SUMUSED | LIBF_CHANGED; AHIsubBase->library.lib_Version = VERSION; AHIsubBase->library.lib_Revision = REVISION; AHIsubBase->library.lib_IdString = (STRPTR) LibIDString; AHIsubBase->seglist = seglist; AHIsubBase->intuitionbase = OpenLibrary( INTUITIONNAME, 37 ); AHIsubBase->utilitybase = OpenLibrary( UTILITYNAME, 37 ); if( IntuitionBase == NULL ) { Alert( AN_Unknown|AG_OpenLib|AO_Intuition ); goto error; } if( UtilityBase == NULL ) { Req( "Unable to open 'utility.library' version 37.\n" ); goto error; } if( ! DriverInit( AHIsubBase ) ) { goto error; } return AHIsubBase; error: _LibExpunge( AHIsubBase ); return NULL; }
int main(void) { VectorRemap(); LogInit(); DriverInit(); UpdateInfoSetVersion("0.0.2", "2016070510"); NetWorkInit(); //if (1 == SysInfoLockIDIsNull()) { //WT588DStartPlay(WT588D_CONTEX_LOCK_ASSOC_NONE); //} SYSLOG("System Normal Work\r\n"); while (1) { DOG_FEED(); ShellCmdRecv(); DahuaRecv(); NetWorkRecv(); NetWorkSendHeart(); NetWorkCheckHeart(); KeyListened(); PirCheck(); } }
/* * Starting point for SimpleFlightController */ int main(void) { printf("Starting Program\n"); printf("initialize components..."); DriverInit(); INT8U err = OS_NO_ERR; //error variable for init errors /* * create mutex and semaphores */ loggerQsem = OSQCreate((void*) &loggerQmessageTable, LOGGER_Q_SIZE); //create Message Queue for LOGGER sensorDataMutex = OSMutexCreate(SENSOR_DATA_MUTEX_PRIORITY, &err); // Used to synchronize Main task and SensorDataManager rcReceiverMutex = OSMutexCreate(RC_RECEIVER_MUTEX_PRIORITY, &err); // Used to synchronize Main task and RCTask mainTaskSem = OSSemCreate(0); //used to make the MainTask periodic sensorDataManageTaskSem = OSSemCreate(0); //used to make the SensorDataMgr periodic rcTaskSem = OSSemCreate(0); //used to make the RcReciever periodic /* * init state -> wait 2 seconds (alt_ticks_per_second() * 2) until every task starts */ alt_alarm_start(&periodicMainTaskAlarm, alt_ticks_per_second() * MAIN_TASK_DELAY, mainTasktimerCallback, NULL); // periodic timer for MainTask alt_alarm_start(&periodicRCReceiverTaskAlarm, alt_ticks_per_second() * RC_TASK_DELAY, RCReceiverTaskTasktimerCallback, NULL); // periodic timer for RCTask alt_alarm_start(&periodicSensorDataManagerTasktimerAlarm, alt_ticks_per_second() * SENSORDATA_TASK_DELAY, SensorDataManagerTasktimerCallback, NULL); // periodic timer for SensorDataManagerTask printf("Init done\n"); /* * create RCReceiver Task */ OSTaskCreateExt(RCReceiverTask, NULL, (void *) &RCReceiverTask_stk[TASK_STACKSIZE - 1], RC_TASK_PRIORITY, RC_TASK_PRIORITY, RCReceiverTask_stk, TASK_STACKSIZE, NULL, 0); /* * create SensorDataManagerTask * Task is in an external Task * declared in SensorDataManager.h */ err = OSTaskCreateExt(SensorDataManagerTask, NULL, (void *) &SensorDataManagerTask_stk[TASK_STACKSIZE - 1], SDM_TASK_PRIORITY, SDM_TASK_PRIORITY, SensorDataManagerTask_stk, TASK_STACKSIZE, NULL, 0); /* * create LoggerTask */ err = OSTaskCreateExt(LoggerTask, NULL, (void *) &LoggerTask_stk[TASK_STACKSIZE - 1], LOGGER_TASK_PRIORITY, LOGGER_TASK_PRIORITY, LoggerTask_stk, TASK_STACKSIZE, NULL, 0); /* * create MainTask */ err = OSTaskCreateExt(MainTask, NULL, (void *) &MainTask_stk[TASK_STACKSIZE - 1], MAIN_TASK_PRIORITY, MAIN_TASK_PRIORITY, MainTask_stk, TASK_STACKSIZE, NULL, 0); OSStart(); return 0; }