Prohození stavu dvířek CD mechaniky

Zkoušel jsem nespočet způsobů jak softwarově prohodit stav dvířek CD mechaniky, ale pokaždé se našla nějaká moucha a třebaže to pár hodin šlo, nakonec se hodnota stavu dvířek otočila vůči skutečnému stavu a tím pádem už s nimi nešlo hýbat. A dneska konečně nápad.

#!/bin/sh
# Skript na prohození stavu dvířek mechaniky
device=/dev/cdrom
delay=0.7 # Do kolika sec se dvířka určitě nevysunou
statfile=/tmp/cdrom_stat # Soubor nesoucí stav dvířek
echo 'c' >$statfile # Dvířka nejprve považujeme za zavřená
# Vysunout a ihned zapsat stav (nutné provést na pozadí)
eject $device && echo 'o' >$statfile &
# Počkat chvilku, než by skončil eject při *otevřených* dvířkách
sleep $delay
# Pokud je už teď mechanika otevřená,
# byla pravděpodobně otevřená i předtím --> zavřít ji.
[ "`cat $statfile`" = "o" ] && eject $device -t

Prodleva jako řešení

Pokud spustíme program eject, skončí až ve chvíli, kdy jsou dvířka skutečně otevřená. Pokud tedy už otevřená jsou, program skončí téměř okamžitě, v opačném případě mu to však většinou trvá přes sekundu, než dvířka celá vyjedou. Jako prodlevu delay je proto třeba zvolit čas, do nějž se zavřená dvířka určitě nestihnou otevřít, ale pokud otevřená jsou, tak do této doby program eject spolehlivě skončí. Mně fungovaly hodnoty v intervalu <0.1; 1.1>, jiné nefungovaly vždycky. Levá mez je závislá na vytížení systému, které kolísá podstatně víc než rychlost otevření dvířek, na níž závisí mez vpravo. Je proto spolehlivější volit trochu vyšší prodlevu než je průměr nejkratší a nejdelší funkční prodlevy. Pokud má vaše mechanika dvířka rychlejší, prodlevu bude možná třeba malinko snížit. Zní to všechno trochu složitě, ale prostě tam mrskněte nějakou hodnotu a buď zabere nebo ji změníte.


Komentáře

[1] donny – 2008-02-15, 0.10

Skvělé, přesně tímhle jsem si lámal hlavu něco přes hodinu a ne a ne na to kápnout. Dík. Využití mám následovné (v KDE v adresari Autostart jako .desktop soubor):

ksystraycmd --hidden --startonshow --keeprunning --tooltip "Otevre nebo zavre dvirka DVD mechaniky." --icon /opt/kde/share/icons/KDEmod-Icons-Tango/22x22/devices/dvd_unmount.png /home/donny/skripty/open_close_cd.sh&>/dev/null

[2] anonmy :P – 2008-09-10, 11.27

heh jako wubec tmu nerzumim ze :D

[3] anonmy :P – 2008-09-10, 11.28

heh jakooo wubéc tomuhle nrozumim :D:D :p nechapu ty kdo se zajima o pocal :)

[4] aqdgblpydgt [web] – 2011-05-28, 17.54

[5] cai123 – 2012-05-09, 11.04

http://www.blogusers.com/sme_blog.php?u=a958710376&action=view_post&post_id=61170
http://mpcollab.org/fwheel/node/14694
http://solobuscame.com/social/blog_entry.php?user=a958710376&entry_id=292692#zh
http://obshestvo.ru/node/47230
http://www.weekendhk.com/blog/index.php/69932/viewspace-138746.html
http://www.imfriends.net/blog/139329/f50-soocer-cleat/
http://a958710376.blogujem.cz/note/172895/when-choosing-air-jordan-2.html
http://a98710376.freeblog.hu/archives/2012/05/05/make_it_a_habit_of_trying_your_Air_Jordan_6_on_as_opposed_to_deciding_upon_them/
http://www.flixya.com/blog/4457604/Choose-the-Air-Jordan-8-
http://www.singlefling.com/blogs/posts/a958710376/category/soccer%20cleats
http://www.reneeolstead.com/blog/a958710376/jordan-basketball-shoes
http://a958710376.manablog.jp/archives/5
http://www.mojatu.com/blog/64898/nike-t90-laser-iii/
http://www.4ppl.com/blog/entry/Before_you_buy_a_pair_of_jordan_basketball_shoes
http://myindiacafe.com/blogs/sportsshoes/
http://a958710376.magix.net/blog/socce-cleats/archives/5-Keep-in-mind-that-Air-Jordan-9,-even-the-best-ones.html
http://www.seo-mix.com/blog/make-sure-you-chooseair-jordan-8-fit-you-well-and-allow-you-play-your-best
http://fr.weblog.26l.com/weblog.2140639.html
http://a958710376.fotopages.com/
http://www.adultblogs.com/users/a958710376/
http://gvrl.com/blogview.asp?blogid=20664
http://hi.baidu.com/b958710376/blog/item/028094a76ab61787d8335afc.html
http://blog.sina.com.cn/s/blog_9f436771010127a4.html
http://18904804.blog.hexun.com/75200342_d.html
http://i.sohu.com/p/=v2=Ybdn5mMs2mFh2baplTIzNDU2QDE2My5jb20=/blog/view/213574046.htm
http://a958710376.insanejournal.com/
http://blog.cnfol.com/q958710376/article/1335577062-58213462.html
http://a958710376.blog.com/2012/04/29/nike-air-jordan/
http://www.beactive.sk/blog/a958710376/2012-04-28-nike-air-jordan
http://a958710376.diandian.com/post/2012-04-29/17987864
http://a958710376.createblog.com/blog/entry.php?id=299213
http://d.hatena.ne.jp/a958710376/20120429/1335661824
http://yaplog.jp/a958710376/archive/7
http://www.equestrianblogging.com/blogs/soccercleats/
http://www.cnfblog.com/articles.php?article_id=411476
http://www.kerchoonz.com/user/blogs/view/name_a958710376/id_278435/title_wholesale-nike-air-jordan/
http://blog.163.com/soccer_cleats/
http://www.tudou.com/home/diary_v12573558.html
http://scubalot.com/node/18702
http://a958710376.weebly.com/1/post/2012/05/jordan-shoes-footwear-web-site.html
http://a958710376.livejournal.com/2257.html
http://www.indyarocks.com/blogs/blog_visiterview_main.php?id=1047981&sts=rec
http://www.vbsiglo21.net/modules.php?name=Journal&file=display&jid=765
http://a958710376.over-blog.com/article-nike-air-jordan-still-famous-in-the-world-104083339.html
http://www.sanalkahve.com/user/blogs/view/name_a958710376/id_79251/title_Pick-your-Air-Jordan-18/
http://blog.163.com/soccer_cleats/http://www.ms56.net/blog/blog.php?do=showone&uid=51301&type=blog&itemid=73560
http://www.a958710376.cif2.net/a_pair_of_cheap_jordan_shoes-pagblog-article_id10479.html
http://www.mainetoday.com/blogentry.html?id=96976
http://a958710376.worldofchaos.altervista.org/2012/05/09/air-jordan-16-are-light/
http://www.pat-schoolofnet.com/blog_entry.php?user=a958710376&blogentry_id=79700

Přidat komentář

Identifikace autora

(zobrazí se v antispam podobě)

Komentář

Nepoužívej HTML značky a piš pokud možno s diakritikou. Na ostatní komentáře se odkazuj např. [1]

Díky za tvůj názor!

Navigace

Hledání