Contributing Docs - ajouatom/openpilot GitHub Wiki

๋ฌธ์„œ ์ž‘์„ฑ ๊ฐ€์ด๋“œ

์ด Wiki๋Š” ์„ค์น˜ยท์ฐจ์ข… ์‚ฌ๋ก€์™€ ๋ฌธ์„œ ํƒ์ƒ‰์„ ๋‹ด๋‹นํ•ฉ๋‹ˆ๋‹ค. ์„ค์ •๊ณผ ์ฝ”๋“œ ๋™์ž‘์˜ ์ƒ์„ธ ์„ค๋ช…์€ carrot-wip์˜ docs/user/ko์™€ docs/user/en์—์„œ ์ฝ”๋“œ์™€ ํ•จ๊ป˜ ๊ด€๋ฆฌํ•˜๋ฉฐ, Wiki์—๋Š” ๊ฐ™์€ ๋‚ด์šฉ์„ ๋‹ค์‹œ ๋ณต์‚ฌํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

๊ธฐ์ค€ ์ž๋ฃŒ

์„ค๋ช…์€ ๊ฐ€๋Šฅํ•˜๋ฉด ๋‹ค์Œ ์ˆœ์„œ๋กœ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

  1. carrot-wip์˜ ํ˜„์žฌ ์‹คํ–‰ ์ฝ”๋“œ
  2. openpilot/selfdrive/carrot_settings.json์˜ ๋ฉ”๋‰ด, ๋ฒ”์œ„, ๋‹จ์œ„์™€ ์„ค๋ช…
  3. UI์˜ ํ•œ๊ตญ์–ด ๋ฒˆ์—ญ๊ณผ ์‹ค์ œ ํ™”๋ฉด
  4. ํ…Œ์ŠคํŠธ์™€ ๋ธŒ๋žœ์น˜๋ณ„ ๋ถ„์„ ๋ฌธ์„œ
  5. ๊ธฐ์กด GitBook ๋ฌธ์„œ๋Š” ์—ญ์‚ฌ์  ์ฐธ๊ณ  ์ž๋ฃŒ๋กœ๋งŒ ์‚ฌ์šฉ

๊ธฐ์กด ๋ฌธ์„œ์™€ ์ฝ”๋“œ๊ฐ€ ๋‹ค๋ฅด๋ฉด ์ฝ”๋“œ๋ฅผ ๊ธฐ์ค€์œผ๋กœ ํ•˜๋˜, ์ฝ”๋“œ ์ž์ฒด๊ฐ€ ์ž˜๋ชป๋œ ๊ฒƒ์œผ๋กœ ๋ณด์ด๋ฉด ๋ฌธ์„œ๋ฅผ ์–ต์ง€๋กœ ๋งž์ถ”์ง€ ๋ง๊ณ  ์ด์Šˆ๋กœ ๋ถ„๋ฆฌํ•ฉ๋‹ˆ๋‹ค.

ํ•œ ํŽ˜์ด์ง€์˜ ๊ถŒ์žฅ ํ˜•์‹

  1. ์ด ํŽ˜์ด์ง€๊ฐ€ ํ•ด๊ฒฐํ•˜๋Š” ๋ฌธ์ œ
  2. ์ ์šฉ ๋Œ€์ƒ๊ณผ ์ ์šฉ๋˜์ง€ ์•Š๋Š” ๋Œ€์ƒ
  3. ์•ˆ์ „ ๋˜๋Š” ๋ฐ์ดํ„ฐ ์†์‹ค ๊ฒฝ๊ณ 
  4. ์‚ฌ์šฉ์ž๊ฐ€ ๋”ฐ๋ผ ํ•  ์ˆœ์„œ
  5. ์„ฑ๊ณต ์—ฌ๋ถ€๋ฅผ ํ™•์ธํ•˜๋Š” ๋ฐฉ๋ฒ•
  6. ์›์ƒ ๋ณต๊ตฌ ๋ฐฉ๋ฒ•
  7. ๊ด€๋ จ ํŽ˜์ด์ง€

์ฐจ๋Ÿ‰๋ณ„ ๋ฌธ์„œ๋Š” ์ œ๋ชฉ๊ณผ ์ฒซ ๋ถ€๋ถ„์— ์ฐจ์ข…, ์—ฐ์‹, ํŠธ๋ฆผ, CAN ๊ตฌ์„ฑ๊ณผ ๊ฒ€์ฆ ๋‚ ์งœ๋ฅผ ์ ์Šต๋‹ˆ๋‹ค.

์„ค์ • ๋ฌธ์„œ ์ž‘์„ฑ ๊ทœ์น™

  • ํ™”๋ฉด ์ œ๋ชฉ๊ณผ ๋‚ด๋ถ€ ํŒŒ๋ผ๋ฏธํ„ฐ ์ด๋ฆ„์„ ํ•จ๊ป˜ ์”๋‹ˆ๋‹ค.
  • x0.01, cm, % ๋“ฑ์˜ ๋‹จ์œ„๋ฅผ ์ƒ๋žตํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
  • ์ตœ์†Œ๊ฐ’, ์ตœ๋Œ€๊ฐ’, ๊ธฐ๋ณธ๊ฐ’์„ ์ˆ˜๋™์œผ๋กœ ๋ณต์‚ฌํ•  ๋•Œ๋Š” carrot_settings.json๊ณผ Params ๋“ฑ๋ก๊ฐ’์ด ์ผ์น˜ํ•˜๋Š”์ง€ ํ•จ๊ป˜ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.
  • ์ฐจ๋Ÿ‰๋ณ„ ๊ฒฐ๊ณผ๋ฅผ ์ „์ฒด ์ฐจ๋Ÿ‰์˜ ๊ถŒ์žฅ๊ฐ’์œผ๋กœ ์ผ๋ฐ˜ํ™”ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
  • โ€œ๊ฐ’์„ ๋†’์ด๋ฉด ๋ฌด์—‡์ด ๋ฐ”๋€Œ๋Š”๊ฐ€โ€์™€ โ€œ์ž˜๋ชป ์กฐ์ •ํ–ˆ์„ ๋•Œ ์ฆ์ƒโ€์„ ํ•จ๊ป˜ ์ ์Šต๋‹ˆ๋‹ค.
  • ๋ณ€๊ฒฝ ์ „ ๋ฐฑ์—…๊ณผ ์›์ƒ ๋ณต๊ตฌ ๋‹จ๊ณ„๋ฅผ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค.

์ฝ”๋“œ ๋ณ€๊ฒฝ๊ณผ ํ•จ๊ป˜ ํ™•์ธํ•  ๋ฌธ์„œ

์‚ฌ์šฉ์ž์—๊ฒŒ ๋ณด์ด๋Š” ์„ค์ •, ๊ธฐ๋ณธ๊ฐ’, ๋‹จ์œ„, ํ”„๋ฆฌ์…‹, ์ฐจ๋Ÿ‰ ์ œ์–ด, ๋ ˆ์ด๋” ๋˜๋Š” Carrot Web ์„ค์ • ํ™”๋ฉด์„ ๋ฐ”๊พธ๋ฉด docs/user/docs_map.json์—์„œ ์—ฐ๊ฒฐ๋œ ํ•œ๊ตญ์–ดยท์˜์–ด ๋ฌธ์„œ ์Œ๊ณผ ์ง‘์ค‘ ํ…Œ์ŠคํŠธ๋ฅผ ๊ฐ™์€ ์ฝ”๋“œ ๋ณ€๊ฒฝ์—์„œ ๊ฐฑ์‹ ํ•ฉ๋‹ˆ๋‹ค. ์–ด๋А ํ•œ ์–ธ์–ด๋งŒ ๋ฐ”๊พธ๋ฉด ์ž๋™ ๊ฒ€์‚ฌ๊ฐ€ ์‹คํŒจํ•ฉ๋‹ˆ๋‹ค.

python tools/docs/check_user_docs.py --base origin/carrot-wip

๋™์ž‘์ด ๋ฐ”๋€Œ์ง€ ์•Š๋Š” ๋ฆฌํŒฉํ„ฐ๋งยท๋กœ๊ทธยท์„ฑ๋Šฅยทํ…Œ์ŠคํŠธ ์ „์šฉ ๋ณ€๊ฒฝ์€ Pull Request ๋ณธ๋ฌธ์— Docs-Not-Needed: ๊ตฌ์ฒด์ ์ธ ์ด์œ ๋ฅผ ๋‚จ๊น๋‹ˆ๋‹ค. ๊ณต๊ฐœ Wiki์™€ docs/user์—๋Š” ์‚ฌ์šฉ์ž์—๊ฒŒ ์ œ๊ณตํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ๋งŒ ์„ค๋ช…ํ•˜๊ณ , ๋‚ด๋ถ€ ๊ฐœ๋ฐœ ์ž๋ฃŒ๋‚˜ ๋น„๊ณต๊ฐœ ๊ธฐ๋Šฅ์˜ ์ด๋ฆ„ยท์ฃผ์†Œยท์‚ฌ์šฉ๋ฒ•์€ ์˜ฎ๊ธฐ์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์•ž์œผ๋กœ ์ถ”๊ฐ€๋กœ ์ž๋™ํ™”ํ•  ๋ถ€๋ถ„

์ฝ”๋“œ์™€ ๋ฌธ์„œ์˜ ์—ฐ๊ฒฐ ์—ฌ๋ถ€๋Š” ํ˜„์žฌ ์ž๋™ ๊ฒ€์‚ฌํ•ฉ๋‹ˆ๋‹ค. ๋‹ค์Œ ๋‹จ๊ณ„๋กœ ์ „์ฒด ์„ค์ • ์‚ฌ์ „์€ 165๊ฐœ ํ•ญ๋ชฉ์„ ์†์œผ๋กœ ๋ณต์‚ฌํ•˜์ง€ ์•Š๊ณ  carrot_settings.json์—์„œ ์ƒ์„ฑํ•˜๋Š” ๋ฐฉ์‹์„ ๊ถŒ์žฅํ•ฉ๋‹ˆ๋‹ค. ์ƒ์„ฑ๊ธฐ๋Š” ๋‹ค์Œ์„ ๊ฒ€์‚ฌํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

  • ๋ฌธ์„œ์— ์—†๋Š” ์ƒˆ ํŒŒ๋ผ๋ฏธํ„ฐ
  • JSON๊ณผ Params ๋“ฑ๋ก๊ฐ’์˜ ๊ธฐ๋ณธ๊ฐ’ ๋ถˆ์ผ์น˜
  • ๋‹จ์œ„ ๋˜๋Š” ๋ฒˆ์—ญ์ด ๋น„์–ด ์žˆ๋Š” ํ•ญ๋ชฉ
  • ๋ฉ”๋‰ด์—๋Š” ์žˆ์œผ๋‚˜ ๋“ฑ๋ก๋˜์ง€ ์•Š์€ ํŒŒ๋ผ๋ฏธํ„ฐ

์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ์„ค์ •์ด ์ถ”๊ฐ€๋  ๋•Œ ์„ค๋ช…์„œ๊ฐ€ ์กฐ์šฉํžˆ ์˜ค๋ž˜๋œ ์ƒํƒœ๋กœ ๋‚จ๋Š” ๋ฌธ์ œ๋ฅผ ์ค„์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.