본문 바로가기
728x90
반응형

전체 글298

첫 단말 통신 에러를 막는 더미 스캔, 다섯 번 바꾼 기록 스캐너 펌웨어의 스캔 주기 맨 앞에는 더미 스캔이 있었다. 주석에는 첫 단말의 통신 에러를 고치기 위한 코드라고 적혀 있었다. 2025년 2월부터 10월까지 대상 번호와 송신 방식, 실행 조건을 여러 번 바꿨다.더미 스캔 대상을 1번으로처음 형태는 0xff번 단말에 0x7f 명령을 보내는 scan 호출이었다. 2월 19일 오후에 대상 번호를 1번으로, 명령을 0x1f로 바꿨다.- scan(0xff, 0x7f); // dummy scan for fix 1'st sterm com err + scan(0x01, 0x1f); // dummy scan for fix 1'st sterm com err scan 대신 직접 송신3월 27일에는 scan 함수를 거치지 않고 패킷을 직접 만들어 보내게 바꿨다. 3바이트를 .. 2026. 11. 10.
RS485 장비의 입력 변화를 응답 패킷에 실어 빨리 알리기 RS485 장비의 입력 변화를 Modbus 응답 패킷 뒤에 붙여 보내는 기능을 넣었다. 2025년 5월 9일 밤에 기능을 추가했고, 같은 날 밤과 5월 12일 오후에 두 번 고쳤다. 첫 커밋 제목은 '빠른 응답을 위한 이벤트 데이터 추가'였다.RS485에서 Send가 이벤트를 보내지 못했다기존 Send 함수는 통신 방식이 RS485면 바로 false를 돌려줬다. 이 경로에서는 입력 변화를 Send로 바로 전달할 수 없었다. 그래서 변화를 작은 버퍼에 모아 두기로 했다.UCHAR m_evbuf[4*8];int m_nNumEv = 0;...if (config.conmode == CON_RS485) { if ((m_nNumEv이벤트 하나는 3바이트다. 채널 번호, 단말 번호, 그리고 위 4비트에 포트,.. 2026. 11. 10.
펌웨어에 CBUS 단락 감지와 단선 검사 넣기 스캐너 펌웨어가 CBUS 선로의 단락을 감지하도록 작업했다. 2025년 4월 25일 처음 넣고, 4월 29일 감지 위치를 옮겼으며, 6월 25일에는 단락 검사로 인한 패킷 손실을 수정했다. 세 번의 변경은 모두 mtscan.cpp 한 파일에 있다.처음엔 응답 길이로 봤다첫 버전은 단말 응답을 읽는 checkrsp 안에 넣었다. 읽은 길이가 6바이트 이상이면 카운터를 올리고, 다섯 번 쌓이면 스캔 상태에 LINE_SHORT 비트를 세웠다. 6바이트 미만이면 카운터를 내리고 0이 되면 비트를 지웠다.if (len>=6) { if (shtcnt=5) { pScanCont->bin |= LINE_SHORT; DBGMSG(MSG_ERR, (_T("CBUS %s Short detect !!\r\n"), st.. 2026. 11. 10.
출력 상태 판정을 한 함수로 모으기, bout 비트와 연동 입력 테스트벤치의 실시간 모니터는 단말 출력 포트마다 ON, OFF, 단선, 단락을 보여 준다. 그런데 출력 비트마스크(bout)가 켜져 있어도 OFF로 표시되고, 출력이 꺼진 뒤에도 연동 입력이 해제되지 않는 문제가 있었다. 2026년 6월 26일 커밋에서 출력 상태 판정을 통합하고 연동 입력의 OFF 동작을 테스트했다.같은 판정이 두 벌출력 칸을 그리는 함수와 출력 버튼을 눌렀을 때 동작하는 함수가 각자 상태를 계산했다. 둘 다 출력 맵의 글자와 단선, 단락 비트마스크를 봤다. 출력 맵에 값이 '1'일 때만 ON으로 봤다.const seen = String(term.outputs[String(port)] || "").toUpperCase();const short = Boolean((Number(term.o.. 2026. 11. 10.
API 키 없이 QR로 PC 등록하기, 그리고 비어 있던 C 드라이브 목록 원격 관리 에이전트를 새 PC에 등록하려면 API 키를 그 PC에 넣어야 했다. 2026년 9월 21일 새벽 커밋에서 이것을 사내 인증 앱의 QR 승인으로 바꿨다. 키는 휴대폰에도 QR에도 들어가지 않는다.같은 커밋에서 C 드라이브 목록이 비어 나오던 버그도 고쳤다. 변경 파일이 300개를 넘어 전체 diff를 확인할 수 없어, 커밋 메시지와 일부 파일을 기준으로 정리했다.QR 승인 흐름에이전트가 제한된 등록 요청을 만들고 QR을 띄운 뒤 서버에 계속 물어본다. 휴대폰의 인증 앱으로 로그인해 QR을 승인하면, 인증 서버가 Ed25519 서명이 담긴 확인서를 만들어 원격 관리 서버로 보낸다. 그러면 에이전트는 임시 PC로 동작한다.관리자가 이 임시 PC를 관리 PC로 등록하면, 에이전트가 영구 키를 PC .. 2026. 11. 10.
두 칸 전송 창을 탐색기처럼 다듬고 PC 등록 해제 넣기 원격 파일 관리 콘솔은 내 PC와 원격 PC를 나란히 보여 주지만, 툴바에 버튼이 몰려 경로가 잘렸다. 9월 12일 커밋에서는 툴바와 파일 목록을 정리하고 PC 등록 해제 기능을 추가했다.툴바를 두 줄로첫 줄에는 홈, 뒤로, 위로, 경로만 둔다. 경로가 잘리지 않게 하려는 것이다. 복사, 붙여넣기, 이름 바꾸기 같은 작업 아이콘은 둘째 줄 오른쪽으로 옮겼다. 줄마다 있던 다운로드 버튼은 없앴다.보내기와 받기는 화살표 아이콘만 남겼다. 실행할 수 없을 때는 회색, 실행할 수 있을 때는 초록색으로 표시했다. 버튼 테두리도 없앴다.목록과 아이콘 보기목록은 행 높이를 28px로 맞추고 마우스를 올렸을 때 체크박스가 나타나게 했다. 아이콘 보기에서는 파일 이름을 한 줄로 가운데 정렬하고, 선택했을 때만 전체 이름.. 2026. 11. 10.
728x90
반응형