Skip to content

Commit

Permalink
Add software focus capability to Ruida driver
Browse files Browse the repository at this point in the history
This feature is not configurable at the moment; we could make it configurable if needed.

Tested on an OMTech Polar with a Ruida 6442s controller.
  • Loading branch information
TheAssassin committed Apr 15, 2024
1 parent 1312d60 commit 4efa2dd
Show file tree
Hide file tree
Showing 2 changed files with 21 additions and 3 deletions.
22 changes: 20 additions & 2 deletions src/main/java/de/thomas_oster/liblasercut/drivers/Ruida.java
Original file line number Diff line number Diff line change
Expand Up @@ -591,7 +591,6 @@ public void writeJobCode(LaserJob job, ProgressListener pl) throws IOException {

for (JobPart p : job.getParts())
{
float focus;
boolean engrave = false;

if ((p instanceof RasterPart) || (p instanceof Raster3dPart))
Expand Down Expand Up @@ -651,13 +650,27 @@ public void writeJobCode(LaserJob job, ProgressListener pl) throws IOException {
{
LaserProperty pr = cmd.getProperty();
FloatMinMaxPowerSpeedFocusFrequencyProperty prop = (FloatMinMaxPowerSpeedFocusFrequencyProperty) pr;
float focus = prop.getFocus();
if (first_prop) {
first_prop = false;
currentMinPower = cmd_layer_percent("c631", part_number, currentMinPower, prop.getMinPower());
currentMaxPower = cmd_layer_percent("c632", part_number, currentMaxPower, prop.getPower());
// prop speed is in %, ruida speed is in mm/s (0..1000)
currentSpeed = cmd_layer_absoluteMM("c904", part_number, currentSpeed, prop.getSpeed() * getMaxVectorCutSpeed() / 100);
// focus - n/a

// negative focus is not applicable on the test device (uses 6442s)
if (focus <= 0) {
focus = 0;
}

// configure axis velocity, affects move speed of Z axis
stream.hex("c903").absoluteMM(5);
// move Z axis to desired focus valueu
// the value depends on the device
// on an OMTech Polar, for instance, focus needs to be set to 17 - <thickness>
// for instance, for a 3mm thick material, one needs to configure a focus of 14.0
stream.hex("800B").absoluteMM(focus);

// frequency
stream.hex("c660").byteint(part_number).hex("00").longint(prop.getFrequency());
// color - red for now
Expand Down Expand Up @@ -690,6 +703,11 @@ public void writeJobCode(LaserJob job, ProgressListener pl) throws IOException {
currentSpeed = -1;
}

// configure axis velocity, affects move speed of Z axis
stream.hex("c903").absoluteMM(5);
// move Z axis back to 0
stream.hex("800B").absoluteMM(0);

/* work interval */
stream.hex("DA010620").longint(travel_distance).longint(travel_distance);
/* stop */
Expand Down
2 changes: 1 addition & 1 deletion test-output/de.thomas_oster.liblasercut.drivers.Ruida.out
Original file line number Diff line number Diff line change
@@ -1 +1 @@
қ��p �m{��z��҉p�����������p ��� ������p���鉉 ��pى�� ������pY���鉉 ��p�� � ����������p�ī�pۉ��� ������p[����鉉 ��pi���� ������p뉉��鉉 ���9�wwл�wwB����5��鉉��� �ď�������I��� �ċ�� B���5��� wwЋww� ę����� ���� ���� ϱ�� ����� �����������鉉�������[/���/Ѣ����}�� ��"�{"w�m"�;/Ѣ���[/���m�����鉉 ��p� ��������_p[ ����U����]pi ��������_p� ����U����]�9 wwл wwB� ��5���� ���� �ď ������I �� ċ � B���5��� wwЋww� ę����������_����q����_�����W����_���������_����������_�����U����_�����U������������������M���������W�������������������������������5�����U���5�����U��������q����������������������������U����������U����]����q����]���������]pۋ����]����Op[����������Mpi�����]����Op닉��������M�9�wwл�wwB����5��鋉��� �ď�������I��� ċ�� B���5��� wwЋww� ę�����3����O����������O�����[����O����剉��O����剉��󢉉������󂉉�������󢉉�e����󂉉��]���%ЋWw��������%����3���%���������%����������Ћɉ����3���邉���]����MЋww����3����M� ������e����ep�`
қ��p �m{��z��҉p�����������p ��� ������p���鉉 ��pى�� ������pY���鉉 ��p�� � ����������p�ī�pۉ��� ������p[����鉉 ��pi���� ������p뉉��鉉 ���9�wwл�wwB����5��B ���/��������鉉��� �ď�������I��� �ċ�� B���5��� wwЋww� ę����� ���� ���� ϱ�� ����� �����������鉉�������[/���/Ѣ����}�� ��"�{"w�m"�;/Ѣ���[/���m�����鉉 ��p� ��������_p[ ����U����]pi ��������_p� ����U����]�9 wwл wwB� ��5��B ���/��������� ���� �ď ������I �� ċ � B���5��� wwЋww� ę����������_����q����_�����W����_���������_����������_�����U����_�����U������������������M���������W�������������������������������5�����U���5�����U��������q����������������������������U����������U����]����q����]���������]pۋ����]����Op[����������Mpi�����]����Op닉��������M�9�wwл�wwB����5��B ���/��������鋉��� �ď�������I��� ċ�� B���5��� wwЋww� ę�����3����O����������O�����[����O����剉��O����剉��󢉉������󂉉�������󢉉�e����󂉉��]���%ЋWw��������%����3���%���������%����������Ћɉ����3���邉���]����MЋww����3����MB ���/�������� ������e����ep�`
Expand Down

0 comments on commit 4efa2dd

Please sign in to comment.