Esempio n. 1
0
        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);
        }
Esempio n. 2
0
 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();
        }
Esempio n. 5
0
        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);
            }
        }
Esempio n. 6
0
        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);
        }
Esempio n. 7
0
        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));
        }
Esempio n. 8
0
        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();
        }
Esempio n. 9
0
 public override void SerializeAttributes(PersistenceWriter op)
 {
     op.SetString("n", m_Name);
     op.SetString("w", m_Width);
 }
Esempio n. 10
0
 public override void SerializeAttributes(PersistenceWriter op)
 {
     op.SetString("n", m_Name);
     op.SetInt32("v", m_Value);
 }
Esempio n. 11
0
        public override void SerializeAttributes(PersistenceWriter op)
        {
            base.SerializeAttributes(op);

            op.SetBoolean("p", m_ShowPercents);
        }
Esempio n. 12
0
 public override void SerializeAttributes(PersistenceWriter op)
 {
     op.SetString("v", m_Value);
     op.SetString("f", m_Format);
 }
Esempio n. 13
0
 public virtual void SerializeAttributes(PersistenceWriter op)
 {
 }
Esempio n. 14
0
 public virtual void SerializeChildren(PersistenceWriter op)
 {
 }