หัวใจของ Mapo: แยกงานเป็นชิ้น ๆ ให้ทำงานคู่ขนาน แล้วคุยกันผ่าน topic
6.1 task (งาน) — thread แบบขนาน
.mapo
english
ทุก task คอมไพล์เป็น state machine แล้วถูกเรียกวนแบบ non-blocking — ตัวแปรที่ประกาศนอกงานใช้ร่วมกันได้ (global) และตัวแปรที่สร้างในลูปจะเป็น static ต่อ task
6.2 sub (ส่วน) — subroutine / function
.mapo
english
6.3 struct (โครงสร้าง) — auto type inference
.mapo
english
6.4 topic / pub / recv / bridge / await
.mapo
english
6.5 organ (อวัยวะ) / brain (สมอง)
.mapo
english
อวัยวะ = โมดูลอ่านฮาร์ดแวร์ · สมอง = ตัวตัดสินใจ — เหมือน งาน แต่จัดกลุ่มให้อ่านง่าย (คอมไพล์เป็น state machine เหมือนกัน)
6.6 save / load — หน่วยความจำถาวร
.mapo
english
ESP32 ใช้ Preferences (namespace mapo_cfg) · ESP8266/UNO ใช้ EEPROM