Exemple #1
0
        private void OnActionStop()
        {
            StopMeasSensor();

            if (BcoreManager?.IsConnected ?? false)
            {
                BcoreManager.Disconnect();
            }
        }
 public void Right(bool isStreight = false)
 {
     if (!isStreight)
     {
         CancelTimer();
     }
     State = EState.Right;
     BcoreManager.SetMotorPwm(0, Bcore.MaxMotorPwm);
     BcoreManager.SetServoPos(0, Pref.ServoPosRight);
 }
Exemple #3
0
        public override void OnCreate()
        {
            base.OnCreate();

            Receiver = new ServiceReceiver(this);
            var filter = new IntentFilter(ActionKeyStart);

            RegisterReceiver(Receiver, filter);
            IsRegisteredSensor = false;

            BcoreManager = new BcoreManager(this);
        }
Exemple #4
0
        public override void OnDestroy()
        {
            base.OnDestroy();

            UnregisterReceiver(Receiver);

            StopMeasSensor();

            if (BcoreManager.IsConnected)
            {
                BcoreManager.Disconnect();
            }
        }
        public void Stop(bool isStreight = false)
        {
            if (!isStreight)
            {
                CancelTimer();
            }

            if (State == EState.Left)
            {
                State = EState.LStop;
            }
            else if (State == EState.Right)
            {
                State = EState.RStop;
            }

            BcoreManager.SetMotorPwm(0, Bcore.StopMotorPwm);
        }
Exemple #6
0
        public void OnSensorChanged(SensorEvent e)
        {
            if (!BcoreManager.IsInitialized)
            {
                return;
            }

            var accz = e.Values[2];

            //Android.Util.Log.Debug("ControllerService", "acc:{0}", accz);

            var state = EState.Stop;

            if (accz > 6.0)
            {
                state = EState.Left;
            }
            else if (accz < -6.0)
            {
                state = EState.Right;
            }

            if (state == State)
            {
                return;
            }

            var speed = 0x80;

            switch (state)
            {
            case EState.Left:
                speed = 255;
                break;

            case EState.Right:
                speed = 0;
                break;
            }

            BcoreManager.SetMotorPwm(0, speed);
            State = state;
        }
Exemple #7
0
        public override StartCommandResult OnStartCommand(Intent intent, StartCommandFlags flags, int startId)
        {
            var bcore = intent.GetStringExtra(ExtraKeyBcore);

            if (string.IsNullOrEmpty(bcore))
            {
                return(StartCommandResult.NotSticky);
            }

            Android.Util.Log.Debug("ControllerService", "Conntect:" + bcore);

            if (BcoreManager?.IsConnected ?? false)
            {
                BcoreManager.Disconnect();
            }

            if (BcoreManager == null)
            {
                BcoreManager = new BcoreManager(this);
            }

            BcoreManager.BcoreConnectionChanged += (s, e) =>
            {
                if (e.IsConnected)
                {
                    return;
                }

                State = EState.Stop;
                StopMeasSensor();
                StopSelf();
            };

            BcoreManager.Connect(bcore);

            StartMeasSensor();

            return(base.OnStartCommand(intent, flags, startId));
        }
        public GaganController(Context context)
        {
            Context      = context;
            Pref         = GaganPreference.Load(context);
            BcoreManager = new BcoreManager(Context);
            BcoreManager.BcoreConnectionChanged += (s, e) =>
            {
                if (e.IsConnected)
                {
                    IsTimerRunning = false;
                    TimerHandler   = new Handler(Looper.MainLooper);
                }
                else
                {
                    IsTimerRunning = false;
                    TimerHandler?.RemoveCallbacks(OnTimer);
                    TimerHandler = null;
                }

                BcoreConnectionChanged?.Invoke(this, e.IsConnected);
            };
        }
Exemple #9
0
        private void OnActionStart(string bcore)
        {
            StartMeasSensor();

            BcoreManager.Connect(bcore);
        }
 public void ConnectBcore(string addr)
 {
     BcoreManager.Connect(addr);
 }
 public void SetCamRightPos(int value)
 {
     Pref.ServoPosRight = value;
     Pref.Save();
     BcoreManager.SetServoPos(0, value);
 }
 public void DisconnectBcore()
 {
     BcoreManager.Disconnect();
 }