Git Extensions on Linux:
https://github.com/gitextensions/gitextensions/wiki/How-To%3A-run-Git-Extensions-on-Linux
https://www.mono-project.com/download/stable/#download-lin-ubuntu
GitAhead
important note: GitAhead is no longer under active development.
https://gitahead.github.io/gitahead.com/
wtorek, 12 października 2021
git GUI tools
środa, 30 stycznia 2019
STM32F0 - debugowanie OpenOCD + GDB
Debugowanie: OpenOCD + GDB
kilka ciekawych linków poniżej:
https://stackoverflow.com/questions/38033130/how-to-use-the-gdb-gnu-debugger-and-openocd-for-microcontroller-debugging-fr
podstawy GDB:
http://beej.us/guide/bggdb/
https://stackoverflow.com/questions/6517423/how-to-do-an-specific-action-when-a-certain-breakpoint-is-hit-in-gdb
https://sourceware.org/gdb/wiki/FAQ#How_do_I_disable_the_.22Type_.3Creturn.3E_to_continue.2C_or_q_.3Creturn.3E_to_quit.22_pagination_prompt_in_GDB.3F
https://stackoverflow.com/questions/58851/can-i-set-a-breakpoint-on-memory-access-in-gdb
podstawy tworzenia plików Makefile:
https://opensourceforu.com/2012/06/gnu-make-in-detail-for-beginners/
kilka ciekawych linków poniżej:
https://stackoverflow.com/questions/38033130/how-to-use-the-gdb-gnu-debugger-and-openocd-for-microcontroller-debugging-fr
podstawy GDB:
http://beej.us/guide/bggdb/
https://stackoverflow.com/questions/6517423/how-to-do-an-specific-action-when-a-certain-breakpoint-is-hit-in-gdb
https://sourceware.org/gdb/wiki/FAQ#How_do_I_disable_the_.22Type_.3Creturn.3E_to_continue.2C_or_q_.3Creturn.3E_to_quit.22_pagination_prompt_in_GDB.3F
https://stackoverflow.com/questions/58851/can-i-set-a-breakpoint-on-memory-access-in-gdb
podstawy tworzenia plików Makefile:
https://opensourceforu.com/2012/06/gnu-make-in-detail-for-beginners/
niedziela, 30 grudnia 2018
VIM
To jest brudnopis nt. VIMa.
Mój plik konfiguracyjny:
https://github.com/hexen2k/dotfiles
Materiały:
- Learn Vim Script The Hard Way,
- Derek Wyatt,
- wincent,
- Practical VIM,
- Modern VIM,
- vim tutor,
- blackcode,
- help,
- vimbook OPL,
- OReilly,
- vimcasts.org
Eclipse+VIM: Eclim, Vrapper,
Visual Studio Code - dosyć dobry plugin emulujący tryb VI.
W SublimeText3 oraz VSCode istnieją implementacje neovim jako wewnętrznego silnika do edycji tekstu.
ciekawe linki:
http://zzapper.co.uk/vimtips.html
https://sanctum.geek.nz/arabesque/series/unix-as-ide/
http://of-vim-and-vigor.blogspot.com/search?updated-max=2013-02-02T16:34:00%2B08:00&max-results=7&start=42&by-date=false
https://realpython.com/vim-and-python-a-match-made-in-heaven/
https://idorobotics.com/2018/04/01/setting-up-vim-for-c-development/
https://github.com/JBakamovic/yavide
Kilka miesięcy głębokiego zanurzenia :)
Mój plik konfiguracyjny:
https://github.com/hexen2k/dotfiles
Materiały:
- Learn Vim Script The Hard Way,
- Derek Wyatt,
- wincent,
- Practical VIM,
- Modern VIM,
- vim tutor,
- blackcode,
- help,
- vimbook OPL,
- OReilly,
- vimcasts.org
Eclipse+VIM: Eclim, Vrapper,
Visual Studio Code - dosyć dobry plugin emulujący tryb VI.
W SublimeText3 oraz VSCode istnieją implementacje neovim jako wewnętrznego silnika do edycji tekstu.
ciekawe linki:
http://zzapper.co.uk/vimtips.html
https://sanctum.geek.nz/arabesque/series/unix-as-ide/
http://of-vim-and-vigor.blogspot.com/search?updated-max=2013-02-02T16:34:00%2B08:00&max-results=7&start=42&by-date=false
https://realpython.com/vim-and-python-a-match-made-in-heaven/
https://idorobotics.com/2018/04/01/setting-up-vim-for-c-development/
https://github.com/JBakamovic/yavide
Kilka miesięcy głębokiego zanurzenia :)
wtorek, 14 marca 2017
NAS BananaPro :: armbian + Openmediavault + syncthing
Instalacja podstawowego systemu armbian w najnowszej wersji:
Server -> Mainline 4.9.7 (na dzień 19.02.2017) -> Debian Jessie
https://www.armbian.com/banana-pi-pro/
wgrane Etcher'em na kartę wg. instrukcji dla armbian'a.
Tak przygotowana dystrybucja nie posiada OMV które trzeba samemu doinstalować. Przewodnik krok po kroku jak to zrobić w linku poniżej. Jednak zamiast kralizec trzeba zmienić na aktualną wersję OMV erasmus (dla debiana jessie):
http://www.dobreprogramy.pl/cyryllo/Instalacja-OpenMediaVault-1.0-Kralizec-na-Banana-Pi-i-Debian-Wheezy,56946.html
alternatywny przewodnik:
http://forum.openmediavault.org/index.php/Thread/5302-Howto-install-OpenMediaVault-on-Debian-7-x-Wheezy/
Ścieżka do aktualnej dystrybucji OMV po podejrzenia tutaj:
https://openmediavault.github.io/packages/
widzimy tam np. coś takiego:
deb https://openmediavault.github.io/packages/ <DISTRIBUTIONNAME> main
gdzie <DISTRIBUTIONNAME> można podmienić na erasmus
domyślne poświadczenia przy pierwszym logowaniu (koniecznie zmienić!):
admin/openmediavault
Dodatkowy plugin rozszerzający możliwości OMV (backup, klient torrent, downloader, minidlna i inne):
http://omv-extras.org/joomla/index.php/guides
UWAGA!
log2ram
https://github.com/azlux/log2ram
robił zamieszanie. Zawartość /var/log jest co godzinę zrzucana na kartę pamięci, jeśli po instalacji dane nie zdążyły się zrzucić na kartę pamięci to po restarcie nie było folderu i nginx nie startował poprawnie (nie było dostępu do panelu web).
root@banan:~# systemctl status nginx.service
â nginx.service - A high performance web server and a reverse proxy server
Loaded: loaded (/lib/systemd/system/nginx.service; enabled)
Active: failed (Result: exit-code) since Sun 2017-02-19 23:55:13 CET; 9s ago
Process: 1165 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=1/FAILURE)
Feb 19 23:55:12 banan nginx[1165]: nginx: [alert] could not open error log file: open() "/var/log/nginx/error.log" failed (2: No such file or directory)
Feb 19 23:55:13 banan nginx[1165]: 2017/02/19 23:55:13 [emerg] 1165#0: open() "/var/log/nginx/access.log" failed (2: No such file or directory)
Feb 19 23:55:13 banan nginx[1165]: nginx: configuration file /etc/nginx/nginx.conf test failed
Feb 19 23:55:13 banan systemd[1]: nginx.service: control process exited, code=exited status=1
Feb 19 23:55:13 banan systemd[1]: Failed to start A high performance web server and a reverse proxy server.
Feb 19 23:55:13 banan systemd[1]: Unit nginx.service entered failed state.
# doraźnie pomogło:
root@banan:~# mkdir /var/log/nginx/
root@banan:~# touch /var/log/nginx/access.log
root@banan:~# touch /var/log/nginx/error.log
root@banan:~# systemctl status nginx.service
â nginx.service - A high performance web server and a reverse proxy server
Loaded: loaded (/lib/systemd/system/nginx.service; enabled)
Active: active (running) since Mon 2017-02-20 00:12:22 CET; 35s ago
Process: 2043 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
Process: 2040 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
Main PID: 2044 (nginx)
CGroup: /system.slice/nginx.service
ââ2044 nginx: master process /usr/sbin/nginx -g daemon on; master_process on;
ââ2045 nginx: worker process
ââ2046 nginx: worker process
ââ2047 nginx: worker process
ââ2048 nginx: worker process
Feb 20 00:12:22 banan systemd[1]: Started A high performance web server and a reverse proxy server.
Finalnie pliki trzeba było utworzyć w /var/log.hdd i po restarcie struktura folderów już była zaciągnięta do mapowanego folderu w pamięci.
Syncthing zainstalowany z przygotowanej paczki dla ARM (nie zalecali budowania od podstaw).
Dodatkowa konfiguracja aby uzyskać dostęp z zewnątrz przez przeglądarkę i uruchomić autostart aplikacji:
http://www.htpcguides.com/install-syncthing-raspberry-pi-bittorrent-sync-alternative/
Poniższe (megatools megafuse) PORZUCONE - finalnie klient desktopowy był bez porównania wygodniejszy, praktyczniejszy i znacznie szybszy (prędkość pobierania plików):
======================================================================
megatools - klient mega.nz
https://megatools.megous.com/
Kompilacja bezpośrednio ze źródeł nie chciała się udać - xmllint wyrzucał nieustannie błędy. Za pomocą tej instrukcji udało się skompilować megatools 1.9.98 (najnowsze dostępne) i uruchomić:
https://wiseindy.com/it/how-to-install-megatools-in-ubuntu-14-04-5-lts-trusty-tahr/
http://albertolarripa.com/2013/07/10/megatools-synchronizing-your-backups-to-mega/
https://github.com/matteoserva/MegaFuse
dodatkowo zainstalowany jeden nowszy pakiet z wszelkimi zależnościami:
https://packages.debian.org/jessie/libdb5.3-dev
Server -> Mainline 4.9.7 (na dzień 19.02.2017) -> Debian Jessie
https://www.armbian.com/banana-pi-pro/
wgrane Etcher'em na kartę wg. instrukcji dla armbian'a.
Tak przygotowana dystrybucja nie posiada OMV które trzeba samemu doinstalować. Przewodnik krok po kroku jak to zrobić w linku poniżej. Jednak zamiast kralizec trzeba zmienić na aktualną wersję OMV erasmus (dla debiana jessie):
http://www.dobreprogramy.pl/cyryllo/Instalacja-OpenMediaVault-1.0-Kralizec-na-Banana-Pi-i-Debian-Wheezy,56946.html
alternatywny przewodnik:
http://forum.openmediavault.org/index.php/Thread/5302-Howto-install-OpenMediaVault-on-Debian-7-x-Wheezy/
Ścieżka do aktualnej dystrybucji OMV po podejrzenia tutaj:
https://openmediavault.github.io/packages/
widzimy tam np. coś takiego:
deb https://openmediavault.github.io/packages/ <DISTRIBUTIONNAME> main
gdzie <DISTRIBUTIONNAME> można podmienić na erasmus
domyślne poświadczenia przy pierwszym logowaniu (koniecznie zmienić!):
admin/openmediavault
Dodatkowy plugin rozszerzający możliwości OMV (backup, klient torrent, downloader, minidlna i inne):
http://omv-extras.org/joomla/index.php/guides
UWAGA!
log2ram
https://github.com/azlux/log2ram
robił zamieszanie. Zawartość /var/log jest co godzinę zrzucana na kartę pamięci, jeśli po instalacji dane nie zdążyły się zrzucić na kartę pamięci to po restarcie nie było folderu i nginx nie startował poprawnie (nie było dostępu do panelu web).
root@banan:~# systemctl status nginx.service
â nginx.service - A high performance web server and a reverse proxy server
Loaded: loaded (/lib/systemd/system/nginx.service; enabled)
Active: failed (Result: exit-code) since Sun 2017-02-19 23:55:13 CET; 9s ago
Process: 1165 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=1/FAILURE)
Feb 19 23:55:12 banan nginx[1165]: nginx: [alert] could not open error log file: open() "/var/log/nginx/error.log" failed (2: No such file or directory)
Feb 19 23:55:13 banan nginx[1165]: 2017/02/19 23:55:13 [emerg] 1165#0: open() "/var/log/nginx/access.log" failed (2: No such file or directory)
Feb 19 23:55:13 banan nginx[1165]: nginx: configuration file /etc/nginx/nginx.conf test failed
Feb 19 23:55:13 banan systemd[1]: nginx.service: control process exited, code=exited status=1
Feb 19 23:55:13 banan systemd[1]: Failed to start A high performance web server and a reverse proxy server.
Feb 19 23:55:13 banan systemd[1]: Unit nginx.service entered failed state.
# doraźnie pomogło:
root@banan:~# mkdir /var/log/nginx/
root@banan:~# touch /var/log/nginx/access.log
root@banan:~# touch /var/log/nginx/error.log
root@banan:~# systemctl status nginx.service
â nginx.service - A high performance web server and a reverse proxy server
Loaded: loaded (/lib/systemd/system/nginx.service; enabled)
Active: active (running) since Mon 2017-02-20 00:12:22 CET; 35s ago
Process: 2043 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
Process: 2040 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
Main PID: 2044 (nginx)
CGroup: /system.slice/nginx.service
ââ2044 nginx: master process /usr/sbin/nginx -g daemon on; master_process on;
ââ2045 nginx: worker process
ââ2046 nginx: worker process
ââ2047 nginx: worker process
ââ2048 nginx: worker process
Feb 20 00:12:22 banan systemd[1]: Started A high performance web server and a reverse proxy server.
Finalnie pliki trzeba było utworzyć w /var/log.hdd i po restarcie struktura folderów już była zaciągnięta do mapowanego folderu w pamięci.
Syncthing zainstalowany z przygotowanej paczki dla ARM (nie zalecali budowania od podstaw).
Dodatkowa konfiguracja aby uzyskać dostęp z zewnątrz przez przeglądarkę i uruchomić autostart aplikacji:
http://www.htpcguides.com/install-syncthing-raspberry-pi-bittorrent-sync-alternative/
Poniższe (megatools megafuse) PORZUCONE - finalnie klient desktopowy był bez porównania wygodniejszy, praktyczniejszy i znacznie szybszy (prędkość pobierania plików):
======================================================================
megatools - klient mega.nz
https://megatools.megous.com/
Kompilacja bezpośrednio ze źródeł nie chciała się udać - xmllint wyrzucał nieustannie błędy. Za pomocą tej instrukcji udało się skompilować megatools 1.9.98 (najnowsze dostępne) i uruchomić:
https://wiseindy.com/it/how-to-install-megatools-in-ubuntu-14-04-5-lts-trusty-tahr/
http://albertolarripa.com/2013/07/10/megatools-synchronizing-your-backups-to-mega/
https://github.com/matteoserva/MegaFuse
dodatkowo zainstalowany jeden nowszy pakiet z wszelkimi zależnościami:
https://packages.debian.org/jessie/libdb5.3-dev
poniedziałek, 23 lutego 2015
Stellaris Launchpad LM4F120XL + Eclipse + OpenOCD - konfiguracja środowiska (Win)
Przedstawiam krótką instrukcję podstawowej konfiguracji środowiska Eclipse i OpenOCD 0.8.0 (wykorzystywanego tylko do programowania układu). Projektem referencyjnym będzie przykład blinky udostępniany przez producenta.
poniedziałek, 22 grudnia 2014
GG restarter - czyli AVR + ENC28J60 + przekaźnik
Przedstawiam prosty, tani i szybki sposób na skonstruowanie niewielkiego urządzenia, którego działanie można kontrolować za pośrednictwem popularnego komunikatora GG (Gadu Gadu).
Obsługa modułu radiowego nrf24l01p + AVR m32, m128 m328p
Moduły nrf24l01+ w wersji z dodatkowym wzmacniaczem i anteną SMA pozwalają na uzyskanie teoretycznie około 1 km zasięgu w otwartej przestrzeni (przy najniższej prędkości 250 kbps). Ponadto są niezwykle energooszczędne, posiadają mechanizmy sprzętowej retransmisji pakietu oraz wysyłania potwierdzeń ACK. Te cechy sprawiają, iż są one niezwykle interesujące dla każdego konstruktora systemów wbudowanych wykorzystujących bezprzewodową transmisję danych.
Prosty termometr 7seg LED + DS18B20
Przedstawiam prostą konstrukcję termometru z wyświetlaczem 7 segmentowym LED wykorzystującego czujnik termperatury 1wire DS18B20. To niezwykle proste urządzonko służy jako termometr zaokienny. Duże cyfry wyświetlacza umożliwiają odczyt pomiaru z bardzo dużej odległości niezależnie od warunków oświetleniowych.
piątek, 19 grudnia 2014
Moduł WiFi ESP8266 (ESP-03) - praktyczne wskazówki
Zbiór kilku linków zebranych podczas uruchamiania modułów ESP8266.
poniedziałek, 8 grudnia 2014
AVR Dragon naprawa uszkodzonej linii reset
Ten krótki wpis przedstawia sposób naprawy uszkodzonej linii resetu w programatorze AVR Dragon.
środa, 19 listopada 2014
Wyświetlacz temperatury pieca CO
Urządzenie powstało podczas ostatniej zimy ze względu na potrzebę wygodnego monitorowania temperatury bezpośrednio na piecu CO. Czytelny wyświetlacz LED umożliwia odczyt pomiaru z dużej odległości.
Zbiór linków do stron o tematyce embedded (i nie tylko)
Post będzie stopniowo aktualizowany nowymy linkami.
poniedziałek, 17 listopada 2014
Moduł Bluetooth BTM-222
Projekt powstał ze względu na chęć zapoznania się z oprogramowaniem CadSoft Eagle wykorzystywanym do tworzenia płytek PCB. Ponieważ najwięcej uczymy się przez praktykę, postanowiłem użyć programu do stworzenia kolejnej płytki.
niedziela, 16 listopada 2014
Sterownik pieca CO
Urządzenie powstało na potrzeby prostego sterowania pompą w układzie pieca CO opalanego węglem. Czujnik temperatury (DS18B20) zamontowany na rurze wylotowej z pieca mierzy temperaturę i w zależności od jej poziomu włącza bądź wyłącza pompę. Możliwa jest regulacja progu histerezy oraz czasów przerw między kolejnymi włączeniami pompy.
Programator USBasp
Projekt ciekawostka, aktualnie nie polecam wykonywania lub zakupu USBasp. Powstał kilka lat temu jako następca prostego programatora na RS232. Wtedy był to jakościowy skok, jednakże po zakupie AVR Dragona życie nie było już takie samo :)
AVRHR - Ethernetowy kontroler czujników DS18B20
Celem projektu było utworzenie urządzenia do zbierania danych pomimarowych z czujników temperatury DS18B20 oraz ich wizualizacji za pomocą przeglądarki internetowej na dowolnym komputerze podłączonym do wspólnej sieci Ethernet.
czwartek, 6 listopada 2014
Tworzenie tablic dla odwróconego algorytmu tablicowego CRC
Skąd biorą się "tajemnicze" wartości w tablicach CRC i jak można policzyć to ręcznie. Przedstawiam kilka faktów empirycznych.
sobota, 11 października 2014
Obsługa czujnika ultradźwiękowego HC-SR04 - przykładowy kod dla mikrokontrolera AVR ATmega32
Prezentuję jeden ze sposobów obsługi popularnego modułu czujnika ultradżwiękowego za pomocą mikrokontrolerów AVR ATmega.
piątek, 26 września 2014
STM32F0DISCOVERY konfiguracja interfejsu USART bez wykorzystywania SPL, szybki start z STM32 + Eclipse + OpenOCD
Krótki przykład konfiguracji modułu USART w mikrokontrolerach STM32 bez wykorzystywania bibliotek Standard Peripherals Library (SPL) dostarczanych przez producenta.
piątek, 17 stycznia 2014
LaTeX (pdflatex) dla Windows - szybki start
Aby szybko utworzyć dokument w systemie składu dokumentów LaTeX pobieramy instalator MiKTeXa z tej strony. Do tworzenia dokumentów polecam program Texmaker - darmowy, posiada sprawdzanie polskiej pisowni i możliwość pracy z podglądem dokumentu w drugim oknie. Jest doskonałą alternatywą dla (niestety) nierozwijanego już LEd'a.
Subskrybuj:
Posty (Atom)