ksj09406 c517993e1a RCC 패턴 변경 알림(B2506/B2409), 서브 패턴 10개 확장 및 현장 소스 동기화
- 오토런 시작 시 RCC 패턴 폴더 변경 감지 → B2506 ON, PLC ACK(B2409) 수신 시 OFF
- 서브 패턴 1~10, 패턴 목록에 서브 썸네일 표시(행 내 좌우 스크롤)
- 서브 패턴 등록 직후 활성화 OFF
- 패턴 파일이 다른 프로그램에서 열려 있으면 삭제하지 않고 안내
- 현장 소스 반영: Train ROI 슬라이더, KS 조명 밝기 저장/적용, 조명 ID 분리,
  스캔 후 카메라 라이브 재시작, 레시피 21 RCC NG 우회, 오토런 상태 판단
2026-10-15 14:36:29 +09:00

98 lines
2.7 KiB
C#

using Aurora.Api;
using Aurora.Api.DataType;
using Aurora.Api.Devices;
using PropertyTools.DataAnnotations;
using System;
using System.Collections.Generic;
using System.IO.Ports;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace AuroraLight
{
public class LightConfig : IDeviceConfig
{
public IConnConfig ConnConfig { get; set; }
[Category("Light Level")]
[DisplayName("Channel 1 Level (0~255)")]
[Description("Channel 1 Brightness")]
public int Ch1Level { get; set; } = 200;
[Category("Light Level")]
[DisplayName("Channel 2 Level (0~255)")]
[Description("Channel 2 Brightness")]
public int Ch2Level { get; set; } = 200;
[Category("Light Level")]
[DisplayName("Channel 3 Level (0~255)")]
[Description("Channel 3 Brightness")]
public int Ch3Level { get; set; } = 200;
[Category("Light Level")]
[DisplayName("Channel 4 Level (0~255)")]
[Description("Channel 4 Brightness")]
public int Ch4Level { get; set; } = 200;
public int GetChannelLevel(int channel)
{
switch (channel)
{
case 0: return Ch1Level;
case 1: return Ch2Level;
case 2: return Ch3Level;
case 3: return Ch4Level;
default: return Ch1Level;
}
}
public void SetChannelLevel(int channel, int value)
{
switch (channel)
{
case 0: Ch1Level = value; break;
case 1: Ch2Level = value; break;
case 2: Ch3Level = value; break;
case 3: Ch4Level = value; break;
}
}
public LightConfig()
{
ConnConfig = new SerialConnConfig() {
PortNum = 1,
BaudRate = 19200,
Parity = Parity.None,
StopBits = StopBits.One,
DataBits = 8,
ReadTimeout = 500
};
Ch1Level = 200;
Ch2Level = 200;
Ch3Level = 200;
Ch4Level = 200;
}
public static LightConfig GetDefaultConfig()
{
var config = new LightConfig();
config.ConnConfig = new SerialConnConfig() {
PortNum = 1,
BaudRate = 19200,
Parity = Parity.None,
StopBits = StopBits.One,
DataBits = 8,
ReadTimeout = 500
};
config.Ch1Level = 200;
config.Ch2Level = 200;
config.Ch3Level = 200;
config.Ch4Level = 200;
return config;
}
}
}