사용자 정의 펌웨어 조건과 단계를 기입하여 데이터시트급 플로우차트 자동 렌더링
| ID | Type | Text Label | Color | Connections | Action |
|---|
FIELD NOTE · FIRMWARE FLOW
좋은 플로차트는 코드를 장식하는 그림이 아니라 상태, 분기, 오류 복구와 종료 조건을 검토하는 설계 문서입니다. 한 블록에는 한 가지 판단이나 동작만 넣고 연결선의 의미를 명확히 표시하세요.
시작·종료는 terminator, 실행은 process, 조건은 decision, 입출력은 I/O 도형을 사용합니다. decision에는 질문을 쓰고 각 출구에 Yes/No 또는 조건을 표시해야 분기 방향을 오해하지 않습니다.
통신 태스크라면 INIT→IDLE→RX→VALIDATE→PROCESS 순으로 상태를 나누고 timeout, CRC error, retry limit를 별도 분기로 표시합니다. 인터럽트는 긴 처리 흐름 대신 event 발생과 queue 전달까지만 표현하는 편이 명확합니다.
함수 내부를 모두 그려야 하나요? 한 그림의 추상화 수준을 일정하게 유지하고 상세 로직은 하위 차트로 분리합니다.
선이 교차해도 되나요? 가능하면 노드 재배치나 connector로 줄입니다.
자동 배치가 최종 답인가요? 초안일 뿐이며 읽는 순서와 분기 라벨을 사람이 검토해야 합니다.
FIELD NOTE · FIRMWARE FLOW
A useful flowchart reviews states, decisions, recovery, and termination. Keep one action or decision per node and label every branch.
Use terminators for start/end, process for actions, decision for questions, and I/O for data. Label decision exits Yes/No or with explicit conditions.
Model INIT→IDLE→RX→VALIDATE→PROCESS with separate timeout, CRC error, and retry-limit paths. Keep interrupt charts short and hand work to a queue.
Draw every function? Keep one abstraction level and use subcharts.
Is auto layout final? No; review reading order and labels.