示例#1
0
        public override void WriteTo(EepromV1 ee)
        {
            base.WriteTo(ee);
            ee[EepromV1.EValueOffsets32Plotter.EPenDownFeedrate] = PenDownFeedrate;
            ee[EepromV1.EValueOffsets32Plotter.EPenUpFeedrate] = PenUpFeedrate;
             
            ee[EepromV1.EValueOffsets32Plotter.EMovePenDownFeedrate]= MovePenDownFeedrate;
            ee[EepromV1.EValueOffsets32Plotter.EMovePenUpFeedrate]= MovePenUpFeedrate;
            ee[EepromV1.EValueOffsets32Plotter.EMovePenChangeFeedrate]= MovePenChangeFeedrate;
 
            ee[EepromV1.EValueOffsets32Plotter.EPenDownPos]= PenDownPos;
            ee[EepromV1.EValueOffsets32Plotter.EPenUpPos]= PenUpPos;
             
            ee[EepromV1.EValueOffsets32Plotter.EPenChangePosX] = PenChangePos_x;
            ee[EepromV1.EValueOffsets32Plotter.EPenChangePosY]= PenChangePos_y;
            ee[EepromV1.EValueOffsets32Plotter.EPenChangePosZ]= PenChangePos_z;
            
            ee[EepromV1.EValueOffsets32Plotter.EPenChangePosXOfs]= PenChangePos_x_ofs;
            ee[EepromV1.EValueOffsets32Plotter.EPenChangePosYOfs]= PenChangePos_y_ofs;

            ee[EepromV1.EValueOffsets16Plotter.EPenchangeServoClampOpenPos] = ServoClampOpenPos;
            ee[EepromV1.EValueOffsets16Plotter.EPenchangeServoClampClosePos] = ServoClampClosePos;

            ee[EepromV1.EValueOffsets16Plotter.EPenchangeServoClampOpenDelay] = ServoClampOpenDelay;
            ee[EepromV1.EValueOffsets16Plotter.EPenchangeServoClampCloseDelay] = ServoClampCloseDelay;
        }
示例#2
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);
        }
示例#3
0
        public override void ReadFrom(EepromV1 ee)
        {
            base.ReadFrom(ee);

            PenDownFeedrate = ee[EepromV1.EValueOffsets32Plotter.EPenDownFeedrate];
            PenUpFeedrate = ee[EepromV1.EValueOffsets32Plotter.EPenUpFeedrate];

            MovePenDownFeedrate = ee[EepromV1.EValueOffsets32Plotter.EMovePenDownFeedrate];
            MovePenUpFeedrate = ee[EepromV1.EValueOffsets32Plotter.EMovePenUpFeedrate];
            MovePenChangeFeedrate = ee[EepromV1.EValueOffsets32Plotter.EMovePenChangeFeedrate];

            PenDownPos = ee[EepromV1.EValueOffsets32Plotter.EPenDownPos];
            PenUpPos = ee[EepromV1.EValueOffsets32Plotter.EPenUpPos];

            PenChangePos_x = ee[EepromV1.EValueOffsets32Plotter.EPenChangePosX];
            PenChangePos_y = ee[EepromV1.EValueOffsets32Plotter.EPenChangePosY];
            PenChangePos_z = ee[EepromV1.EValueOffsets32Plotter.EPenChangePosZ];

            PenChangePos_x_ofs = ee[EepromV1.EValueOffsets32Plotter.EPenChangePosXOfs];
            PenChangePos_y_ofs = ee[EepromV1.EValueOffsets32Plotter.EPenChangePosYOfs];

            ServoClampOpenPos = ee[EepromV1.EValueOffsets16Plotter.EPenchangeServoClampOpenPos];
            ServoClampClosePos = ee[EepromV1.EValueOffsets16Plotter.EPenchangeServoClampClosePos];

            ServoClampOpenDelay = ee[EepromV1.EValueOffsets16Plotter.EPenchangeServoClampOpenDelay];
            ServoClampCloseDelay = ee[EepromV1.EValueOffsets16Plotter.EPenchangeServoClampCloseDelay];
        }
示例#4
0
        public ActionResult <UInt32[]> GetEepromInfo([FromBody] Eeprom eeprom)
        {
            var eePromV1 = new EepromV1()
            {
                Values = eeprom.Values
            };

            eeprom.WriteTo(eePromV1);
            return(Ok(eeprom.Values));
        }
示例#5
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);
        }
示例#6
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);
        }
示例#7
0
        public async Task <ActionResult> SaveEeprom(int id, [FromBody] UInt32[] eepromValue)
        {
            var port = await SerialPortList.GetPortAndRescan(id);

            if (port == null)
            {
                return(NotFound());
            }

            var ee = new EepromV1 {
                Values = eepromValue
            };

            if (ee.IsValid)
            {
                await port.Serial.WriteEepromValues(ee);
            }

            return(Ok());
        }
示例#8
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);
        }
示例#9
0
        public async Task WriteEepromValuesAsync(EepromV1 ee)
        {
            await Global.Instance.Com.Current.SendCommandAsync(@"$!", DefaultEpromTimeout);

            await Global.Instance.Com.Current.SendCommandsAsync(ee.ToGCode(), DefaultEpromTimeout);
        }
示例#10
0
        public static async Task WriteEepromValuesAsync(this ISerial serial, EepromV1 ee)
        {
            await serial.SendCommandAsync(@"$!", DefaultEpromTimeout);

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