2011年12月24日土曜日

自炊?

書籍電子化:代行は「違法」 「自炊」業者を提訴 浅田次郎さんら7人、差し止め求め
この著者や出版社は電子出版しようと努力しているのだろうか?

私は、本は大好きだが、
1.引越しのたびに泣く泣く 蔵書を少しずつでも処分している。
2.あと何年生きれて、死んだあとその後蔵書を処分してもらうこと。
この2つのことを考えて数年前から本を買うのをやめてしまった。

君たちは、 電子出版しようと努力して無いのだったら、自ら顧客を無くしてしまっていることを自覚した方がいい。


追記:
ところで、浅田次郎って誰?

郵パックがトホホ

郵パックで送ろうと思って、ちょうど手元に送り状があった。
それに書いて郵便局に持って行くと、送り状が古くてバーコードが登録できないから新しいのに書きなおせだと。

そんなのだから赤字垂れ流しになるんじゃ。
ほんとどこ向いて 仕事しているんじゃ!
きっと新規システムを導入するとき、「ケッチって」古い番号を捨てたのだろう。
業者は「そんなことしたら大変なことにになりますよ」と指摘しても強行したに違いない。

もう二度と利用しない。

追記:
郵パックって安いというイメージがあったけれど今確認するとヤマトと50円しか変わらない。拠点の遠さ不愉快な思いをすることを考えたら、やっぱり。

もう二度と利用しない。

と言っていたら、「読経」が聞こえてきた。

まあ、郵便なんてなくなっても困らないし。郵貯と簡保は国債とご臨終になるだろうし。
もともと、役人と労組が食い物にしてきたのだし、清算してもいいんじゃない。「チーン!」

追記1:
海の向こうの方が早そうだ。
米郵政公社が250の集配施設を閉鎖、3万5千人削減へ

追記2:
12月26日午前中に届いたはずの荷物の「お届けしました葉書」昨日の30日についた。わざわざ北海道まで転送して投函したのだろうか?4日もかかるなんて。

GL220の受信データーを加工(struct編)

ここではint(char.encode('hex'), 16)を使っていたが、電圧や湿度、熱電対の温度に変換して出したい。

import struct

buffer_list = struct.unpack('!23h', buffer)
でおしまい。
structこりゃあ便利だ。Format Charactersを指定することで変換できちゃう。
!:network (= big-endian)
h:short 2byte
23:23回繰り返し(=46byte)
つまりbig-endianのsigned-short, 23 times

2011年12月22日木曜日

GL220の受信データー

忘れないようにGL220は10CHだから':MEAS:OUTP:ONE?'コマンドでの受信データーは46byteだからヘッダーは'#6000046 '

データ受信関連仕様書(GL220_820).pdfの4ページ

例) 端子台20CH、 内部バッファ内データ2点の場合

受信データ, 説明
#6******, ヘッダ(ASCII): #6は接頭文字で固定。次の6文字でその後の******で受信されるバイト数を表します。
 1:CH1アナログデータ, 1chデータのバイナリ(2byte)
 2:CH2アナログデータ, 2chデータのバイナリ(2byte)
   :(中略), : (中略)
10:CH10アナログデータ, 10chデータのバイナリ(2byte)
CH11アナログデータ, 11chデータのバイナリ(2byte)
:(中略), : (中略)
CH20アナログデータ, 20chデータのバイナリ(2byte)
11:パルス1データ1, パルス1データ上位2byte, パルスデータは上位2byte、下位2byteを合計した4byte(32bit)データ
12:パルス1データ2, パルス1データ下位2byte
13:パルス2データ1, パルス2データ上位2byte
14:パルス2データ2, パルス2データ下位2byte
15:パルス3データ1, パルス3データ上位2byte
16:パルス3データ2, パルス3データ下位2byte
17:パルス4データ1, パルス4データ上位2byte
18:パルス4データ2, パルス4データ下位2byte
19:ロジックデータ, ロジックデータのバイナリ(2byte)
20:アラームデータ1, CH1~CH10のアラームデータ(2byte)
アラームデータ2, CH11~CH20のアラームデータ(2byte)
21:アラームデータ(ロジック/パルス), ロジックとパルスのアラームデータ(2Byte)
22:アラーム出力データ, アラーム出力データ(2Byte)
23:ステータス, データの状態を表す情報(2byte), CH1アナログデータ

23×2byte=46byte

アラームデータ2, CH11~CH20のアラームデータ(2byte)  の部分に気が付かずに48byteになるがなと唸っていたぞ。

2011年12月21日水曜日

create_string_bufferからデーターリスト

create_string_bufferでデーター(data)が帰ってきているとき扱いやすいように

print repr(data.raw)
data_list = [int(char.encode('hex'), 16) for char in data]
print data_list

ふふふ、内包表記じゃ

2011年12月20日火曜日

pythonでgraphtec GL220

ctypes初めて使った。
CDからドライバーをインストールして。gtcusbr.dllをお側に。

        Open device
        HANDLE __stdcall GtcUSBr_OpenDevice(void);

        Close device
        BOOL __stdcall GtcUSBr_CloseDevice(
            HANDLE hDev        # Handle to the USB to be I/O
        );

        Read (Block mode)
        BOOL __stdcall GtcUSBr_ReadDevice(
            HANDLE hDev,                    # Handle to the USB to be read
            LPVOID lpBuffer,                # Pointer to the buffer that receives the data read from the USB
            DWORD nNumberOfBytesToRead,        # Number of bytes to read
            LPDWORD lpNumberOfBytesRead,    # Pointer to the number of bytes read
            DWORD dwTimeOut                    # TimeOut(ms)
        );

        Write (Block mode)
        BOOL __stdcall GtcUSBr_WriteDevice(
            HANDLE hDev,                    # Handle to the USB to be write
            LPVOID lpBuffer,                # Pointer to the buffer that sends the data write to the USB
            DWORD nNumberOfBytesToWrite,    # Number of bytes to write
            LPDWORD lpNumberOfBytesWrite,   # Pointer to the number of bytes write
            DWORD dwTimeOut                    # TimeOut(ms)
        );
あたりを使う。

橋渡しは
LPVOID        ctypes.create_string_buffer()
DWORD       ctypes.c_ulong()
LPDWORD  ctypes.pointer(ctypes.c_ulong())

読むときはクエリーの時はASCIIが帰ってくる。1文字づつ読もう。
フリーランニングで、:MEAS:OUTP:ONE?で瞬時データを読むときは、
まずASCIIで8byteヘッダーを読んで「#6******」アスタリスクの部分をintに変えて続きのdataを読む。


どうでもいいけど。その1
マニュアルGL220 GL820 インターフェイスコマンド(GL220_820 IF_Command_Japanese.pdf)12ページのバッファ構成の欄の「は:MEAS:OUTO:STAT?で確認できます。」はバグ。正しくは「は:MEAS:OUTP:STAT?で確認できます。」

どうでもいいけど。その2
HPの「お問い合わせ」でくるメールの
###### 引用初め
本メールの配信に身に覚えのない場合、お手数ですが以下まで
ご連絡お願いいたします。

webmaster@grephtec.co.jp
###### 引用終わり
にはワロタ。

2011年12月6日火曜日

ubuntuでサービス一覧

サービス一覧
service --status-all

インストール済みパッケージ
dpkg --get-selections