Cov txheej txheem:

Version Control for Open Source Hardware: 10 Kauj Ruam
Version Control for Open Source Hardware: 10 Kauj Ruam

Video: Version Control for Open Source Hardware: 10 Kauj Ruam

Video: Version Control for Open Source Hardware: 10 Kauj Ruam
Video: 20 MOMENTS YOU WOULDN'T BELIEVE IF NOT FILMED 2024, Hlis ntuj nqeg
Anonim
Version Control rau Open Source Hardware
Version Control rau Open Source Hardware

Pab pawg ntawm Brainbow muaj cov lej ntawm cov phiaj xwm hluav taws xob hauv peb txoj siv, thiab peb xav qhia peb cov txheej txheem rau kev siv kev tswj hwm los tswj peb cov khoom siv hluav taws xob tsim ua haujlwm. Cov haujlwm no tau siv rau cov phiaj xwm loj thiab me, los ntawm cov txheej txheem yooj yim 2 txheej mus rau qhov nyuaj 10 txheej behemoths, thiab yog ua raws cov cuab yeej qhib. Vam tias, lwm tus tuaj yeem siv peb txoj haujlwm ua haujlwm rau lawv tus kheej, thiab tau txais txiaj ntsig ntawm kev tswj hwm version rau lawv tus kheej cov haujlwm. Tab sis cov txiaj ntsig dab tsi tuaj yeem tswj hwm version muab cov phiaj xwm hluav taws xob?

Kauj Ruam 1: Vim Li Cas Version Tswj Koj Cov Khoom Siv Hluav Taws Xob?

Version Control (aka source control lossis revision control) yog kev nkag siab zoo thiab dav siv lub tswv yim hauv software engineering. Lub tswv yim tom qab tswj hwm lub hauv paus yog kev tshuaj xyuas kev hloov pauv hloov mus rau qhov chaws ntawm cov haujlwm lossis daim ntawv thov. Yog tias hloov pauv daim ntawv thov, koj tuaj yeem thim rov qab cov ntaub ntawv cov cai rau lub xeev ua haujlwm paub los ntawm yav dhau los. Hauv kev coj ua, cov txheej txheem tswj hwm tso cai rau koj taug qab keeb kwm ntawm kev sau cov ntaub ntawv (feem ntau yog cov ntaub ntawv cov ntaub ntawv rau lub khoos phis tawj, lub vev xaib, thiab lwm yam), thiab pom thiab tswj kev hloov pauv rau cov ntaub ntawv ntawd.

Taug qab keeb kwm ntawm kev hloov pauv rau ib qhov haujlwm zoo li muaj txiaj ntsig zoo rau cov phiaj xwm hluav taws xob; yog tias koj ua yuam kev hauv cov phiaj xwm hauv Circuit Court, lossis siv cov khoom tsis raug hneev taw hauv PCB txheej txheem, nws yuav yog qhov zoo kom taug qab qhov ua yuam kev tau ua dab tsi thiab kho dab tsi tau ua tiav hauv ntau qhov kev hloov kho ntawm txoj haujlwm. Nws kuj tseem yuav pab tau rau lwm tus tsim kom pom keeb kwm ntawd, thiab nkag siab cov ntsiab lus thiab kev txhawb siab ntawm ntau yam kev hloov pauv.

Kauj Ruam 2: Cov Cuab Yeej: KiCad thiab Git

Cov Cuab Yeej: KiCad thiab Git
Cov Cuab Yeej: KiCad thiab Git

Peb siv ob lub cuab yeej tseem ceeb hauv txoj haujlwm no: kev tswj hwm version (VCS) thiab cov khoom siv hluav taws xob tsim hluav taws xob (EDA lossis ECAD).

Muaj ntau txoj kev tswj hwm qhov system tawm muaj, tab sis peb siv cov VCS Git faib. Peb siv nws rau ntau qhov laj thawj, tab sis qhov tseem ceeb yog tias nws tau qhib-qhov chaw (kos!), Siv tau yooj yim (kos!), Thiab de-facto tus qauv VCS rau qhib qhov software (kos!). Peb yuav siv Git ua VCS txhawm rau taug qab qhov hloov pauv ntawm cov ntaub ntawv uas peb qhov kev pabcuam ECAD siv. Cov Lus Qhia no tsis xav tau kev paub zoo nrog Git, tab sis kev nplij siab dav siv kab hais kom ua yog kwv yees. Kuv yuav sim txuas rau cov peev txheej muaj txiaj ntsig rau ob qho Git thiab kab hais kom siv raws li qhov tsim nyog.

Feem ntau cov txheej txheem tswj hwm ua haujlwm tau zoo tshwj xeeb rau cov ntawv raws cov ntaub ntawv, yog li ECAD txoj haujlwm uas siv cov ntawv sau yuav zoo heev. Nkag mus rau KiCad, qhib qhov chaw "Hla Platform thiab Qhib Cov Khoom Siv Hluav Taws Xob Tsim Cov Khoom Siv Hluav Taws Xob" txhawb nqa los ntawm cov kws tshawb fawb ntawm CERN. KiCad kuj tseem qhib-qhov (kos!), Siv tau yooj yim (txawm hais tias qee qhov yuav tsis pom zoo nrog kuv ntawm qhov ntawd), thiab muaj peev xwm heev rau kev tsim khoom siv hluav taws xob zoo tshaj.

Kauj Ruam 3: Kev Txhim Kho

Kev teeb tsa
Kev teeb tsa
Kev teeb tsa
Kev teeb tsa

Txhawm rau teeb tsa cov haujlwm no, ua raws cov lus qhia los ntawm lawv ntau qhov chaw rub tawm txuas hauv qab no.

  • KiCad yog hla-platform (thiab dizzying-ly yog li; lawv cov nplooj ntawv rub tawm npe 13 txhawb OS, thiab muab cov lej rub tawm yog tias tsis muaj cov uas haum rau koj). Siv kicad-unified default install, tsis yog kev txhim kho hmo ntuj. Saib Kauj Ruam 4 kom paub meej ntxiv txog kev xaiv ntawm kev teeb tsa tsev qiv ntawv.
  • Git tseem yog hla-platform. Yog tias siv Windows, Kuv yuav pom zoo qhov ua tau zoo Git rau Windows txoj haujlwm kom tau txais txiaj ntsig zoo dua, muaj kev paub zoo.

Cov ntaub ntawv teeb tsa muaj nyob ntawm ob qho chaw no yuav ua tiav ntau dua li cov lus piav qhia Kuv tuaj yeem muab ntawm no. Thaum ob qho program tau rub tawm thiab teeb tsa, koj tuaj yeem clone Brainbow cov phiaj xwm los ntawm peb Github chaw cia khoom. Cov lus txib clit clit siv tus qauv `git clone {src directory} {phiaj directory}`; rau peb txoj haujlwm, siv `git clone https://github.com/builtbybrainbow/kicad-starter.git {phiaj directory}`.

Cloning git repo yog daim ntawv tshwj xeeb ntawm kev luam; thaum koj clone ib qhov project, koj tau txais daim ntawv theej ntawm txhua cov ntaub ntawv suav nrog hauv repo ntxiv rau tag nrho Git-taug qab keeb kwm ntawm txoj haujlwm. Los ntawm cloning peb rov ua dua, koj tau txais cov npe phau ntawv ua haujlwm tau teeb tsa nrog peb cov lus pom zoo rau siv Git nrog KiCad. Peb yuav npog ntau ntxiv txog cov phiaj xwm phiaj xwm hauv Kauj Ruam 6, lossis koj tuaj yeem hla mus rau Kauj Ruam 7 yog tias koj khaus kom ua haujlwm.

Ob peb qhov haujlwm tu tsev ceev - khiav 'git tej thaj chaw deb rm keeb kwm' kom tshem qhov txuas mus rau Github qhov haujlwm koj cloned los. Tsis tas li, khiav `git cog lus --amend --author =" John Doe "`, hloov tus sau qhov ntsuas nrog koj lub npe thiab email. Qhov no hloov kho qhov kev cog lus zaum kawg (uas hauv qhov no tseem yog thawj qhov kev cog lus) thiab hloov tus sau rau koj, tsis yog Brainbow.

Kauj Ruam 4: Txhim Kho Nco Ntsoov: KiCad Tsev Qiv Ntawv

Kev ceeb toom teeb tsa: KiCad Libraries
Kev ceeb toom teeb tsa: KiCad Libraries

Ib daim ntawv ceeb toom sai txog KiCad lub tsev qiv ntawv qauv. KiCad muab cov tsev qiv ntawv khaws cia los ntawm pab pawg tsim tawm rau ntau yam khoom siv hluav taws xob. Muaj peb lub tsev qiv ntawv tseem ceeb:

  • Cov Cim Cim: Cov cim uas siv los sawv cev rau cov khoom siv hluav taws xob hauv cov duab kos hauv Circuit Court.
  • Hneev taw ntawm PCB: Cov duab kos 2D sawv cev rau qhov hneev taw tiag tiag (ntaub qhwv tooj liab, ntawv silkscreen, thiab lwm yam) kom siv thaum tso tawm Circuit hauv PCB.
  • Cov Qauv 3D: Cov qauv 3D ntawm cov khoom siv hluav taws xob.

Cov tsev qiv ntawv no tau rub tawm nrog rau qhov program KiCad uas koj nyuam qhuav tau teeb tsa. Koj tuaj yeem siv KiCad yam tsis muaj kev siv zog ntxiv. Txawm li cas los xij, rau "cov neeg siv lub zog", cov ntaub ntawv rau lub tsev qiv ntawv tau khaws cia hauv git repository ntawm Github, tso cai rau cov neeg siv uas xav nyob twj ywm nrog qhov hloov tshiab kawg rau clone lub tsev qiv ntawv rov ua dua rau lawv lub tshuab. Taug qab cov tsev qiv ntawv nrog git muaj tus lej zoo - koj tuaj yeem xaiv thaum koj xav hloov kho koj lub tsev qiv ntawv, thiab hloov tshiab tsuas yog xav tau hloov pauv cov ntaub ntawv, tsis yog rub tawm tag nrho cov txheej txheem ntawm cov tsev qiv ntawv dua. Txawm li cas los xij, koj muaj lub luag haujlwm hloov kho cov tsev qiv ntawv, uas tuaj yeem yooj yim kom hnov qab txog.

Yog tias koj xav clone cov tsev qiv ntawv, lub vev xaib no nthuav qhia ntau yam Github repos KiCad muab. Git clone cov tsev qiv ntawv rau koj lub khoos phis tawj (piv txwv li: `git clone https:// github.com/KiCad/kicad-symbols.git`), tom qab ntawd qhib KiCad, xaiv cov ntawv qhia zaub mov bar" Nyiam "yam khoom, thiab nyem" Configure Paths … ". Qhov no cia koj qhia KiCad cov npe kab ntawv kom saib rau txhua lub tsev qiv ntawv hauv. Cov xwm txheej ib puag ncig hloov pauv mus rau txoj kev mus rau lub tsev qiv ntawv teeb tsa nrog KiCad teeb tsa; Kuv tau sau tseg ntawm cov txiaj ntsig no yog li kuv tuaj yeem hloov rov qab mus rau lub tsev qiv ntawv qub yog tias tsim nyog. KICAD_SYMBOL_DIR txoj hauv kev yuav tsum taw tes rau koj lub tsev qiv ntawv kicad-cloned, KISYSMOD rau cloned kicad-footprints library, thiab KISYS3DMOD rau cloned kicad-packages3d lub tsev qiv ntawv.

Thaum koj xav hloov kho cov tsev qiv ntawv, koj tuaj yeem ua qhov yooj yim `git rub` hais kom ua hauv lub tsev qiv ntawv rov qab uas yuav qhia Git txhawm rau txheeb xyuas qhov sib txawv ntawm koj daim ntawv theej ntawm lub tsev qiv ntawv repo thiab Github" tej thaj chaw deb "repo, thiab hloov kho koj li daim ntawv hauv zos kom suav nrog kev hloov pauv.

Kauj ruam 5: Git Fundamentals

Git Fundamentals
Git Fundamentals

Git yog txoj haujlwm nyuaj thiab muaj ntau yam, nrog rau tag nrho cov ntawv mob siab rau kom ua tiav nws. Txawm li cas los xij, muaj ob peb lub ntsiab lus yooj yim uas yuav pab koj nkag siab tias peb siv Git li cas hauv peb txoj haujlwm.

Git taug kev hloov pauv rau cov ntaub ntawv siv ua ntu ntu. Kev hloov pauv ib txwm muaj nyob hauv phau ntawv ua haujlwm. Thaum koj txaus siab rau qhov kev hloov pauv uas koj tau ua rau cov ntaub ntawv, koj ntxiv cov ntaub ntawv uas koj tau hloov pauv mus rau thaj chaw ua yeeb yam. Thaum koj tau ua txhua qhov kev hloov pauv uas koj npaj rau thiab ua ntu zus txhua cov ntaub ntawv koj xav tau taug qab hauv Git, koj cog lus cov kev hloov pauv no rau lub chaw cia khoom. Kev cog lus yog qhov tseem ceeb snapshots ntawm lub xeev cov ntaub ntawv hauv repo ntawm lub sijhawm tshwj xeeb. Txij li Git taug kev hloov pauv rau cov ntaub ntawv thiab khaws cov kev hloov pauv no hauv kev cog lus, ntawm txhua lub sijhawm koj tuaj yeem thim txoj haujlwm rov qab mus rau lub xeev nws tau nyob rau ntawm ib qho kev cog lus ua ntej.

Muaj ntau cov ntsiab lus nyuaj, zoo li kev faib thiab kev nyob deb, tab sis peb tsis tas yuav siv cov no kom tau txais txiaj ntsig ntawm kev tswj hwm qhov chaw. Txhua yam peb xav tau yog txhawm rau taug qab kev hloov pauv rau peb KiCad cov ntaub ntawv tsim qauv nrog ua ntu zus.

Kauj Ruam 6: Tus Qauv KiCad

KiCad Txoj Haujlwm Qauv
KiCad Txoj Haujlwm Qauv

Cia peb ua tibzoo saib ntawm cov qauv ntawm KiCad-Starter project koj cloned ua ntej. Nws tau muab faib ua ntau tus subdirectories rau kev yooj yim koom haum:

  • Circuit: Daim nplaub tshev no muaj cov ntaub ntawv KiCad qhov tseeb (cov duab, PCB, thiab lwm yam). Kuv tsis hloov lub npe no, tab sis kuv hloov pauv txhua cov ntaub ntawv sab hauv nrog lub npe ntawm txoj haujlwm (Circuit.pro => ArduinoMini.pro).

    • Circuit.pro: the KiCad project file
    • Circuit.sch: cov ntaub ntawv KiCad schematic.
    • Circuit.kicad_pcb: cov ntaub ntawv KiCad PCB txheej txheem.
  • Cov Ntaub Ntawv: Cov nplaub tshev no yog rau khaws cov ntaub ntawv hais txog txoj haujlwm. Peb muaj phiaj xwm txhim kho qhov chaw no yav tom ntej, tab sis tam sim no nws muaj cov ntawv README yooj yim. Siv nws los khaws cov ntawv ntawm txoj haujlwm rau yav tom ntej koj los tshuaj xyuas.
  • Kev Tsim Khoom: Lub nplaub tshev no yog qhov uas koj yuav khaws cov ntaub ntawv gerber uas cov tsev zoo tshaj plaws yuav siv rau kev tsim khoom koj lub rooj tsav xwm. Peb kuj siv nws los khaws cov ntaub ntawv BOM thiab lwm cov ntaub ntawv uas tej zaum yuav xav tau rau kev tsim khoom thiab sib dhos.
  • Cov tsev qiv ntawv: Cov ntawv no yog rau khaws cia cov phiaj xwm tshwj xeeb cov ntaub ntawv hauv tsev qiv ntawv (peb yuav npog qhov no ntxiv hauv ob peb kauj ruam).

Koj kuj tseem tuaj yeem pom ob peb lwm cov ntaub ntawv (tshwj xeeb yog tias koj yog 'ls -a' phau ntawv teev npe). Cov.git phau ntawv teev npe yog qhov uas Git ua nws cov khawv koob, khaws keeb kwm ntawm qhov chaw cia khoom. Cov ntaub ntawv.gitignore siv los qhia Git cov ntaub ntawv twg nws yuav tsum tsis quav ntsej thiab tsis khaws cia hauv qhov chaw tswj hwm. Cov no feem ntau yog cov ntaub ntawv thaub qab uas KiCad tsim tawm, lossis ob peb qhov sib txawv "tsim" cov ntaub ntawv, zoo li netlists, uas yuav tsum tsis txhob khaws cia hauv qhov chaw tswj hwm vim tias lawv tau tsim los ntawm qhov chaw uas yog cov ntaub ntawv schematic.

Tus txheej txheem no yog qhov pib xwb. Koj yuav tsum hloov kho kom haum koj cov kev xav tau, thiab ntxiv ntu raws li qhov tsim nyog. Hauv qee qhov haujlwm peb tau suav nrog cov software software lossis cov ntawv tais ceev tseg, qhov uas peb khaws cov qauv rau 3d luam ntawv thaiv rau txoj haujlwm.

Kauj Ruam 7: Siv Git rau KiCad Cov Haujlwm

Siv Git rau KiCad Cov Haujlwm
Siv Git rau KiCad Cov Haujlwm
Siv Git rau KiCad Cov Haujlwm
Siv Git rau KiCad Cov Haujlwm
Siv Git rau KiCad Cov Haujlwm
Siv Git rau KiCad Cov Haujlwm

Thaum kawg peb tau npaj pom yuav siv Git li cas txhawm rau taug qab koj cov phiaj xwm. Cov Lus Qhia no tsis yog los qhia koj li cas siv KiCad (txawm hais tias kuv yuav ua ib qho yav tom ntej yog tias muaj kev thov rau nws), yog li peb yuav ua raws qee qhov piv txwv tsis tseem ceeb los qhia koj tias txoj haujlwm ua haujlwm li cas. Nws yuav tsum yooj yim nkag siab yuav hloov kho cov tswv yim no mus rau qhov haujlwm tiag tiag li cas.

Qhib kicad-starter directory, tom qab ntawv khiav 'git log' los tso saib keeb kwm kev ua phem. Yuav tsum muaj ib qho kev cog lus ntawm no, qhov pib ntawm repo los ntawm Brainbow. Khiav 'git xwm txheej' yuav qhia koj cov xwm txheej ntawm cov ntaub ntawv hauv koj qhov repo (tsis taug qab, hloov kho, tshem tawm, teeb tsa).

Tam sim no, koj yuav tsum tsis muaj kev hloov pauv hauv koj qhov repo. Cia peb hloov pauv. Qhib qhov phiaj xwm KiCad thiab ntxiv cov tshuaj tiv thaiv rau cov phiaj xwm, tom qab ntawd txuag. Tam sim no khiav 'git xwm txheej' yuav tsum qhia tias koj tau hloov kho cov ntaub ntawv schematic, tab sis tseem tsis tau ua cov kev hloov pauv no rau kev cog lus tsis tau. Yog tias koj xav paub dab tsi raws nraim KiCad tau ua thaum koj ntxiv tus tiv thaiv, koj tuaj yeem ua qhov sib txawv ntawm qhov hloov pauv cov ntaub ntawv `git diff Circuit/Circuit.sch`. Qhov no yuav hais txog qhov hloov pauv ntawm cov ntaub ntawv tam sim no hauv cov npe ua haujlwm thiab lub xeev cov ntaub ntawv ntawm qhov ua txhaum zaum kawg.

Tam sim no uas peb tau hloov pauv, cia peb sim ua qhov kev hloov pauv rau peb li keeb kwm qhov project. Peb yuav tsum txav cov kev hloov pauv los ntawm peb cov npe ua haujlwm mus rau thaj chaw ua yeeb yam. Qhov no tsis tau txav cov ntaub ntawv hauv cov kab ke, tab sis yog lub tswv yim txoj hauv kev tso cai rau Git paub tias koj tau ua txhua qhov koj tau npaj hloov pauv rau cov ntaub ntawv tshwj xeeb thiab npaj txhij los ua cov kev hloov ntawd. Pab tau, Git muab qee qhov kev qhia thaum koj khiav 'git xwm txheej' rau kev nqis tes ua tom ntej. Ceeb toom cov lus `(siv" git ntxiv … "txhawm rau hloov kho dab tsi yuav raug cog lus)` hauv qab `Kev hloov pauv tsis ua rau kev ua phem: '. Git tab tom qhia koj yuav ua li cas txav cov kev hloov pauv mus rau thaj chaw ua yeeb yam. Khiav `git ntxiv Circuit/Circuit.sch 'rau theem kev hloov pauv, tom qab ntawd' git xwm txheej 'kom pom dab tsi tshwm sim. Tam sim no peb pom cov ntaub ntawv schematic nyob rau hauv kev hloov pauv kom raug cog lus. Yog tias koj tsis xav ua qhov kev hloov pauv no tsis tau, Git pab tau lwm qhov lus qhia: `(siv" git pib HEAD … "kom tsis muaj theem)`. Peb xav ua qhov kev hloov pauv no, yog li peb ua haujlwm 'git cog lus -m "Ntxiv cov tshuaj tiv thaiv rau schematic" `. Qhov no ua rau kev hloov pauv nrog cov lus muab. Khiav git cav yuav qhia qhov kev cog lus no hauv txoj haujlwm cog lus yav dhau los.

Ob peb lus qhia ntxiv txog kev ua.

  1. Tsis txhob cog lus nrog txhua qhov kev cawm. Ua siab ncaj thaum koj xav tias koj tau mus txog qhov chaw uas koj qhov kev hloov pauv tau hloov pauv me ntsis. Kuv cog lus tom qab kuv ua tiav cov txheej txheem, tsis yog tom qab txhua qhov ntxiv. Koj kuj tsis xav ua phem dhau, vim nco qab cov ntsiab lus ntawm vim li cas koj thiaj hloov pauv koj tau ua 3 lub lis piam tom qab tuaj yeem nyuaj. Kev xam tawm thaum yuav ua yog qhov kos duab me ntsis, tab sis koj yuav loj hlob zoo dua thaum koj siv Git ntau dua.
  2. Tsuas yog khaws cov khoom (feem ntau). Qhov no suav nrog txoj haujlwm, cov phiaj xwm, thiab cov ntaub ntawv teeb tsa, nrog rau cov tsev qiv ntawv tshwj xeeb. Qhov no tseem tuaj yeem suav nrog cov ntaub ntawv pov thawj. Ceev faj thaum khaws cov khoom tau txais vim tias lawv tuaj yeem tawm ntawm kev sib txuas nrog cov khoom qub yooj yim, thiab qhov ntawd ua rau mob taub hau tom qab. BOM thiab cov ntaub ntawv gerber tau de-synchronized tshwj xeeb tshaj yog yooj yim, yog li zam tau zoo dua (txawm hais tias cov lus qhia ntxaws ntxaws tau npog hauv Kauj Ruam 9).
  3. Cov lus cog tseg muaj txiaj ntsig zoo, tab sis kev teeb tsa cov lus cog tseg zoo yog qhov muaj txiaj ntsig. Kab lus zoo no muab qee cov lus qhia rau kev sau kom meej, meej, muaj txiaj ntsig cog lus. Ua li ntawd yuav xav tau siv kab hais kom ua kab ntawv kho kab ntawv, uas tuaj yeem ua rau kuv nyuaj rau cov pib tshiab ('git cog lus' yam tsis muaj -m cov lus xaiv yuav qhib cov ntawv sau). Rau cov neeg feem coob, Kuv pom zoo Nano editor. StackOverflow muaj cov lus piav qhia zoo ntawm kev hloov pauv koj tus editor

Kauj Ruam 8: Advanced: Semantic Versioning rau Electronics

Advanced: Semantic Versioning rau Electronics
Advanced: Semantic Versioning rau Electronics

Txog rau tus ntsuj plig taug txuj kev nyuaj, cov lus qhia hauv qab no yog cov tswv yim zoo, khaws los ntawm ntau teev ntawm KiCad kev txhim kho. Lawv tsis muaj txiaj ntsig tshwj xeeb ntawm cov phiaj xwm me me, tab sis lawv tuaj yeem txuag koj lub siab thaum koj cov phiaj xwm loj zuj zus.

Hauv software, muaj lub tswvyim ntawm Semantic Versioning (semver). Semver txhais cov txheej txheem kev teev npe ib txwm los txheeb xyuas cov software tshaj tawm los ntawm "tus lej tus lej", ua raws tus qauv ntawm "Major. Minor. Patch". Txhawm rau hais txog semver qhov tshwj xeeb, koj nce qib tus lej raws li pawg hloov pauv hauv qab no.

  1. MAJOR version thaum koj hloov pauv API tsis sib xws,
  2. MINOR version thaum koj ntxiv kev ua haujlwm nyob rau tom qab-sib xws,
  3. PATCH version thaum koj kho rov qab-sib xws kho kab.

Peb ntawm Brainbow siv peb tus kheej version ntawm semver hloov kho kom haum rau cov kev xav tau ntawm cov phiaj xwm kho vajtse. Peb qhov tshwj xeeb ua raws tib yam "Major. Minor. Patch" tus qauv, txawm hais tias peb cov ntsiab lus ntawm qhov kev hloov pauv nyob rau hauv pawg twg pom tseeb sib txawv.

  1. MAJOR version: siv rau kev hloov pauv tseem ceeb rau kev ua haujlwm hauv Circuit (piv txwv: hloov pauv cov txheej txheem los ntawm ATmegaa rau ESP8266).
  2. Cov ntawv me me: siv rau kev sib hloov pauv uas tuaj yeem cuam tshuam rau kev ua haujlwm hauv Circuit (piv txwv: SPI flash sib pauv nrog tus lej-sib xws uas yuav muaj cov lus txib sib txawv) lossis ntxiv qee qhov tshwj xeeb me me ntxiv (ex: ntxiv qhov ntsuas kub ntxiv).
  3. PATCH version: siv rau kev kho kab mob me me uas yuav tsis hloov pauv kev ua haujlwm hauv Circuit (piv txwv li: hloov silkscreen, hloov kho me me kab rov tav hloov pauv, cov khoom siv yooj yim sib pauv zoo li 0603 capacitor rau 0805).

Hauv kev kho vajtse semver, tus lej tus lej tsuas yog hloov tshiab ntawm kev tsim khoom (ib yam li hauv software, cov lej tus lej tsuas yog hloov pauv nrog kev tshaj tawm, tsis yog txhua tus neeg cog lus rau ib qhov haujlwm). Raws li qhov tshwm sim, ntau txoj haujlwm muaj cov lej tsawg version. Peb tseem tsis tau muaj qhov haujlwm siv ntau dua 4 qhov loj.

Ib cag los ntawm cov txiaj ntsig zoo ib yam thiab nkag siab tau koj tau txais los ntawm kev hloov mus rau lub npe uas tau teev tseg zoo, koj kuj tau txais txiaj ntsig hauv kev ua tau zoo sib xws thiab cov neeg siv khoom txaus siab. Firmware tuaj yeem sau thaum coj mus rau hauv tus account lub version ntawm board nws yog lub hom phiaj, thiab nws tuaj yeem yooj yim rau debug vim li cas ib qho haujlwm tshwj xeeb tsis ua haujlwm ntawm ib pawg tshwj xeeb ( yog, 2.4.1 firmware tsis ua haujlwm ntawm 1.2 cov laug cam vim peb tsis muaj….”). Cov neeg siv khoom kuj tseem tau txais txiaj ntsig los ntawm peb cov cuab yeej siv cuab yeej cuab tam vim tias kev pabcuam cov neeg siv khoom thiab kev daws teeb meem yooj yim dua nrog cov txheej txheem teev tseg.

Kauj Ruam 9: Ua Ntej: Siv Kho Vajtse Semantic Versioning

Advanced: Siv Kho Vajtse Semantic Versioning
Advanced: Siv Kho Vajtse Semantic Versioning

Txhawm rau siv kho vajtse semver hauv koj tus kheej cov haujlwm, peb siv Git feature hu ua tagging. Thaum koj xub tsim lub rooj tsavxwm, uas yog 1.0.0 version ntawm lub rooj tsavxwm ntawd. Ua kom ntseeg tau tias koj tau cog lus txhua qhov kev hloov pauv hauv koj qhov haujlwm, tom qab ntawd khiav 'git tag -a v1.0.0`. Qhov no yuav qhib tus kws kho kom koj tuaj yeem sau cov lus piav qhia rau daim ntawv no (zoo ib yam li cov lus cog tseg). Kuv suav nrog cov ntsiab lus hais txog kev tsim khoom (leej twg ua tus PCB, uas tau sib dhos lub rooj tsavxwm), uas tuaj yeem yog cov ntaub ntawv muaj txiaj ntsig tom qab.

Cov ntawv tso tawm tau ntxiv rau kev ua txhaum keeb kwm thiab qhia txog lub xeev cov ntaub ntawv ntawm 1.0.0 kev tsim khoom. Qhov no tuaj yeem muaj txiaj ntsig tshwj xeeb ntau qhov kev hloov kho tom qab thaum koj xav tau xa rov qab mus rau qhov no rau kev daws teeb meem. Tsis muaj daim ntawv tso tawm tshwj xeeb, nws tuaj yeem nyuaj rau txiav txim siab qhov kev cog lus yog qhov tshiab tshaj plaws thaum lub sijhawm tsim khoom. A 1.0.0 (thiab 1.1, 1.1.1, thiab lwm yam) tag qhia rau koj qhia meej tias cov ntaub ntawv tshwj xeeb no yog cov uas tau siv hauv kev tsim khoom tshwj xeeb.

Lus ceeb toom ntawm Gerbers. Qee lub tsev zoo xav tau cov ntaub ntawv gerber los ua koj pawg thawj coj, thiab koj tuaj yeem tsim lawv nrog KiCad. Cov no yog cov khoom tau los, tsim los ntawm cov ntaub ntawv.kicad_pcb cov ntaub ntawv, thiab peb tsis nquag hloov kho cov ntaub ntawv muab los. Peb ntawm Brainbow tsis khaws cov gerbers hauv kev tswj hwm zam tsuas yog rau thaum peb cim npe tso tawm. Thaum peb npaj los tsim, peb tsim cov ntaub ntawv gerber, khaws cia rau hauv Cov Ntawv Tsim, thiab cog lus thiab cim npe. Tom qab ntawd peb tshem tawm cov gerbers thiab cog lus tshem tawm. Qhov no yuav zoo li tsis meej pem thaum xub thawj, tab sis nws ua kom ntseeg tau tias ib txwm ua tsuas yog khaws cov ntaub ntawv nkaus xwb, thiab cov ntawv tshaj tawm tseem khaws cov ntaub ntawv tseeb uas siv los tsim cov laug cam. Qhov no tau ua pov thawj muaj txiaj ntsig zoo hauv kev taug qab kev tsim khoom tsis raug lub lis piam tom qab.

Kauj Ruam 10: Cov Kauj Ruam Tom ntej

Vam tias cov lus qhia no tau qhia koj txaus kom pib siv kev tswj hwm ntawm koj tus kheej cov phiaj xwm hluav taws xob. Peb tsis tau mus rau qee yam ntawm cov ncauj lus zoo tshaj, xws li kev tswj hwm version rau cov tsev qiv ntawv sib qhia ntawm cov haujlwm lossis cov ceg ntoo tshwj xeeb. Tseem, kev tswj hwm version zoo li noj koj cov zaub: koj yuav tsis tau txais yam koj xav tias koj yuav tsum tau, tab sis txhua qhov me me koj tau suav.

Brainbow tab tom ua haujlwm ntawm cov lus qhia ntxaws ntxaws rau qee qhov ua tau zoo dua ntawm peb cov haujlwm. Peb vam tias yuav tshaj tawm nws qee zaum hauv ob peb lub hlis tom ntej. Ua raws peb ntawm no ntawm Cov Ntawv Qhia, thiab peb yuav nco ntsoov qhia rau koj paub thaum twg koj tuaj yeem nyeem nws.

Ua tsaug rau kev nyeem ntawv, thiab peb tsis tuaj yeem tos saib koj ua dab tsi!

Pom zoo: