示例#1
0
        public async Task <bool> WriteEepromAsync(Eeprom EepromValue)
        {
            var ee = new EepromV1 {
                Values = EepromValue.Values
            };

            if (ee.IsValid)
            {
                EepromValue.WriteTo(ee);

                File.WriteAllLines(Environment.ExpandEnvironmentVariables(@"%TEMP%\EepromWrite.nc"), ee.ToGCode());

                await new MachineGCodeHelper().WriteEepromValuesAsync(ee);
                return(true);
            }
            return(false);
        }
示例#2
0
        public async Task <Eeprom> ReadEepromAsync()
        {
            UInt32[] values = await new MachineGCodeHelper().GetEpromValuesAsync(MachineGCodeHelper.DefaultEpromTimeout);
            if (values != null)
            {
                var ee = new EepromV1 {
                    Values = values
                };

                if (ee.IsValid)
                {
                    File.WriteAllLines(Environment.ExpandEnvironmentVariables(@"%TEMP%\EepromRead.nc"), ee.ToGCode());
                    byte numaxis = ee[EepromV1.EValueOffsets8.NumAxis];

                    var eeprom = Eeprom.Create(ee[EepromV1.EValueOffsets32.Signatrue], numaxis);
                    eeprom.Values = values;
                    eeprom.ReadFrom(ee);

                    return(eeprom);
                }
            }
            return(null);
        }
示例#3
0
        public async Task WriteEepromValuesAsync(EepromV1 ee)
        {
            await Global.Instance.Com.Current.SendCommandAsync(@"$!", DefaultEpromTimeout);

            await Global.Instance.Com.Current.SendCommandsAsync(ee.ToGCode(), DefaultEpromTimeout);
        }
示例#4
0
        public static async Task <bool> WriteEepromAsync(this ISerial serial, Eeprom eepromValue)
        {
            var ee = new EepromV1 {
                Values = eepromValue.Values
            };

            if (ee.IsValid)
            {
                eepromValue.WriteTo(ee);

                File.WriteAllLines(Environment.ExpandEnvironmentVariables(@"%TEMP%\EepromWrite.nc"), ee.ToGCode());

                await serial.WriteEepromValuesAsync(ee);

                return(true);
            }

            return(false);
        }
示例#5
0
        public static async Task <Eeprom> ReadEepromAsync(this ISerial serial)
        {
            uint[] values = await serial.GetEpromValuesAsync(SerialExtension.DefaultEpromTimeout);

            if (values != null)
            {
                var ee = new EepromV1 {
                    Values = values
                };

                if (ee.IsValid)
                {
                    File.WriteAllLines(Environment.ExpandEnvironmentVariables(@"%TEMP%\EepromRead.nc"), ee.ToGCode());
                    byte numAxis = ee[EepromV1.EValueOffsets8.NumAxis];

                    var eeprom = Eeprom.Create(ee[EepromV1.EValueOffsets32.Signature], numAxis);
                    eeprom.Values = values;
                    eeprom.ReadFrom(ee);

                    return(eeprom);
                }
            }

            return(null);
        }
示例#6
0
        public static async Task WriteEepromValuesAsync(this ISerial serial, EepromV1 ee)
        {
            await serial.SendCommandAsync(@"$!", DefaultEpromTimeout);

            await serial.SendCommandsAsync(ee.ToGCode(), DefaultEpromTimeout);
        }