「PIC AVR 工作室」サイトの日記的なブログです。
サイトに挙げなかった他愛ないことを日記的に書き残してます。
PIC AVR 工作室 ブログ



柳田のにんにく煎餅が美味い。

元々にんにく大好きで、自分でにんにく刻んで
ペペロンチーニをしょっちゅう作って食べてる
くらいですが、この煎餅はちゃんとにんにくの
臭いがして良い!

気に入りました。



コメント ( 0 )




VB.netに打ちひしがれてボロボロなので、
買ってきたマンガを読んで慰めることに。

まずはへうげもの 8服

さすがだねぇ。独特の歴史観とたまらない擬音表現。
それにしても、この8巻(8服)でなんだか佳境に
入ってきたな。あまり書くとネタバレなので書けませんが、
利休と織部の関係が大きく変化したな。

それにしても、「ニャロン」ってなによ…(^O^)

あとジパング 39巻

こっちはもうじき終盤だな。長い話だったけど、
相変わらずハラハラするストーリーだな。
しかもミステリーが緻密で良く出来てる。
沈黙の艦隊よりもこっちの方がリアリティー
を感じるな。

それぞれストーリーをすっかり堪能。少しは気が
晴れたかも。
いや、さっき散々VB.netをこき下ろしたから
だいぶ発散できてはいますが。

それにしても、どうしたものかな?
マイコンと繋いで使うPC側言語…
なにが向いているのやら…




コメント ( 2 )




http://picavr.uunyan.com/avr_m_logianaPC.html
以前から、ネコロジーPCの処理速度が気になって
いるわけですが、これを何とかしようと思って
VBの文字列やメモリ割り当てのことについて
ちょっと調べてみました。

結論:あきまへん。


VB6の時代には、(開発言語としてはいたって
当たり前ですが)固定長文字列などを使えば事前に
メモリを割り当てしておくことが可能でした。

一方、VB.net環境では固定長文字列は廃止
になったとのこと。詳しくはmsdnご参照。
http://msdn.microsoft.com/ja-jp/library/dd297714.aspx
VBだけでなく、他の.net環境でも同様みたい。


そりゃ、文字列の長さを考えず、8ビット時代の
BASICのように文字列を扱えるようにっていう
のはある意味楽ちんなので、そういう配慮ってこと
なのかも知れないけど、そんなことは余計なおせっかい
で、今回みたいな高々100KB程度の文字列を
扱うだけで処理時間をあれこれ考えないといけない
ように縛るなんて、ひどすぎだな。

(UARTから)シーケンシャルに受け取ったデータ
を単に変数に溜め込んで行くだけの処理なんだけど、
これを動的にチマチマと小分けにしたメモリを
(自動的に)確保したり開放したりを繰り返しながら
メモリに溜め込んでいくことになるわけです。

とてもじゃないけどオーバーヘッドが大きすぎる…

現代のVBって、数バイト~数十バイト程度のデータ
しか扱っちゃいけないような代物なのーーーー???

固定長文字列の様にあらかじめいっぺんにメモリを
押さえて置けば、単にそこに上書きするだけで済むのに、
文字列に数十バイトの文字列を順々に付け足す処理を
行うとなると1回1回文字列を再配置アンドガベージ
コレクションやらなきゃいけなくなっちゃう。

そんなことやってれば、そりゃ遅くなるのは当たり前。
トータルで操作するメモリ量は、回数が増えるごとに
指数関数的に増えていくからねぇ…

そもそもそうならないための固定長文字列とか
mallocとかだったんじゃぁないの?

VB6からVB.net環境に換えるときに、
マイクロソフトは
   「VBはバージョンダウンします。」
って言っておいてくれなきゃ。こまっちゃうよ。
もしくは代替手段をきちんと作っておいてくれなきゃ。

すこしくらいプログラミングが簡単になったとしても、
固定長文字列が使えないっていうことの欠点に
全然配慮されてない…。
マイクロソフトって、PCの処理速度が無限大に
あるとでも思ってるのかな?わけわからん。

すごいねぇ…マイクロソフト。インテルが誇る
高速MPUを、2桁処理速度が遅いPICやAVR
と比べて格段に劣る処理速度のマシンに大変身
させてしまうとは!


一応、VB.netのまま固定長を使わず上手い
具合に回避する方法が無いかなぁって思って
いくつかテスト用プログラムを組んで試しては
みました。

だけど、とにかく.net君は自分の好き勝手に
メモリの割り当て/開放をしたがっているようで、
ダイナミックメモリアロケートさせないような
上手い方法(固定的に確保したところに追記して
行くような方法)がどうしても見つかりませんでした。
                 …無念。


というわけで冒頭で触れたように、VB.net環境
を使う以上、ネコロジーPCを今以上に高速化する
ことは無理っぽいことが判ってきました。
たかが100KB程度のデータのハンドリングに
困る様な言語仕様とは…とほほ…。

マイクロソフトはVBをPHPやperl、ruby
と対抗させようとか企んでるのか?無理無理。
そういう無茶なことをするからドンドン使いづらく
なっちゃうんじゃないかな。
金返せー!(無料だけどね)


…困った。他の言語使ってリライトしようかな…
お手軽っていう意味ではHSPあたりか?

VBみたいにビジュアル画面を簡単に編集できて、
言語を覚えるのに苦労しなくて、現代のwindows
でもちゃんと動くような開発言語、なんかないかなぁ…
BASICやC言語に近いモノがあるといいんだ
けどなぁ。


そういえば、C言語系(C#?)もそんな感じ
なのかなぁ?

…ちょろっと調べてみた感じではやっぱりそうみたい。
C#もガベージコレクションを自動的に行う仕様に
なってるって。はぁ。そもそも.netは全滅っぽい。

まぁ、メモリ消費の行儀が悪いプログラムが
プログラム自身やヘタすりゃOS自体を不安定に
していたことも多々あったので、そういうプログラム
の尻拭いを強制的に行うっていう意味ではアレなの
かもしれないけど、でもねぇ…

言語にしてもブラウザにしても、訳わかんない
独自仕様でコテンコテンにして、ドンドン使い
づらい環境を作ってくれるなぁ。某社。



コメント ( 0 )




なんだかんだでいつも楽しみにしているマルツの
メルマガが届いたので、さっそく眺めてみる…


ん?なんだこれ?
https://www.marutsu.co.jp/user/shohin.php?p=62274
4方向+1ボタンスイッチ?ジョイスティックか何かか?
まぁ、大体マルツで売ってるジョイスティックって、
結構高いんだよな。と思いつつ早速本文を読んでみる。

189円?スゲー安っ!
4方向って言うのが気になるけど(斜めはだめなの?)、
なんとなく便利そう。イイナ。表面実装なのか…

足をひん曲げて無理矢理ユニバーサル基板とかに
挿せないかな?


あとこれ。波動スイッチ。
https://www.marutsu.co.jp/user/ichiran.php?KEYWORD=KCD%20Linkman

言葉に釣られて眺めてみるも、さすがに120%
充填しないと押せないスイッチでもなく、スイッチ
を入れると全艦のエネルギーが空っぽになっちゃう
ようなものでもなく、そんな危険なスイッチでは
ないと判ってガッカリ。

でもキャップをつけると防水になるんだな…

とりあえず4方向入力が出来る表面実装スイッチとやら
を狙いますか。



コメント ( 0 )




以前、すんさんのサイトを見て買っておいたaitendo
の5インチlcd。箱に入れてアンプとスピーカーも
入れてみました。

ケースの加工が何しろ大変。100均で買ってきた
ポリプロピレンのケースを、ドリルやらプラカッター
やらでガッツンガッツンと加工し、なんとか箱っぽく
してみました。これで取り扱いが大分楽になったな。


まぁ、仕上がりはイマイチ感がたっぷりですが…

今のところ、まだ半完成品といった感じ。コンポジット
入力は対応していますが、RGB入力はまだ未対応。
そのうち時間が出来たら何とかしようと…。

加工で一番困ったのは、何と言っても元々のlcdの筐体
に取り付けネジ穴とかがないこと。

仕方ないので、プラスティックの表枠に2.5mmの
穴を空け、M3のタップでネジ溝切って、ケースと
3mmのネジで留められるようにしました。
写真の表側に4つ付いているネジがそれ。

応力が加わるところじゃないから、この程度で
大丈夫でしょう。

薄暗くて判り難いですが、本体左側には上から
音声ボリューム、電源スイッチ、電源端子。
右側にはビデオと音声のRCA端子。
上部にはステレオスピーカー。(全然ステレオ感が
感じられない音声が出てますが…)

ちなみにスピーカーは秋月で2個100円の
http://akizukidenshi.com/catalog/g/gP-01388/
これ。

2cmしかないスピーカだからろくな音が出ないと
思っていたんですが、このプラスティックの箱と
液晶画面の間にわずかに開いた隙間(2~3mmくらい)
がイイカンジにダンプドバスレフみたいに働いている
みたいで、人の声も音楽も、それなりにワイドレンジで
聴こえちゃうからビックリ。

必要最低限の音は出ます。

2個100円のスピーカにしてはやるじゃないか!
感心、感心。あとでまた買い足しておこうかな。

アンプはお手軽なLM386をチョイス。アンプと
スピーカ、2チャンネル合わせて200円。
周辺の抵抗やコンデンサを合わせても300円
くらいでしょうか?

LM386と100円スピーカの組み合わせ。
エンクロージャに今回みたいな100均の箱とか
を流用すれば、就寝前にちっとだけ聴きたいとか
いう用途には充分かも。
(まぁ、いい音色とは決して言えませんけどね…)

マイコンとかに繋いで使うにはこれでまさに
充分といった感じ。圧電ブザーとは格段に違う
音声が出てきます。
(エンクロージャー次第ではあるかな…)

そうそう。Aitendoのlcdのコネクタ。
http://www.systemgear.jp/images/top/jst/JST_EH.pdf
日圧のEHシリーズなので、西川無線とかで
コネクタを買ってくれば普通に使えちゃいます。
(誤記訂正:西川電子…○、西川無線…×、でした。
 ちなみにネジ部の店舗の方の2Fです)

直接はんだ付けよりは、付けたり外したりが簡単に
出来るのでお勧めかと。



コメント ( 0 )



« 前ページ 次ページ »