コード例 #1
0
        public void PrintString(string text)
        {
            libPrintString(text, null);

            MData test = new MData();

            libCloseDocument(ref test, 1);
        }
コード例 #2
0
            public void AddData(string txt, MouldPatch mp, PatchType type)
            {
                MData da = new MData();

                da.type       = type;
                da.strValue   = txt;
                da.patchValue = mp;
                datas.Add(da);
            }
コード例 #3
0
        public EventStoreImDProtocol(string appId, Session session)
        {
            AppContainerPath = $"apps/{appId}";

            _session           = session;
            _mDataInfo         = session.MDataInfoActions;
            _mData             = session.MData;
            _mDataPermissions  = session.MDataPermissions;
            _crypto            = session.Crypto;
            _accessContainer   = session.AccessContainer;
            _mDataEntryActions = session.MDataEntryActions;
            _mDataEntries      = session.MDataEntries;
            _iData             = session.IData;
            _cipherOpt         = session.CipherOpt;
        }
コード例 #4
0
        private void OnAdvertisementReceived(BluetoothLEAdvertisementWatcher watcher, BluetoothLEAdvertisementReceivedEventArgs e)
        {
            _watchDog = 0; //message received

            try
            {
                //PrintDataSections(e);

                MData sections = new MData(e.Advertisement.ManufacturerData);
                //PrintManufacturerData(e, sections);
                ProcessManufacturerData(e, sections);
            }
            catch (Exception err)
            {
                Log.e("ERROR: " + err);
                CommonTools.ErrorMessage(err.ToString(), "OnAdvertisementReceived");
            }
        }
コード例 #5
0
 public static extern IntPtr libGetStatusFlags(ref MData data);
コード例 #6
0
 public static extern IntPtr libCloseDocument(ref MData data, byte cutPaper);
コード例 #7
0
        public void CloseDocument()
        {
            MData test = new MData();

            libCloseDocument(ref test, 1);
        }
コード例 #8
0
 private void Awake()
 {
     Instance = this;
 }
コード例 #9
0
    public static CipicHRIR FromMData(MData[] data)
    {
        MTable<double> onLTable = MTable<double>.FromMData(data[0]);
        MTable<double> onRTable = MTable<double>.FromMData(data[1]);
        MTable<double> itdTable = MTable<double>.FromMData(data[2]);
        MTable<double> leftHrirTable = MTable<double>.FromMData(data[4]);
        MTable<double> rightHrirTable = MTable<double>.FromMData(data[3]);
        MTable<short> nameTable = MTable<short>.FromMData(data[5]);
        CipicHRIR result = new CipicHRIR();
        result._OnL = new double[onLTable.Dimensions[0], onLTable.Dimensions[1]];
        result._OnR = new double[onRTable.Dimensions[0], onRTable.Dimensions[1]];
        result._Itd = new double[itdTable.Dimensions[0], itdTable.Dimensions[1]];
        result._LeftData = new double[leftHrirTable.Dimensions[0], leftHrirTable.Dimensions[1], leftHrirTable.Dimensions[2]];
        result._RightData = new double[rightHrirTable.Dimensions[0], rightHrirTable.Dimensions[1], rightHrirTable.Dimensions[2]];
        result._Name = new string(nameTable.Data.Select(x => (char)x).ToArray());
        result._Samples = leftHrirTable.Dimensions[2];
        result._Azimuths = GetAzimuths();
        result._Elevations = GetElevations();

        for (int y = 0; y < onLTable.Dimensions[1]; y++)
            for (int x = 0; x < onLTable.Dimensions[0]; x++)
                result._OnL[x, y] = onLTable.Data[y * onLTable.Dimensions[0] + x];

        for (int y = 0; y < onRTable.Dimensions[1]; y++)
            for (int x = 0; x < onRTable.Dimensions[0]; x++)
                result._OnR[x, y] = onRTable.Data[y * onRTable.Dimensions[0] + x];

        for (int y = 0; y < itdTable.Dimensions[1]; y++)
            for (int x = 0; x < itdTable.Dimensions[0]; x++)
                result._Itd[x, y] = itdTable.Data[y * itdTable.Dimensions[0] + x];

        for (int y = 0; y < leftHrirTable.Dimensions[1]; y++)
            for (int x = 0; x < leftHrirTable.Dimensions[0]; x++)
                for (int t = 0; t < leftHrirTable.Dimensions[2]; t++)
                    result._LeftData[x, y, t] = leftHrirTable.Data[t * leftHrirTable.Dimensions[1] * leftHrirTable.Dimensions[0] + y * leftHrirTable.Dimensions[0] + x];

        for (int y = 0; y < rightHrirTable.Dimensions[1]; y++)
            for (int x = 0; x < rightHrirTable.Dimensions[0]; x++)
                for (int t = 0; t < rightHrirTable.Dimensions[2]; t++)
                    result._RightData[x, y, t] = rightHrirTable.Data[t * rightHrirTable.Dimensions[0] * rightHrirTable.Dimensions[1] + y * rightHrirTable.Dimensions[0] + x];

        return result;
    }
コード例 #10
0
        private void PrintManufacturerData(BluetoothLEAdvertisementReceivedEventArgs e, MData m)
        {
            {
                if (m.ManufacturerData.Count > 0)
                {
                    Log.d("  SECTIONS: " + m.ManufacturerData.Count);
                    foreach (MData.Section section in m.ManufacturerData)
                    {
                        //// Print the company ID + the raw data in hex format
                        string manufacturerDataString = string.Format("0x{0}: {1}",
                                                                      section.CompanyId.ToString("X"),
                                                                      BitConverter.ToString(section.Buffer));
                        Log.d(string.Format("  COMPANY({0}): {1}", section.Buffer.Length, manufacturerDataString));

                        if (!_records.ContainsKey(section.CompanyId))
                        {
                            _records[section.CompanyId] = new DeviceRecordVM(e.Advertisement.LocalName, section.CompanyId, section.Buffer);
                        }

                        _records[section.CompanyId].Buffer = section.Buffer;
                        if (!string.IsNullOrWhiteSpace(e.Advertisement.LocalName))
                        {
                            _records[section.CompanyId].Name = e.Advertisement.LocalName;
                        }
                    }
                }
            }
        }
コード例 #11
0
        private async void ProcessManufacturerData(BluetoothLEAdvertisementReceivedEventArgs e, MData m)
        {
            int idx = m.FindManufacturerId(BMRecordBase.MANUFACTURER_ID);

            if (idx < 0)
            {
                return;
            }

            if (!_blueMaestroDevices.ContainsKey(e.BluetoothAddress))
            {
                BluetoothLEDevice device = await BluetoothLEDevice.FromBluetoothAddressAsync(e.BluetoothAddress);

                lock (_blueMaestroDevices)
                {
                    if (device != null)
                    {
                        _blueMaestroDevices[e.BluetoothAddress] = device;
                        _stopperBM = 0;
                    }
                }
            }

            if (_blueMaestroDevices.ContainsKey(e.BluetoothAddress))
            {
                BluetoothLEDeviceDisplay display = new BluetoothLEDeviceDisplay(_blueMaestroDevices[e.BluetoothAddress].DeviceInformation);
                Log.d("*BT* " + display.ToString());
            }

            if (m.ManufacturerData.Count > 0)
            {
                lock (_blueMaestroDevices)
                {
                    foreach (MData.Section section in m.ManufacturerData)
                    {
                        if (BMRecordCurrent.IsManufacturerID(section.CompanyId))
                        {
                            DateTime        date = DateTime.Now; // eventArgs.Timestamp.DateTime;
                            BluetoothDevice dev  = new BluetoothDevice(
                                e.Advertisement.LocalName,
                                e.BluetoothAddress,
                                e.AdvertisementType.ToString());

                            if (_averages == null)
                            {
                                _averages = new BMRecordAverages(dev, e.RawSignalStrengthInDBm, date, null);
                            }

                            if (_current == null)
                            {
                                _current = new BMRecordCurrent(dev, e.RawSignalStrengthInDBm, date, null);
                            }

                            if (section.Buffer.Length == 14)
                            {
                                if (BMDatabaseMap.INSTANCE.Contains(dev.Address))
                                {
                                    int count = BMDatabaseMap.INSTANCE[dev.Address].Records.Count;
                                    if (count > 0)
                                    {
                                        //time between readings
                                        TimeSpan tsElapsed = DateTime.Now - BMDatabaseMap.INSTANCE[dev.Address].Records.Last().Date;
                                        _lastCurrent = ", Curr Updated: " + tsElapsed.TotalSeconds.ToString("0s");
                                    }
                                }

                                _current = BMDatabaseMap.INSTANCE.AddRecord(dev, e.RawSignalStrengthInDBm, date, section.Buffer);
                            }
                            else if (section.Buffer.Length == 25)
                            {
                                //just update time
                                TimeSpan tsElapsed = DateTime.Now - _averages.Date;
                                _lastAverage = ", Avg Updated: " + tsElapsed.TotalSeconds.ToString("0s");

                                _averages.Set_sData(section.Buffer);
                            }
                            else
                            {
                                Log.e(" --- Unknown Length: " + section.Buffer.Length);
                            }

                            string recordsCount = "";
                            if (BMDatabaseMap.INSTANCE.Contains(dev.Address))
                            {
                                int count = BMDatabaseMap.INSTANCE[dev.Address].Records.Count;
                                recordsCount = "Records: " + count + " \n";
                            }

                            string message = recordsCount;
                            message += "Total: " + CommonTools.TimeSpanToString(TimeSpan.FromSeconds(_stopperBM)) + _lastAverage + _lastCurrent + " \n";
                            message += "Timestamp: " + date.ToString("MMM dd, HH:mm:ss") + " \n";
                            message += _current.ToString() + _averages.ToString();

                            OnBMDeviceMsgReceivedAction(message);
                        }
                    }
                }
            }
        }
コード例 #12
0
        /// <summary>
        /// Generate code for target node
        /// </summary>
        /// <param name="target"></param>
        /// <returns></returns>
        public static string GenerateNode(StateEventNode target)
        {
            if (target)
            {
                if (generatorData.generatedData.ContainsKey(target))
                {
                    return(generatorData.generatedData[target]);
                }
                string data = null;
                try {
                    string        fName         = target.eventType.ToString();
                    List <string> parameterType = new List <string>();
                    switch (target.eventType)
                    {
                    case StateEventNode.EventType.OnAnimatorIK:
                        parameterType.Add(ParseType(typeof(int)));
                        break;

                    case StateEventNode.EventType.OnApplicationFocus:
                    case StateEventNode.EventType.OnApplicationPause:
                        parameterType.Add(ParseType(typeof(bool)));
                        break;

                    case StateEventNode.EventType.OnCollisionEnter:
                    case StateEventNode.EventType.OnCollisionExit:
                    case StateEventNode.EventType.OnCollisionStay:
                        parameterType.Add(ParseType(typeof(Collision)));
                        break;

                    case StateEventNode.EventType.OnCollisionEnter2D:
                    case StateEventNode.EventType.OnCollisionExit2D:
                    case StateEventNode.EventType.OnCollisionStay2D:
                        parameterType.Add(ParseType(typeof(Collision2D)));
                        break;

                    case StateEventNode.EventType.OnTriggerEnter:
                    case StateEventNode.EventType.OnTriggerExit:
                    case StateEventNode.EventType.OnTriggerStay:
                        parameterType.Add(ParseType(typeof(Collider)));
                        break;

                    case StateEventNode.EventType.OnTriggerEnter2D:
                    case StateEventNode.EventType.OnTriggerExit2D:
                    case StateEventNode.EventType.OnTriggerStay2D:
                        parameterType.Add(ParseType(typeof(Collider2D)));
                        break;
                    }
                    MData mData = generatorData.GetMethodData(fName, parameterType);
                    if (mData == null && target.eventType != StateEventNode.EventType.OnEnter && target.eventType != StateEventNode.EventType.OnExit)
                    {
                        var  func     = graph.GetFunction(fName);
                        Type funcType = typeof(void);
                        if (func != null)
                        {
                            funcType = func.ReturnType();
                        }
                        mData = generatorData.AddMethod(fName, ParseType(funcType), parameterType);
                    }
                    string initStatement = null;
                    switch (target.eventType)
                    {
                    case StateEventNode.EventType.OnAnimatorIK:
                    case StateEventNode.EventType.OnApplicationFocus:
                    case StateEventNode.EventType.OnApplicationPause:
                    case StateEventNode.EventType.OnCollisionEnter:
                    case StateEventNode.EventType.OnCollisionExit:
                    case StateEventNode.EventType.OnCollisionStay:
                    case StateEventNode.EventType.OnCollisionEnter2D:
                    case StateEventNode.EventType.OnCollisionExit2D:
                    case StateEventNode.EventType.OnCollisionStay2D:
                    case StateEventNode.EventType.OnTriggerEnter:
                    case StateEventNode.EventType.OnTriggerExit:
                    case StateEventNode.EventType.OnTriggerStay:
                    case StateEventNode.EventType.OnTriggerEnter2D:
                    case StateEventNode.EventType.OnTriggerExit2D:
                    case StateEventNode.EventType.OnTriggerStay2D:
                        if (target.storeParameter.isAssigned)
                        {
                            initStatement = GenerateSetCode(ParseValue((object)target.storeParameter), mData.parameters[0].name);
                        }
                        break;
                    }
                    var flows = target.GetFlows();
                    if (flows != null && flows.Count > 0)
                    {
                        string contents = GenerateFlowCode(flows, target);
                        if (debugScript)
                        {
                            contents += GenerateDebugCode(target, StateType.Success);
                        }
                        data = contents;
                        if (!string.IsNullOrEmpty(data) && mData != null)
                        {
                            mData.AddCode(initStatement + GetInvokeNodeCode(target).AddLineInFirst(), -100);
                        }
                    }
                    if (setting.fullComment && !string.IsNullOrEmpty(data))
                    {
                        data = data.Insert(0, "//" + target.gameObject.name + " | Type:" + ParseType(target.GetType()).AddLineInEnd());
                    }
                    data = data.AddLineInFirst();
                }
                catch (Exception ex) {
                    if (!generatorData.hasError)
                    {
                        if (setting != null && setting.isAsync)
                        {
                            generatorData.errors.Add(ex);
                            //In case async return error commentaries.
                            return("/*Error from node: " + target.gameObject.name + " */");
                        }
                        Debug.LogError("Error from node:" + target.gameObject.name + " |Type:" + target.GetType() + "\nError:" + ex.ToString(), target);
                    }
                    generatorData.hasError = true;
                    throw;
                }
                if (string.IsNullOrEmpty(data))
                {
                    Debug.Log("Node not generated data", target);
                }
                if (includeGraphInformation)
                {
                    data = WrapWithInformation(data, target);
                }
                generatorData.generatedData.Add(target, data);
                return(data);
            }
            throw new System.Exception("Target node is null");
        }