1

(16 odpowiedzi, napisanych Oprogramowanie / Software)

Poszło, ładnie się skompilowało - co prawda wyświetlacz jeszcze nie działa, ale licze, że jutro skończę ten temat.
Dzięki za pomoc!

2

(16 odpowiedzi, napisanych Oprogramowanie / Software)

Nie...podpowiesz jak go zrobić? Nie ma go w żadnych pakietach.

3

(16 odpowiedzi, napisanych Oprogramowanie / Software)

Wróciłem z pracy, wrzuciłem sterowniki do paczki, ale podczas kompilacji wywala mi bład z brakiem bibliotek.
Na początek brakowało trzech i wszystkie trzy wpisałem w taki sposób w pliku Makefile od lcdproc:

define Package/lcdproc
  SECTION:=utils
  CATEGORY:=Utilities
  DEPENDS:=+libusb +libncurses +libftdi +libpng +libpthread +libserdisp
  TITLE:=LCD Display daemon and client
  URL:=http://sourceforge.net/projects/lcdproc/

Lecz z tego wszystkiego zostało tylko jedno

Package lcdproc is missing dependencies for the following libraries:
libserdisp.so.1

wcześniej przed dodaniem zmian do make file, pojawiał się błąd dotyczący libserdisp.so ale z 0 na końcu...

Wiesz jak to obejść?

4

(16 odpowiedzi, napisanych Oprogramowanie / Software)

Cześć,

Znalazłem jeszcze jedno rozwiązanie, tylko w tym wypadku muszę skompilować plik .so.
Zwykłe lcdproc nie obsługuje polecenia lcd_line i trzeba przygotować oddzielną  paczkę, by zaczęło to działać z innym podłączeniem.

Tutaj jest informacja na ten temat:

https://github.com/wilberforce/lcdproc

Korzystałem wcześniej z lcdproc z usb i działał perfekcyjnie, więc może tutaj uda się go zastosować zamiast lcd4linux.
Więc może wiesz jak użyć tych dwóch plików w .c i zrobić tego sterownik?

5

(16 odpowiedzi, napisanych Oprogramowanie / Software)

Wszystko mam tak polutowane:

https://botland.com.pl/img/art/inne/LCD_I2C_3_small.jpg

Jedynie się zastanawiam nad tym pinem GPO - GND...

6

(16 odpowiedzi, napisanych Oprogramowanie / Software)

No i kłamałem z tym ostatnim postem...
Udało mi się skompilować, wszystko wygląda bardzo fajnie, ale pojawia się błąd podczas uruchamiania...

root@OpenWrt:~# lcd4linux -F
HD44780: error initializing device 0x1b

Ogólnie urządzenie I2C jest wykrywane pod adresem 27, ale nie wiem czemu jest ten adres zmieniany na szesnastkowy...

Co do samej konfiguracji lcd4linux.conf, to tak to wygląda:

Display HD44780-I2C {
    Driver 'HD44780'
    Model 'generic'
    Bus 'i2c'
    Port '/dev/i2c-0'
    Device '27'
    Bits '4'
    Size '16x2'
    asc255bug 1
    Icons 1
    Wire {
        RW     'DB5'
        RS     'DB4'
        ENABLE 'DB6'
        GPO    'GND'
    }
}

Masz może jeszcze jakiś pomysł? sad

7

(16 odpowiedzi, napisanych Oprogramowanie / Software)

Ok, znalazłem - dla potomnych dodam, że trzeba szukać w miejscu Advanced configuration options (for developers) smile
Kompiluje i zobaczę, czy działa.

8

(16 odpowiedzi, napisanych Oprogramowanie / Software)

Kurde, nie mogę tego znaleźć, podpowiesz w którym miejscu tego szukać?

9

(16 odpowiedzi, napisanych Oprogramowanie / Software)

I to jest dziwne, że tam nie ma tego sterownika...

http://imgie.pl/images/2018/01/15/Przec … eb039a.jpg

10

(16 odpowiedzi, napisanych Oprogramowanie / Software)

Mam nadzieje, że to już ostatni post z tym problemem smile

W skrócie, kompiluje LCD4LINUX ze strerownikiem HD44780 po I2C na Openwrt AA (wiem, że to staroć, ale akurat takiej wersji potrzebuje).

I teraz tak, jak ustawić, żeby wybrać ten sterownik?
Jak biorę make menuconfig i staram się wybrać sterownik, to na liście go nie ma, a sprawdzając makefile w folderze LCD4LINUX jest tylko coś takiego:

        IRLCD \
        $(if $(CONFIG_BROKEN),HD44780) \
        $(if $(CONFIG_BROKEN),HD44780-I2C) \

11

(3 odpowiedzi, napisanych Oprogramowanie / Software)

Tak, tak...wiem jaka jest aktualna wersja, ale akurat do projektu potrzebuje taki system.
KIedyś robiłem już jeden projekt i podłączałem wyświetlacz do Wrt54gl - ostatecznie udało mi się to zrobić przez lcdproc i usb.
Tutaj mam TpLinka Mr3020 i chciałbym tutaj w końcu zastosować magistrale I2C i nauczyć się kompilować paczki oraz system.

LCDproc nie działa z I2C, więc próbuje z LCD4Linux - pełna wersja dostępna w źródłach jest beznadziejna i wywala błędy podczas uruchomienia.

Chyba, że jest jakaś opcja by skompilować to na nowszej wersji?

Cześć,

Po godzinie kompilacji wywalił mi błąd:

In file included from /home/mcz/openwrt/1209/build_dir/toolchain-mips_r2_gcc-4.6-linaro_uClibc-0.9.33.2/gcc-linaro-4.6-2012.02/gcc/cp/except.c:912:0:
cfns.gperf: At top level:
cfns.gperf:101:1: error: 'gnu_inline' attribute present on 'libc_name_p'
cfns.gperf:26:14: error: but not here

W internecie znalazłem takie posty:

https://github.com/DragonFlyBSD/DPorts/issues/136
https://dev.openwrt.org/changeset/46355

Pobrałem patche i przekopiowałem je do folderu:

/home/mcz/openwrt/1209/toolchain/gcc/patches/4.6-linaro

Lecz dalej wywala ten sam błąd. Czy w jakiś sposób trzeba zainstalować te patche lub jest inny sposób na rozwiazanie tego problemu?

Miało być backfire - w końcu tak nazywała się wersja 10.03 big_smile

Ze względu na to, że to ostatnia wersja, która działa na tym routerze, przynajmniej tak znalazłem na stronie :

https://wiki.openwrt.org/toh/linksys/wrt54g

Brak ramu powodował, że nie można było wgrać softu do routera - czy jednak jest opcja, by wgrać nowy CC na linksysa ?

Jednak mam już problemy na samym początku. Co zrobiłem:

1. Postawiłem Ubuntu 16.04 na Wirtualnej Maszynie
2. Za pomocą sudo zainstalowałem potrzebne pakiety:

apt-get install build-essential binutils bzip2 gawk gettext git libncurses5-dev patch unzip zlib1g-dev subversion flex

3. Utworzyłem zwykłe konto i pobrałem git clone git://git.openwrt.ort/10.03/openwrt.git
przeniosłem zawartość blackbird

4. I teraz po wpisaniu make package/symlinks dostaje coś takiego:

user@matcze-VirtualBox:~/blackbird$ make package/symlinks
ERROR: please fix target/linux/rdc/Makefile
ERROR: please fix target/linux/atheros/Makefile
ERROR: please fix target/linux/adm5120/Makefile
ERROR: please fix target/linux/avr32/Makefile
ERROR: please fix target/linux/kirkwood/Makefile
ERROR: please fix target/linux/uml/Makefile
ERROR: please fix target/linux/lantiq/Makefile
ERROR: please fix target/linux/ar71xx/Makefile
ERROR: please fix target/linux/ppc44x/Makefile
ERROR: please fix target/linux/ppc40x/Makefile
ERROR: please fix target/linux/brcm47xx/Makefile
ERROR: please fix target/linux/ixp4xx/Makefile
ERROR: please fix target/linux/au1000/Makefile
ERROR: please fix target/linux/ar7/Makefile
ERROR: please fix target/linux/xburst/Makefile
ERROR: please fix target/linux/orion/Makefile
ERROR: please fix target/linux/brcm-2.4/Makefile
ERROR: please fix target/linux/x86/Makefile
ERROR: please fix target/linux/brcm63xx/Makefile
ERROR: please fix target/linux/rb532/Makefile
Collecting target info: done
/home/user/blackbird/include/prereq-build.mk:17: recipe for target 'prereq-non-root' failed
Prerequisite check failed. Use FORCE=1 to override.
/home/user/blackbird/include/toplevel.mk:109: recipe for target 'tmp/.prereq-build' failed
make[1]: *** [tmp/.prereq-build] Error 1
/home/user/blackbird/include/toplevel.mk:131: recipe for target 'package/symlinks' failed
make: *** [package/symlinks] Error 2

Po wpisaniu ./scripts/feeds install -a mam ten sam błąd.

Ok, poczytam - z racji tego, że CC już nie mogę wgrać na swojego Linksysa WRT54GL dalej będę operował na BB - liczę na to, że się uda smile

Trochę odkopuje, ale w końcu mam urlop i mam czas, żeby dokończyć to co zacząłem kilka miesięcy temu. Jak skompilować ten sterownik z lcd4linux? Jedyne co znalazłem to ten link :

https://lcd4linux.bulix.org/wiki/Howto

Wrzuciłem folder na router, lecz nie mogę wykonać polecenia:

./configure -with-driver=HD44780 wywala błędy ze względu na brak pakietu GTK.
Przynajmniej tak wyczytałem w internecie, a zarazem nie mogę go zainstalować, ze względu na brak miejsca na linksysie.

Co robić, jakaś podpowiedź - siedzę już cały weekend i cały czas mam wrażenie, że jestem już blisko :<

Witam

Piszę, bo udało mi się wyciągnąć I2C w swoim starym Linksysie WRT54GL, obecnie mam zainstalowanego OpenWrt w wersji 10.03.1.
Ale do tematu, LCD podpiąłem router go wykrywa pod adresem 3f, ustawiłem taki adres w lcd4linux.cfg

Display HD44780-I2C {
    Driver 'HD44780'
    Model 'generic'
    Bus 'i2c'
    Port '/dev/i2c-0'
    Device '3f'
    Bits '4'
    Size '16x2'
    asc255bug 0
    Icons 1
 Wire {
        RW     'DB5'
        RS     'DB4'
        ENABLE 'DB6'
        GPO    'GND'
   
}

Lecz po wpisaniu polecenia : lcd4linux -Fvvv wywala błąd:

lcd4linux.c: initializing driver HD44780
drv_init(HD44780) failed: no such driver
Error initializing driver HD44780: Exit!

Wyświetlacz który posiadam to http://forum.atnel.pl/_obrazki/o/2192/39392c2371cf8b6a2c55f070efd34e3f.jpg

Chyba się poddam z szukaniem tych GPIO na PCB, chyba, że masz jakąś sugestię ?

Na chwile obecną napisałem sobie trzy skrypty. Pierwszy do utworzenie GPIO po resecie, bo bardzo często podczas spradzania wyprowadzeń na komponentach SMD router mi się resetuje.

gpio.sh

#!/bin/sh

cd /sys/class/gpio
echo 1 > export; echo out > gpio1/direction
echo 18 > export; echo out > gpio18/direction
echo 20 > export; echo out > gpio20/direction
echo 23 > export; echo out > gpio23/direction
echo 5 > export; echo out > gpio5/direction
echo 11 > export; echo out > gpio11/direction
echo 19 > export; echo out > gpio19/direction
echo 21 > export; echo out >  gpio21/direction
echo 3 > export; echo out > gpio3/direction
echo 6 > export; echo out > gpio6/direction
echo 17 > export; echo out > gpio17/direction
echo 2 > export; echo out > gpio2/direction
echo 22 > export; echo out > gpio22/direction
echo 4 > export; echo out > gpio4/direction
echo 7 > export; echo out > gpio7/direction

Kolejny do zmiany stanu na stan wysoki jeden.sh i podobny zero.sh

 #!/bin/sh
cd /sys/class/gpio/

echo 1 > gpio1/value
echo 1 > gpio18/value
echo 1 > gpio20/value
echo 1 > gpio23/value
echo 1 > gpio5/value
echo 1 > gpio11/value
echo 1 > gpio19/value
echo 1 > gpio21/value
echo 1 > gpio3/value
echo 1 > gpio6/value
echo 1 > gpio17/value
echo 1 > gpio2/value
echo 1 > gpio22/value
echo 1 > gpio4/value
echo 1 > gpio7/value

Za pomocą diody przylutowanej do GND sprawdziłem chyba wszystkie komponenty SMD i wyjścia w celu odnalezienia tych pinów. Lecz w ogóle nie mogę ich znaleźć. Próbowałem także przylutować odwrotnie diodę tj. do 3.3 - lecz efekt jest ten sam.

W miejscach które oznaczyłem kółkami spodziewałem się GPIO i cały czas wierzę, że są w tym miejscu. Może robię coś źle ?

dir300

Ok, czyli w przyszłości jeżeli w końcu znajdę te GPIO, to będę musiał napisać skrypt, który uruchomi się wraz z systemem i stworzy odpowiedni folder w GPIO?

Jeszcze jedno pytanie, w jaki sposób mogę przypuszczać, że dane wyjście na płytce jest tym od GPIO ? Mam w sumie dwa wolne miejsce, jedne jest od diody, a drugie od przycisku, więc przypuszczam, że w tym miejscu może być GPIO.

Przylutowałem diode wg. schematu który znalazłem na https://wiki.openwrt.org/doc/hardware/port.gpio

Dałem wszystkie gpio na echo out > /sys/class/gpio/gpio*/direction później echo 0 > /sys/class/gpio/gpio*/value, lecz to nie działa, więc wszystkie dałem na 1 - echo 1 > /sys/class/gpio/gpio*/value ; lecz nic się nie zmienia, żadnej zmiany stanu.

Kolejne pytanie odnośnie szukania GPIO

Czemu po wyłączeniu zasilania kasuje się zawartość /sys/class/gpio i usuwa wszystkie gpio ? Czy jest to normalne ?

#!/bin/sh
 
GPIOBASE=`cat /sys/class/gpio/gpiochip*/base | head -n1`
GPIOmin=`expr $1 + $GPIOBASE`
GPIOmax=`expr $2 + $GPIOBASE`
nums=`seq $GPIOmin $GPIOmax` 
 
cd /sys/class/gpio
for i in $nums; do
echo $i > export; echo out >gpio$i/direction
done
 
while true; do
  for i in $nums; do
     echo 0 > gpio$i/value
 done
  sleep 1
  for i in $nums; do
     echo 1 > gpio$i/value
  done
  sleep 1
done

Zapisałem go jako gpio.sh

EDIT:

Zmieniłem argument $GPIOBASE na 0 , bo taka baza wyszła mi po wpisaniu samego polecenia i udało mi się, znalazłem gpio.

root@OpenWrt:~# ls /sys/class/gpio/
export     gpio17     gpio2      gpio22     gpio4      gpio7
gpio1      gpio18     gpio20     gpio23     gpio5      gpiochip0
gpio11     gpio19     gpio21     gpio3      gpio6      unexport

Witam wszystkich

Posiadam D-link DIR-300 z wgranym Openwrt 15.05. Nie znalazłem w internecie rozpiski pinów GPIO, więc postanowiłem poszukać. Skorzystałem z tego poradnika : https://wiki.openwrt.org/doc/hardware/port.gpio a dokładnie ze sktypu blink.

Utworzyłem plik gpio za pomocą vi, wkleiłem skrypt i odpaliłem zgodnie z instrukcją. Wcześniej musiałem zmienić uprawnienia, bo wywalał błąd Permission denied. Ale po uruchomieniu wywala błąd expr: syntax error

Pozdrawiam

23

(8 odpowiedzi, napisanych Oprogramowanie / Software)

Mój błąd, sprawdziłem informacje z dmesg i logread; okazało się, że przez przypadek podłaczyłem się do Linksysa, zamiast do DIR-300.

Obecnie po wpisaniu ls /sys/config/gpio mam:

root@OpenWrt:~# ls /sys/class/gpio/
export     gpiochip0  unexport
root@OpenWrt:~#

Mogę walczyć dalej, zobaczymy co z tego wyjdzie. Na razie dzięki za pomoc, mam nadzieje, że później pójdzie bezproblemowo.

24

(8 odpowiedzi, napisanych Oprogramowanie / Software)

root@OpenWrt:~# ls /sys/class
ls: /sys/class: No such file or directory
root@OpenWrt:~# ls /sys/class/gpio
ls: /sys/class/gpio: No such file or directory

Za pomocą ls sprawdzałem także w Linksysie i sytuacja była taka sama.

25

(8 odpowiedzi, napisanych Oprogramowanie / Software)

Ten sam. W google znalazłem opis wolnych GPIO i w tym przypadku chciałem skorzystać z 7.
Lecz taki jest efekt :

root@OpenWrt:~# echo "7" > /sys/class/gpio/export
-ash: cannot create /sys/class/gpio/export: nonexistent directory

Może coś nie tak jest z systemem ? Obecnie mam zainstalowany : openwrt-15.05-ramips-rt305x-dir-300-b1-squashfs-factory.bin