2013-08-22 12 views
5

Używam systemu plików Debian wheezy z najnowszym jądrem Roberta Nelsona. Chcę wyłączyć sygnał pulsu za pomocą nakładki drzewa urządzeń.Zmień sygnał dźwiękowy na Beaglebone czarny z nakładką drzewa urządzenia

Rozumiem, że są prostsze sposoby robienia tego, ale interesują mnie tylko odpowiedzi przy użyciu nakładek, aby wyłączyć kierowanie pulsu.

Jeden sposób mogę osiągnąć to poprzez zmianę GPIO-diody, liść led0 w am335x-boneblack.dts od: Linux domyślnym-trigger = "bicie serca"; do linux, default-trigger = "none";

następnie kompilacja drzewa urządzeń i ponowne uruchomienie.

Jeśli jednak spróbuję zaimplementować to samo przy użyciu następującej nakładki, dioda pulsu będzie kontynuować miganie po pomyślnym zastosowaniu nakładki z użyciem echo> $ SLOTS.
Co robię źle?

/dts-v1/; 
/plugin/; 
/
{ 
    compatible = "ti,beaglebone", "ti,beaglebone-black"; 
part-number = "pru"; 
version = "00A0"; 
[email protected] 
{ 
    target = <&ocp>; 
    __overlay__ 
    { 
     gpio-leds 
     { 
      compatible = "gpio-leds"; 
      pinctrl-names = "default"; 
      pinctrl-0 = <0x3>; 
      led0 
      { 
       label = "beaglebone:green:usr0"; 
       gpios = <0x5 0x15 0x0>; 
       linux,default-trigger = "none"; 
       default-state = "off"; 
      }; 
     }; 
    }; 
}; 
}; 

Odpowiedz

0

Istnieje usługa systemd, leds.service, która zastępuje ustawienia drzewa urządzeń dla tej jednej diody (kto wie dlaczego).

Aby sprawdzić stan usługi, należy uruchomić

[email protected]:~# systemctl status leds.service 

który daje wyjście

leds.service - Angstrom LED config 
      Loaded: loaded (/lib/systemd/system/leds.service; enabled) 
      Active: active (exited) since Sat 2000-01-01 18:33:24 UTC; 13 years 7 months ago 
      Process: 125 ExecStart=/usr/bin/led-config start (code=exited, status=0/SUCCESS) 
      CGroup: name=systemd:/system/leds.service 

Patrząc na „Loaded” pola widać, że skrypt usługa znajduje się w katalogu/lib/systemd/system/leds.service, a pole "Proces" mówi, że ta usługa uruchamia polecenie "/ usr/bin/led-config start".

Patrząc na ten plik "/ usr/bin/led-config" zobaczysz, że jest to skrypt, który ładuje domyślne z pliku "/ etc/default/led":

#file format: name trigger 
beaglebone::usr0 heartbeat 

Tak można pozostawić plik drzewie urządzeń w spokoju i ustawienie domyślne tutaj, lub wyłączyć tę usługę z

systemctl disable leds.service 
+0

Dzięki za informację. Jednak demon leds.service nie działa na debian. Po drugie staram się zrozumieć, dlaczego wyłączenie diody LED działa, gdy przekompilowałem drzewo urządzeń i zrestartowałem komputer, ale nie działa, gdy używam identycznego kodu w nakładce drzewa urządzeń. – Ray

0

Aby wyłączyć bicie serca z nakładką jest bardzo nieefektywne moim zdaniem! A może zamiast tego spróbuj wpisać polecenie bash: "echo none> /sys/devices/ocp.3/gpio-leds.8/beaglebone\:green\:usr0/trigger", a następnie, aby włączyć ponownie echo "echo" "> trigger" (najpierw sprawdź ścieżkę pliku) - przetestowano na Debianie Wheezy A5A

Powiązane problemy