산업 제조
산업용 사물 인터넷 | 산업자재 | 장비 유지 보수 및 수리 | 산업 프로그래밍 |
home  MfgRobots >> 산업 제조 >  >> Industrial Internet of Things >> 임베디드

인생에서 디버깅 인터페이스를 제공하지 못하면 RGB LED를 깜박입니다.

네 알겠습니다. 좋은 품질의 제품을 만들고 싶다면 적절한 디버깅 포트를 포함하여 적절한 도구가 필요하지만 아시다시피 삶이 때때로 고약해집니다.

최근 프리랜서 경력에서 두 고객이 제품에 텍스트 디버깅 텍스트를 추가하는 데 실패했다는 사실을 발견했습니다. 한 번은 하드웨어 설계 엔지니어가 이러한 채널을 추가하는 것을 잊어버렸고 많은 양의 보드에 전념한 후에야 실수를 깨달았습니다. 또 다른 예로, 제품이 너무 작아서 공간이 없었습니다. 다행히도 두 경우 모두 디버깅에 도움이 되는 RGB(삼색) LED가 있어 사용할 수 있었습니다. 가끔 레몬을 주면 레모네이드를 만들 수 있다는 생각에 결국 RGB LED를 사용하여 깜박이는 메시징 시스템을 구현했습니다.

이러한 경험에서 나는 인간 친화적인 변조 방식이 사용되는 한 RGB LED 기반 디버깅이 매우 실용적이고 예상치 못한 기능이 풍부할 수 있다는 사실에 놀랐습니다.

내 메시지가 변조된 방식은 코드 컨텍스트를 나타내기 위해 다른 색상을 선택하고 해당 컨텍스트에서 특정 메시지를 나타내기 위해 깜박임 횟수와 스타일을 선택하는 것이었습니다. 기본 텍스트 로깅 채널이 짧은 텍스트 메시지를 처리하는 방식과 유사하게 깜박임이 대기 중이고 LED에 순차적으로 표시됩니다.

LED 디버깅 모듈에는 다음 기능을 사용하여 구현된 4가지 유형의 깜박임 리듬이 있습니다.

<울>
  • led_debug_blink(색상, 숫자) 짧은 깜박임 표시를 위해.
  • led_debug_blink_wide(색상, 숫자) 더 관련성이 높은 상황에 사용되는 더 긴 깜박임 표시용입니다.
  • led_debug_blink_error(색상, 숫자)led_debug_blink_wide_error(색상, 숫자) 짧고 긴 오류 표시의 경우 각각 다른 것과 동일한 기능 서명을 사용합니다.
  • 이러한 각 기능은 고유한 깜박임 프로세스를 생성합니다. 일반 깜박임은 0.5초 간격으로 1초 동안 활성화되고 와이드 깜박임은 0.5초 간격으로 2초 동안 활성화됩니다. 오류 메시지는 그림 1과 같이 빨간색으로 표시되고 컨텍스트 색상이 깜박입니다.


    4개의 표준 및 오류 디버그 기능에 대한 깜박임 시간 다이어그램
    (더 큰 이미지를 보려면 여기를 클릭하십시오. 출처:Felipe Lavratti)

    그림 1의 노란색 영역은 선택한 컨텍스트를 나타내는 데 사용됩니다. 단순히 RGB LED를 켜거나 끄기로 결정했다면 그림 1의 노란색 영역은 녹색, 파란색, 노란색, 시안색, 마젠타색 또는 흰색이 될 수 있습니다. 즉, 검정색(모두 꺼짐)과 빨간색(오류 상태를 나타내는 데 사용)을 제외하고 RGB LED를 켜거나 끌 때 사용할 수 있는 모든 색상입니다. 펄스 폭 변조(PWM)를 사용하기로 결정하면 더 넓은 색 영역을 얻을 수 있습니다. 그러나 저렴한 RGB LED는 색상을 혼합할 때 좋지 않으므로 특정 조합을 구별하기 어려울 수 있지만 주황색과 같은 다른 조합은 합리적으로 잘 작동하는 것 같습니다.

    깜박이는 기간과 방법은 사람의 가독성을 쉽게 하기 위해 신중하게 선택되었으며, 이는 개발 단계에서 엔지니어와 테스트 중에 현장 기술자에게 충분한 것으로 입증되어 LED를 통한 과도한 메시지 전달을 방지했습니다.

    LED로 디버깅하는 것은 이상적이지는 않지만, 내가 작업하고 있던 시스템에서 제품에 연결하는 어떤 종류의 장치 없이 시스템 상태를 관찰할 수 있는 빠른 방법을 제공하여 현장에서 개발 및 테스트 속도를 높이는 데 도움이 되었습니다. 팀이 각 색상 컨텍스트와 깜박이는 리듬의 의미에 익숙해지기 위해서는 약간의 교육이 필요했지만 배우는 데 오랜 시간이 걸리지 않았습니다. 가장 중요한 것은 정보 메시지와 오류 메시지를 각각 구별하는 것이었고 우리의 체계는 어떤 코드가 잘못되었는지 신속하게 결정할 수 있도록 충분한 정보를 제공했습니다.

    저는 이것이 시스템을 사용하는 인간의 능력에 맞게 시스템을 조정하려는 약간의 노력이 잠재적으로 사용하기 어려운 디버깅 인터페이스를 놀라울 정도로 효과적인 디버깅 인터페이스로 변형시킨 예라고 생각합니다.

    펠리페 라브라티 가정 자동화를 위한 인터넷 연결 장치를 개발하고 휴대용 POS 기계용 임베디드 Linux 애플리케이션 및 드라이버를 생성했으며 산업용 애플리케이션용 프로세스 제어 및 데이터 로거를 위한 임베디드 수학 알고리즘을 구현했습니다. 경력 초기에 Felipe는 품질의 중요성을 깨닫고 견고한 제품에 생명을 불어넣는 데 필요한 모든 현대적 기술을 채택했습니다. 개발 프로세스의 각 부분은 코딩, 테스트, 승인, 배포, 통합 및 배포와 같은 품질을 위해 관리됩니다. 현재 Felipe는 프리랜서 컨설턴트 및 개발자로 일하고 있습니다. 그는
    로 연락할 수 있습니다.


    임베디드

    1. 텅스텐이 전구에 처음 사용되었을 때
    2. 일상 생활에 색조를 전파하는 염료 산업의 색상 유형
    3. 철학 및 문서
    4. DSP가 하드웨어 가속기를 능가하는 경우
    5. 볼테라로의 자동차 여행
    6. 인생에서 디버깅 인터페이스를 제공하지 못하면 RGB LED를 깜박입니다.
    7. Maxim의 소형 LED 드라이버는 고효율 및 낮은 EMI를 제공합니다.
    8. 차고 문이 큰 위기를 열지 못하는 경우는 언제입니까?
    9. 모터의 수명이 다한 4가지 주요 신호
    10. 금속 가공 선반은 언제 발명되었습니까?