Πίνακας περιεχομένων:
- Βήμα 1: Γιατί η έκδοση ελέγχει τα ηλεκτρονικά σας;
- Βήμα 2: Τα εργαλεία: KiCad και Git
- Βήμα 3: Εγκατάσταση
- Βήμα 4: Σημείωση εγκατάστασης: Βιβλιοθήκες KiCad
- Βήμα 5: Βασικές αρχές Git
- Βήμα 6: Δομή έργου KiCad
- Βήμα 7: Χρήση του Git για έργα KiCad
- Βήμα 8: Advanced: Semantic Versioning for Electronics
- Βήμα 9: Για προχωρημένους: Χρήση σημασιολογικής έκδοσης υλικού
- Βήμα 10: Επόμενα βήματα
Βίντεο: Έλεγχος έκδοσης για υλικό ανοικτού κώδικα: 10 βήματα
2024 Συγγραφέας: John Day | [email protected]. Τελευταία τροποποίηση: 2024-01-30 08:36
Η ομάδα του Brainbow έχει στη διάθεσή μας μια σειρά έργων ηλεκτρονικής και θέλαμε να μοιραστούμε τη διαδικασία χρήσης του ελέγχου έκδοσης για τη διαχείριση της ροής εργασίας σχεδιασμού ηλεκτρονικών. Αυτή η ροή εργασίας έχει χρησιμοποιηθεί για έργα μεγάλα και μικρά, από απλούς πίνακες 2 στρωμάτων έως πολύπλοκους μεγαθήρους 10 επιπέδων και βασίζεται σε εργαλεία ανοιχτού κώδικα. Ας ελπίσουμε ότι άλλοι μπορούν να υιοθετήσουν τη ροή εργασίας μας για τον εαυτό τους και να αποκτήσουν τα οφέλη του ελέγχου έκδοσης για τα δικά τους έργα. Αλλά ποια οφέλη μπορεί να προσφέρει ο έλεγχος εκδόσεων για ένα έργο ηλεκτρονικών;
Βήμα 1: Γιατί η έκδοση ελέγχει τα ηλεκτρονικά σας;
Έλεγχος έκδοσης (γνωστός και ως έλεγχος πηγής ή έλεγχος αναθεώρησης) είναι μια καλά κατανοητή και ευρέως υιοθετημένη έννοια στη μηχανική λογισμικού. Η ιδέα πίσω από τον έλεγχο της πηγής είναι η συστηματική παρακολούθηση των αλλαγών που γίνονται στον πηγαίο κώδικα ενός προγράμματος ή μιας εφαρμογής. Εάν οι αλλαγές σπάσουν την εφαρμογή, μπορείτε να επαναφέρετε τα αρχεία πηγαίου κώδικα σε μια γνωστή κατάσταση λειτουργίας από το παρελθόν. Στην πράξη, τα συστήματα ελέγχου πηγής σάς επιτρέπουν να παρακολουθείτε το ιστορικό μιας συλλογής αρχείων (συνήθως τα αρχεία πηγαίου κώδικα για ένα πρόγραμμα υπολογιστή, ιστότοπο κ.λπ.) και να απεικονίζετε και να διαχειρίζεστε αλλαγές σε αυτά τα αρχεία.
Η παρακολούθηση του ιστορικού των αλλαγών σε ένα έργο φαίνεται χρήσιμη για έργα ηλεκτρονικής. εάν κάνετε λάθος στο σχηματικό κύκλωμα ή χρησιμοποιήσετε λάθος αποτύπωμα εξαρτήματος στη διάταξη PCB, θα ήταν ωραίο να παρακολουθείτε ποια λάθη έγιναν και ποιες διορθώσεις εφαρμόστηκαν σε διάφορες αναθεωρήσεις ενός έργου. Θα ήταν επίσης χρήσιμο για άλλους κατασκευαστές να δουν αυτήν την ιστορία και να κατανοήσουν το πλαίσιο και τα κίνητρα των διαφόρων αλλαγών.
Βήμα 2: Τα εργαλεία: KiCad και Git
Χρησιμοποιούμε δύο βασικά εργαλεία σε αυτό το έργο: το σύστημα ελέγχου έκδοσης (VCS) και το πρόγραμμα αυτοματισμού ηλεκτρονικού σχεδιασμού (EDA ή ECAD).
Υπάρχουν πολλά συστήματα ελέγχου έκδοσης εκεί έξω, αλλά χρησιμοποιούμε το κατανεμημένο VCS Git. Το χρησιμοποιούμε για διάφορους λόγους, αλλά ο βασικός είναι ότι είναι ανοιχτού κώδικα (έλεγχος!), Εύκολος στη χρήση (έλεγχος!), Και το de-facto πρότυπο VCS για λογισμικό ανοιχτού κώδικα (έλεγχος!). Θα χρησιμοποιούμε το Git ως VCS για να παρακολουθούμε τις αλλαγές στα αρχεία που χρησιμοποιεί το πρόγραμμα ECAD. Αυτό το Instructable δεν απαιτεί εξοικείωση με το Git, αλλά θεωρείται γενική άνεση χρησιμοποιώντας τη γραμμή εντολών. Θα προσπαθήσω να συνδέσω με χρήσιμους πόρους τόσο για χρήση του Git όσο και της γραμμής εντολών, όπως απαιτείται.
Τα περισσότερα συστήματα ελέγχου πηγής λειτουργούν ιδιαίτερα καλά για αρχεία που βασίζονται σε κείμενο, οπότε ένα πρόγραμμα ECAD που χρησιμοποιεί αρχεία κειμένου θα ήταν υπέροχο. Εισαγάγετε το KiCad, το ανοιχτού κώδικα "Cross Platform and Open Source Electronics Design Automation Suite" που υποστηρίζεται από ερευνητές στο CERN. Το KiCad είναι επίσης ανοιχτού κώδικα (ελέγξτε!), Εύχρηστο (αν και κάποιοι θα διαφωνούσαν μαζί μου σε αυτό) και εξαιρετικά ικανό για προηγμένες εργασίες σχεδιασμού ηλεκτρονικών.
Βήμα 3: Εγκατάσταση
Για να εγκαταστήσετε αυτά τα προγράμματα, ακολουθήστε τις οδηγίες από τους διάφορους ιστότοπους λήψης που συνδέονται παρακάτω.
- Το KiCad είναι πολλαπλών πλατφορμών (και μάλιστα ιλιγγιώδες; η σελίδα λήψης τους απαριθμεί 13 υποστηριζόμενα λειτουργικά συστήματα και προσφέρει λήψη πηγαίου κώδικα εάν κανένα από αυτά δεν σας ταιριάζει). Χρησιμοποιήστε την προεπιλεγμένη εγκατάσταση με ενοποίηση kicad και όχι τη δημιουργία νυχτερινής ανάπτυξης. Ανατρέξτε στο Βήμα 4 για προχωρημένες προαιρετικές λεπτομέρειες σχετικά με την εγκατάσταση της βιβλιοθήκης.
- Το Git είναι επίσης cross-platform. Εάν χρησιμοποιείτε Windows, θα συνιστούσα το εντυπωσιακό έργο Git for Windows για μια πιο χρήσιμη, πλήρως εξοπλισμένη εμπειρία.
Η τεκμηρίωση εγκατάστασης που διατίθεται και στους δύο αυτούς ιστότοπους θα είναι πληρέστερη από οποιαδήποτε περιγραφή που μπορώ να προσφέρω εδώ. Μόλις ληφθούν και εγκατασταθούν και τα δύο προγράμματα, μπορείτε να κλωνοποιήσετε το πρότυπο έργου του Brainbow από το αποθετήριο Github. Η εντολή git clone λαμβάνει τη δομή `git clone {src directory} {target directory}` για το έργο μας, χρησιμοποιήστε `git clone https://github.com/builtbybrainbow/kicad-starter.git {target directory} '.
Η κλωνοποίηση ενός git repo είναι μια ειδική μορφή αντιγραφής. όταν κλωνοποιείτε ένα έργο, λαμβάνετε ένα αντίγραφο όλων των αρχείων που περιλαμβάνονται στο repo καθώς και ολόκληρο το ιστορικό του έργου που παρακολουθείται από το Git. Κλωνοποιώντας το repo μας, λαμβάνετε έναν κατάλογο έργου που έχει ήδη δομηθεί με τις προτάσεις μας για τη χρήση του Git με το KiCad. Θα καλύψουμε περισσότερα σχετικά με τη δομή του έργου στο Βήμα 6 ή μπορείτε να μεταβείτε στο Βήμα 7 εάν σας πιάνει να δουλέψετε.
Μερικές γρήγορες εργασίες καθαριότητας - εκτελέστε το «git remote rm origin» για να καταργήσετε τη σύνδεση με το έργο Github από το οποίο κλωνοποιήσατε. Επίσης, εκτελέστε `git commit --amend --author =" John Doe ", αντικαθιστώντας την παράμετρο συντάκτη με το όνομα και το email σας. Αυτό τροποποιεί την τελευταία δέσμευση (η οποία στην προκειμένη περίπτωση είναι επίσης η πρώτη δέσμευση) και αλλάζει τον συγγραφέα σε εσάς, αντί για το Brainbow.
Βήμα 4: Σημείωση εγκατάστασης: Βιβλιοθήκες KiCad
Μια γρήγορη σημείωση για τη δομή της βιβλιοθήκης του KiCad. Το KiCad παρέχει ένα σύνολο βιβλιοθηκών που διατηρούνται από την ομάδα προγραμματιστών για ένα ευρύ φάσμα ηλεκτρικών εξαρτημάτων. Υπάρχουν τρεις κύριες βιβλιοθήκες:
- Σχηματικά σύμβολα: Σύμβολα που χρησιμοποιούνται για την αναπαράσταση ηλεκτρονικών εξαρτημάτων σε σχηματικό σχέδιο κυκλώματος.
- Αποτυπώματα PCB: Σχέδια 2D που αντιπροσωπεύουν το πραγματικό αποτύπωμα (μαξιλάρια χαλκού, κείμενο μεταξοτυπίας κ.λπ.) που θα χρησιμοποιηθούν κατά την τοποθέτηση του κυκλώματος σε ένα PCB.
- Τρισδιάστατα Μοντέλα: Τρισδιάστατα μοντέλα ηλεκτρονικών εξαρτημάτων.
Αυτές οι βιβλιοθήκες μεταφορτώνονται μαζί με τη σουίτα προγράμματος KiCad που μόλις εγκαταστήσατε. Μπορείτε να χρησιμοποιήσετε το KiCad χωρίς άλλη προσπάθεια. Ωστόσο, για τους "power users", τα αρχεία προέλευσης για τις βιβλιοθήκες αποθηκεύονται σε ένα git repository στο Github, επιτρέποντας στους χρήστες που θέλουν να είναι ενημερωμένοι με τις τελευταίες αλλαγές να κλωνοποιήσουν τα repo της βιβλιοθήκης στο δικό τους μηχάνημα. Η παρακολούθηση των βιβλιοθηκών με το git έχει πολλά πλεονεκτήματα - μπορείτε να επιλέξετε πότε θέλετε να ενημερώσετε τις βιβλιοθήκες σας και οι ενημερώσεις πρέπει μόνο να ενσωματώνουν αλλαγές στα αρχεία, αντί να κάνετε ξανά λήψη ολόκληρου του συνόλου αρχείων βιβλιοθήκης. Ωστόσο, είστε υπεύθυνοι για την ενημέρωση των βιβλιοθηκών, τις οποίες μπορεί να ξεχάσετε εύκολα.
Εάν θέλετε να κλωνοποιήσετε τις βιβλιοθήκες, αυτός ο ιστότοπος περιγράφει λεπτομερώς τις διάφορες προσφορές KiCad repos του Github. Git κλωνοποιήστε τις βιβλιοθήκες στον υπολογιστή σας (π. . Αυτό σας επιτρέπει να πείτε στο KiCad τη διαδρομή καταλόγου για να αναζητήσετε κάθε βιβλιοθήκη. Αυτές οι μεταβλητές περιβάλλοντος είναι προεπιλεγμένες στη διαδρομή προς τις βιβλιοθήκες που είναι εγκατεστημένες με την εγκατάσταση του KiCad. Σημείωσα αυτές τις τιμές, ώστε να μπορέσω να επιστρέψω στις προεπιλεγμένες βιβλιοθήκες εάν είναι απαραίτητο. Η διαδρομή KICAD_SYMBOL_DIR πρέπει να δείχνει τη βιβλιοθήκη κλωνοποιημένων συμβόλων σας, το KISYSMOD τη βιβλιοθήκη κλωνοποιημένων αποτυπωμάτων και το KISYS3DMOD την κλωνοποιημένη βιβλιοθήκη kicad-packages3d.
Όταν θέλετε να ενημερώσετε τις βιβλιοθήκες, μπορείτε να εκτελέσετε μια απλή εντολή «git pull» στο repo της βιβλιοθήκης, η οποία θα πει στο Git να ελέγξει για διαφορές μεταξύ του τοπικού αντιγράφου του repo της βιβλιοθήκης και του «απομακρυσμένου» repo του Github και να ενημερώσει αυτόματα τοπικό αντίγραφο για ενσωμάτωση αλλαγών.
Βήμα 5: Βασικές αρχές Git
Το Git είναι ένα πολύπλοκο και πολύπλευρο πρόγραμμα, με ολόκληρα βιβλία αφιερωμένα στη διαχείριση του. Ωστόσο, υπάρχουν μερικές απλές έννοιες που θα σας βοηθήσουν να καταλάβετε πώς χρησιμοποιούμε το Git στη ροή εργασίας μας.
Το Git παρακολουθεί τις αλλαγές στα αρχεία χρησιμοποιώντας μια σειρά σταδίων. Κανονικές αλλαγές πραγματοποιούνται στον κατάλογο εργασίας. Όταν είστε ικανοποιημένοι με τις αλλαγές που έχετε κάνει σε μια σειρά αρχείων, προσθέτετε τα αρχεία που έχετε αλλάξει στην περιοχή σταδιοποίησης. Αφού πραγματοποιήσετε όλες τις αλλαγές στις οποίες σχεδιάζετε και τοποθετήσετε όλα τα αρχεία που θέλετε να παρακολουθούνται στο Git, δεσμεύετε αυτές τις αλλαγές στο αποθετήριο. Οι δεσμεύσεις είναι ουσιαστικά στιγμιότυπα της κατάστασης των αρχείων σε ένα repo σε μια συγκεκριμένη στιγμή. Δεδομένου ότι το Git παρακολουθεί τις αλλαγές σε αρχεία και αποθηκεύει αυτές τις αλλαγές σε commits, ανά πάσα στιγμή μπορείτε να επαναφέρετε ένα έργο στην κατάσταση που ήταν σε οποιαδήποτε προηγούμενη δέσμευση.
Υπάρχουν πιο περίπλοκα θέματα, όπως διακλάδωση και τηλεχειριστήρια, αλλά δεν χρειάζεται να τα χρησιμοποιήσουμε για να αποκτήσουμε τα οφέλη του ελέγχου της πηγής. Το μόνο που χρειαζόμαστε είναι να παρακολουθούμε τις αλλαγές στα αρχεία σχεδιασμού KiCad με μια σειρά δεσμεύσεων.
Βήμα 6: Δομή έργου KiCad
Ας ρίξουμε μια πιο προσεκτική ματιά στη δομή του έργου KiCad-Starter που κλωνοποιήσατε νωρίτερα. Χωρίζεται σε έναν αριθμό υποκαταλόγων για εύκολη οργάνωση:
-
Κύκλωμα: Αυτός ο φάκελος περιέχει τα πραγματικά αρχεία έργου KiCad (σχηματικό, PCB, κλπ). Δεν μετονομάζω αυτόν τον φάκελο, αλλά μετονομάζω όλα τα αρχεία που βρίσκονται μέσα με το όνομα του έργου (Circuit.pro => ArduinoMini.pro).
- Circuit.pro: το αρχείο έργου KiCad
- Circuit.sch: το σχηματικό αρχείο KiCad.
- Circuit.kicad_pcb: το αρχείο διάταξης KiCad PCB.
- Τεκμηρίωση: Αυτός ο φάκελος προορίζεται για την αποθήκευση τεκμηρίωσης σχετικά με το έργο. Έχουμε σχέδια για τη βελτίωση αυτού του χώρου στο μέλλον, αλλά προς το παρόν περιέχει ένα απλό αρχείο README. Χρησιμοποιήστε το για να αποθηκεύσετε σημειώσεις για το έργο για μελλοντική αξιολόγηση.
- Κατασκευή: Αυτός ο φάκελος είναι όπου θα αποθηκεύσετε τα αρχεία gerber που τα περισσότερα σπίτια fab θα χρησιμοποιήσουν για την κατασκευή της πλακέτας σας. Το χρησιμοποιούμε επίσης για την αποθήκευση αρχείων BOM και άλλων εγγράφων που μπορεί να χρειαστούν για την κατασκευή και τη συναρμολόγηση.
- Βιβλιοθήκες: Αυτός ο φάκελος προορίζεται για την αποθήκευση αρχείων βιβλιοθηκών για συγκεκριμένα έργα (θα το καλύψουμε περισσότερο σε μερικά βήματα).
Μπορεί επίσης να έχετε παρατηρήσει μερικά άλλα αρχεία (ιδιαίτερα αν έχετε τον κατάλογο). Ο κατάλογος.git είναι εκεί που το Git κάνει τη μαγεία του, αποθηκεύοντας το ιστορικό του αποθετηρίου. Το αρχείο.gitignore χρησιμοποιείται για να πει στο Git ποια αρχεία θα πρέπει να αγνοήσει και να μην αποθηκεύσει στον έλεγχο πηγής. Αυτά είναι ως επί το πλείστον εφεδρικά αρχεία που δημιουργεί το KiCad ή μερικά διαφορετικά "παραγόμενα" αρχεία, όπως οι δικτυακοί κατάλογοι, τα οποία δεν πρέπει να αποθηκεύονται στον έλεγχο πηγής επειδή δημιουργούνται από την πηγή που είναι το σχηματικό αρχείο.
Αυτή η δομή του έργου είναι απλώς ένα σημείο εκκίνησης. Θα πρέπει να το προσαρμόσετε ώστε να ταιριάζει στις ανάγκες σας και να προσθέσετε ενότητες ανάλογα με τις ανάγκες. Σε ορισμένα έργα έχουμε συμπεριλάβει ένα φάκελο λογισμικού ή φάκελο περιβλήματος, όπου αποθηκεύσαμε μοντέλα για τρισδιάστατα περιβλήματα εκτύπωσης για το έργο.
Βήμα 7: Χρήση του Git για έργα KiCad
Είμαστε τελικά έτοιμοι να δούμε πώς να χρησιμοποιήσετε το Git για την παρακολούθηση των έργων σας. Αυτό το Instructable δεν έχει σκοπό να σας διδάξει πώς να χρησιμοποιείτε το KiCad (αν και ενδέχεται να το κάνω στο μέλλον, εάν υπάρχει ζήτηση για αυτό), οπότε θα εξετάσουμε μερικά ασήμαντα παραδείγματα για να σας δείξουμε πώς εκτελείται η ροή εργασίας. Θα πρέπει να είναι εύκολο να καταλάβουμε πώς να προσαρμόσουμε αυτές τις ιδέες σε ένα πραγματικό έργο.
Ανοίξτε τον κατάλογο kicad-starter και, στη συνέχεια, εκτελέστε το `git log` για να εμφανίσετε το ιστορικό διαπραγμάτευσης. Εδώ θα πρέπει να υπάρχει μία δέσμευση, η προετοιμασία του repo από την Brainbow. Η εκτέλεση της «κατάστασης git» θα σας πει την κατάσταση των αρχείων στο repo σας (μη παρακολουθούμενα, τροποποιημένα, διαγραμμένα, σταδιακά).
Προς το παρόν, δεν πρέπει να έχετε αλλαγές στο repo σας. Ας κάνουμε μια αλλαγή. Ανοίξτε το έργο KiCad και προσθέστε μια αντίσταση στο σχηματικό σχήμα και, στη συνέχεια, αποθηκεύστε. Η εκτέλεση της «κατάστασης git» θα πρέπει να δείχνει ότι έχετε τροποποιήσει το σχηματικό αρχείο, αλλά δεν έχετε πραγματοποιήσει ακόμη αυτές τις αλλαγές για τη δέσμευση. Εάν είστε περίεργοι για το τι ακριβώς έκανε το KiCad όταν προσθέσατε την αντίσταση, μπορείτε να εκτελέσετε την εντολή diff στο τροποποιημένο αρχείο `git diff Circuit/Circuit.sch`. Αυτό θα επισημάνει τις αλλαγές μεταξύ της τρέχουσας έκδοσης του αρχείου στον κατάλογο εργασίας και της κατάστασης του αρχείου στην τελευταία δέσμευση.
Τώρα που κάναμε μια αλλαγή, ας προσπαθήσουμε να εφαρμόσουμε αυτήν την αλλαγή στο ιστορικό του έργου μας. Πρέπει να μεταφέρουμε τις αλλαγές από τον κατάλογο εργασίας μας στην περιοχή σκηνής. Αυτό δεν μετακινεί πραγματικά τα αρχεία στο σύστημα αρχείων, αλλά είναι εννοιολογικά ένας τρόπος ενημέρωσης του Git ότι έχετε κάνει όλες τις προγραμματισμένες αλλαγές σας για ένα συγκεκριμένο αρχείο και είστε έτοιμοι να πραγματοποιήσετε αυτές τις αλλαγές. Το Git παρέχει κάποιες συμβουλές όταν εκτελείτε την «κατάσταση git» για την επόμενη ενέργεια. Παρατηρήστε το μήνυμα «(χρησιμοποιήστε το" git add … "για να ενημερώσετε τι θα δεσμευτεί)" στην ενότητα "Αλλαγές που δεν πραγματοποιούνται για τη δέσμευση:". Το Git σας λέει πώς να μετακινήσετε τις αλλαγές στην περιοχή σκηνής. Εκτελέστε το `git add Circuit/Circuit.sch` για να πραγματοποιήσετε τις αλλαγές και, στη συνέχεια, το 'git status' για να δείτε τι συνέβη. Τώρα βλέπουμε το σχηματικό αρχείο υπό αλλαγές που πρέπει να δεσμευτούν. Εάν δεν θέλετε να δεσμεύσετε ακόμα αυτές τις αλλαγές, το Git προσφέρει βοηθητικά μια άλλη συμβουλή: `(χρησιμοποιήστε" git reset HEAD … "για να απομακρύνετε τη σκηνή)". Θέλουμε να δεσμεύσουμε αυτές τις αλλαγές, οπότε εκτελούμε το 'git commit -m "Προστέθηκε αντίσταση στο σχηματικό". Αυτό επιφέρει τις αλλαγές με το παρεχόμενο μήνυμα. Η εκτέλεση του git log θα εμφανίσει αυτήν την δέσμευση στο ιστορικό δεσμεύσεων έργου.
Λίγες ακόμη συμβουλές για τις δεσμεύσεις.
- Μην δεσμεύεστε με κάθε αποθήκευση. Δεσμευτείτε όταν αισθάνεστε ότι έχετε φτάσει σε ένα σημείο όπου οι αλλαγές σας έχουν κάπως σταθεροποιηθεί. Δεσμεύομαι αφού τελειώσω ένα σχηματικό, όχι μετά από κάθε προσθήκη εξαρτήματος. Επίσης, δεν θέλετε να δεσμευτείτε πολύ σπάνια, γιατί το να θυμάστε το πλαίσιο του γιατί κάνατε τις αλλαγές που κάνατε 3 εβδομάδες αργότερα μπορεί να είναι δύσκολο. Το να καταλάβεις πότε πρέπει να δεσμευτείς είναι μια τέχνη, αλλά θα γίνεις πιο άνετος καθώς χρησιμοποιείς περισσότερο το Git.
- Μόνο πηγή καταστήματος (κυρίως). Αυτό περιλαμβάνει τα έργα, τα σχηματικά και τα αρχεία διάταξης, καθώς και τις συγκεκριμένες βιβλιοθήκες του έργου. Αυτό μπορεί επίσης να περιλαμβάνει αρχεία τεκμηρίωσης. Να είστε προσεκτικοί κατά την αποθήκευση παραγόμενων αντικειμένων, επειδή μπορούν εύκολα να συγχρονιστούν με την αρχική πηγή και αυτό προκαλεί πονοκεφάλους αργότερα. Τα αρχεία BOM και gerber αποσυγχρονίζονται ιδιαίτερα εύκολα, έτσι αποφεύγονται καλύτερα (αν και πιο λεπτομερείς οδηγίες καλύπτονται στο βήμα 9).
- Τα μηνύματα δέσμευσης είναι πολύ χρήσιμα, αλλά τα καλά δομημένα μηνύματα δέσμευσης είναι ανεκτίμητα. Αυτό το εξαιρετικό άρθρο παρέχει ορισμένες οδηγίες για τη σύνταξη σαφών, συνοπτικών, χρήσιμων μηνυμάτων δέσμευσης. Κάτι τέτοιο μπορεί να απαιτεί τη χρήση ενός προγράμματος επεξεργασίας κειμένου γραμμής εντολών, κάτι που μπορεί να με περιπλέξει για αρχάριους («git commit» χωρίς την επιλογή μηνύματος -m θα ανοίξει ένας επεξεργαστής κειμένου). Για τους περισσότερους ανθρώπους, προτείνω τον επεξεργαστή Nano. Το StackOverflow έχει μια καλή εξήγηση για την αλλαγή του επεξεργαστή σας
Βήμα 8: Advanced: Semantic Versioning for Electronics
Για τις τολμηρές ψυχές, οι παρακάτω συμβουλές είναι προηγμένες ιδέες, που συλλέχθηκαν από πολλές ώρες ανάπτυξης του KiCad. Δεν είναι ιδιαίτερα χρήσιμα σε μικρότερα έργα, αλλά μπορούν πραγματικά να σας εξοικονομήσουν πόνο καθώς τα έργα σας μεγαλώνουν σε πολυπλοκότητα.
Στο λογισμικό, υπάρχει μια έννοια της σημασιολογικής εκδοχής (semver). Ο Semver ορίζει μια κοινή μεθοδολογία ονοματοδοσίας για τον προσδιορισμό των εκδόσεων λογισμικού με "αριθμό έκδοσης", ακολουθώντας ένα μοτίβο "Major. Minor. Patch". Για να αναφέρετε τις προδιαγραφές του semver, προωθείτε τον αριθμό έκδοσης σύμφωνα με τις ακόλουθες κατηγορίες αλλαγών.
- MAJOR έκδοση όταν κάνετε ασύμβατες αλλαγές API,
- MINOR έκδοση όταν προσθέτετε λειτουργικότητα με τρόπο συμβατό προς τα πίσω,
- Έκδοση PATCH όταν πραγματοποιείτε επιδιορθώσεις σφαλμάτων συμβατές προς τα πίσω.
Εμείς στο Brainbow χρησιμοποιούμε τη δική μας έκδοση semver προσαρμοσμένη στις ανάγκες των έργων υλικού. Οι προδιαγραφές μας ακολουθούν το ίδιο μοτίβο "Major. Minor. Patch", αν και οι ορισμοί μας για το τι αλλαγές εμπίπτουν σε ποια κατηγορία προφανώς διαφέρουν.
- MAJOR έκδοση: χρησιμοποιείται για σημαντικές αλλαγές στην βασική λειτουργικότητα του κυκλώματος (π.χ. εναλλαγή επεξεργαστή από ATmegaa σε ESP8266).
- MINOR έκδοση: χρησιμοποιείται για ανταλλαγές εξαρτημάτων που θα μπορούσαν να επηρεάσουν τη λειτουργία του κυκλώματος (π.χ. SPI flash swap με τμήμα συμβατό με ακίδες που μπορεί να έχει διαφορετικό σύνολο εντολών) ή προσθήκη κάποιας μικρής πρόσθετης δυνατότητας (π.χ. προσθήκη πρόσθετου αισθητήρα θερμοκρασίας).
- Έκδοση PATCH: χρησιμοποιείται για μικρές διορθώσεις σφαλμάτων που δεν αλλάζουν τη λειτουργία του κυκλώματος (π.χ. προσαρμογή μεταξοτυπίας, μικρή ρύθμιση διάταξης ιχνών, απλές εναλλαγές εξαρτημάτων όπως πυκνωτής 0603 σε 0805).
Στο εξάμηνο υλικού, ο αριθμός έκδοσης ενημερώνεται μόνο κατά την κατασκευή (όπως και στο λογισμικό, οι αριθμοί έκδοσης αλλάζουν μόνο με κυκλοφορίες, όχι κάθε άτομο να δεσμευτεί για ένα έργο). Ως αποτέλεσμα, πολλά έργα έχουν χαμηλούς αριθμούς έκδοσης. Δεν έχουμε ακόμη ένα έργο που να χρησιμοποιεί περισσότερες από 4 μεγάλες εκδόσεις.
Εκτός από τα οφέλη της συνέπειας και της κατανόησης που αποκτάτε από τη μετάβαση σε ένα καλά καθορισμένο σύστημα ονοματοδοσίας, κερδίζετε επίσης οφέλη στη συμβατότητα του υλικολογισμικού και την ικανοποίηση των πελατών. Το υλικολογισμικό μπορεί να γραφτεί λαμβάνοντας υπόψη την έκδοση του πίνακα που στοχεύει και μπορεί να είναι ευκολότερο να εντοπιστεί σφάλμα γιατί ένα συγκεκριμένο πρόγραμμα δεν λειτουργεί σε έναν συγκεκριμένο πίνακα ( σωστά, το υλικολογισμικό 2.4.1 δεν λειτουργεί σε 1.2 πίνακες επειδή δεν έχουμε… »). Οι πελάτες επωφελήθηκαν επίσης από το semver υλικού μας, επειδή η εξυπηρέτηση πελατών και η αντιμετώπιση προβλημάτων είναι πολύ πιο εύκολη με ένα καθορισμένο πρότυπο.
Βήμα 9: Για προχωρημένους: Χρήση σημασιολογικής έκδοσης υλικού
Για να χρησιμοποιήσετε το semver υλικού στα δικά σας έργα, χρησιμοποιούμε μια λειτουργία Git που ονομάζεται προσθήκη ετικετών. Όταν κατασκευάζετε για πρώτη φορά έναν πίνακα, αυτή είναι η έκδοση 1.0.0 αυτού του πίνακα. Βεβαιωθείτε ότι έχετε πραγματοποιήσει όλες τις αλλαγές στο έργο σας και, στη συνέχεια, εκτελέστε `git tag -a v1.0.0`. Αυτό θα ανοίξει έναν επεξεργαστή, ώστε να μπορείτε να γράψετε ένα μήνυμα σχολιασμού για αυτήν την ετικέτα (πολύ παρόμοιο με ένα μήνυμα δέσμευσης). Περιλαμβάνω λεπτομέρειες σχετικά με την κατασκευή (ποιος έφτιαξε το PCB, ο οποίος συναρμολόγησε τον πίνακα), οι οποίες μπορεί να είναι χρήσιμες πληροφορίες αργότερα.
Η ετικέτα απελευθέρωσης προστίθεται στο ιστορικό δεσμεύσεων και υποδεικνύει την κατάσταση των αρχείων στην κατασκευή 1.0.0. Αυτό μπορεί να είναι ιδιαίτερα χρήσιμο αρκετές αναθεωρήσεις αργότερα όταν πρέπει να ανατρέξετε σε αυτό το σημείο για την αντιμετώπιση προβλημάτων. Χωρίς καθορισμένη ετικέτα κυκλοφορίας, θα ήταν δύσκολο να καταλάβουμε ποια δέσμευση ήταν η πιο πρόσφατη κατά τη στιγμή της κατασκευής. Μια ετικέτα 1.0.0 (και 1.1, 1.1.1, κ.λπ.) σάς επιτρέπει να καθορίσετε ότι αυτά τα συγκεκριμένα αρχεία προέλευσης ήταν αυτά που χρησιμοποιήθηκαν σε μια συγκεκριμένη κατασκευή.
Σημείωση για τον Gerbers. Ορισμένα υπέροχα σπίτια απαιτούν αρχεία gerber για να φτιάξουν την πλακέτα σας και μπορείτε να τα δημιουργήσετε με το KiCad. Αυτά είναι παράγωγα αντικείμενα, που δημιουργούνται από το αρχείο προέλευσης.kicad_pcb και κανονικά η έκδοση δεν ελέγχει τα παράγωγα αρχεία. Εμείς στο Brainbow δεν αποθηκεύουμε τα ζέρμπερ σε έλεγχο έκδοσης ΕΚΤΟΣ από όταν επισημαίνουμε μια κυκλοφορία. Όταν είμαστε έτοιμοι να δημιουργήσουμε, δημιουργούμε τα αρχεία gerber, τα αποθηκεύουμε στο φάκελο Fabrication και δεσμεύουμε και προσθέτουμε ετικέτα. Στη συνέχεια αφαιρούμε τα ζέρμπερ και δεσμεύουμε τη διαγραφή. Αυτό μπορεί να φαίνεται λίγο μπερδεμένο στην αρχή, αλλά διασφαλίζει ότι οι κανονικές δεσμεύσεις αποθηκεύουν μόνο αρχεία προέλευσης και οι εκδόσεις με ετικέτα αποθηκεύουν επίσης τα ακριβή αρχεία που χρησιμοποιούνται για την κατασκευή των πινάκων. Αυτό αποδείχθηκε εξαιρετικά χρήσιμο για τον εντοπισμό σφαλμάτων κατασκευής εβδομάδες αργότερα.
Βήμα 10: Επόμενα βήματα
Ας ελπίσουμε ότι αυτή η εισαγωγή σας δίδαξε αρκετά για να αρχίσετε να χρησιμοποιείτε τον έλεγχο έκδοσης στα δικά σας ηλεκτρονικά έργα. Δεν φτάσαμε σε μερικά από τα πιο προηγμένα θέματα, όπως τον έλεγχο έκδοσης για βιβλιοθήκες που μοιράζονται μεταξύ έργων ή κλάδων χαρακτηριστικών. Ωστόσο, ο έλεγχος εκδόσεων είναι σαν να τρώτε τα λαχανικά σας: μπορεί να μην έχετε αυτό που νομίζετε ότι πρέπει, αλλά κάθε κομμάτι που παίρνετε μετράει.
Το Brainbow εργάζεται σε έναν πιο λεπτομερή οδηγό για μερικά από τα πιο προηγμένα χαρακτηριστικά της ροής εργασίας μας. Ελπίζουμε να το δημοσιεύσουμε κάποια στιγμή μέσα στους επόμενους μήνες. Ακολουθήστε μας εδώ στο Instructables και θα είμαστε σίγουροι ότι θα σας ενημερώσουμε όταν μπορείτε να το διαβάσετε.
Ευχαριστούμε που διαβάσατε και ανυπομονούμε να δούμε τι θα φτιάξετε!
Συνιστάται:
K -Ability V2 - Ανοικτού κώδικα Προσβάσιμο πληκτρολόγιο για οθόνες αφής: 6 βήματα (με εικόνες)
K-Ability V2-Open Source Accessible Keyboard for Touchscreen: Αυτό το πρωτότυπο είναι η δεύτερη έκδοση του K-Ability. Το K-Ability είναι ένα φυσικό πληκτρολόγιο που επιτρέπει τη χρήση συσκευών οθόνης αφής σε άτομα με παθολογίες που έχουν ως αποτέλεσμα νευρομυϊκές διαταραχές. Υπάρχουν πολλά βοηθήματα που διευκολύνουν τη χρήση υπολογιστών
MIA-1 Ανοικτού κώδικα Advanced Hand Made Humanoid Robot !: 4 Βήματα
MIA-1 Open Source Advanced Made Humanoid Robot !: Γεια σε όλους, σήμερα θα δείξω πώς έφτιαξα το ρομπότ MIA-1, το οποίο δεν είναι μόνο Advanced και μοναδικό αλλά και Open Source και μπορεί να γίνει χωρίς τρισδιάστατη εκτύπωση !! Ναι, το καταλάβατε, αυτό το ρομπότ είναι εντελώς χειροποίητο. Και ανοικτού κώδικα σημαίνει - παίρνετε το
ESP8266 RGB LED STRIP WIFI Έλεγχος - NODEMCU Ως τηλεχειριστήριο IR για Led Strip που ελέγχεται μέσω Wifi - Έλεγχος Smartphone RGB LED STRIP: 4 βήματα
ESP8266 RGB LED STRIP WIFI Έλεγχος | NODEMCU Ως τηλεχειριστήριο IR για Led Strip που ελέγχεται μέσω Wifi | RGB LED STRIP Smartphone Control: Γεια σας παιδιά σε αυτό το σεμινάριο θα μάθουμε πώς να χρησιμοποιούμε το nodemcu ή το esp8266 ως τηλεχειριστήριο IR για τον έλεγχο μιας λωρίδας LED RGB και το Nodemcu θα ελέγχεται από smartphone μέσω wifi. Έτσι, βασικά μπορείτε να ελέγξετε το RGB LED STRIP με το smartphone σας
Ανοικτού κώδικα 3/4/5S Lithium BMS: 4 βήματα
Ανοικτού κώδικα 3/4/5S Lithium BMS: Σε αυτό το εγχειρίδιο θα εξηγηθεί ο σχεδιασμός του BMS345. Ο σχεδιασμός είναι πλήρως ανοιχτού κώδικα, τα αρχεία σχεδίασης βρίσκονται στο σύνδεσμο GitHub στο τελευταίο βήμα. Υπάρχει επίσης περιορισμένη προσφορά στο Tindie. Το BMS345 είναι BatteryManagement
Ανοικτού κώδικα Breadboard-Friendly Modular Neopixel Breakout Board: 4 βήματα (με εικόνες)
Modular Neopixel Breakout Board Ανοικτού Κώδικα Breadboard-Friendly Λωρίδα LED σε πολύ μικρότερη μορφή facto