tag:blogger.com,1999:blog-48923472634827392062024-03-13T00:37:37.553+01:00/home/klataaaahttp://www.blogger.com/profile/03326325227013753451noreply@blogger.comBlogger43125tag:blogger.com,1999:blog-4892347263482739206.post-39589115142090733982017-05-09T06:30:00.000+02:002017-05-09T06:30:04.219+02:00ESP32 - Konfiguracja środowiska
Co będzie nam potrzebne
Najpierw trzeba sobie przygotować środowisko w którym będziemy pisać i kompilować oprogramowanie. Potrzebne nam będzie:
komputer PC z dowolnym systemem operacyjnym: Windows, Linux lub Mac. Ja będę używał Windowsa ale poza Toolchainem reszta powinna wyglądać identycznie na każdym systemie.
Toolchain do kompilacji aplikacji na ESP32. Toolchain to w uproszczeniu aaahttp://www.blogger.com/profile/03326325227013753451noreply@blogger.com1tag:blogger.com,1999:blog-4892347263482739206.post-80768926900308127662017-05-07T12:35:00.000+02:002017-05-07T12:44:40.037+02:00Wznawiam działalność bloga. Parę słów o ESP32Minęły ponad 3 lata od ostatniego wpisu, więc zostały przekroczone wszelkie możliwe timeouty. Czas zatem na reaktywację. Impulsem do tego są dary, które zamówione od naszych żółtych braci właśnie dotarły.
Przyszły dary od naszych żółtych braci - no to trzeba się zabrać za programowanie :) #esp32 #wifimodule
Post udostępniony przez Mateusz Klatecki (@kltcki) 6 Maj, 2017 o 1:01 PDT
aaahttp://www.blogger.com/profile/03326325227013753451noreply@blogger.com0tag:blogger.com,1999:blog-4892347263482739206.post-75167216669145302262013-10-04T12:17:00.000+02:002013-10-04T12:17:25.296+02:00Unikanie błędów programując w C - #3 Operacje bitowe na liczbach ze znakiem
Nie należy używać operacji bitowych ( &, |, ~, ^, << i >> ) na liczbach ze znakiem.
// Nie rób tego ...
int8_t signed_data = -4;
signed_data >>= 1; // niekoniecznie -2
Standard C nie definiuje formatu danych liczb ze znakiem (na przykład U2 - uzupełnień do dwóch) i efekt niektórych operacji bitowych zależy od zastosowanej przez autora kompilatora aaahttp://www.blogger.com/profile/03326325227013753451noreply@blogger.com0tag:blogger.com,1999:blog-4892347263482739206.post-89699975703836561182013-09-15T13:32:00.001+02:002013-09-15T13:32:31.891+02:00Liczenie pola powierzchni wielokąta nieforemnegoOstatnio musiałem napisać funkcję, która liczy pole powierzchni dowolnego wielokąta nieforemnego na podstawie współrzędnych wierzchołków. Straciłem trochę czasu na znalezienie prostego i uniwersalnego algorytmu, więc podzielę się moim znaleziskiem.
Jest to metoda analityczna obliczania pola powierzchni ze współrzędnych wzorami Gaussa.
Metoda analityczna bazuje na punktach o znanych współrzędnychaaahttp://www.blogger.com/profile/03326325227013753451noreply@blogger.com0tag:blogger.com,1999:blog-4892347263482739206.post-70163717108323076202013-09-15T12:37:00.000+02:002013-09-15T12:37:59.387+02:00Unikanie błędów programując w C - #2 Makra vs funkcje inlineNie używaj makr parametryzowanych (makrodefinicji) jeśli można napisać funkcję inline, która wykona to samo zadanie.
//Nie rób tak:
#define MAX(A,B) ((A) > (B) ? (A) : (B))
// jeśli możesz zrobić tak:
inline int max(int a, int b)
Powód: Przy używaniu dyrektywy preprocesora #define jest dużo związanych z nią zagrożeń a w szczególności gdy są to makra parametryzowalne. Ważne jest odpowiednie (aaahttp://www.blogger.com/profile/03326325227013753451noreply@blogger.com0tag:blogger.com,1999:blog-4892347263482739206.post-70248963112422622562013-09-11T12:07:00.000+02:002013-09-15T12:38:35.088+02:00Unikanie błędów programując w C - #1 liczby całkowite ze znakiem i bezPostanowiłem napisać cykl krótkich artykułów (a właściwie porad) dla osób, które zaczynają programować systemy wbudowane w języku C. Skłonił mnie do tego sposób w jaki piszą studenci, którzy odbywają praktyki (lub dorabiają sobie) u nas w firmie. Ich kod jest mało czytelny, zajmuje dużo miejsca po skompilowaniu i zawiera dużo błędów, które nie ujawniają się od razu ale dopiero np. po włączeniu aaahttp://www.blogger.com/profile/03326325227013753451noreply@blogger.com0tag:blogger.com,1999:blog-4892347263482739206.post-53845441676541994492013-02-24T23:03:00.000+01:002013-02-24T23:03:47.069+01:00Projekty anten na PCBZestaw anten na różne częstotliwości (2.4GHz, 868 / 915 / 920 MHz, 433 MHz, 315 MHz, 136 - 240 MHz), o różnych rozmiarach i pasmach do wykonania na PCB od Texas Instruments http://www.ti.com/lit/an/swra351a/swra351a.pdf
aaahttp://www.blogger.com/profile/03326325227013753451noreply@blogger.com0tag:blogger.com,1999:blog-4892347263482739206.post-8333966774010716812012-09-04T08:32:00.001+02:002012-09-04T08:32:08.629+02:001337aaahttp://www.blogger.com/profile/03326325227013753451noreply@blogger.com0tag:blogger.com,1999:blog-4892347263482739206.post-82775761403490593872012-09-03T09:55:00.000+02:002012-09-03T09:55:09.925+02:00Kolejny Eval Board za groszeTI rozpoczął przedsprzedaż eval boarda za symboliczne $5 (z przesyłką, także do Polski):
https://estore.ti.com/Stellaris-LaunchPad.aspx
Płytka ta jest kompletnym systemem uruchomieniowym zawierającym mikrokontroler oraz zintegrowany interfejs sprzętowy (programator/debuger).
Na pokładzie znajduje się mikrokontroler LM4F120H5QR z rdzeniem Cortex M4F w obudowie LQFP64. Jest on całkiem aaahttp://www.blogger.com/profile/03326325227013753451noreply@blogger.com0Chwaszczyno, Polska54.4435364 18.419068754.4343029 18.3993277 54.4527699 18.4388097tag:blogger.com,1999:blog-4892347263482739206.post-43689323596130048232012-08-13T13:39:00.001+02:002012-08-13T13:39:05.271+02:00Kilka słów o imporcie z ChinNie jestem ekspertem w dziedzinie importu spoza Unii Europejskiej ale postaram się przedstawić moje pierwsze doświadczenia w tej materii. Od jakiegoś czasu robiłem mniejsze zakupy, ale niedawno postanowiliśmy z moim wspólnikiem sprowadzić trochę części elektronicznych z Dalekiego Wschodu, jako, że ceny oferowane przez lokalnych dystrybutorów nawet przy kilku tysiącach były kilkukrotnie wyższe niżaaahttp://www.blogger.com/profile/03326325227013753451noreply@blogger.com0tag:blogger.com,1999:blog-4892347263482739206.post-12513519279097204282012-08-10T14:38:00.000+02:002012-08-13T13:40:17.217+02:00Szkolenie ST z STM32 F0
Jakby ktoś chciał się doszkolić z STM32 F0:
http://www.st.com/internet/com/Learning/stm32f0_europe_seminar_regform.jsp#
szkolenia są w Sopocie, Toruniu i Krakowie na początku październikaaaahttp://www.blogger.com/profile/03326325227013753451noreply@blogger.com0tag:blogger.com,1999:blog-4892347263482739206.post-5101906258282979922012-07-12T09:21:00.000+02:002012-07-12T09:21:17.026+02:00[Ku pamięci] Online Gerber viewerJakiś już czas temu natknąłem się na fajną stronkę do oglądania plików gerber. Ostatnio musiałem się znowu jej trochę naszukać więc wrzucam ją tu aby mieć na przyszłość :)
http://mayhewlabs.com/webGerber/aaahttp://www.blogger.com/profile/03326325227013753451noreply@blogger.com0tag:blogger.com,1999:blog-4892347263482739206.post-39896311729249820932012-04-05T13:44:00.000+02:002012-04-05T13:44:17.674+02:00USB VID i PID dla każdego od NXPNastępna niespodzianka od NXP.
Dla osób które tworzą urządzenia z USB i wykorzystują do tego celu mikrokontrolery z rodziny LPC11Uxx producent umożliwia uzyskanie do 3 darmowych numerów PID.
Dzięki temu nie musimy płacić za członkostwo w USB-IF. Minusem niestety jest to, że licencja obejmuje tylko do 10k urządzeń.
Czekamy teraz na podobny program dla LPC13xx , LPC17xx i pozostałych :)
aaahttp://www.blogger.com/profile/03326325227013753451noreply@blogger.com0tag:blogger.com,1999:blog-4892347263482739206.post-2802113451144914922012-04-03T10:31:00.000+02:002012-04-03T10:31:40.928+02:00"Product Longevity Program" dla mikrokontrolerów NXP z rdzeniem ARM Cortex-MOstatnio będąc na szkoleniu Freescale firma ta chwaliła się, że jako jedyna gwarantuje, że ich mikrokontrolery będą produkowane przez ileś następnych lat.
Okazuje się, że NXP postanowił również uruchomić podobny program. Firma gwarantuje, że mikrokontrolery z rdzeniem Cortex-M będą w ofercie co najmniej przez 10 lat od wprowadzenia do sprzedaży. Na razie programem objęte są najprostsze aaahttp://www.blogger.com/profile/03326325227013753451noreply@blogger.com0tag:blogger.com,1999:blog-4892347263482739206.post-17041901949855372272012-03-31T15:43:00.003+02:002012-03-31T15:43:56.937+02:00Nowe procki od NXPNo no, portfolio mikrokontrolerów z rdzeniem Cortex M3 od NXP ciągle się powiększa. Robi się coraz ciekawiej :)
http://www.nxp.com/news/press-releases/2012/03/nxp-expands-memory-options-for-popular-lpc1300-family-of-usb-microcontrollers.htmlaaahttp://www.blogger.com/profile/03326325227013753451noreply@blogger.com0tag:blogger.com,1999:blog-4892347263482739206.post-32532762660257638592012-03-31T10:59:00.000+02:002012-03-31T10:59:02.444+02:00Kolejny eval board do kolekcji - KwikStik
Takie ot cudeńko otrzymałem na szkoleniu Freescale. Pierwszy mój eval z rdzeniem Cortex M4 (mikrokontroler Freescale K40X256)
Szczegóły na
http://www.kinetis.pl/node/42aaahttp://www.blogger.com/profile/03326325227013753451noreply@blogger.com0tag:blogger.com,1999:blog-4892347263482739206.post-74381237225346404022011-12-20T22:42:00.000+01:002011-12-20T22:42:07.097+01:00Używanie słówka kluczowego inline zamiast makr w C
Dobry kod zawiera zwykle dużą liczbę relatywnie małych funkcji czy metod, które mogą być łączone ze sobą na wiele sposobów (jak klocki Lego). Często jednak pisząc kod tworzymy mniej, bardziej złożonych i mniej uniwersalnych funkcji. Sprawia to, że kod jest bardziej podatny na błędy i często sprawia problemy przy testowaniu czy szukaniu błędów.
Często powodem takiego stanu rzeczy jest aaahttp://www.blogger.com/profile/03326325227013753451noreply@blogger.com0tag:blogger.com,1999:blog-4892347263482739206.post-35370562718633187642011-12-10T21:13:00.001+01:002011-12-10T21:43:27.607+01:00Nowe zastosowania dla rejestrów RTCChcę dzisiaj pokazać nowe zastosowanie rejestrów zegara czasu rzeczywistego, które są dostępne w niektórych (wielu?) procesorach ARM jak również jak podejrzewam we wielu innych architekturach. Fragment z dokumentacji procesora firmy NXP przedstawiłem na rysunku poniżej.
Rejestry RTC procesorów z rodziny LPC17xx
Najbardziej interesująca jest kolumna Reset Value. Można zauważyć, że wartościaaahttp://www.blogger.com/profile/03326325227013753451noreply@blogger.com0tag:blogger.com,1999:blog-4892347263482739206.post-42776793867216014712011-11-25T13:56:00.001+01:002011-11-25T14:00:51.584+01:00Szansa na darmowe Rasberry Pi od NokiiNa blogu Nokia Qt pojawiła się informacja o tym, że Nokia sponsoruje 400 Raspberry Pi dla developerów. Szczegóły na: http://blog.qt.nokia.com/2011/11/24/qt-5-with-rasberry-pi-a-delicious-mix-with-home-delivery/
Zgłosiłem już własny pomysł - może się uda. Jak nie to trudno i tak sobie kupię układzik, $25 to w sumie nie wiele jak za takie coś :)aaahttp://www.blogger.com/profile/03326325227013753451noreply@blogger.com0tag:blogger.com,1999:blog-4892347263482739206.post-63816103138228767142011-11-25T13:49:00.001+01:002011-11-25T13:54:38.165+01:00Play - promocja świąteczna (dla naiwnych)Rzecznik Play umieścił na swoim blogu informacje o promocji świątecznej. Po przeczytaniu tej wiadomości nawet się ucieszyłem wysyłam SMSa i dostaję 50zł na rozmowy i SMS/MMSy. Jedynym warunkiem było to aby na koncie znajdowało się 30zł.
Niestety uśmiech z twarzy znikł mi gdy pobrałem regulamin, z którego wynika że nie dostajemy 50zł a kupujemy sobie pakiet 50zł za 30zł :(
Aktywna jest waaahttp://www.blogger.com/profile/03326325227013753451noreply@blogger.com0tag:blogger.com,1999:blog-4892347263482739206.post-15593374942425756972011-11-21T23:12:00.001+01:002011-11-25T13:55:05.090+01:00C# - asynchroniczne pobieranie plikuAby pobrać plik z internetu nie blokując przy tym głównego wątku można użyć metody DownloadFileAsync z klasy WebClient. Można również dodać obsługę eventów aby wyświetlać postęp i wykryć kiedy plik został pobrany w całości. Przykładowy kod poniżej.
private void button1_Click(object sender, EventArgs e)
{
SaveFileDialog sfd = new SaveFileDialog();
if (sfd.ShowDialog() == DialogResult.OK)
aaahttp://www.blogger.com/profile/03326325227013753451noreply@blogger.com0tag:blogger.com,1999:blog-4892347263482739206.post-34525011071554025282011-10-27T22:24:00.003+02:002011-10-27T22:31:57.582+02:00Google+ dla użytkowników Google AppsW końcu można korzystać z Google+ w Google Apps. Swoją drogą dziwne posunięcie ze strony Google, że nowe usługi są udostępniane dla tych użytkowników (moim zdaniem najwierniejszych, bo część usług w swojej domenie powierzają właśnie im), są udostępniane tak późno.
Niestety aby Google+ było dostępne we własnej domenie trzeba je najpierw ręcznie włączyć (szczegóły na http://www.google.com/aaahttp://www.blogger.com/profile/03326325227013753451noreply@blogger.com0tag:blogger.com,1999:blog-4892347263482739206.post-199718222219160682011-10-04T18:14:00.001+02:002011-10-04T18:14:22.955+02:00Aero2 - pierwszy testDziś listonosz dostarczył kartę więc czas na pierwsze testy. Nie zdążyłem się jeszcze zaopatrzyć w modem na USB więc posłużyłem się moją Nokią 5230.
Włożyłem kartę do telefonu jednak nie zalogował się automatycznie. Postanowiłem więc ręcznie wybrać sieć. Na liście dostępnych pojawiła się sieć Aero2 ale po jej wybraniu telefon po dłuższej chwili odpyskował tylko komunikatem: "Brak dostępu".
aaahttp://www.blogger.com/profile/03326325227013753451noreply@blogger.com0tag:blogger.com,1999:blog-4892347263482739206.post-70830288376074531772011-09-29T19:38:00.000+02:002011-09-29T19:58:42.303+02:00Aero2 - darmowy internet ciąg dalszyDziś dostałem e-maila z informacją, że karta została dziś wysłana. Widać szybciej im to idzie niż planowali. Zgodnie z informacją na stronie powinni wysłać ok 10 października, więc pozytywna niespodzianka.
Trzeba się teraz rozejrzeć za jakimś modemem na USB.aaahttp://www.blogger.com/profile/03326325227013753451noreply@blogger.com0tag:blogger.com,1999:blog-4892347263482739206.post-60819558674333337762011-09-15T15:15:00.000+02:002011-09-15T15:15:33.964+02:00Windows 8 - do pobrania ze strony MicrosoftuNa stronie Microsoftu pojawiła się do pobrania wersja deweloperska Windowsa 8 : http://msdn.microsoft.com/en-us/windows/apps/br229516aaahttp://www.blogger.com/profile/03326325227013753451noreply@blogger.com0