PythonでSPIのデジタル波形からデータを取り出します。自宅のロジアナZEROPLUS LAP-C16032改だとやってくれるので正直要らなそうですが、一部のオシロスコープではSPIが解析できるものでも解析結果は保存してくれなかったり、波形とデータをうまいこと表示したかったり、まぁ、色々あります。ので、SPIの波形からデータを取り出せればいいことあるかも。
ということで、以前SparkFun SAMD21 Mini BreakoutでILI9341を制御したときのSPI通信を解析してみます。SPI通信がめちゃくちゃ長いのでHelloWorldを表示している部分だけにしてやります。
こんなんです。12Mbpsなので、(1/24M)s周期でSCKが変化するので50MHzでサンプリングしています。
まぁ、バス設定をすればちゃんと解析してくれるんですけどね、、、
で、保存した波形はLAP-Cだとこんな感じになります。(WSLのVSCodeでやっているのでnkf -w Wave.txt > Wave_utf-8.txtってやって漢字コードをsjisからutf-8に変換しています)
取り込みデータの表示
------------------------------------------------------------------------------------------------
ヘキサデシマル
A Bar position: -504.12us T Bar position: 0ns B Bar position: 2.58us
//Channel name: | MOSI *SCLK *SS *DATA | MISO *SCLK *SS *DATA
-524.28us | Unknown 0 1 1 | Unknown 0 1 0
-524.26us | Unknown 0 1 1 | Unknown 0 1 0
-524.24us | Unknown 0 1 1 | Unknown 0 1 0
-524.22us | Unknown 0 1 1 | Unknown 0 1 0
-524.2us | Unknown 0 1 1 | Unknown 0 1 0
-524.18us | Unknown 0 1 1 | Unknown 0 1 0
-524.16us | Unknown 0 1 1 | Unknown 0 1 0
-524.14us | Unknown 0 1 1 | Unknown 0 1 0
-524.12us | Unknown 0 1 1 | Unknown 0 1 0
-524.1us | Unknown 0 1 1 | Unknown 0 1 0
-524.08us | Unknown 0 1 1 | Unknown 0 1 0
-524.06us | Unknown 0 1 1 | Unknown 0 1 0
-524.04us | Unknown 0 1 1 | Unknown 0 1 0
-524.02us | Unknown 0 1 1 | Unknown 0 1 0
-524us | Unknown 0 1 1 | Unknown 0 1 0
保存データの形式はオシロやロジアナによって違うので、この辺は臨機応変にやらんといかんです。横河ならwdfとかで保存できるので、wdfを何とか解析せんといかんし、Tektroなら(職場がUSBを使っちゃいけない業種の場合は)オシロからデータを取り出すスクリプトを書くところからってなる。ということで、臨機応変に。
今回、LAP-Cで保存したtxtデータを1行ずつ読み込んで、トークンで分解して、データを取り出します。分解後できるリストで何番目のデータがどの信号に該当するかはデバッグモードで分解後のリストを表示して判断しています(数えればわかるだろ、、、っていう説もあります)。
では、一気にやっつけます。(それなりにコメントも書いているので赦してください)
- import numpy as np
- import matplotlib.pyplot as plt
- #LAP-Cで保存したtxtを読み込む
- def Read_LAP_C_file(fn):
- #とりあえずList型で取り込む(numpy.ndarray型でappendすると毎回メモリ再確保して遅くなるので)
- t_list=[]
- SCK_list=[]
- CS_list=[]
- MOSI_list=[]
- MISO_list=[]
- with open(fn) as f:
- #1行ずつ読み出し
- for s_line in f:
- #とりあえず分解
- s_line_tok=s_line.split()
- effective_line=0
- #時間を示すワードかどうかを判定(雑、、、もっといい手はないのか、、、)
- if 'us' in s_line_tok[0]:
- effective_line=1
- t_read=float(s_line_tok[0].replace('us',''))*1e-6
- elif 'ms' in s_line_tok[0]:
- effective_line=1
- t_read=float(s_line_tok[0].replace('ms',''))*1e-3
- if effective_line==1:
- SCK_read=int(s_line_tok[3])
- CS_read=int(s_line_tok[4])
- MOSI_read=int(s_line_tok[5])
- MISO_read=int(s_line_tok[10])
- t_list.append(t_read)
- SCK_list.append(SCK_read)
- CS_list.append(CS_read)
- MOSI_list.append(MOSI_read)
- MISO_list.append(MISO_read)
- #List型をnumpy.ndarray型に変換する
- t_array=np.array(t_list)
- SCK_array=np.array(SCK_list)
- CS_array=np.array(CS_list)
- MOSI_array=np.array(MOSI_list)
- MISO_array=np.array(MISO_list)
- #2値化
- SCK_array=np.where(SCK_array>0,1,0)
- CS_array=np.where(CS_array>0,1,0)
- MOSI_array=np.where(MOSI_array>0,1,0)
- MISO_array=np.where(MISO_array>0,1,0)
- return len(t_list),t_array,SCK_array,CS_array,MOSI_array,MISO_array
- #引数data(ndarray)の立上り立下りエッジのndarrayのインデックスを取得する
- def detect_edges(data):
- data_0=np.append(data,0)
- data_1=np.append(0,data)
- data_d=data_0-data_1
- posedges_index=(np.where(data_d>0))[0]
- negedges_index=(np.where(data_d<0))[0]
- return posedges_index,negedges_index
- def main():
- nop,t,SCK,CS,MOSI,MISO=Read_LAP_C_file('Wave_utf-8.txt')
- f_sampling=1/(np.mean(np.diff(t)))
- CS_posedges_index,CS_negedges_index=detect_edges(CS)
- #CSの立下りを起点に解析する
- for CS_negedge_index in CS_negedges_index:
- #CS立下り以降のCS立ち上がりのインデックスを調べる
- CS_posedges_index_following=(np.where(CS_posedges_index>CS_negedge_index))[0]
- #CS立ち上がりがある場合
- if len(CS_posedges_index_following)>0:
- #直近のCS立ち上がりのインデックスを取得
- CS_posedge_index=CS_posedges_index[CS_posedges_index_following[0]]
- #CS立下りから立上りまでのデータを切り出す
- t_part=t[CS_negedge_index:CS_posedge_index]
- SCK_part=SCK[CS_negedge_index:CS_posedge_index]
- #SCKの立上りエッジを取得する(SPIの仕様により立下りを使う場合もある)
- SCK_posedges_index,_=detect_edges(SCK_part)
- #SCKの立上りエッジが1つ以上ある場合
- if len(SCK_posedges_index)>0:
- #CS立下りから立上りまでのデータを切り出す
- MOSI_part=MOSI[CS_negedge_index:CS_posedge_index]
- MISO_part=MISO[CS_negedge_index:CS_posedge_index]
- #SCKの立上りエッジタイミングのデータを取得
- MOSI_data=MOSI_part[SCK_posedges_index]
- MISO_data=MISO_part[SCK_posedges_index]
- t_readtimings=t_part[SCK_posedges_index]
- #SCK 8パルスのタイミングを取得してビットレートを算出
- t_bitlen=np.mean(np.diff(t_readtimings[0:8]))
- f_bitrate=1/t_bitlen
- #コンソールに出力
- print(CS_negedge_index,end='\t')
- print(CS_posedge_index,end='\t')
- print(f_bitrate,end='\t')
- for dout in MOSI_data:
- print(dout,end='')
- print('',end='\t')
- for dout in MISO_data:
- print(dout,end='')
- print('',end='\n')
- fig=plt.figure()
- fig.add_subplot(3,1,1)
- plt.plot(SCK)
- fig.add_subplot(3,1,2)
- plt.plot(CS)
- fig.add_subplot(3,1,3)
- plt.plot(MOSI)
- plt.show()
- if __name__ == '__main__':
- main()
で、実行すると、0か1かでデータが得られます。LAP-Cのデータと比較すると、、、最初の数バイトはあっているので、多分全部あっているでしょう(雑)。
これをバイトごとにhexで出力するようにするかどうかは、、、考え中。それほど必要性はないような、、、ビット数が8の倍数にならなかったらどうするかとか、1ビットずれてbyteにしちゃう対策をどうするかとか、考えると面倒、、、
root@r822:~/work/vscode-python3/spi_analysis# /usr/bin/python3 /home/hoge/work/vscode-python3/spi_analysis/spi_analysis.py
26165 56137 12068965.51724139 0010101000000000000000000000000000000000001010110000000000000000000000000000000000101100111111111111111100101010000000000000000000000000000000000010101100000000000000010000000000000001001011001111111111111111001010100000000000000000000000000000000000101011000000000000001000000000000000100010110011111111111111110010101000000000000000000000000000000000001010110000000000000011000000000000001100101100111111111111111100101010000000000000000000000000000000000010101100000000000001000000000000000100001011001111111111111111001010100000000000000000000000000000000000101011000000000000010100000000000001010010110011111111111111110010101000000000000000000000000000000000001010110000000000000110000000000000011000101100111111111111111100101010000000000000000100000000000000010010101100000000000000110000000000000011001011001111111111111111001010100000000000000010000000000000001000101011000000000000001100000000000000110010110011111111111111110010101000000000000000110000000000000011001010110000000000000011000000000000001100101100111111111111111100101010000000000000010000000000000001000010101100000000000000000000000000000000001011001111111111111111001010100000000000000100000000000000010000101011000000000000000100000000000000010010110011111111111111110010101000000000000001000000000000000100001010110000000000000010000000000000001000101100111111111111111100101010000000000000010000000000000001000010101100000000000000110000000000000011001011001111111111111111001010100000000000000100000000000000010000101011000000000000010000000000000001000010110011111111111111110010101000000000000001000000000000000100001010110000000000000101000000000000010100101100111111111111111100101010000000000000010000000000000001000010101100000000000001100000000000000110001011001111111111111111 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
56950 81937 12068965.51724086 0010101000000000000001100000000000000110001010110000000000000011000000000000001100101100111111111111111100101010000000000000011000000000000001100010101100000000000001000000000000000100001011001111111111111111001010100000000000000110000000000000011000101011000000000000010100000000000001010010110011111111111111110010101000000000000001110000000000000111001010110000000000000010000000000000001000101100111111111111111100101010000000000000011100000000000001110010101100000000000001000000000000000100001011001111111111111111001010100000000000000111000000000000011100101011000000000000011000000000000001100010110011111111111111110010101000000000000010000000000000001000001010110000000000000010000000000000001000101100111111111111111100101010000000000000100000000000000010000010101100000000000001000000000000000100001011001111111111111111001010100000000000001000000000000000100000101011000000000000011000000000000001100010110011111111111111110010101000000000000010010000000000001001001010110000000000000010000000000000001000101100111111111111111100101010000000000000100100000000000010010010101100000000000001000000000000000100001011001111111111111111001010100000000000001001000000000000100100101011000000000000011000000000000001100010110011111111111111110010101000000000000010100000000000001010001010110000000000000011000000000000001100101100111111111111111100101010000000000000101000000000000010100010101100000000000001000000000000000100001011001111111111111111 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
82750 101157 11666666.666668491 00101010000000000000110100000000000011010010101100000000000000000000000000000000001011001111111111111111001010100000000000001101000000000000110100101011000000000000011000000000000001100010110011111111111111110010101000000000000011100000000000001110001010110000000000000000000000000000000000101100111111111111111100101010000000000000111000000000000011100010101100000000000000010000000000000001001011001111111111111111001010100000000000001110000000000000111000101011000000000000001000000000000000100010110011111111111111110010101000000000000011100000000000001110001010110000000000000011000000000000001100101100111111111111111100101010000000000000111000000000000011100010101100000000000001000000000000000100001011001111111111111111001010100000000000001110000000000000111000101011000000000000010100000000000001010010110011111111111111110010101000000000000011100000000000001110001010110000000000000110000000000000011000101100111111111111111100101010000000000000111100000000000011110010101100000000000001100000000000000110001011001111111111111111 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
101971 120198 12068965.51724086 00101010000000000001001100000000000100110010101100000000000000000000000000000000001011001111111111111111001010100000000000010011000000000001001100101011000000000000011000000000000001100010110011111111111111110010101000000000000101000000000000010100001010110000000000000000000000000000000000101100111111111111111100101010000000000001010000000000000101000010101100000000000000010000000000000001001011001111111111111111001010100000000000010100000000000001010000101011000000000000001000000000000000100010110011111111111111110010101000000000000101000000000000010100001010110000000000000011000000000000001100101100111111111111111100101010000000000001010000000000000101000010101100000000000001000000000000000100001011001111111111111111001010100000000000010100000000000001010000101011000000000000010100000000000001010010110011111111111111110010101000000000000101000000000000010100001010110000000000000110000000000000011000101100111111111111111100101010000000000001010100000000000101010010101100000000000001100000000000000110001011001111111111111111 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
121012 142849 12068965.51724086 001010100000000000011000000000000001100000101011000000000000001100000000000000110010110011111111111111110010101000000000000110000000000000011000001010110000000000000100000000000000010000101100111111111111111100101010000000000001100000000000000110000010101100000000000001010000000000000101001011001111111111111111001010100000000000011001000000000001100100101011000000000000001000000000000000100010110011111111111111110010101000000000000110010000000000011001001010110000000000000110000000000000011000101100111111111111111100101010000000000001101000000000000110100010101100000000000000100000000000000010001011001111111111111111001010100000000000011010000000000001101000101011000000000000011000000000000001100010110011111111111111110010101000000000000110110000000000011011001010110000000000000010000000000000001000101100111111111111111100101010000000000001101100000000000110110010101100000000000001100000000000000110001011001111111111111111001010100000000000011100000000000001110000101011000000000000001100000000000000110010110011111111111111110010101000000000000111000000000000011100001010110000000000000100000000000000010000101100111111111111111100101010000000000001110000000000000111000010101100000000000001010000000000000101001011001111111111111111 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
146102 176022 12068965.51724086 0010101000000000001001000000000000100100001010110000000000000000000000000000000000101100111111111111111100101010000000000010010000000000001001000010101100000000000000010000000000000001001011001111111111111111001010100000000000100100000000000010010000101011000000000000001000000000000000100010110011111111111111110010101000000000001001000000000000100100001010110000000000000011000000000000001100101100111111111111111100101010000000000010010000000000001001000010101100000000000001000000000000000100001011001111111111111111001010100000000000100100000000000010010000101011000000000000010100000000000001010010110011111111111111110010101000000000001001010000000000100101001010110000000000000110000000000000011000101100111111111111111100101010000000000010011000000000001001100010101100000000000000110000000000000011001011001111111111111111001010100000000000100110000000000010011000101011000000000000010000000000000001000010110011111111111111110010101000000000001001100000000000100110001010110000000000000101000000000000010100101100111111111111111100101010000000000010011100000000001001110010101100000000000001100000000000000110001011001111111111111111001010100000000000101000000000000010100000101011000000000000000000000000000000000010110011111111111111110010101000000000001010000000000000101000001010110000000000000001000000000000000100101100111111111111111100101010000000000010100000000000001010000010101100000000000000100000000000000010001011001111111111111111001010100000000000101000000000000010100000101011000000000000001100000000000000110010110011111111111111110010101000000000001010000000000000101000001010110000000000000100000000000000010000101100111111111111111100101010000000000010100000000000001010000010101100000000000001010000000000000101001011001111111111111111 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
176835 198582 11666666.666668491 001010100000000000101010000000000010101000101011000000000000001100000000000000110010110011111111111111110010101000000000001010100000000000101010001010110000000000000100000000000000010000101100111111111111111100101010000000000010101000000000001010100010101100000000000001010000000000000101001011001111111111111111001010100000000000101011000000000010101100101011000000000000001000000000000000100010110011111111111111110010101000000000001010110000000000101011001010110000000000000110000000000000011000101100111111111111111100101010000000000010110000000000001011000010101100000000000000100000000000000010001011001111111111111111001010100000000000101100000000000010110000101011000000000000011000000000000001100010110011111111111111110010101000000000001011010000000000101101001010110000000000000010000000000000001000101100111111111111111100101010000000000010110100000000001011010010101100000000000001100000000000000110001011001111111111111111001010100000000000101110000000000010111000101011000000000000001100000000000000110010110011111111111111110010101000000000001011100000000000101110001010110000000000000100000000000000010000101100111111111111111100101010000000000010111000000000001011100010101100000000000001010000000000000101001011001111111111111111 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
199395 215975 11666666.666668491 001010100000000000110000000000000011000000101011000000000000001000000000000000100010110011111111111111110010101000000000001100000000000000110000001010110000000000000011000000000000001100101100111111111111111100101010000000000011000000000000001100000010101100000000000001000000000000000100001011001111111111111111001010100000000000110000000000000011000000101011000000000000010100000000000001010010110011111111111111110010101000000000001100000000000000110000001010110000000000000110000000000000011000101100111111111111111100101010000000000011000100000000001100010010101100000000000000110000000000000011001011001111111111111111001010100000000000110010000000000011001000101011000000000000001000000000000000100010110011111111111111110010101000000000001100110000000000110011001010110000000000000010000000000000001000101100111111111111111100101010000000000011010000000000001101000010101100000000000000110000000000000011001011001111111111111111 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
216788 235102 12068965.517249886 00101010000000000011011100000000001101110010101100000000000000000000000000000000001011001111111111111111001010100000000000110111000000000011011100101011000000000000011000000000000001100010110011111111111111110010101000000000001110000000000000111000001010110000000000000000000000000000000000101100111111111111111100101010000000000011100000000000001110000010101100000000000000010000000000000001001011001111111111111111001010100000000000111000000000000011100000101011000000000000001000000000000000100010110011111111111111110010101000000000001110000000000000111000001010110000000000000011000000000000001100101100111111111111111100101010000000000011100000000000001110000010101100000000000001000000000000000100001011001111111111111111001010100000000000111000000000000011100000101011000000000000010100000000000001010010110011111111111111110010101000000000001110000000000000111000001010110000000000000110000000000000011000101100111111111111111100101010000000000011100100000000001110010010101100000000000001100000000000000110001011001111111111111111 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
root@r822:~/work/vscode-python3/spi_analysis#
コメントをお書きください