Skip to content

Commit

Permalink
Setup and Web
Browse files Browse the repository at this point in the history
Setup and Web
  • Loading branch information
aiten committed Sep 18, 2022
1 parent 114b124 commit 02a12f2
Show file tree
Hide file tree
Showing 11 changed files with 1,249 additions and 1,459 deletions.
2 changes: 1 addition & 1 deletion Src/Directory.Build.props
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
<PropertyGroup Label="Versioning">
<Authors>Herbert Aitenbichler</Authors>
<Company>Herbert Aitenbichler</Company>
<VersionPrefix>1.5.1</VersionPrefix>
<VersionPrefix>1.5.2</VersionPrefix>
<Copyright>Herbert Aitenbichler</Copyright>
<PackageRequireLicenseAcceptance>false</PackageRequireLicenseAcceptance>
</PropertyGroup>
Expand Down
166 changes: 9 additions & 157 deletions Src/GCode.Machine/EepromExtensions.cs
Original file line number Diff line number Diff line change
Expand Up @@ -45,14 +45,17 @@ public static EepromV0 CreateMachineEeprom(UInt32[] values)
var signature = values[(int)EepromV0.EValueOffsets32.Signature];
switch (signature)
{
case EepromV1.SIGNATURE: return new EepromV1() { Values = values };
case EepromV1Plotter.SIGNATUREPLOTTER: return new EepromV1Plotter() { Values = values };
case EepromV2.SIGNATURE: return new EepromV2() { Values = values };
case EepromV2Plotter.SIGNATUREPLOTTER: return new EepromV2Plotter() { Values = values };
case EepromV1.SIGNATURE_V1: return new EepromV1() { Values = values };
case EepromV1Plotter.SIGNATUREPLOTTER_V1: return new EepromV1Plotter() { Values = values };
case EepromV2.SIGNATURE_V2: return new EepromV2() { Values = values };
case EepromV2Plotter.SIGNATUREPLOTTER_V2: return new EepromV2Plotter() { Values = values };
}

return null;
}
public static bool IsPlotter(this Eeprom eeprom) => eeprom.Signature == EepromV1Plotter.SIGNATUREPLOTTER_V1 || eeprom.Signature == EepromV2Plotter.SIGNATUREPLOTTER_V2;

public static bool IsVersion2(this Eeprom eeprom) => eeprom.Signature != EepromV1.SIGNATURE_V1 && eeprom.Signature != EepromV1Plotter.SIGNATUREPLOTTER_V1;

public static bool? IsPropertyBrowsable(this Eeprom eeprom, PropertyDescriptor property)
{
Expand All @@ -79,7 +82,7 @@ public static EepromV0 CreateMachineEeprom(UInt32[] values)
{
var signature = eeprom.Signature;

if (signature != EepromV1Plotter.SIGNATUREPLOTTER)
if (!eeprom.IsPlotter())
{
var attributes = property.Attributes;
CategoryAttribute myAttribute = (CategoryAttribute)attributes[typeof(CategoryAttribute)];
Expand All @@ -89,7 +92,7 @@ public static EepromV0 CreateMachineEeprom(UInt32[] values)
}
}

if (signature == EepromV1.SIGNATURE || signature == EepromV1Plotter.SIGNATUREPLOTTER)
if (!eeprom.IsVersion2())
{
if (propertyName == nameof(Eeprom.StepperOffTimeout))
{
Expand Down Expand Up @@ -130,156 +133,5 @@ public static EepromV0 CreateMachineEeprom(UInt32[] values)

return null;
}
/*
public static void ReadFrom(this Eeprom eeprom, EepromV1 ee)
{
eeprom.Signature = ee[EepromV1.EValueOffsets32.Signature];
byte numAxis = ee[EepromV1.EValueOffsets8.NumAxis];
eeprom.NumAxis = ee[EepromV1.EValueOffsets8.NumAxis];
eeprom.UseAxis = ee[EepromV1.EValueOffsets8.UseAxis];
eeprom.Info1 = ee[EepromV1.EValueOffsets32.Info1];
eeprom.Info2 = ee[EepromV1.EValueOffsets32.Info2];
for (int i = 0; i < numAxis; i++)
{
eeprom.GetAxis(i).DWEESizeOf = ee.DWSizeAxis;
eeprom.GetAxis(i).Size = ee[i, EepromV1.EAxisOffsets32.Size];
eeprom.GetAxis(i).RefMove = (Eeprom.EReverenceType)ee[i, EepromV1.EAxisOffsets8.EReverenceType];
eeprom.GetAxis(i).RefHitValueMin = ee[i, EepromV1.EAxisOffsets8.EReverenceHitValueMin];
eeprom.GetAxis(i).RefHitValueMax = ee[i, EepromV1.EAxisOffsets8.EReverenceHitValueMax];
eeprom.GetAxis(i).InitPosition = ee[i, EepromV1.EAxisOffsets32.InitPosition];
eeprom.GetAxis(i).StepperDirection = (ee[EepromV1.EValueOffsets8.StepperDirection] & (1 << i)) != 0;
eeprom[i] = (Eeprom.EReverenceSequence)ee[i, EepromV1.EAxisOffsets8.EReverenceSequence];
if (ee.DWSizeAxis > EepromV1.SIZEOFAXIS_EX)
{
eeprom.GetAxis(i).MaxStepRate = ee[i, EepromV1.EAxisOffsets32.MaxStepRate];
eeprom.GetAxis(i).Acc = ee[i, EepromV1.EAxisOffsets16.Acc];
eeprom.GetAxis(i).Dec = ee[i, EepromV1.EAxisOffsets16.Dec];
eeprom.GetAxis(i).StepsPerMm1000 = BitConverter.ToSingle(BitConverter.GetBytes(ee[i, EepromV1.EAxisOffsets32.StepsPerMm1000]), 0);
eeprom.GetAxis(i).ProbeSize = ee[i, EepromV1.EAxisOffsets32.ProbeSize];
eeprom.GetAxis(i).RefMoveStepRate = ee[i, EepromV1.EAxisOffsets32.RefMoveStepRate];
}
}
eeprom.MaxSpindleSpeed = ee[EepromV1.EValueOffsets16.MaxSpindleSpeed];
eeprom.SpindleFadeTime = ee[EepromV1.EValueOffsets8.SpindleFadeTime];
eeprom.RefMoveStepRate = ee[EepromV1.EValueOffsets32.RefMoveStepRate];
eeprom.MoveAwayFromReference = ee[EepromV1.EValueOffsets32.MoveAwayFromReference];
eeprom.MaxStepRate = ee[EepromV1.EValueOffsets32.MaxStepRate];
eeprom.Acc = ee[EepromV1.EValueOffsets16.Acc];
eeprom.Dec = ee[EepromV1.EValueOffsets16.Dec];
eeprom.JerkSpeed = ee[EepromV1.EValueOffsets16.JerkSpeed];
eeprom.StepsPerMm1000 = BitConverter.ToSingle(BitConverter.GetBytes(ee[EepromV1.EValueOffsets32.StepsPerMm1000]), 0);
if (eeprom.Signature == EepromV1.SIGNATUREPLOTTER)
{
eeprom.PenDownFeedrate = ee[EepromV1.EValueOffsets32Plotter.EPenDownFeedrate];
eeprom.PenUpFeedrate = ee[EepromV1.EValueOffsets32Plotter.EPenUpFeedrate];
eeprom.MovePenDownFeedrate = ee[EepromV1.EValueOffsets32Plotter.EMovePenDownFeedrate];
eeprom.MovePenUpFeedrate = ee[EepromV1.EValueOffsets32Plotter.EMovePenUpFeedrate];
eeprom.MovePenChangeFeedrate = ee[EepromV1.EValueOffsets32Plotter.EMovePenChangeFeedrate];
eeprom.PenDownPos = ee[EepromV1.EValueOffsets32Plotter.EPenDownPos];
eeprom.PenUpPos = ee[EepromV1.EValueOffsets32Plotter.EPenUpPos];
eeprom.PenChangePos_x = ee[EepromV1.EValueOffsets32Plotter.EPenChangePosX];
eeprom.PenChangePos_y = ee[EepromV1.EValueOffsets32Plotter.EPenChangePosY];
eeprom.PenChangePos_z = ee[EepromV1.EValueOffsets32Plotter.EPenChangePosZ];
eeprom.PenChangePos_x_ofs = ee[EepromV1.EValueOffsets32Plotter.EPenChangePosXOfs];
eeprom.PenChangePos_y_ofs = ee[EepromV1.EValueOffsets32Plotter.EPenChangePosYOfs];
eeprom.ServoClampOpenPos = ee[EepromV1.EValueOffsets16Plotter.EPenChangeServoClampOpenPos];
eeprom.ServoClampClosePos = ee[EepromV1.EValueOffsets16Plotter.EPenChangeServoClampClosePos];
eeprom.ServoClampOpenDelay = ee[EepromV1.EValueOffsets16Plotter.EPenChangeServoClampOpenDelay];
eeprom.ServoClampCloseDelay = ee[EepromV1.EValueOffsets16Plotter.EPenChangeServoClampCloseDelay];
}
}
public static void WriteTo(this Eeprom eeprom, EepromV1 ee)
{
byte numAxis = ee[EepromV1.EValueOffsets8.NumAxis];
for (int i = 0; i < numAxis; i++)
{
ee[i, EepromV1.EAxisOffsets32.Size] = eeprom.GetAxis(i).Size;
ee[i, EepromV1.EAxisOffsets8.EReverenceType] = (byte)eeprom.GetAxis(i).RefMove;
ee[i, EepromV1.EAxisOffsets8.EReverenceSequence] = (byte)(Eeprom.EReverenceSequence)eeprom[i];
ee[i, EepromV1.EAxisOffsets8.EReverenceHitValueMin] = eeprom.GetAxis(i).RefHitValueMin;
ee[i, EepromV1.EAxisOffsets8.EReverenceHitValueMax] = eeprom.GetAxis(i).RefHitValueMax;
int direction = ee[EepromV1.EValueOffsets8.StepperDirection] & (~(1 << i));
if (eeprom.GetAxis(i).StepperDirection)
{
direction += 1 << i;
}
ee[EepromV1.EValueOffsets8.StepperDirection] = (byte)direction;
ee[i, EepromV1.EAxisOffsets32.InitPosition] = eeprom.GetAxis(i).InitPosition;
if (ee.DWSizeAxis > EepromV1.SIZEOFAXIS_EX)
{
ee[i, EepromV1.EAxisOffsets32.MaxStepRate] = eeprom.GetAxis(i).MaxStepRate;
ee[i, EepromV1.EAxisOffsets16.Acc] = eeprom.GetAxis(i).Acc;
ee[i, EepromV1.EAxisOffsets16.Dec] = eeprom.GetAxis(i).Dec;
ee[i, EepromV1.EAxisOffsets32.StepsPerMm1000] = BitConverter.ToUInt32(BitConverter.GetBytes(eeprom.GetAxis(i).StepsPerMm1000), 0);
ee[i, EepromV1.EAxisOffsets32.ProbeSize] = eeprom.GetAxis(i).ProbeSize;
ee[i, EepromV1.EAxisOffsets32.RefMoveStepRate] = eeprom.GetAxis(i).RefMoveStepRate;
}
}
ee[EepromV1.EValueOffsets16.MaxSpindleSpeed] = eeprom.MaxSpindleSpeed;
ee[EepromV1.EValueOffsets8.SpindleFadeTime] = eeprom.SpindleFadeTime;
ee[EepromV1.EValueOffsets32.RefMoveStepRate] = eeprom.RefMoveStepRate;
ee[EepromV1.EValueOffsets32.MoveAwayFromReference] = eeprom.MoveAwayFromReference;
ee[EepromV1.EValueOffsets32.MaxStepRate] = eeprom.MaxStepRate;
ee[EepromV1.EValueOffsets16.Acc] = eeprom.Acc;
ee[EepromV1.EValueOffsets16.Dec] = eeprom.Dec;
ee[EepromV1.EValueOffsets16.JerkSpeed] = eeprom.JerkSpeed;
ee[EepromV1.EValueOffsets32.StepsPerMm1000] = BitConverter.ToUInt32(BitConverter.GetBytes(eeprom.StepsPerMm1000), 0);
if (ee[EepromV1.EValueOffsets32.Signature] == EepromV1.SIGNATUREPLOTTER)
{
ee[EepromV1.EValueOffsets32Plotter.EPenDownFeedrate] = eeprom.PenDownFeedrate;
ee[EepromV1.EValueOffsets32Plotter.EPenUpFeedrate] = eeprom.PenUpFeedrate;
ee[EepromV1.EValueOffsets32Plotter.EMovePenDownFeedrate] = eeprom.MovePenDownFeedrate;
ee[EepromV1.EValueOffsets32Plotter.EMovePenUpFeedrate] = eeprom.MovePenUpFeedrate;
ee[EepromV1.EValueOffsets32Plotter.EMovePenChangeFeedrate] = eeprom.MovePenChangeFeedrate;
ee[EepromV1.EValueOffsets32Plotter.EPenDownPos] = eeprom.PenDownPos;
ee[EepromV1.EValueOffsets32Plotter.EPenUpPos] = eeprom.PenUpPos;
ee[EepromV1.EValueOffsets32Plotter.EPenChangePosX] = eeprom.PenChangePos_x;
ee[EepromV1.EValueOffsets32Plotter.EPenChangePosY] = eeprom.PenChangePos_y;
ee[EepromV1.EValueOffsets32Plotter.EPenChangePosZ] = eeprom.PenChangePos_z;
ee[EepromV1.EValueOffsets32Plotter.EPenChangePosXOfs] = eeprom.PenChangePos_x_ofs;
ee[EepromV1.EValueOffsets32Plotter.EPenChangePosYOfs] = eeprom.PenChangePos_y_ofs;
ee[EepromV1.EValueOffsets16Plotter.EPenChangeServoClampOpenPos] = eeprom.ServoClampOpenPos;
ee[EepromV1.EValueOffsets16Plotter.EPenChangeServoClampClosePos] = eeprom.ServoClampClosePos;
ee[EepromV1.EValueOffsets16Plotter.EPenChangeServoClampOpenDelay] = eeprom.ServoClampOpenDelay;
ee[EepromV1.EValueOffsets16Plotter.EPenChangeServoClampCloseDelay] = eeprom.ServoClampCloseDelay;
}
}
*/
}
}
2 changes: 1 addition & 1 deletion Src/GCode.Machine/EepromV1.cs
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ public class EepromV1 : EepromV0

public override uint VersionSignature => 0x21436502;

public const uint SIGNATURE = 0x21436502;
public const uint SIGNATURE_V1 = 0x21436502;

public const uint SIZEOFAXIS_EX = ((uint)EAxisOffsets32V1.InitPosition) + 1;

Expand Down
4 changes: 2 additions & 2 deletions Src/GCode.Machine/EepromV1Plotter.cs
Original file line number Diff line number Diff line change
Expand Up @@ -20,9 +20,9 @@ public class EepromV1Plotter : EepromV1
{
#region Properties

public const uint SIGNATUREPLOTTER = 0x21438702;
public const uint SIGNATUREPLOTTER_V1 = 0x21438702;

public override uint VersionSignature => SIGNATUREPLOTTER;
public override uint VersionSignature => SIGNATUREPLOTTER_V1;

#endregion

Expand Down
2 changes: 1 addition & 1 deletion Src/GCode.Machine/EepromV2.cs
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ namespace CNCLib.GCode.Machine

public class EepromV2 : EepromV1
{
public const uint SIGNATURE = 0x21436503;
public const uint SIGNATURE_V2 = 0x21436503;

#region Properties

Expand Down
4 changes: 2 additions & 2 deletions Src/GCode.Machine/EepromV2Plotter.cs
Original file line number Diff line number Diff line change
Expand Up @@ -20,9 +20,9 @@ public class EepromV2Plotter : EepromV2
{
#region Properties

public const uint SIGNATUREPLOTTER = 0x21438703;
public const uint SIGNATUREPLOTTER_V2 = 0x21438703;

public override uint VersionSignature => SIGNATUREPLOTTER;
public override uint VersionSignature => SIGNATUREPLOTTER_V2;

#endregion

Expand Down
2 changes: 1 addition & 1 deletion Src/NsisSetup/CNCLib.Global.nsi
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ Unicode true
# These three must be integers
!define VERSIONMAJOR 1
!define VERSIONMINOR 5
!define VERSIONBUILD 0
!define VERSIONBUILD 2

!define HELPURL "https://github.com/aiten/CNCLib" # "Support Information" link
!define UPDATEURL "https://github.com/aiten/CNCLib" # "Product Updates" link
Expand Down
Loading

0 comments on commit 02a12f2

Please sign in to comment.