นานมาแล้วที่ฉันกำลังมองหาคำตอบที่ดีสำหรับคำถามนี้
โดยทั่วไปแล้วโครงการ Arduino ใด ๆ แต่โครงการที่ง่ายที่สุดจะรวมถึง:
- ไฟล์ซอร์สโค้ดหลัก
MyProject.ino
- ห้องสมุดเฉพาะสำหรับโครงการ (
MyProjectLibrary1.h
,MyProjectLibrary1.cpp
... ) - ห้องสมุดบุคคลที่สาม (โดยทั่วไปเป็นโอเพนซอร์สฟรีเพิ่มด้วยตนเองไปยังไดเรกทอรีห้องสมุด Arduino)
- แผนผัง, PCB ไดอะแกรม
- เอกสาร
- ...
ทั้งหมดนี้ทำให้เป็นการยากที่จะเก็บรหัสและเอกสารทั้งหมดของโครงการหนึ่งภายใต้การจัดการรหัสที่มา (เช่น Subversion, Git หรือ GitHub)
การจัดการการควบคุมแหล่งที่มาของโครงการของคุณหมายถึงการจัดการเวอร์ชันของไฟล์ทั้งหมดที่ใช้โดยโครงการรวมถึงห้องสมุดบุคคลที่สาม
ตอนนี้สำหรับโครงการเดียวฉันต้องกำหนดโครงสร้างไดเรกทอรีที่:
- รวมไฟล์โครงการทั้งหมดตามที่อธิบายไว้ข้างต้น
- ฉันสามารถส่งมอบเครื่องมือการจัดการรหัสที่มา (รวมถึงบุคคลที่สาม)
- ฉันสามารถเช็คเอาต์ที่ใดก็ได้ในฮาร์ดไดรฟ์ของฉันและสร้างโครงการจากที่นั่น (ต้องเป็นสถานที่เดียวตามที่กำหนดโดย Arduino IDE)
- ฉันสามารถ zip ลงในไฟล์เก็บถาวรในตัวที่ฉันสามารถส่งให้เพื่อนเพื่อให้เขาสร้างได้ง่ายที่สุด (ไม่ต้องดาวน์โหลดด้วยตนเองเพิ่มเติม)
สิ่งที่ฉันพบว่าเป็นเรื่องยากสำหรับโครงการ Arduino คือการจัดการการพึ่งพาไลบรารีภายนอก ผู้พัฒนาโปรเจ็กต์ Java มีที่เก็บmavenสำหรับสิ่งนั้นและช่วยในการจัดการคลังข้อมูลภายนอกทั้งหมด แต่เราไม่มีระบบที่เทียบเท่าสำหรับห้องสมุด Arduino
ฉันสนใจที่จะรู้ว่าผู้สร้างโปรเจ็กต์ Arduino คนอื่น ๆ จัดการกับเรื่องเหล่านี้ในโครงการของตัวเองอย่างไร
นอกจากนี้โปรดทราบว่าฉันเปิดให้เปลี่ยนกระบวนการพัฒนาของฉันรวมถึง IDE ของฉัน (ปัจจุบันฉันใช้ Eclipse กับปลั๊กอิน Arduino ส่วนใหญ่แล้วฉันมั่นใจได้ว่าโครงการของฉันสามารถทำงานกับ Arduino IDE ได้โดยตรง)