void TeleopPeriodic(void) { // increment the number of teleop periodic loops completed m_telePeriodicLoops++; static AutoDrive *autoDrive = NULL; bool autoButton = DriveStick->GetButton(Joystick::kTriggerButton); if (autoButton) { if (autoDrive == NULL) autoDrive = new AutoDrive(m_Configuration->GetValue( m_Constant[ cAutoDrive]) * 100); autoDrive->Periodic(MyRobot, ds); ds->PrintfLine (DriverStationLCD::kUser_Line5, "autoDrive on"); } else { ds->PrintfLine (DriverStationLCD::kUser_Line5, "autoDrive off"); if (autoDrive != NULL) { MyRobot.ResetCounters(); delete autoDrive; autoDrive = NULL; } if( !m_Configuration) { printf( "Configuration Initialize"); InitializeConfiguration(); } m_Configuration->Execute( DriveStick->GetRawButton( 2), DriveStick->GetZ(), ds); if(DriveStick->GetRawButton( 3)) { ds->PrintfLine(DriverStationLCD::kUser_Line6, "Calculating distance..."); Vision *vision = new Vision(); double distance = vision->TakeDistancePicture( ds, m_Configuration->GetValue( m_Constant[ cHBottom]), m_Configuration->GetValue( m_Constant[ cHTop]), m_Configuration->GetValue( m_Constant[ cSBottom]), m_Configuration->GetValue( m_Constant[ cSTop]), m_Configuration->GetValue( m_Constant[ cVBottom]), m_Configuration->GetValue( m_Constant[ cVTop])); if( distance < 0.000001) ds->PrintfLine(DriverStationLCD::kUser_Line6, "No target found"); else ds->PrintfLine(DriverStationLCD::kUser_Line6, "distance to target: %lf",distance); delete vision; } // Real teleop mode: use the JoySticks to drive MyRobot.DriveRobot(DriveStick->GetY(),(DriveStick->GetX()), ds); } ds->UpdateLCD(); } // TeleopPeriodic(void)
/** * Constructor for this "EntropyRobotDrive2014" Class. */ EntropyRobot2014(void) { printf(" Constructor Started\n"); // Establish Hardware IO Controllers DriveStick = new EntropyJoystick(IODefinitions::USB_PORT_1); GameStick = new EntropyJoystick(IODefinitions::USB_PORT_2); m_Configuration = NULL; InitializeConfiguration(); // Acquire the Driver Station object EntropyDriverStation = DriverStation::GetInstance(); m_priorPacketNumber = 0; m_dsPacketsReceivedInCurrentSecond = 0; // Initialize counters to record the number of loops completed in autonomous and teleop modes m_autoPeriodicLoops = 0; m_disabledPeriodicLoops = 0; m_telePeriodicLoops = 0; ds = DriverStationLCD::GetInstance(); printf("EntropyBot14 Constructor Completed\n"); }
DWORD PXEAPI PxeProviderInitialize( __in HANDLE hProvider, __in HKEY hProviderKey ) /*++ Routine Description: This function is called by WDS PXE to initialize Filter Provider. Arguments: hProvider - Handle to Provider. hProviderKey - Handle to registry store where Provider should store its configuration information. Return Value: ERROR_SUCCESS on success. On failure appropriate Win32 Error Code is returned. --*/ { DWORD dwError = ERROR_SUCCESS; HRESULT hr = S_OK; ULONG uFilter = PXE_PROV_FILTER_PXE_ONLY; UNREFERENCED_PARAMETER(hProviderKey); // // Read Policy Settings. // dwError = InitializeConfiguration(); W32_CLEANUP_ON_FAILURE(dwError, Cleanup); // // Register Shutdown Callback. // dwError = PxeRegisterCallback(hProvider, PXE_CALLBACK_SHUTDOWN, PxeProviderShutdown, NULL); W32_CLEANUP_ON_FAILURE(dwError, Cleanup); // // Register Request Processing Callback. // dwError = PxeRegisterCallback(hProvider, PXE_CALLBACK_RECV_REQUEST, PxeProviderRecvRequest, NULL); W32_CLEANUP_ON_FAILURE(dwError, Cleanup); // // Define filter to only receive requests which are valid Dhcp Packets and // contain Option 60 'PXEClient'. // dwError = PxeProviderSetAttribute(hProvider, PXE_PROV_ATTR_FILTER, &uFilter, sizeof(uFilter)); W32_CLEANUP_ON_FAILURE(dwError, Cleanup); // // Save Provider Handle. // g_hFilterProvider = hProvider; Cleanup: return dwError; }