Elektroda.pl
Elektroda.pl
X
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

Darmowy poradnik STM32 dla początkujących - rozmowa z autorem.

TechEkspert 13 Nov 2015 22:37 7980 16
NDN
  • Darmowy poradnik STM32 dla początkujących - rozmowa z autorem.
    W dziale mikrokontrolery ARM znajdziecie bezpłatny (do osobistego użytku edukacyjnego) poradnik STM32 przygotowany przez szczywronek. Materiał dostępny jest w temacie: [STM32][C] - Poradnik dla początkujących (bez bibliotek)
    W wątku możecie dodać swoje uwagi i pytania, które mogą wpłynąć na treść kolejnych wersji poradnika.

    techekspert: Do kogo kierowany jest poradnik, jakie podstawy powinien mieć opanowane czytelnik? Czy znajomość określonej rodziny mikrokontrolerów ułatwi korzystanie z poradnika?

    szczywronek: Poradnik od początku pisany był z myślą o nowicjuszach, którzy zaczynają przygodę z mikrokontrolerami STM32. Czytelnik powinien mieć opanowany język C w stopniu... nazwijmy to „komunikatywnym”. Starałem się aby przykładowe programy w poradniku były jak najprostsze, ale od narzędzi takich jak np. wskaźniki czy struktury nie można całkiem uciec. Założyłem ponadto, że Czytelnik ma jakieś minimalne doświadczenie w programowaniu mikrokontrolerów. Odrobinę uprzywilejowani mogą się czuć Ci, którzy pracowali z popularnymi układami AVR (ATtiny, ATmega). AVRy są aktualnie najczęściej wybieraną rodziną wśród hobbystów i początkujących. Moja przygoda z mikrokontrolerami zaczęła się właśnie od nich. W kilku miejscach w poradniku traktuję je jako punkt odniesienia/porównania. Oczywiście zachęcam do lektury również osoby mające większe doświadczenie z mikrokontrolerami STM32. Być może odnajdą w poradniku coś ciekawego lub będą mogły pomóc w jego rozwoju.

    techekspert: Dlaczego poradnik wprowadza w zagadnienia związane z STM32, bez użycia bibliotek? Jakie korzyści dla odbiorcy przyniesie takie podejście? Czy w późniejszym czasie sięgnięcie po biblioteki będzie nieuniknione?

    szczywronek: Gdy zaczynałem przygodę z STM32, królowała biblioteka SPL (Standard Peripheral Library). Na forum można bez problemu znaleźć długie spory zwolenników i przeciwników tej biblioteki. Przekonały mnie głosy przeciwników. Z tego względu, od początku mojej przygody z STMami, zdecydowałem się nie korzystać z biblioteki do obsługi układów peryferyjnych.

    Obsługa peryferiów poprzez bezpośredni dostęp do ich rejestrów konfiguracyjnych gwarantuje pełną kontrolę nad układami mikrokontrolera i sprawia większą frajdę przy programowaniu :) Kod jest krótszy, zajmuje mniej pamięci, szybciej się wykonuje. Nie trzeba się martwić o ewentualne błędy w funkcjach bibliotecznych czy też o to, że producent za jakiś czas zaprzestanie rozwijania biblioteki. Taki los spotkał właśnie bibliotekę SPL.

    Wielokrotnie spotkałem się z uzasadnianiem potrzeby korzystania z biblioteki ze względu na to, że zwalnia ona z konieczności dogłębnego poznawania mikrokontrolera i umożliwia szybki start bez wgłębiania się w dokumentację. Nigdy nie rozumiałem tego podejścia. Aby korzystać z funkcji bibliotecznych trzeba poznać i bibliotekę (aby wiedzieć jak coś ustawić) i mikrokontroler (aby wiedzieć co ustawić). Dwa razy więcej roboty. Nie da się programować mikrokontrolerów bez korzystania z ich dokumentacji. Swoją drogą, obserwując tematy na forach internetowych zauważam, że część osób początkujących poświęca tyle czasu na szukanie gotowych rozwiązań i „walkę” z gotowcami skopiowanymi z sieci, że spokojnie zdążyliby w tym okresie opanować dokumentację producenta i napisać program od zera.

    "W późniejszym czasie"? To znaczy "w miarę tworzenia bardziej rozbudowanych projektów"? Absolutnie nie. W poradniku kompleksowo omówiona jest większość najczęściej używanych układów peryferyjnych. W tym te „bardziej” rozbudowane jak np. liczniki i przetworniki ADC. W wymyślnych projektach konfiguracja układów peryferyjnych będzie taka sama jak w prostych przykładach. Komplikować będzie się jedynie wyższa warstwa oprogramowania.

    techekspert: Jakie narzędzia powinien przygotować czytelnik aby w praktyce przetestować zdobytą wiedzę?

    szczywronek: Software'owe czy hardware'owe? Od narzędzi programowych generalnie umywam ręce. Każde środowisko, które pasuje programiście i pozwala skupić się na programowaniu a nie walce z samym narzędziem jest ok. Ja zdecydowałem się na zestaw Eclipse + GCC + OpenOCD według przepisu forumowego kolegi Freddie Chopin (Link). Zdaję sobie jednak sprawę, że to nie jest najprostsza z opcji. Jeśli ktoś nie czuje się na siłach by samodzielnie skonfigurować środowisko Eclipse, może skorzystać z gotowych narzędzi dedykowanych mikrokontrolerom STM32 - np. CooCox (darmowy) czy Keil (dostępna jest darmowa wersja z ograniczeniami).

    Jeżeli zaś chodzi o sprzęt to cały poradnik opiera się na dwóch zestawach edukacyjnych: chińskiej płytce HY-mini z mikrokontrolerem STM32F103 i płytce STM32F429i-Disco z mikrokontrolerem STM32F429. Oczywiście nic nie stoi na przeszkodzie, aby Czytelnik wykorzystywał inny zestaw. W poradniku koncentruję się na układach peryferyjnych samego mikrokontrolera w marginalnym stopniu wykorzystując elementy zestawów rozwojowych.

    Oprócz samego mikrokontrolera niezbędny jest programator/debugger. Pod tym względem warto zdecydować się na kupno firmowego zestawu rozwojowego ST (serii Nucleo lub Discovery). Są to gotowe płytki rozwojowe z mikrokontrolerem, różnymi bajerami i wbudowanym programatorem/debuggerem. Dzięki temu, za rozsądne pieniądze (seria Nucleo - około 60zł, seria Discovery - od około 50zł), mamy wszystko co potrzeba do rozpoczęcia przygody z STM. Wbudowany programator/debugger pozwala również na pracę z innymi mikrokontrolerami, spoza zestawu.

    Ponadto przyda się to co można znaleźć w szufladzie każdego elektronika zajmującego się mikrokontrolerami: przewody połączeniowe, multimetr, oporniki, diody świecące, enkoder obrotowy, przejściówka UART ↔ USB. Jedynie w kilku przykładach związanych z licznikami i przetwornikiem DAC, do obserwacji wyników niezbędny jest analizator logiczny lub oscyloskop. W poradniku zamieszczone są „zrzuty” rezultatów, więc jeśli ktoś nie dysponuje tymi przyrządami to może bazować na zamieszczonych obrazach.

    techekspert: Czy możemy określić do jakiego poziomu dotrzemy ucząc się z poradnikiem? Czy będzie to dokładne poznanie rdzenia, interfejsów, mechanizmów obniżających zużycie energii? Czy możemy określić obszary, którymi warto się zainteresować po ukończeniu kursu?

    szczywronek: Poradnik jest tylko punktem wyjścia. Na początku staram się obalić mit o skomplikowanych STMach i tysiącach stron dokumentacji, w której nie sposób się odnaleźć. Poradnik rozpoczyna się od dosyć długiego wstępu opisującego podstawowe kwestie: sposób nazewnictwa mikrokontrolerów STM32, źródła dokumentacji, jej podział i organizację, konwencję według której zbudowane są nazwy rejestrów i bitów konfiguracyjnych, sposób odwoływania się do nich oraz inne kwestie niezbędne przed startem. W następnych rozdziałach opisuję przede wszystkim najważniejsze peryferia mikrokontrolera (porty, liczniki, przetworniki, itd…). Cały czas staram się jednak zachęcać Czytelnika do samodzielnych poszukiwań w dokumentacji, prób rozwiązywania przykładowych zadań przed obejrzeniem moich rozwiązań i późniejszego porównania wyników.

    Reszta zależy od Czytelnika. Tak jak napisałem gdzieś we wstępie do poradnika: najważniejsza jest samodzielna praca, przezwyciężenie lęku przed samodzielnymi próbami rozwiązywania problemów i zaufanie sobie. Trzeba nauczyć się korzystać z dokumentacji producenta i (o ironio!) uwolnić się od kursów i poradników. Każdy poradnik się kiedyś kończy! Ważne aby Czytelnik, po skończonej lekturze, umiał coś więcej niż tylko kopiować omówione przykłady.

    techekspert: Czym jeszcze można zachęcić do rozpoczęcia przygody z STM32? Jakie przykładowe urządzenie możemy zbudować w oparciu o STM32, które byłoby ciężkie do realizacji z wykorzystaniem np. 8 bitowego mikrokontrolera z rodziny ATMega?

    szczywronek: Mikrokontrolery STM32 mają zdecydowanie większe możliwości niż popularne Atmelki. Według mnie na szczególną uwagę zasługują rozwinięte peryferia. W poradniku znajduje się kilka przykładowych programów pokazujących ciekawe możliwości peryferiów. Jednym z nich jest generator przebiegu sinusoidalnego oparty o układ licznika, przetwornik DAC i kontroler DMA. Całość działa w pełni sprzętowo, rdzeń mikrokontrolera można uśpić!

    Pod względem możliwości i wydajności mikrokontrolery STM32 biją małe AVRy na każdym polu. Wydaje mi się jednak, że w środowisku hobbystów i pasjonatów możliwości i parametry mikrokontrolera mają drugorzędne znaczenie. Często decydującym czynnikiem jest cena układu, łatwość programowania i ilość dostępnych przykładów oraz materiałów. Poradnikiem staram się nieco odczarować STMy, które części hobbystów mogą się wydawać nieprzystępne. Co do ceny układów, cóż... popularna ATmega328 w najbliższym mi „osiedlowym” sklepie elektronicznym kosztuje około 18zł. Płytka rozwojowa z mikrokontrolerem STM32F103, złączem USB, rezonatorami kwarcowymi, listwami pinowymi i regulatorem napięcia kosztuje na ebay'u 14zł z darmową dostawą do domu.

    Jest jeszcze jedna, dosyć rzadko, poruszana kwestia. Przesiadka na zupełnie inną architekturę mikrokontrolerów (np. z AVR na STM32) niesamowicie rozwija ogólną wiedzą na temat systemów mikroprocesorowych. To co przy AVRach było jasne, oczywiste i nie budziło wątpliwości (np. oddzielne przestrzenie adresowe pamięci) nagle zrealizowane jest inaczej. Rodzą się pytania: dlaczego jest tak a nie inaczej? Czy można to zrealizować w jeszcze inny sposób? Jeśli wystarczy zapału do poszukiwania odpowiedzi, to można się dzięki temu bardzo dużo nauczyć. Sam, kilka dni temu, dowiedziałem się ciekawej rzeczy na temat mikrokontrolerów AVR (pozdrawiam kolegę BlueDraco). Wydawało mi się, że sporo o nich wiem, a jednak zostałem zupełnie zaskoczony :) Zachęcam do lektury tematu poświęconego poradnikowi.

    techekspert: Dziękujemy za rozmowę i zapraszamy do zapoznania się z tematem: [STM32][C] - Poradnik dla początkujących (bez bibliotek)

    Cool? Ranking DIY
    About Author
    TechEkspert
    Editor
    Offline 
    W moich materiałach znajdziecie testy i prezentacje sprzętu elektronicznego, modułów, sprzętu pomiarowego, eksperymenty. Interesuje mnie elektronika cyfrowa, cyfrowe przetwarzanie sygnałów, transmisje cyfrowe przewodowe i bezprzewodowe, kryptografia, IT a szczególnie LAN/WAN i systemy przechowywania i przetwarzania danych.
    Has specialization in: mikrokontrolery, rozwiązania it
    TechEkspert wrote 4918 posts with rating 4001, helped 12 times. Been with us since 2014 year.
  • NDN
  • #2
    miono
    Level 15  
    TechEkspert wrote:
    ... (do osobistego użytku edukacyjnego) ...

    Co to oznacza? Czyli jak pracuję w jakiejś firmie i chcę wykorzystać STM32 to już nie mogę korzystać z tego poradnika (swoją drogą to śmieszne jest)? Nie lepiej po prostu dać poradnik na jakiejś licencji typu Creative Commons?
    Po za tym po co dawać errate skoro poradnik jest w formie elektronicznej, nie lepiej po prostu go poprawić?

    Bardzo fajnie że coś takiego powstało i jest to w 1 PDFie, napewno nie jedna osoba z tego skorzysta.
  • NDN
  • #3
    adamekp
    Level 16  
    Super opis i bardzo fajnie się to czyta.
    Dziękuję w swoim imieniu za tak ciekawą publikacje.
  • #4
    MasMas
    Level 16  
    Nie jestem autorem, ale "(do osobistego użytku edukacyjnego)" zapewne oznacza, że możesz sobie czytać, ale nie sprzedawać tego, albo np. nie udostępniać na swojej stronie czy coś. Przecież wiedza jest Twoja, nikt Ci nie udowodni skąd ją wziąłeś.

    A co do błędów, to powinno się poprawić PDFa, żeby był już ok, ale errata jest o tyle dobra, że jeśli przeczytasz poradnik dzisiaj, a jutro znajdą błąd, to nie musisz go czytać od deski do deski, żeby zobaczyć co się zmieniło, tylko możesz zerknąć na erratę, żeby wiedzieć czy wszystko co czytałeś było ok :)
  • #5
    tadzik85
    Level 38  
    Od siebie dodam, że w ostatnim czasie zauważam dość wyraźny ruch w zakresie rezygnacji z korzystania z bibliotek, szczególnie gdy SPL przestał być rozwijany.
    Więc poradnik pojawił się w odpowiednim momencie.
    Rozmawiałem z wieloma osobami na temat bibliotek niestety wszelkie ich tłumaczenia można podważyć jednym zdaniem a kontrargumentów im brak.
    Najbardziej podoba mi się och tłumaczenie, że producent półprzewodników jest zobowiązany do udostępnienia bibliotek o odpowiednim poziomie. Bawi mnie to niezmiernie. Ja po chleb chodzę do piekarni nie mechanika samochodowego. I tak jest ST niby mają swoje środowisko, ale zlecone firmie zewnętrznej, a od problemów w nim związanych umywają ręce.
    Uwielbienie bibliotek w wielu przypadkach wiąże się z nieznajomością tego wykorzystywanych narzędzi (procesu kompilacji itp) i olewanie kwestii architektury - tłumaczą się "po co??" przecież wszystko działa.

    A wszystko to głownie przez zalanie wszelkich for i poradników, książek bibliotekami.

    A zainteresowało kogoś jak to jest w skali globalnej i profesjonalnej? Widzę, że nie. W poważnych firmach nie stosuję się bibliotek. Chyba, że projektowaniem zajmuje się byłe inżynier a co gorsza studenciak.

    A przyjrzał się ktoś przykładom zawartym w Keilu, ale przykładom przez nich stworzonych? Żaden SPL żaden Cube.


    Więc ja również dziękuje koledze szczywronek za włożony wkład i propagowanie profesjonalizmu.
  • #6
    miono
    Level 15  
    tadzik85 wrote:

    ...
    A zainteresowało kogoś jak to jest w skali globalnej i profesjonalnej? Widzę, że nie. W poważnych firmach nie stosuję się bibliotek. Chyba, że projektowaniem zajmuje się byłe inżynier a co gorsza studenciak.


    Mylisz 2 zupełnie różne rzeczy. Po pierwsze w firmach jak najbardziej używa się bibliotek ale niekoniecznie tych kiepskiej jakości a takich które spełniają odpowiednie normy.
    Po za tym nikt nie będzie pisał np. stosu TCPIP lub USB od podstaw gdy robi projekt, bo po pierwsze nie zrobi tego dobrze nawet zaawansowany inżynier bo nie będzie miał na to czasu a po drugie to właśnie nie ma czasu na pisanie wszystkiego od postaw.
    Zgadzam się natomiast że stosowanie bibliotek bez zapoznania się z dokumentacją to jest niezbyt odpowiedzialne ale w amatorskich projektach jest to do przyjecia.
  • #7
    tadzik85
    Level 38  
    miono wrote:
    tadzik85 wrote:

    ...
    A zainteresowało kogoś jak to jest w skali globalnej i profesjonalnej? Widzę, że nie. W poważnych firmach nie stosuję się bibliotek. Chyba, że projektowaniem zajmuje się byłe inżynier a co gorsza studenciak.


    Mylisz 2 zupełnie różne rzeczy. Po pierwsze w firmach jak najbardziej używa się bibliotek ale niekoniecznie tych kiepskiej jakości a takich które spełniają odpowiednie normy.
    Po za tym nikt nie będzie pisał np. stosu TCPIP lub USB od podstaw gdy robi projekt, bo po pierwsze nie zrobi tego dobrze nawet zaawansowany inżynier bo nie będzie miał na to czasu a po drugie to właśnie nie ma czasu na pisanie wszystkiego od postaw.
    Zgadzam się natomiast że stosowanie bibliotek bez zapoznania się z dokumentacją to jest niezbyt odpowiedzialne ale w amatorskich projektach jest to do przyjecia.


    Wybacz pisząc biblioteka mam na myśli SPLa i pochodne. Zresztą i stosy USB i TCPIP poważne firmy czasem piszą własne.
  • #8
    szczywronek
    Level 27  
    @miono - chodziło mi dokładnie o to, o czym pisze kolega MasMas - żebym za kilka tygodni nie kupił sobie pod choinkę książki z przedrukiem poradnika pod czyimś nazwiskiem ;) Jak najbardziej nie mam nic przeciwko wykorzystywaniu zawartej wiedzy w celach zarobkowych. "Chronię" formę poradnika, nie treść. Być może jakaś gotowa licencja byłaby lepsza, tyle że ja mam mgliste pojęcie o licencjach a próba doedukowania się w tym zakresie przyprawia mnie o ból głowy. Jak ktoś ma wątpliwości czy przekracza granice "osobistego edukacyjnego" a chce być fair to niech śmiało pisze.

    Co do erraty:
    Po pierwsze jestem leniwy - modyfikacje całości są dosyć upierdliwe. Każdy chyba to zna: po dopisaniu nowej linijki tekstu tabelka umieszczona 15 stron dalej się nie mieści, przeskakuje do nowej strony i lawinowo wszystko zaczyna się rozjeżdżać. A ja potem scrolluję cały dokument i staram się to jakoś pozbierać żeby ładnie wyglądało. Za dużo czasu mi to zajmuje... w ogóle zauważyłem że od momentu publikacji spędzam przy poradniku więcej czasu niż przedtem :lol:
    Sprawa numer dwa to to o czym pisał kolega MasMas - dzięki erracie od razu wiadomo co i gdzie się zmieniło.
    Sprawa numer trzy - poradnik obciążony jest prowizją punktową na forum. Gdyby każda najmniejsza poprawka była dokonywana w "głównym" pdfie, to należałoby co chwilę go pobierać i "płacić" kilka razy za to samo. Plan jest taki, żeby "główny" plik zmieniać tylko w wyjątkowych przypadkach, gdy coś diametralnie się zmieni w poradniku. Np. gdy powstaną jakieś nowe rozdziały. Errata jest dostępna bez prowizji punktowej. Wydaje mi się, że tak jest sprawiedliwie i nikt nie będzie się czuł naciągany na punkty.

    miono wrote:
    napewno nie jedna osoba z tego skorzysta.
    Mam nadzieję. Jak na ironię mam wrażenie, że na razie to ja najwięcej się uczę przez ten poradnik (dzięki pomocy Kolegów z działu mikrokontrolerowego) :)

    @adamekp - dziękuję za miłe słowa. Cieszy mnie, że się podoba :)

    tadzik85 wrote:
    Więc poradnik pojawił się w odpowiednim momencie.
    O to mnie Kolega mile zaskoczył (zresztą ostatnio dosyć często się to zdarza :wink:). Trochę się martwiłem czy nie jest aby zbyt późno na taki poradnik. Kilka miesięcy temu co chwilę pojawiał się temat (na forum) związany z STM32 i to z takimi właśnie podstawami jak starałem się opisać w poradniku. Teraz jakoś ucichło, a jak już pojawia się pytanie to albo HAL albo C#.

    Przyszedł mi do głowy jeszcze jeden argument promujący nieużywanie bibliotek - w razie problemów łatwiej jest uzyskać pomoc u nas na forum :)

    tadzik85 wrote:
    tłumaczą się "po co??" przecież wszystko działa
    Już nawet abstrahując od tematu bibliotek. Smutne jest to że większość początkujących/hobbystów (bazuję na obserwacjach forum) pyta tylko o to "jak coś zrobić najprościej/najszybciej", "jakiej komendy użyć żeby to działało". Potem pada konkretna odpowiedź i pytający znika by za jakiś czas pojawić się z nowym problemem do rozwiązania. Na palcach jednej ręki można by policzyć tematy, w których pada pytanie "jak zrobić najlepiej", "działa, ale zobaczcie - może można to zrobić lepiej/inaczej" itd. Dziwny ten pęd do "szybko, prosto, byleby działało, nieważne jak i czemu". Szczególnie nie rozumiem tego u zdeklarowanych hobbystów i pasjonatów, którym w ogóle nie powinno się spieszyć. Ale to tak ot...

    tadzik85 wrote:
    ja również dziękuje koledze szczywronek za włożony wkład i propagowanie profesjonalizmu
    Ten mój "profesjonalizm" to w dużej mierze zasługa forum! Więc i ja dziękuję! Raz w życiu miałem wątpliwą przyjemność chodzić na zajęcia poświęcone Systemom Mikroprocesorowym. Przez jeden semestr miałem taki przedmiot na studiach... zaliczyłem na 3 m.in. dlatego, że nie chciałem się uczyć na pamięć rejestrów 8051 (MKD51 wiecznie żywy). Ale to tak w ramach anegdotki.

    tadzik85 wrote:
    Zresztą i stosy USB i TCPIP poważne firmy czasem piszą własne.
    I hobbyści z syndromem NIH też :roll:
  • #9
    miono
    Level 15  
    szczywronek wrote:
    ...Przez jeden semestr miałem taki przedmiot na studiach... zaliczyłem na 3 m.in. dlatego, że nie chciałem się uczyć na pamięć rejestrów 8051 (MKD51 wiecznie żywy). Ale to tak w ramach anegdotki.

    51 ciągle żywa i to nie tylko na salach wykładowych, TI używa jej rdzenia w swoich modułach bluetooth, Cypress w PSoCach więc ciągle ma zastosowanie jednak są to mikroprocesory specjalizowane.
  • #10
    szczywronek
    Level 27  
    Jasne, nie neguję tego że 51 jest ciągle w użyciu. Nie podoba mi się natomiast męczenie przy pomocy MKD-51 :) Kłopot w tym, że to były zajęcia dla osób bez podstaw z elektroniki, programowania i systemów mikroprocesorowych - całkowicie "zielonych". Ja wszystko rozumiem, ale zmuszanie kogoś kto pierwszy raz w życiu słyszy słowo "mikrokontroler" do programowania jakiejś dziwnej skrzynki, w assemblerze, jest chore. O wiele lepiej by było jakby uczelnia zakupiła wiadro płytek stykowych, jakiś małych atmelków, ledów, przycisków i innych pierdółek / albo jeszcze lepiej jakieś mini płytki arduino-podobne. Można by robić proste zadania w C, pokazujące jakie to wszystko proste, fajne i "każdy może sam w domu niewielkim kosztem". Generalnie zachęcić do mikrokontrolerów a nie odstraszać :)
  • #11
    MasMas
    Level 16  
    Takie pytanie na boku: zawsze się zastanawiam po co ludziom te punkty na elektrodzie? Nie mam nic przeciwko, że poradnik jest obciążony punktami... ale do czego one służą?

    Wiem, że jakieś tam zakładanie tematów czasem kosztuje czy pobranie, ale to na ogół kilka punktów. Zawsze można założyć nowe konto, gdzie jest 50 pkt na start i przelać sobie ;p
  • #12
    szczywronek
    Level 27  
    Regulamin programu punktowego - w szczególności pkt. III ust. 3, 4, 5 ;) Według mnie punkty powinny mobilizować do szeroko rozumianej aktywności na forum. Np. ktoś dużo pobiera ale mało pisze (czyli de facto mało wnosi od siebie w rozwój forum) - zaczyna mu brakować punktów - musi je jakoś zdobyć więc np. może poprawić pisownię w kilku postach (+3pkt za zaakceptowaną przez moderatora poprawkę). Piękną ideę psuje niestety temat "proszalny" o podarowanie punktów, ale cóż... lenistwo jest teraz modne ;)
  • #13
    _Arecki_
    Level 15  
    @szczywronek, bardzo fajny poradnik, gratuluję.

    szczywronek wrote:
    Co do erraty:
    Po pierwsze jestem leniwy - modyfikacje całości są dosyć upierdliwe. Każdy chyba to zna: po dopisaniu nowej linijki tekstu tabelka umieszczona 15 stron dalej się nie mieści, przeskakuje do nowej strony i lawinowo wszystko zaczyna się rozjeżdżać. A ja potem scrolluję cały dokument i staram się to jakoś pozbierać żeby ładnie wyglądało. Za dużo czasu mi to zajmuje... w ogóle zauważyłem że od momentu publikacji spędzam przy poradniku więcej czasu niż przedtem
    Sprawa numer dwa to to o czym pisał kolega MasMas - dzięki erracie od razu wiadomo co i gdzie się zmieniło.
    Sprawa numer trzy - poradnik obciążony jest prowizją punktową na forum. Gdyby każda najmniejsza poprawka była dokonywana w "głównym" pdfie, to należałoby co chwilę go pobierać i "płacić" kilka razy za to samo. Plan jest taki, żeby "główny" plik zmieniać tylko w wyjątkowych przypadkach, gdy coś diametralnie się zmieni w poradniku. Np. gdy powstaną jakieś nowe rozdziały. Errata jest dostępna bez prowizji punktowej. Wydaje mi się, że tak jest sprawiedliwie i nikt nie będzie się czuł naciągany na punkty.

    Podstawowa sugestia: errata powinna zawierać wersjonowanie. Czyli wersja 1.1 zmiany:..., wersja 1.2 zmiany:... W ten sposób nie muszę czytać całej erraty, tylko zmiany które pojawiły się od ostatniej wersji.

    Inna sprawa to szkoda by poradnik zawierał błędy, które w erracie poprawiłeś. Jeśli poradnik zacznie rozprzestrzeniać się bez erraty, to może wprowadzać w błąd, a tego byś oczywiście nie chciał.

    Najlepiej by było na bieżąco aktualizować poradnik i dodawać na końcu erratę, aby podsumować co się zmieniło z uwzględnianiem wersji. Tak jak to jest robione we wszelkich dokumentach.
    To oczywiście, jak sam wspomniałeś, jest bardzo czasochłonne.
    Może w takim razie warto dodać zaktualizowaną erratę na końcu poradnika (aby wiedza jednak była aktualna), a z czasem, jak się już sprawy ostatecznie wyklarują wydać wersję 2.0 poprawioną :)
    Oczywiście osobna errata (aby nie doić punktów) też powinna być udostępniona, tak jak jest teraz. Czyli jeden plik z erratą za darmo i drugi plik z poradnikiem i erratą za punkty.
    A jak errata przestanie się rozrastać to poradnik ver. 2.0 :)
  • #14
    szczywronek
    Level 27  
    _Arecki_ wrote:
    To oczywiście, jak sam wspomniałeś, jest bardzo czasochłonne.
    Od czego są weekendy :lol:

    Przekonaliście mnie :) Żeby się nie powtarzać odsyłam do: ogłoszenia. Trochę wyszedł teraz przejściowy bałagan ze względu na zmianę sposobu wersjonowania i obsługi erraty. Ale za to powinno być wygodniej ;)
    Podsumowując zmiany: Poradnik będzie poprawiany na bieżąco. Kto nie chce pobierać "odświeżonej" całości, może pobrać (bez prowizji) samą erratę uwzględniającą wszystkie zmiany od pierwszej publikacji.
  • #15
    _Arecki_
    Level 15  
    @szczywronek, tak trzymać!

    Jak coś robić to porządnie, skoro sygnujesz to swoim nazwiskiem ;)

    Tekst jest na tyle obszerny, że ciężko się do czegoś nie przyczepić, ale jest na tyle dobry, że błędów/nieścisłości jest niewiele i szybko je wyeliminujesz.
  • #17
    Witoldinho
    Level 14  
    czy są dostępne pliki z funkcjami i enumami zawartymi w dodatkach? Poradnik jest genialny