Exemple #1
0
    public void InitializeBluetoothProxy()
    {
        switch (Application.platform)
        {
        case RuntimePlatform.Android:
            if (BluetoothDeviceType == EBluetoothDeviceType.BLUETOOTH_CLASSIC)
            {
                m_device = new AndroidBluetoothClassicDevice();
            }
            else
            {
                m_device = new AndroidBLEDevice();
            }
            break;

        default:
            throw new System.Exception($"Platform{Application.platform.ToString()} BluetoothDevice Not Implememt");
        }

        if (m_device != null)
        {
            m_device.InitializeBluetoothDevice();

            if (m_skateMessageHandler != null)
            {
                m_skateMessageHandler.SetBluetoothDevice(m_device);
            }
            else
            {
                m_skateMessageHandler = new SkateMessageHandler(m_device);
            }

            BluetoothEvents.OnBluetoothDeviceStateChangedEvent += OnBluetoothStateChangedCallback;
        }
    }
Exemple #2
0
    /// <summary>
    /// 获取电机实时转数
    /// </summary>
    private void RequstMotorRPS()
    {
        if (this.m_currentGear > 0)
        {
            List <byte> messageBuffer = SkateMessageHandler.GetSkateMessage(MessageDefine.E_C2D_MOTOR_RPS);

            BluetoothProxy.Intance.SendData(messageBuffer);
        }
    }
Exemple #3
0
    public void SetSkateBrakeTime(int brakeTimeMill)
    {
        List <byte> messageBuffer = SkateMessageHandler.GetSkateMessage(MessageDefine.E_C2D_SETTING_SKATE_MAX_ACCLERATOR_BRAKE_TIME);

        List <byte> brakeTimeBuffer = DigitUtility.GetFixedLengthBufferList(Encoding.ASCII.GetBytes(brakeTimeMill.ToString()).ToList(), 4, (byte)'0');

        messageBuffer.AddRange(brakeTimeBuffer);

        BluetoothProxy.Intance.SendData(messageBuffer);

        LocalStorage.SaveSetting(LocalSetting.E_SKATE_MAX_BRAKE_TIME, brakeTimeMill.ToString());
    }
Exemple #4
0
    /// <summary>
    /// 设置滑板速度
    /// </summary>
    /// <param name="gear"></param>
    private void SetSkateBoardSpeedByGear(int gear)
    {
        int speedTemp = (int)(this.m_gearAcceleratorInfos[gear] * 1000);

        List <byte> speedBuffer = DigitUtility.GetFixedLengthBufferList(Encoding.ASCII.GetBytes(speedTemp.ToString()).ToList(), 3, (byte)'0');

        List <byte> messageBuffer = SkateMessageHandler.GetSkateMessage(MessageDefine.E_C2D_MOTOR_DRIVE);

        messageBuffer.AddRange(speedBuffer);

        BluetoothProxy.Intance.SendData(messageBuffer);
    }
Exemple #5
0
    public void SendGearAcceleratorToSkate(int gearID)
    {
        List <byte>   messageBuffer = SkateMessageHandler.GetSkateMessage(MessageDefine.E_C2D_SETTING_SKATE_GEAR_ACCELETOR);
        StringBuilder strGearInfo   = new StringBuilder(gearID.ToString());

        strGearInfo.Append((int)(m_gearAcceleratorInfos[gearID] * 100));

        List <byte> gearInfoBuffer = DigitUtility.GetFixedLengthBufferList(Encoding.ASCII.GetBytes(strGearInfo.ToString()).ToList(), 3, (byte)'0');

        messageBuffer.AddRange(gearInfoBuffer);

        BluetoothProxy.Intance.SendData(messageBuffer);
    }
Exemple #6
0
    //public void SetSkateGearCount(int gearCount)
    //{
    //    List<byte> messageBuffer = SkateMessageHandler.GetSkateMessage(MessageDefine.E_C2D_SETTING_SKATE_GEAR_COUNT);

    //    messageBuffer.AddRange(Encoding.ASCII.GetBytes(gearCount.ToString()));

    //    BluetoothProxy.Intance.SendData(messageBuffer);

    //    LocalStorage.SaveSetting(LocalSetting.E_SKATE_GEAR_COUNT, gearCount.ToString());

    //    GearCount = gearCount;
    //}

    public void SetSkateAccelerator(float accelerator01)
    {
        List <byte> messageBuffer   = SkateMessageHandler.GetSkateMessage(MessageDefine.E_C2D_SETTING_SKATE_MAX_ACCLERATOR);
        int         iMaxAccelerator = (int)(accelerator01 * 100);

        List <byte> acceleratorBuffer = DigitUtility.GetFixedLengthBufferList(Encoding.ASCII.GetBytes(iMaxAccelerator.ToString()).ToList(), 2, (byte)'0');

        messageBuffer.AddRange(acceleratorBuffer);

        BluetoothProxy.Intance.SendData(messageBuffer);

        LocalStorage.SaveSetting(LocalSetting.E_SKATE_MAX_ACCELERATOR, accelerator01.ToString());
    }
Exemple #7
0
    /// <summary>
    /// 柔和刹车
    /// </summary>
    public void BrakeSoftly()
    {
        List <byte> messageBuffer = SkateMessageHandler.GetSkateMessage(MessageDefine.E_C2D_BRAKE_LINEAR);

        BluetoothProxy.Intance.SendData(messageBuffer);
    }
Exemple #8
0
    /// <summary>
    /// 直接刹停
    /// </summary>
    public void BrakeImmediately()
    {
        List <byte> messageBuffer = SkateMessageHandler.GetSkateMessage(MessageDefine.E_C2D_BRAKE_FORCE);

        BluetoothProxy.Intance.SendData(messageBuffer);
    }
Exemple #9
0
    private void RequestMotorGear()
    {
        List <byte> sendMsgBuffer = SkateMessageHandler.GetSkateMessage(MessageDefine.E_C2D_MOTOR_GET_SPEED);

        BluetoothProxy.Intance.SendData(sendMsgBuffer);
    }
Exemple #10
0
    private void OnBtnDownClick(GameObject btn)
    {
        List <byte> messageBuffer = SkateMessageHandler.GetSkateMessage(MessageDefine.E_C2D_MOTOR_CORRECT_MIN_POWER);

        BluetoothProxy.Intance.SendData(messageBuffer);
    }
Exemple #11
0
    private void OnBtnEnterProgrammingClick(GameObject btn)
    {
        List <byte> messageBuffer = SkateMessageHandler.GetSkateMessage(MessageDefine.E_C2D_MOTOR_INITIALIZE);

        BluetoothProxy.Intance.SendData(messageBuffer);
    }
Exemple #12
0
    private void OnBtnPowerOffClick(GameObject btn)
    {
        List <byte> messageBuffer = SkateMessageHandler.GetSkateMessage(MessageDefine.E_C2D_MOTOR_POWEROFF);

        BluetoothProxy.Intance.SendData(messageBuffer);
    }
Exemple #13
0
    private void OnBtnRefreshBatteryClick(GameObject btn)
    {
        List <byte> messageBuffer = SkateMessageHandler.GetSkateMessage(MessageDefine.E_C2D_REMAINING_POWER);

        BluetoothProxy.Intance.SendData(messageBuffer);
    }
Exemple #14
0
    private void GetSkaterBatteryPower()
    {
        List <byte> msgBuffer = SkateMessageHandler.GetSkateMessage(MessageDefine.E_C2D_REMAINING_POWER);

        BluetoothProxy.Intance.SendData(msgBuffer);
    }
Exemple #15
0
    private void OnBtnStartUpClick(GameObject obj)
    {
        List <byte> messageBuffer = SkateMessageHandler.GetSkateMessage(MessageDefine.E_C2D_MOTOR_NORMAL_START);

        BluetoothProxy.Intance.SendData(messageBuffer);
    }