の形で呼ぶ。
//
// anchor_idはフレームを使う場合最低限各フレームごとに設定。お互い他のフレームを書換えたときにへんな干渉をさけるため。
// その他ページの種別毎などで変えてもよいが、あまり小分けにするとcookieが増える。
// 同じanchor_idで保存されるcookieは1セットのみ。でも単独ページ表示のサイトなら概ねこれで充分。
anchor_id = "anc_main";
noanchor = false; // bodyにanchorをしかけたときなど場合によって一時無効にするためのフラグ。
// アンカーの記憶。
function anchor_save(object_id, page_id) {
if(noanchor) { anchor_erase(); return; }
get_scroll();
setcookie(anchor_id+"_pid", page_id, 0);
setcookie(anchor_id+"_st", scroll_top, 0);
setcookie(anchor_id+"_sl", scroll_left, 0);
if(object_id) {
object_top = scroll_top + get_object_top(object_id);
object_left = scroll_left + get_object_left(object_id);
setcookie(anchor_id+"_oid", object_id, 0);
setcookie(anchor_id+"_ot", object_top, 0);
setcookie(anchor_id+"_ol", object_left, 0);
} else {
setcookie(anchor_id+"_oid", "", -1);
setcookie(anchor_id+"_ot", "", -1);
setcookie(anchor_id+"_ol", "", -1);
}
}
// アンカーの適用。
function anchor_apply(page_id) {
if((saved_page_id = getcookie(anchor_id+"_pid")) && page_id != saved_page_id) { return; }
get_scroll();
if((anchor_st = getcookie(anchor_id+"_st")) != "" && (anchor_sl = getcookie(anchor_id+"_sl")) != "") {
anchor_st = parseInt(anchor_st);
anchor_sl = parseInt(anchor_sl);
} else {
anchor_st = scroll_top;
anchor_sl = scroll_left;
}
if((object_id = getcookie(anchor_id+"_oid"))
&& (anchor_ot = getcookie(anchor_id+"_ot")) != ""
&& (anchor_ol = getcookie(anchor_id+"_ol")) != "") {
offset_top = (scroll_top + get_object_top(object_id)) - parseInt(anchor_ot);
offset_left = (scroll_left + get_object_left(object_id)) - parseInt(anchor_ol);
} else {
offset_top = offset_left = 0;
}
window.scrollTo(anchor_sl + offset_left, anchor_st + offset_top);
}
// アンカー消去。あえてとっておく必要がなければanchor_apply()後すぐ消去が望ましい。
function anchor_erase() {
setcookie(anchor_id+"_pid", "", -1);
setcookie(anchor_id+"_st", "", -1);
setcookie(anchor_id+"_sl", "", -1);
setcookie(anchor_id+"_oid", "", -1);
setcookie(anchor_id+"_ot", "", -1);
setcookie(anchor_id+"_ol", "", -1);
}
//-->
改造・修理
|
|
ツーコイン
某リサイクルショップで110円にて購入。 「画面点きません」とのことだったけど、うっすらオープニング画面が見えるのは見える。 ...っというわけでバックライト修理をするため購入~(本当に110円だった)
|
ゲーミング
..というわけで家に帰って電源入れて、まず気が付いたのが裏。 これでもか、というほど明るく光る。 しかも7色に。
...こりゃあいらん。(ニッパーでパチンッ)
|
修理
で、最初にバックライトを見るために全部バラして、パネルまでバラして中のLEDチップを1つ1つ確認していった。 結局LEDチップはOK。 フラットケーブルに注意しながら直して、基板を確認。 LEDのランプ自体には72個Ⅹ3.15V(実測)で、226.8Vかかるはず。(全部直列だった) DC-DCの平滑コンデンサは400V耐圧だった。 で、出力の電圧は...23.9V。 あと0.1Vが歯がゆい...とも言ってられず。 そもそもICが発振していないらしい。
で、LEDからコネクタを外して電圧を計ると...230Vぐらい。(ふらふらしてた) あれー、っというわけでもう一度確認。 そうするとICのENピンに電圧が出ていない。 そしてPWM信号も来ていない。
で、Arduinoを内蔵することにした。(パワーで解決) 輝度は100%固定で。
それでもまだLEDは点かなかった。
結局、このICは生きているみたいだった。 で、回路を追っていくとFET(コイルの出力とGNDをショートさせるもの)のゲートドライバが死んでいるみたいだった。 なのでお得意のPNP+NPNでゲートドライバ作ってみた。
で、結局これで治ってしまった。
...と、いうわけで終了~。
|
画像なし
...そしてこの記事、画像なし。 映り込みが激しいのと、そもそも撮ってない。 夢中になりすぎて撮影自体を忘れてました。
|
|
|