Initial commit

This commit is contained in:
ChiKyun Kim
2025-07-17 16:11:46 +09:00
parent 4865711adc
commit 4a1b1924ba
743 changed files with 230954 additions and 0 deletions

View File

@@ -0,0 +1,174 @@
using System;
using System.Collections.Generic;
using System.Drawing;
using System.Linq;
using System.Text;
using AR;
using arDev;
namespace Project
{
public partial class FMain
{
private void Joystick_InputChanged(object sender, arDev.Joystick.JoystickRaw.InputChangedEventHandler e)
{
var keyName = e.input.ToString();
if (e.input == HidSharp.Reports.Usage.Button5) keyName = "L-TRIGGER";
else if (e.input == HidSharp.Reports.Usage.Button6) keyName = "R-TRIGGER";
else if (e.input == HidSharp.Reports.Usage.Button9) keyName = "SELECT";
else if (e.input == HidSharp.Reports.Usage.Button10) keyName = "START";
else if (e.input == HidSharp.Reports.Usage.Button4) keyName = "BUT-Y";
else if (e.input == HidSharp.Reports.Usage.Button1) keyName = "BUT-X";
PUB.log.Add("JOYSTICK", string.Format("[{0}] {1}->{2}", keyName, e.oldValue, e.newValue));
if (PUB.sm.Step != eSMStep.IDLE && PUB.sm.Step != eSMStep.ERROR && PUB.flag.get(eVarBool.FG_MOVE_PICKER) == false && PUB.sm.Step != eSMStep.WAITSTART) return;
if (e.input == HidSharp.Reports.Usage.Button4) //stop
{
if (e.newValue > 0)
{
PUB.log.Add("Joystick Click : Stop");
_BUTTON_STOP();
}
}
else if (e.input == HidSharp.Reports.Usage.Button1) //reset
{
if (e.newValue > 0)
{
PUB.log.Add("Joystick Click : Reset");
_BUTTON_RESET();
}
}
else if (e.input == HidSharp.Reports.Usage.Button9) //select button
{
if (e.newValue == 1)
{
PUB.Result.JoystickAxisGroup += 1;
if (PUB.Result.JoystickAxisGroup > 3) PUB.Result.JoystickAxisGroup = 0;
}
}
else if (e.input == HidSharp.Reports.Usage.Button10) //start button
{
if (e.newValue == 1 && PUB.flag.get(eVarBool.FG_SCR_JOBSELECT) == false)
{
if (PUB.sm.Step >= eSMStep.IDLE)
{
PUB.log.AddI("START BUTTON");
this._BUTTON_START();
}
}
}
else if (e.input == HidSharp.Reports.Usage.Button5) //ltrigger
{
AR.SETTING.Data.Enable_SpeedLimit = true;
}
else if (e.input == HidSharp.Reports.Usage.Button6) //ltrigger
{
AR.SETTING.Data.Enable_SpeedLimit = false;
}
//트리거 L,R을 눌렀을때 홈 가능한 위치라면 홈을 진행한다
if (e.newValue > 0 && (e.input == HidSharp.Reports.Usage.Button5 || e.input == HidSharp.Reports.Usage.Button6))
{
//두개가 동시에 눌렷을때
if (PUB.joystick.Buttons[4] && PUB.joystick.Buttons[5])
{
if (PUB.flag.get(eVarBool.FG_INIT_MOTIO) == false) return;
if (PUB.sm.isRunning == true) return;
if (DIO.IsEmergencyOn() == true) return;
if (PUB.sm.Step == eSMStep.RUN) return;
PUB.log.AddAT("조이스틱으로 홈 초기화작업");
Func_sw_initialize();
}
}
//동작중만 아니면 작동하게한다.
if (PUB.sm.Step != eSMStep.RUN)
{
short axisH = 0;
short axisV = 1;
if (PUB.Result.JoystickAxisGroup == 1) //왼쪽뭉치
{
axisH = 2;
axisV = 3;
}
else if (PUB.Result.JoystickAxisGroup == 2) //오른쪽뭉치
{
axisH = 4;
axisV = 5;
}
else if (PUB.Result.JoystickAxisGroup == 3) //theta, picker-Z
{
axisH = 6;
axisV = 1;
}
//X축으로 이동하는것은 PX,
if (e.input == HidSharp.Reports.Usage.GenericDesktopX)
{
if (e.newValue == 0)
{
//좌
PUB.mot.JOG(axisH, arDev.MOT.MOTION_DIRECTION.Negative, 100, 500, false, false);
PUB.flag.set(eVarBool.FG_JOYSTICK, true, "joystick");
}
else if (e.newValue == 127)
{
//멈춤
PUB.mot.MoveStop("Joystick", axisH);
PUB.flag.set(eVarBool.FG_JOYSTICK, false, "joystick");
}
else if (e.newValue == 255)
{
//우
PUB.mot.JOG(axisH, arDev.MOT.MOTION_DIRECTION.Positive, 100, 500, false, false);
PUB.flag.set(eVarBool.FG_JOYSTICK, true, "joystick");
}
}
else if (e.input == HidSharp.Reports.Usage.GenericDesktopY)
{
if (e.newValue == 0)
{
//상
PUB.mot.JOG(axisV, arDev.MOT.MOTION_DIRECTION.Negative, 100, 500, false, false);
PUB.flag.set(eVarBool.FG_JOYSTICK, true, "joystick");
}
else if (e.newValue == 127)
{
//멈춤
PUB.mot.MoveStop("Joystick", axisV);
PUB.flag.set(eVarBool.FG_JOYSTICK, false, "joystick");
}
else if (e.newValue == 255)
{
//하
PUB.mot.JOG(axisV, arDev.MOT.MOTION_DIRECTION.Positive, 100, 500, false, false);
PUB.flag.set(eVarBool.FG_JOYSTICK, true, "joystick");
}
}
}
}
private void Joystick_Disconnected(object sender, EventArgs e)
{
PUB.log.AddE("조이스틱 연결 종료");
}
private void Joystick_Connected(object sender, EventArgs e)
{
PUB.log.AddI("조이스틱 연결 완료");
}
private void Joystick_Changed(object sender, EventArgs e)
{
PUB.log.AddAT("조이스틱 감지");
}
}
}