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 DefaultGyro(new AircraftPrincipalAxes()); Radio radio = new DefaultRadio(null, null); ControllerLoopSettings loopSettings = GetLoopSettings(); Controller controller = new Controller(mixer, axesController, gyro, radio, loopSettings, GetMotorSettings(), logger); }
public override void SerializeChildren(PersistenceWriter op) { for (int i = 0; i < m_Values.Count; ++i) { m_Values[i].Serialize(op); } }
public void Serialize(PersistenceWriter op) { op.BeginObject(TypeID); SerializeAttributes(op); op.BeginChildren(); SerializeChildren(op); op.FinishChildren(); op.FinishObject(); }
/// <summary> /// Save an already trained model /// </summary> /// <param name="writer"></param> protected override void SaveContent(PersistenceWriter writer) { writer.OpenScope((PersistItemTag)Persistent.Parameters); writer.SetValue(C); writer.SetValue(cacheSize); writer.SetValue(maximumInput); writer.SetValue(lowerOrder); writer.SetValue(exponent); writer.SetValue(gamma); writer.SetValue(strKernelType); writer.CloseScope(); writer.OpenScope((PersistItemTag)Persistent.Classifiers); writer.SetValue(classifiers.Length); for (int i = 0; i < classifiers.Length; i++) { for (int j = i + 1; j < classifiers.Length; j++) { writer.SetValue(classifiers[i][j].b); writer.SetValue(classifiers[i][j].kernel.data.instances.Length); for (int x = 0; x < classifiers[i][j].kernel.data.instances.Length; x++) { writer.SetValue(classifiers[i][j].kernel.data.instances[x].positions.Length); for (int y = 0; y < classifiers[i][j].kernel.data.instances[x].positions.Length; y++) { writer.SetValue(classifiers[i][j].kernel.data.instances[x].positions[y]); writer.SetValue(classifiers[i][j].kernel.data.instances[x].values[y]); } writer.SetValue(classifiers[i][j].kernel.data.instances[x].label); } writer.SetValue(classifiers[i][j].supportVectors.Count); foreach (int sup in classifiers[i][j].supportVectors) { writer.SetValue(sup); } writer.SetValue(classifiers[i][j].alpha.Length); for (int x = 0; x < classifiers[i][j].alpha.Length; x++) { writer.SetValue(classifiers[i][j].alpha[x]); } writer.SetValue(classifiers[i][j].labels.Length); for (int x = 0; x < classifiers[i][j].labels.Length; x++) { writer.SetValue(classifiers[i][j].labels[x]); } } } writer.CloseScope(); }
public override void SerializeChildren(PersistenceWriter op) { for (int i = 0; i < m_Columns.Count; ++i) { m_Columns[i].Serialize(op); } for (int i = 0; i < m_Items.Count; ++i) { m_Items[i].Serialize(op); } }
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 static void Main() { //Initialize motors first MotorSettings motorSettings = GetMotorSettings(); Motor frontMotor = new PWMMotor(new PWM((Cpu.Pin)FezPin.PWM.Di8, 4000000), motorSettings); Motor rearMotor = new PWMMotor(new PWM((Cpu.Pin)FezPin.PWM.Di10, 4000000), motorSettings); Motor leftMotor = new PWMMotor(new PWM((Cpu.Pin)FezPin.PWM.Di9, 4000000), motorSettings); Motor rightMotor = new PWMMotor(new PWM((Cpu.Pin)FezPin.PWM.Di6, 4000000), motorSettings); MotorMixer mixer = new QuadMixer(frontMotor, rearMotor, leftMotor, rightMotor); //Telemetry ISDCard sdCard = (ISDCard) new SDCard(); if (Configuration.DebugInterface.GetCurrent() == Configuration.DebugInterface.Port.USB1) { sdCard.MountFileSystem(); } else { new TelemetryPresenter(sdCard, (Cpu.Pin)FezPin.Digital.LED); } ILogger logger = new PersistenceWriter(new FileStream(@"\SD\telemetry.bin", FileMode.OpenOrCreate), new TelemetryFormatter()); //Sensors I2CBus twiBus = new I2CBus(); Gyro gyro = new ITG3200(twiBus, GetGyroFactor()); Radio radio = new DefaultRadio(twiBus, GetRadioSettings()); //Control Algoriths 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); //controller.Start(); }
public override void SerializeAttributes(PersistenceWriter op) { op.SetString("n", m_Name); op.SetString("w", m_Width); }
public override void SerializeAttributes(PersistenceWriter op) { op.SetString("n", m_Name); op.SetInt32("v", m_Value); }
public override void SerializeAttributes(PersistenceWriter op) { base.SerializeAttributes(op); op.SetBoolean("p", m_ShowPercents); }
public override void SerializeAttributes(PersistenceWriter op) { op.SetString("v", m_Value); op.SetString("f", m_Format); }
public virtual void SerializeAttributes(PersistenceWriter op) { }
public virtual void SerializeChildren(PersistenceWriter op) { }