public static void Main() { SDCard sdCard = new SDCard(); //todo: need sdCard mode detection ILogger logger = new PersistenceWriter(new FileStream(@"\SD\telemetry.bin", FileMode.CreateNew), new TelemetryFormatter()); //ILogger logger = new DebugLogger(); // use for debugging //ILogger logger = new NullLogger(); // use for release //Assumes one type of speed controller on quad //ISpeedControllerSettings speedControllerSettings = new HobbyKingSs2530Settings(); //IPWM pwmFront = new SecretLabsPWM(Pins.GPIO_PIN_D9); //SpeedController electricSpeedControllerFront = new SpeedController(speedControllerSettings, pwmFront); //IPWM pwmRear = new SecretLabsPWM(Pins.GPIO_PIN_D8); //SpeedController electricSpeedControllerRear = new SpeedController(speedControllerSettings, pwmRear); //IPWM pwmRight = new SecretLabsPWM(Pins.GPIO_PIN_D8); //SpeedController electricSpeedControllerRight = new SpeedController(speedControllerSettings, pwmRight); //IPWM pwmLeft = new SecretLabsPWM(Pins.GPIO_PIN_D8); //SpeedController electricSpeedControllerLeft = new SpeedController(speedControllerSettings, pwmLeft); MotorMixer mixer = null; PIDSettings[] pidSettings = GetPIDSettings(); AxesController axesController = new AxesController(pidSettings[0], pidSettings[1], pidSettings[2], true); Gyro gyro = new TestGyro(); Accelerometer accelerometer = new TestAccelerometer(); Radio radio = new DefaultRadio(null,null); ControllerLoopSettings loopSettings = GetLoopSettings(); Controller controller = new Controller(mixer, axesController, gyro, accelerometer, radio, loopSettings, GetMotorSettings(), logger); }
public static void Main() { Motor testMotor = new TestMotor(); MotorMixer mixer = new QuadMixer(testMotor, testMotor, testMotor, testMotor); ILogger logger = new PersistenceWriter(new MemoryStream(), new TelemetryFormatter()); Gyro gyro = new TestGyro(); Radio radio = new TestRadio(); PIDSettings[] pidSettings = GetPIDSettings(); AxesController axesController = new AxesController(pidSettings[0], pidSettings[1], pidSettings[2], true); ControllerLoopSettings loopSettings = GetLoopSettings(); Controller controller = new Controller(mixer, axesController, gyro, radio, loopSettings, GetMotorSettings(), logger); }
public ThreadingProgram() { Gyro gyro = new TestGyro(); Sensors sensors = new Sensors(gyro); Motor testMotor = new TestMotor(); MotorMixer mixer = new QuadMixer(testMotor, testMotor, testMotor, testMotor); ILogger logger = new PersistenceWriter(new MemoryStream(), new TelemetryFormatter()); Radio radio = new TestRadio(); PIDSettings[] pidSettings = GetPIDSettings(); AxesController axesController = new AxesController(pidSettings[0], pidSettings[1], pidSettings[2], true); _loopSettings = GetLoopSettings(); Timer sensorTimer = new Timer(tester, sensors,new TimeSpan(0),new TimeSpan((long)_loopSettings.SensorLoopFrequency) ); }
public ThreadingProgram() { Gyro gyro = new TestGyro(); Sensors sensors = new Sensors(gyro); Motor testMotor = new TestMotor(); MotorMixer mixer = new QuadMixer(testMotor, testMotor, testMotor, testMotor); ILogger logger = new PersistenceWriter(new MemoryStream(), new TelemetryFormatter()); Radio radio = new TestRadio(); PIDSettings[] pidSettings = GetPIDSettings(); AxesController axesController = new AxesController(pidSettings[0], pidSettings[1], pidSettings[2], true); _loopSettings = GetLoopSettings(); Timer sensorTimer = new Timer(tester, sensors, new TimeSpan(0), new TimeSpan((long)_loopSettings.SensorLoopFrequency)); }