2013-08-22 28 views
5

Tôi đang sử dụng hệ thống tệp wheezy Debian với hạt nhân mới nhất của Robert Nelson. Tôi muốn tắt nhịp tim bằng cách sử dụng lớp phủ cây của thiết bị.Thay đổi âm thanh dẫn trên beaglebone màu đen với lớp phủ cây thiết bị

Tôi hiểu có những cách dễ dàng hơn để thực hiện việc này nhưng tôi chỉ quan tâm đến câu trả lời bằng cách sử dụng lớp phủ để tắt nhịp tim dẫn đầu.

Một cách tôi có thể đạt được điều này là thay đổi gpio-led, led0 lá trong am335x-boneblack.dts từ: linux, default-trigger = "heartbeat"; đến linux, default-trigger = "none";

sau đó biên dịch cây thiết bị và khởi động lại.

Tuy nhiên, nếu tôi cố gắng triển khai thực hiện điều tương tự bằng cách sử dụng lớp phủ sau, nhịp tim sẽ tiếp tục nhấp nháy sau khi tôi áp dụng thành công lớp phủ với echo> $ SLOTS.
Tôi đang làm gì sai?

/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"; 
      }; 
     }; 
    }; 
}; 
}; 

Trả lời

0

Có dịch vụ systemd, leds.service, ghi đè cài đặt cây thiết bị cho thiết bị này dẫn đầu (ai biết lý do).

Để xem trạng thái của dịch vụ, chạy

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

mang đến cho đầu ra

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 

Bằng cách nhìn vào trường "Loaded" bạn có thể thấy rằng kịch bản dịch vụ tọa lạc tại/lib/systemd/system/leds.service và trường "Process" cho biết dịch vụ này chạy lệnh "/ usr/bin/led-config start".

Nhìn vào tập tin này "/ usr/bin/dẫn-config" bạn sẽ thấy rằng đó là một kịch bản shell mà nạp giá trị mặc định từ tập tin "/ etc/default/led":

#file format: name trigger 
beaglebone::usr0 heartbeat 

Vì vậy, , bạn có thể để lại các tập tin cây thiết bị độc lập và thiết lập giá trị mặc định ở đây, hoặc vô hiệu hóa dịch vụ này với

systemctl disable leds.service 
+0

Cảm ơn thông tin. Tuy nhiên, trình tiện ích leds.service không chạy trên debian. Thứ hai tôi đang cố gắng hiểu tại sao vô hiệu hóa các công trình dẫn đầu khi tôi biên dịch lại cây thiết bị và khởi động lại, nhưng không hoạt động khi tôi sử dụng mã giống hệt nhau trong lớp phủ cây thiết bị. – Ray

0

Để vô hiệu hóa nhịp tim với lớp phủ là rất không hiệu quả theo ý kiến ​​của tôi! Thay vào đó, hãy thử gõ lệnh bash: "echo none> /sys/devices/ocp.3/gpio-leds.8/beaglebone\:green\:usr0/trigger" và sau đó bật lại nhịp tim "echo" "> trigger" (kiểm tra đường dẫn tập tin trước) - được kiểm tra trên Debian Wheezy A5A

Các vấn đề liên quan