전체 글291 PyQt. 사용자 정의 시그널 https://wikidocs.net/70990 내용 공부한 것임 사용자 정의 시그널 사용할 때 pyqtSignal이라는 클래스를 사용하는데, 참고로 이 클래스는 QtCore에 정의되어있음 적절하게 Import 해서 사용하면 됨. 아래 예시 코드의 경우 from PyQt5.Qtcore import * 로 import를 해서 앞에 수식어 없이 그냥 곧바로 pyqtSignal 이라고 사용했다. 아래 코드 예시를 보면 쉽게 이해할 수 있을거라 생각하는데 그래도 부연설명 추가. 사용자정의 시그널을 만드는 방법은 일단 pyqtSignal class를 사용해서 객체를 만든다. 객체를 만들 때, 인풋 파라미터에 대해서 정의할 수 있는데 여기서 정의하는 파라미터는 곧 시그널이 슬롯으로 전달 될 떄 전달될 데이터를 의미.. 2022. 6. 15. PyQt. 시그널 슬롯에 대하여 개요 Pyqt를 사용하여 프로그램이 실행되면 gui 창이 계속 떠있게 되는데 이것은 말하자면 일종의 쓰레드에 gui 객체가 계속 돌고있는 것임. 이 쓰레드에서 돌고있는 객체에게 특정한 이벤트가 발생했을때 신호를 전달하는게 '시그널'임. 슬롯은 이러한 시그널을 받았을때 발생하는 동작(Reaction)을 의미함. 가장 간단한 시그널 슬롯의 예시로 버튼 이벤트가 있음. 유저가 버튼을 클릭하는게 시그널이고, 이 버튼에 connect 시켜놓은 function이 슬롯이 된다. 위젯들은 각자 다양한 시그널들을 갖고있다. 이것은 위젯마다 각자 다른걸 갖고 있어서 여기서 일일이 설명하진 않는다. 대표적 예시를 몇가지 들자면 push button의 클릭. 테이블이나 트리에서 특정 데이터가 선택됐을때 등등 다양한 시그널들이.. 2022. 6. 15. DTC DTC 마다 스냅샷 데이터 구성이 달라질 수 있는지 아니면 모든 DTC들의 스냅샷 데이터 구성이 같은지? 스냅샷에 대하여 서로 다른 DTC 3개가 있다. 1, 2, 3 이라고 가정 각각 진단하면서 각각의 Status Mask 값이 실시간으로 업데이트 될 것임. 질문1. 이때 스냅샷 데이터를 저장하는 조건이 무엇인가? DTC 마다 제각각? 모두 같음? 표준에서정의? 제조사에서 정의?질문2. 스냅샷 데이터를 저장하는 공간이 DTC 마다 개별적으로 따로 있는게 아니라 스냅샷 데이터를 저장하는 공간이 사전에 할당이 돼있고, 조건이 만족되면 해당 메모리에 스냅샷을 하나씩 채워가는 개념인건가? 질문3-1. 질문2에서, 만약 DTC마다 개별적 공간이 따로 있는거라면, 스냅샷 저장 조건 때 마다 그 영역을 최신 걸로 .. 2022. 6. 8. J1939 에 대하여 (CAN 진단통신) www.eskorea.net 에 설명이 잘돼있다. CAN 통신 위에서 동작하는 진단통신 스펙의 한 종류. 트럭, 트레일러 같은 상용차에서 사용되는 프로토콜이라고 한다. 주요 특징은 일단 CAN Extendid ID 방식을 사용한다. (ID 길이가 29bit) 그리고 통신에 사용되는 몇 가지 파라미터들이 존재하는데, 특이사항은 그런 파라미터를 메세지의 ID값을 활용해서(파싱해서) 나타낸다는 것이다. 예를 들어 원래 CAN 메세지는 브로드캐스트 방식이라 메세지에 Source Address, Destination Address 같은 개념이 없다. 근데 J1939의 경우 ID의 끝 1바이트를 Source Address를 나타내는 용도로 사용한다. 이런식으로 CAN Extended ID를 적절한 비트필드로 잘라서.. 2022. 6. 2. CAN , CAN FD 종단저항 이슈 CAN통신을 할 때는 버스에 종단저항이 달려있어야 한다.노이즈, 왜곡 방지 역할을 한다.근데 인터넷에 정보를 보면 다들 120옴 저항을 달아야한다고 나온다.이것도 정확히 왜 120옴인지는 잘 모르겠는데 일반적으로 그렇게 알려져있다.근데 정확한 이유는 모르겠으나 꼭 120 옴이 아니어도 통신이 되기도한다.특히 CAN FD의 경우 Baud Rate이 빨라서 이러한 저항값에 더욱 민감하다고 한다.그래서 간혹 같은 HW와 SW인데 High Speed Can은 잘 동작되는데 CAN FD는 동작이 안되는 경우가 있다.이럴때는 종단저항값이 적절한 값인지 확인할 필요가 있다.근데 적절한 저항값을 계산하는 방법은 잘 모르겠음온라인 교육플랫폼 '인프런에서신입사원이 알아야 할 CAN 통신의 모든 것강의를 진행하고 있습니다아.. 2022. 5. 31. AUTOSAR COM. Rx Timeout Com 모듈에는 데드라인 모니터 라는 기능이 있다. 줄여서 DM 이다. 수신 메세지에 대한 타임아웃을 Detect 하는 기능이다. Time out Detection 기능을 쓰려면 DM 기능을 Enable 해야한다. 참고로 각각의 PDU마다 개별적으로 Enable한다. Com 모듈은 시그널 기반으로 동작하기 때문에 타임아웃 역시 시그널 단위로 제공한다. 각 시그널에 대해 타임아웃 Detect 하는 주기를 설정하고, 타임아웃이 감지될 경우 User Notification Callback을 호출하게 할 수 있다. 또는, Notification callback을 Rte가 생성하고, 유저는 Rte_Read를 할 때 return 값을 통해 타임아웃 유무를 확인하는 방법도 있다. Ex) result = Rte_Rea.. 2022. 5. 30. 오토사 can sm.autosar can sm Can State Manager 캔통신의 State 를 관리한다. 실무에서 가장 연관되는 기능은 버스 오프 리커버리 기능이다. 주로 사용하는 용도는 현재 CAN 통신의 상태를 CAN SM의 State를 읽어서 확인한다. CAN SM은 근데 서비스 포트를 App에게 제공하진 않는다. CAN SM의 상태정보를 BswM에게 넘겨주고 BswM을 통해 상태를 읽어서 유저가 임의의 Action을 정의해서 사용할 수 있다. Ex) Bus off state 발생시 특정 Action 발생시키기. Bus off 발생시 곧바로 DEM 이벤트를 Set 할 수도 있다. 2022. 5. 30. 오토사 com모듈.Autosar Com Com Pdu TxMode Periodic : app단에서 시그널에 대해 Rte write를 하면 데이터의 값만 업데이트 하는 것이다. 실제 메세지 송신 자체는 com mainfunction이 주기적으로 요청한다. app에서 rte write 하지 않아도 메세지가 주기적으로 송신된다. Direct : Pdu 송신요청을 com의 mainfunction에서 주기적으로 하는게 아니라 app단에서 시그널에 rte write를 하면 값을 쓰면서, 동시에 실제 메세지 송신을 요청한다. 이 타입의 경우 app에서 rte write를 하지않으면 메세지는 송신되지 않는다. 이때 유의사항이 있는데 메세지(pdu) 타입을 direct로 한다고 끝이 아니다. 해당 메세지에 포함된 각각의 com signal 들은 Transfe.. 2022. 5. 27. 인증서 확장자.포맷 관련 X.509 인증서 안에 들어갈 내용들. 순서 등을 정의해놓은 표준 포맷 중에 가장 널리 알려지고 쓰이는 표준 x.509는 표준을 얘기하는 것이지 실제로 인증서 파일의 확장자가 x.509는 아니다. 인증서는 ASN.1(Abstract Syntax Notation One) 이라는 규칙? 랭귀지? 로 작성이 된다고 한다. 그러나 사람들이 보통 사용하는 인증서 파일은 그것이 아니라 다른 확장자와 포맷을 많이 쓴다. PEM PEM은 파일의 확장자이기도 하지만 정확히는 데이터를 나타내는 포맷의 이름이다. Base64라는 인코딩 방식으로 인코딩 된 데이터 포맷을 pem 포맷이라고 한다. pem 포맷으로 작성하는 내용이 꼭 인증서만은 아니다. 키 값을 나타낼 때 사용하기도 한다. PEM 확장자 파일을 노트패드로 열어보.. 2022. 5. 17. 이전 1 ··· 17 18 19 20 21 22 23 ··· 33 다음