ロジックアナライザーをゲット

ESP8266で E-ink を表示させるために、信号解析用のロジックアナライザーが必要になりそうなので、安いものを探しました。

以前、Logic Pirate (とLogic Snifferで動作)というのを知りましたが、

Logic Pirate というオープンソースのロジックアナライザ

ハードが4500円(30ドル+送料)ほどで、もう少し安いのはないかと調査すると、ありました。世の中は本当に広いものです。

EZ-USB FX2LP CY7C68013A USB Development Board Core Board Logic Analyzer

CY7C68013A

これはaliexpress で1000円以下で売っています。ソフトウェアは、sigrok というオープンソースがあります。ということで、ポチっておきました。年末に来るといいな。

追記:EZ-USB FX2LPでアリエクを検索すると、たくさんでてきます。2021年2月時点で、537円になっていました。

追記:とても良い映像コンテンツがあったので貼っておきます。@OpenTechLabChan さんのチャンネルです。

http://sigrok.org/wiki/Main_Page

sigrok_logo

Windows はバイナリがあり、osx は brew で入れるようで、試してみましたが、インストールに失敗するようで、そのメモです。windows バイナリ版は起動し、以下のようにデモ信号を見れます。最初の一台としては十分な機能のような気がします。

Windows7__Running_

sigrok を osx で動作させるため、以下を参考。

http://sigrok.org/wiki/Mac_OS_X

以下の流れですが、★でこけます。

1) $ brew tap rene-dev/sigrok

2) $ brew install python3
3) $ brew install –HEAD libserialport
★4) $ brew install –HEAD –with-libserialport libsigrok
5) $ brew install –HEAD libsigrokdecode
6) $ brew install –HEAD –with-libserialport sigrok-cli
7) $ brew install –HEAD pulseview

8) $ brew install sigrok-cli

ファームウェアは、以下のようです。

・fx2lafw open-source firmware
http://sigrok.org/wiki/Fx2lafw
Lcsoft Mini Board (CY7C68013A)

以下、こける部分です。

1) ------------------------------------------------------
HOPE:~ junkhack$ brew tap rene-dev/sigrok
==> Tapping rene-dev/sigrok
Cloning into '/usr/local/Library/Taps/rene-dev/homebrew-sigrok'...
remote: Counting objects: 8, done.
remote: Compressing objects: 100% (8/8), done.
remote: Total 8 (delta 4), reused 2 (delta 0), pack-reused 0
Unpacking objects: 100% (8/8), done.
Checking connectivity... done.
Tapped 6 formulae (35 files, 144K)
HOPE:~ junkhack$ 

・何か入れてからじゃないとだめな感じ。
8) ------------------------------------------------------
HOPE:~ junkhack$ brew install sigrok-cli
Error: Formulae found in multiple taps: 
 * homebrew/science/sigrok-cli
 * rene-dev/sigrok/sigrok-cli

Please use the fully-qualified name e.g. homebrew/science/sigrok-cli to refer the formula.
HOPE:~ junkhack$ 

・python3 はもう入ってた
2) ------------------------------------------------------
HOPE:~ junkhack$ brew install python3
Warning: python3-3.4.3_2 already installed
HOPE:~ junkhack$ 

・libserialport は入る
3) ------------------------------------------------------
HOPE:~ junkhack$ brew install --HEAD libserialport
==> Installing libserialport from rene-dev/homebrew-sigrok
==> Cloning git://sigrok.org/libserialport
Cloning into '/Library/Caches/Homebrew/libserialport--git'...
remote: Counting objects: 1036, done.
remote: Compressing objects: 100% (870/870), done.
remote: Total 1036 (delta 703), reused 249 (delta 165)
Receiving objects: 100% (1036/1036), 245.95 KiB | 81.00 KiB/s, done.
Resolving deltas: 100% (703/703), done.
Checking connectivity... done.
==> Checking out branch master
==> ./autogen.sh
==> ./configure --prefix=/usr/local/Cellar/libserialport/HEAD
==> make install
  /usr/local/Cellar/libserialport/HEAD: 9 files, 220K, built in 26 seconds
HOPE:~ junkhack$ 

・ここがこける
4) ------------------------------------------------------
HOPE:~ junkhack$ brew install --HEAD --with-libserialport libsigrok
==> Installing libsigrok from rene-dev/homebrew-sigrok
==> Installing dependencies for rene-dev/sigrok/libsigrok: libzip, libusb, libsigc++, glibmm, doxygen, autoconf-archive
==> Installing rene-dev/sigrok/libsigrok dependency: libzip
==> Downloading https://homebrew.bintray.com/bottles/libzip-0.11.2.mavericks.bottle.2.tar.gz
######################################################################## 100.0%
==> Pouring libzip-0.11.2.mavericks.bottle.2.tar.gz
  /usr/local/Cellar/libzip/0.11.2: 81 files, 536K
==> Installing rene-dev/sigrok/libsigrok dependency: libusb
==> Downloading https://homebrew.bintray.com/bottles/libusb-1.0.19.mavericks.bottle.1.tar.gz
######################################################################## 100.0%
==> Pouring libusb-1.0.19.mavericks.bottle.1.tar.gz
  /usr/local/Cellar/libusb/1.0.19: 11 files, 368K
==> Installing rene-dev/sigrok/libsigrok dependency: libsigc++
==> Downloading https://homebrew.bintray.com/bottles/libsigc++-2.4.1.mavericks.bottle.tar.gz
######################################################################## 100.0%
==> Pouring libsigc++-2.4.1.mavericks.bottle.tar.gz
  /usr/local/Cellar/libsigc++/2.4.1: 679 files, 14M
==> Installing rene-dev/sigrok/libsigrok dependency: glibmm
==> Downloading https://homebrew.bintray.com/bottles/glibmm-2.44.0.mavericks.bottle.tar.gz
######################################################################## 100.0%
==> Pouring glibmm-2.44.0.mavericks.bottle.tar.gz
  /usr/local/Cellar/glibmm/2.44.0: 1626 files, 42M
==> Installing rene-dev/sigrok/libsigrok dependency: doxygen
==> Downloading https://homebrew.bintray.com/bottles/doxygen-1.8.10.mavericks.bottle.tar.gz
######################################################################## 100.0%
==> Pouring doxygen-1.8.10.mavericks.bottle.tar.gz
  /usr/local/Cellar/doxygen/1.8.10: 8 files, 14M
==> Installing rene-dev/sigrok/libsigrok dependency: autoconf-archive
==> Downloading https://homebrew.bintray.com/bottles/autoconf-archive-2015.02.24.mavericks.bottle.tar.gz
######################################################################## 100.0%
==> Pouring autoconf-archive-2015.02.24.mavericks.bottle.tar.gz
  /usr/local/Cellar/autoconf-archive/2015.02.24: 558 files, 4.3M
==> Installing rene-dev/sigrok/libsigrok
==> Cloning git://sigrok.org/libsigrok
Cloning into '/Library/Caches/Homebrew/libsigrok--git'...
remote: Counting objects: 27468, done.
remote: Compressing objects: 100% (13210/13210), done.
remote: Total 27468 (delta 19195), reused 20128 (delta 13736)
Receiving objects: 100% (27468/27468), 5.74 MiB | 274.00 KiB/s, done.
Resolving deltas: 100% (19195/19195), done.
Checking connectivity... done.
==> Checking out branch master
==> ./autogen.sh
==> ./configure --prefix=/usr/local/Cellar/libsigrok/HEAD
==> make install
    src/hardware/sysclk-lwla/.libs/api.o
ld: 8 duplicate symbols for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make: *** [libsigrok.la] Error 1
make: *** Waiting for unfinished jobs....
/usr/local/Library/Homebrew/build.rb:178:in `dump': can't dump anonymous class #<Class:0x007f8c0b2253c8> (TypeError)
    from /usr/local/Library/Homebrew/build.rb:178:in `rescue in <main>'
    from /usr/local/Library/Homebrew/build.rb:167:in `<main>'
Error: marshal data too short
Please report this bug:
    https://git.io/brew-troubleshooting
/usr/local/Library/Homebrew/utils/fork.rb:39:in `load'
/usr/local/Library/Homebrew/utils/fork.rb:39:in `block (3 levels) in safe_fork'
/usr/local/Library/Homebrew/utils.rb:346:in `ignore_interrupts'
/usr/local/Library/Homebrew/utils/fork.rb:26:in `block (2 levels) in safe_fork'
/usr/local/Library/Homebrew/utils/fork.rb:7:in `open'
/usr/local/Library/Homebrew/utils/fork.rb:7:in `block in safe_fork'
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/tmpdir.rb:88:in `mktmpdir'
/usr/local/Library/Homebrew/utils/fork.rb:6:in `safe_fork'
/usr/local/Library/Homebrew/formula_installer.rb:542:in `build'
/usr/local/Library/Homebrew/formula_installer.rb:202:in `install'
/usr/local/Library/Homebrew/cmd/install.rb:189:in `install_formula'
/usr/local/Library/Homebrew/cmd/install.rb:94:in `block in install'
/usr/local/Library/Homebrew/cmd/install.rb:94:in `each'
/usr/local/Library/Homebrew/cmd/install.rb:94:in `install'
/usr/local/Library/brew.rb:133:in `<main>'
HOPE:~ junkhack$ 

・進めるが、Error
5) ------------------------------------------------------
HOPE:~ junkhack$ brew install --HEAD libsigrokdecode
Error: Formulae found in multiple taps: 
 * homebrew/science/libsigrokdecode
 * rene-dev/sigrok/libsigrokdecode

Please use the fully-qualified name e.g. homebrew/science/libsigrokdecode to refer the formula.
HOPE:~ junkhack$ 

・進めるが、Error
6) ------------------------------------------------------
HOPE:~ junkhack$ brew install --HEAD --with-libserialport sigrok-cli
Error: Formulae found in multiple taps: 
 * homebrew/science/sigrok-cli
 * rene-dev/sigrok/sigrok-cli

Please use the fully-qualified name e.g. homebrew/science/sigrok-cli to refer the formula.
HOPE:~ junkhack$ 

・進めるが、Error
7) ------------------------------------------------------
HOPE:~ junkhack$ brew install --HEAD pulseview
Error: Formulae found in multiple taps: 
 * homebrew/science/pulseview
 * rene-dev/sigrok/pulseview

Please use the fully-qualified name e.g. homebrew/science/pulseview to refer the formula.
HOPE:~ junkhack$ 

・進めるが、Error
8) ------------------------------------------------------
HOPE:~ junkhack$ brew install sigrok-cli
Error: Formulae found in multiple taps: 
 * homebrew/science/sigrok-cli
 * rene-dev/sigrok/sigrok-cli

Please use the fully-qualified name e.g. homebrew/science/sigrok-cli to refer the formula.
HOPE:~ junkhack$ 

Building manually の手順でやればいいのかもですが、osx のバイナリもだれか作っているはずで、探したらありました。また実機が着たらゆっくり料理することにし、今はソフトウェアの動作だけ確認しておきます。

_Applicationsちょっとバージョンは古いようですが、osx でも動作するようです。

ドラッグでタイムラインの移動、マウスホイールで信号の拡大縮小できるインターフェイスです。各種信号解析も可能なようです。デジタルは8チャンネル入るようですので、これで十分用は足せそうです。DHT の温度センサーのデータ解析もあるようです。自分にはこれで十分だと思います。osx サポートするハードウェアはかなりたくさんあって、迷います。とりあえず、8チャンネル取れるもので、安いものを選びました。

Open Workbench Logic Sniffer というのも、良さそうです。

http://sigrok.org/wiki/Supported_hardware
Supported_hardware_-_sigrok

その後、マニュアルビルドを試すも、libsigrok のmake で失敗。以下次回再開するときのメモ。

・Building manually
http://sigrok.org/wiki/Mac_OS_X

★Install MacPorts,
★Install Qt, download qt-mac-opensource-4.7.4.dmg
★以下必須

$ sudo port install boost libusb libzip libftdi0
$ sudo port install autoconf automake cmake glib2 python33 libtool pkgconfig
$ export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig/

---------------------
libserialport --> OK
libsigrok --> NG
libsigrokdecode --> OK
sigrok-cli --> NG (libsigrok必須)
PulseView --> NG (libsigrokcxx>=0.4.0 必須)
---------------------

▼libserialport
$ git clone git://sigrok.org/libserialport
$ cd libserialport
$ ./autogen.sh
$ ./configure
$ make
$ sudo make install

★OK

    HOPE:libserialport junkhack$ make
    /Applications/Xcode.app/Contents/Developer/usr/bin/make  all-am
      CC       serialport.lo
      CC       macosx.lo
      CCLD     libserialport.la
    HOPE:libserialport junkhack$ 
    HOPE:libserialport junkhack$ sudo make install
    Password:
     /usr/local/bin/gmkdir -p '/usr/local/lib'
     /bin/sh ./libtool --silent  --mode=install /usr/local/bin/ginstall -c   libserialport.la '/usr/local/lib'
     /usr/local/bin/gmkdir -p '/usr/local/include'
     /usr/local/bin/ginstall -c -m 644 libserialport.h '/usr/local/include'
     /usr/local/bin/gmkdir -p '/usr/local/lib/pkgconfig'
     /usr/local/bin/ginstall -c -m 644 libserialport.pc '/usr/local/lib/pkgconfig'
    HOPE:libserialport junkhack$

▼libsigrok
$ git clone git://sigrok.org/libsigrok
$ cd libsigrok
$ ./autogen.sh
$ ./configure
$ make★こける。これが入らないと進まない。
$ sudo make install

    libsigrok configuration summary:
     - Package version................. 0.4.0-git-17124cf
     - Library ABI version............. 2:0:0
     - Prefix.......................... /usr/local
     - Building on..................... x86_64-apple-darwin13.4.0
     - Building for.................... x86_64-apple-darwin13.4.0
    
    Compile configuration:
     - C compiler...................... gcc
     - C compiler version.............. Apple LLVM version 6.0 (clang-600.0.57) (based on LLVM 3.5svn)
     - C compiler flags................ -g -O2
     - Additional C compiler flags..... -std=c99 -fvisibility=hidden
     - C compiler warnings............. -Wall -Wextra -Wmissing-prototypes
     - C++ compiler.................... g++
     - C++ compiler version............ Apple LLVM version 6.0 (clang-600.0.57) (based on LLVM 3.5svn)
     - C++ compiler flags.............. -g -O2 -std=c++11
     - C++ compiler warnings........... -Wall -Wextra
    
    Detected libraries (required):
     - glib-2.0 >= 2.32.0.............. 2.44.1
     - libzip >= 0.10.................. 0.11.2
    
    Detected libraries (optional):
     - libserialport >= 0.1.1.......... 0.1.1
     - libftdi1 >= 1.0................. no
     - libftdi >= 0.16................. 0.20
     - libusb-1.0 >= 1.0.16............ 1.0.19
     - librevisa >= 0.0.20130412....... no
     - libgpib......................... no
     - libieee1284..................... no
     - check >= 0.9.4.................. no
     - glibmm-2.4 >= 2.32.0............ 2.44.0
     - python = 2.7.................... 2.7
     - pygobject-3.0 >= 3.0.0.......... no
    
    Enabled hardware drivers:
     - agilent-dmm..................... yes
     - appa-55ii....................... yes
     - asix-sigma...................... yes
     - atten-pps3xxx................... yes
     - baylibre-acme................... no (missing: sys_timerfd_h)
     - beaglelogic..................... yes
     - brymen-bm86x.................... yes
     - brymen-dmm...................... yes
     - cem-dt-885x..................... yes
     - center-3xx...................... yes
     - chronovu-la..................... yes
     - colead-slm...................... yes
     - conrad-digi-35-cpu.............. yes
     - deree-de5000.................... yes
     - demo............................ yes
     - fluke-dmm....................... yes
     - fx2lafw......................... yes
     - gmc-mh-1x-2x.................... yes
     - gwinstek-gds-800................ yes
     - hameg-hmo....................... yes
     - hantek-dso...................... yes
     - hung-chang-dso-2100............. no (missing: libieee1284)
     - ikalogic-scanalogic2............ yes
     - ikalogic-scanaplus.............. yes
     - kecheng-kc-330b................. yes
     - kern-scale...................... yes
     - korad-kaxxxxp................... yes
     - lascar-el-usb................... yes
     - manson-hcs-3xxx................. yes
     - maynuo-m97...................... yes
     - mic-985xx....................... yes
     - motech-lps-30x.................. yes
     - norma-dmm....................... yes
     - openbench-logic-sniffer......... yes
     - pipistrello-ols................. yes
     - rigol-ds........................ yes
     - saleae-logic16.................. yes
     - scpi-pps........................ yes
     - serial-dmm...................... yes
     - sysclk-lwla..................... yes
     - teleinfo........................ yes
     - testo........................... yes
     - tondaj-sl-814................... yes
     - uni-t-dmm....................... yes
     - uni-t-ut32x..................... yes
     - victor-dmm...................... yes
     - yokogawa-dlm.................... yes
     - zeroplus-logic-cube............. yes
    
    Enabled SCPI backends:
     - TCP............................. yes
     - RPC............................. yes
     - serial.......................... yes
     - VISA............................ no
     - GPIB............................ no
     - USBTMC.......................... yes
    
    Enabled language bindings:
     - C++............................. yes
     - Python.......................... no (missing: PyGObject, SWIG)
     - Java............................ no (missing: SWIG, JNI headers)


    HOPE:libsigrok junkhack$ make
    /Applications/Xcode.app/Contents/Developer/usr/bin/make  all-am
      CC       src/backend.lo
      CC       src/device.lo
    
    ::
    
      CC       src/hardware/zeroplus-logic-cube/api.lo
      CCLD     libsigrok.la
    duplicate symbol _lwla1016_info in:
        src/hardware/sysclk-lwla/.libs/lwla.o
        src/hardware/sysclk-lwla/.libs/lwla1016.o
    duplicate symbol _lwla1034_info in:
        src/hardware/sysclk-lwla/.libs/lwla.o
        src/hardware/sysclk-lwla/.libs/lwla1016.o
    duplicate symbol _lwla1034_info in:
        src/hardware/sysclk-lwla/.libs/lwla.o
        src/hardware/sysclk-lwla/.libs/lwla1034.o
    duplicate symbol _lwla1016_info in:
        src/hardware/sysclk-lwla/.libs/lwla.o
        src/hardware/sysclk-lwla/.libs/lwla1034.o
    duplicate symbol _lwla1016_info in:
        src/hardware/sysclk-lwla/.libs/lwla.o
        src/hardware/sysclk-lwla/.libs/protocol.o
    duplicate symbol _lwla1034_info in:
        src/hardware/sysclk-lwla/.libs/lwla.o
        src/hardware/sysclk-lwla/.libs/protocol.o
    duplicate symbol _lwla1016_info in:
        src/hardware/sysclk-lwla/.libs/lwla.o
        src/hardware/sysclk-lwla/.libs/api.o
    duplicate symbol _lwla1034_info in:
        src/hardware/sysclk-lwla/.libs/lwla.o
        src/hardware/sysclk-lwla/.libs/api.o
    ld: 8 duplicate symbols for architecture x86_64
    clang: error: linker command failed with exit code 1 (use -v to see invocation)
    make[1]: *** [libsigrok.la] Error 1
    make: *** [all] Error 2
    HOPE:libsigrok junkhack$ 

▼libsigrokdecode
$ git clone git://sigrok.org/libsigrokdecode
$ cd libsigrokdecode
$ ./autogen.sh
$ ./configure
$ make
$ sudo make install

★OK

    1 warning generated.
      CC       decoder.lo
      CC       instance.lo
      CC       log.lo
      CC       util.lo
      CC       exception.lo
      CC       module_sigrokdecode.lo
      CC       type_decoder.lo
      CC       type_logic.lo
      CC       error.lo
      CC       version.lo
      CCLD     libsigrokdecode.la
    HOPE:libsigrokdecode junkhack$ sudo make install
     /usr/local/bin/gmkdir -p '/usr/local/lib'
     /bin/sh ./libtool --silent  --mode=install /usr/local/bin/ginstall -c   libsigrokdecode.la '/usr/local/lib'
     /usr/local/bin/gmkdir -p '/usr/local/include/libsigrokdecode'
     /usr/local/bin/ginstall -c -m 644 version.h '/usr/local/include/libsigrokdecode'
     /usr/local/bin/gmkdir -p '/usr/local/lib/pkgconfig'
     /usr/local/bin/ginstall -c -m 644 libsigrokdecode.pc '/usr/local/lib/pkgconfig'
     /usr/local/bin/gmkdir -p '/usr/local/include/libsigrokdecode'
     /usr/local/bin/ginstall -c -m 644 libsigrokdecode.h '/usr/local/include/libsigrokdecode'
    /Applications/Xcode.app/Contents/Developer/usr/bin/make  install-data-hook
    /usr/local/bin/gmkdir -p /usr/local/share/libsigrokdecode/decoders
    python3.4 ./tools/install-decoders \
            -i ./decoders -o /usr/local/share/libsigrokdecode/decoders
    Installing 59 protocol decoders:
    adns5020 am230x arm_etmv3 arm_itm arm_tpiu avr_isp can dcf77 ds1307 edid 
    eeprom24xx guess_bitrate i2c i2cdemux i2cfilter i2s ir_nec ir_rc5 jitter jtag 
    jtag_stm32 lm75 lpc max7219 maxim_ds28ea00 mdio midi mlx90614 modbus mrf24j40 
    mxc6225xu nrf24l01 nunchuk onewire_link onewire_network pan1321 parallel pwm qi 
    rfm12 rgb_led_spi rtc8564 sdcard_sd sdcard_spi spdif spi spiflash stepper_motor 
    swd tca6408a timing tlc5620 uart usb_packet usb_power_delivery usb_request 
    usb_signalling xfp z80 
    HOPE:libsigrokdecode junkhack$ 

▼sigrok-cli
$ git clone git://sigrok.org/sigrok-cli
$ cd sigrok-cli
$ ./autogen.sh
$ ./configure★libsigrokがないと言われる。まぁ、まだ入れてないですからね。
$ make
$ sudo make install

    HOPE:sigrok-cli junkhack$ ./configure 
    checking for a BSD-compatible install... /usr/local/bin/ginstall -c
    checking whether build environment is sane... yes
    ::
    checking for _FILE_OFFSET_BITS value needed for large files... no
    checking for SIGROK_CLI... no
    configure: error: Package requirements (glib-2.0 >= 2.32.0 libsigrok >= 0.4.0 libsigrokdecode >= 0.4.0) were not met:
    
    No package 'libsigrok' found★
    
    Consider adjusting the PKG_CONFIG_PATH environment variable if you
    installed software in a non-standard prefix.
    
    Alternatively, you may set the environment variables SIGROK_CLI_CFLAGS
    and SIGROK_CLI_LIBS to avoid the need to call pkg-config.
    See the pkg-config man page for more details.
    HOPE:sigrok-cli junkhack$ 


▼PulseView
$ git clone git://sigrok.org/pulseview
$ cd pulseview
$ cmake .★libsigrokcxx>=0.4.0 がないと
$ make
$ sudo make install

    HOPE:pulseview junkhack$ cmake .
    -- Found PkgConfig: /opt/local/bin/pkg-config (found version "0.28") 
    -- The C compiler identification is AppleClang 6.0.0.6000057
    -- The CXX compiler identification is AppleClang 6.0.0.6000057
    -- Check for working C compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc
    -- Check for working C compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc -- works
    -- Detecting C compiler ABI info
    -- Detecting C compiler ABI info - done
    -- Detecting C compile features
    -- Detecting C compile features - done
    -- Check for working CXX compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++
    -- Check for working CXX compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++ -- works
    -- Detecting CXX compiler ABI info
    -- Detecting CXX compiler ABI info - done
    -- Detecting CXX compile features
    -- Detecting CXX compile features - done
    -- checking for modules 'libsigrokcxx>=0.4.0;libsigrokdecode>=0.4.0'
    --   package 'libsigrokcxx>=0.4.0' not found
    CMake Error at /opt/local/share/cmake-3.3/Modules/FindPkgConfig.cmake:340 (message):
      A required package was not found
    Call Stack (most recent call first):
      /opt/local/share/cmake-3.3/Modules/FindPkgConfig.cmake:502 (_pkg_check_modules_internal)
      CMakeLists.txt:79 (pkg_check_modules)
    
    
    -- Configuring incomplete, errors occurred!
    See also "/Users/junkhack/Desktop/aa/tmp/pulseview/CMakeFiles/CMakeOutput.log".
    HOPE:pulseview junkhack$ 

※QT はまだ入れてない。

タンタルコンデンサーメモ

WiFi E-ink の基板に使う予定(C15, C16)のタンタルコンデンサーを発注したら、NECトーキンのが送られてきたので、忘れないうちにメモ。

3528_tantalum220uf

タンタルのSMDのサイズが良くわからなくて、どうやら以下のようです。今回のは、3528サイズということのようです。30 個で@20 円くらい。

 tantalum_size

BackBoostのPCBが到着!

PCBが届きましたよ~! 人生初の両面プリント基板です。Elecrow さん、ありがとう!思いのほか速かったと思います。

そして、10枚のところ15枚もあってちょっとお徳感。ミスプリントがあるのかもね。それか単純に初めてですって書いたのでサービスしてくれたのかも。デッカイ画像もリンクしてあるので、興味のあるかたは見てみてください。右上に見えるのは、クリップです。 

backboost_pcb

b

a白色がとても綺麗です。ところどころ、設計上かぶっているシルクパターンは見事にかすれました。これは自分が悪いですので、問題なし。

心配だったIC 部分や0.3mmのVIA などはマスクで隠れていますが、ちゃんと穴があるようなので大丈夫そう。そりゃそうですよね。Eagle 上でのチェックとの比較はまた次回に。そのほか、マイクロUSBや、Wifi Eink に使うTDKインダクタなども到着。backboost 用のパーツはあと電池くらいですかね。

 

まだ、PCBカッターが出来ていないので、1,2枚は手動でカットしますか。土日は少しだけ時間が取れそうなので、基板の切り離しと1枚試作で試してみましょう。

 

ちゃんと、動くかな。その前にちゃんと半田付けできるかな?

E-inkディスプレイが到着

少し前に来たのですが、WiFi E-ink に使用するE-ink ディスプレイが到着しました。製品個体差をチェックするため、2枚購入しました。型番はED060SC4(LF)です。

発色の印象はおおよそ写真のとおりです。印象としては真っ黒というわけではなく、ちょっとグレーです。

1

フレキシブル基板に部品番号があります。(LF)付きです。このデータシートがないんですよね。

 2

商品はテストされたようで、充電中の画面となっているようです。このショップが行ったものかメーカーのテストかはわかりませんが。メーカーがやるテストならもう少し印象の良い画面を出すと思うので、これはショップの発送前チェックかもしれませんね。

 3

裏面は、薄いスポンジ素材が貼り付けてあってズレ防止でしょうか。

厚みは、約1.5mm 程度です。

4

このジョイントも購入済みです。

 5 1枚あたり、送料をいれて1400円程度です。うまく表示ができれば、いろいろなものに応用が出来て楽しくなる予感です。

日本語のソースで、先駆者がいらしたようで、なかなか難しそうです。

kohacraftのblog
タグ:電子ペーパー

オリジナルの接続基板を作られたようです。MCUは、ESP8266 のようです。自分の場合は、ESP13 でいくか、ESP12でいくかまだ決めかねていますので、実際の表示実験はもう少し先になりそうです。

E-ink に表示させるノウハウは以下のサイトが詳しいです。

Essential scrap
Driving E-ink display

このE-ink はV1 のものかもしれませんが、駆動させる基本原理などは参考にしてみたいと思います。上記リンクから、Driving waveforms に行くと詳しく載っています。いくつか落とし穴があるそうで、要約すると以下のようです。Essential scrapさんの E-ink は v1 のもので 9 と 10 は NC のものだと思います。

・ゲートドライバの CKV のHigh と Low のタイミングは重要。タイミングが違うと白にならない(消えない)
・ソースドライバの OE パルスは、ゲートドライバの CKV パルスと同時に送出する
・ソースドライバの 2ビットの意味は、ビット1 と ビット 0 がそれぞれ 01 と 10の場合に黒と白になる
・ED060SC4 には異なるいくつかのバージョンがあり、違いについては、sprite_tm さんのサイトを参照

Wifi E-ink display – Second attempt
http://spritesmods.com/?art=einkdisplay&page=3

ということのようです。sprite_tm さんのページにある意味がまだよくわかっていませんが、フレキシブルケーブルのパターンから自分の持っているものと同一に見えます。裏面のパターンは違うようですが。

 

以前、sprite_tm さんの回路図をトレースしたとき、9pin 10pin は、それぞれGNDと、VDDにつながっていました。

ED060SC4 のpin 9 と pin 10

これの意味するところはなんでしょうね? もう少し英文を読み解かないといけないかもしれません。実際に実験するときは、このあたりの事を視野に入れてやってみたいと思います。

 

IFIXIT Kindle 2 Teardown

この分解写真の型番とも少し違うようです。あと、似た型番で、LB060S01-RD02 という E-ink の型番もあります。ただ、どれも入手できるデータシートには、9,10pin は NC とありますね。

ESP-WROOM-02到着

ESP13 と、ESP-WROOM-02 は同じ品だと思うけども実際使ってみないとわからないので TELEC対応品の刻印がついたものをゲットしました。前回は、ESP13 の初期ロット品かコピー品かのどちらかで、シールドに FCC の刻印すらなかったのですが今回は正規品のようです。

ESP13 なのか?な?
esp13_thumb

以下は、今回の品です。動けば機能は同じかもしれませんが、絵的に刻印があったほうがまぁ、よろしいので。

 

法律はよくわかりませんが、刻印があるなしというよりは、メーカーが同じ企画の品を作っていて、メーカーが取得しているものであれば、どちらも同じだと思うのですが、どうなんでしょうかね?

 

一番肝心なのは、電波干渉するようなものであるかどうかということですが、シールドが付いている以上、あとはファームウェアの問題だと思うのですが。

esp-wroom-02a

2個 で7.23ドルで930円くらいです。@415円 ESP13 は@320円。100円の差ですが、10個作れば、1000円の差がでます。送料を考慮して最安値は、現在この値段でしょう。10個まとめて買えば日本でも安くはなりますが、送料もかかるので。

esp-wroom-02 backboost の基板に使用する予定です。基板が着たら、WiFi E-ink のプログラムもコンパイルできるか確認しようと思っています。WiFi E-ink のユニットもESP12 ではなく、ESP13(ESP-WROOM-02 ) にしたいところです。

 

個人が、開発用に技適マーク相当が取得できるような施策があれば良いのですがね。開発ルームにシールドを作るのもコストがかかりますしね。

15ドルのOrange Piで遊び倒す

遊びがいがありそうなので、ポチりました! 動機としては、OpenStack のARMビルド版を動かすのを目標にしています。

 

CPU には、allwinner のH3 というアーキテクチャーネームはsun8iw7p1 というものが載っています。

4K に対応した H.265/HEVC 4K@30fps のデコードが出来るんですよ。そして、4コアですよ。1.6Ghz で動作して、こんなのが2300円で買えてしまうなんて。もう驚きです。!!!どうやら、これは30ドル~50ドルくらいのSTBを対象に開発されたようで、価格は6ドルとのこと。

H3_Allwinner_TechnologyH3_Allwinner_Technology 2

Allwinner_H3_Datasheetv1.1

UnixBench ではRasPi(2じゃないやつ)よりも速いはずです。到着したら、自身で計測してみますが、他者の結果は以下のようです。RasPi2 より速ければ、うれしいですね。スペック的には速いはずです。以下のベンチマークは、Orange Pi(AllWinner A20)のもの。

参考ソース

http://pastebin.com/chsgAxw2

========================================================================
   BYTE UNIX Benchmarks (Version 5.1.3)
 
   System: OrangePI: GNU/Linux
   OS: GNU/Linux -- 3.4.39 -- #1 SMP PREEMPT Wed Sep 16 13:39:07 CEST 2015
   Machine: armv7l (unknown)
   Language: en_US.utf8 (charmap="UTF-8", collate="UTF-8")
   16:00:08 up 31 min,  1 user,  load average: 3.00, 3.09, 2.76; runlevel 2
 
------------------------------------------------------------------------
Benchmark Run: Sat Sep 19 2015 16:00:08 - 16:28:23
0 CPUs in system; running 1 parallel copy of tests
 
Dhrystone 2 using register variables        5193714.8 lps   (10.0 s, 7 samples)
Double-Precision Whetstone                      791.3 MWIPS (10.1 s, 7 samples)
Execl Throughput                                349.9 lps   (29.9 s, 2 samples)
File Copy 1024 bufsize 2000 maxblocks        121696.0 KBps  (30.0 s, 2 samples)
File Copy 256 bufsize 500 maxblocks           36652.0 KBps  (30.0 s, 2 samples)
File Copy 4096 bufsize 8000 maxblocks        277558.9 KBps  (30.0 s, 2 samples)
Pipe Throughput                              323747.0 lps   (10.0 s, 7 samples)
Pipe-based Context Switching                  12225.1 lps   (10.0 s, 7 samples)
Process Creation                               1044.4 lps   (30.0 s, 2 samples)
Shell Scripts (1 concurrent)                   1433.6 lpm   (60.0 s, 2 samples)
Shell Scripts (8 concurrent)                    472.1 lpm   (60.0 s, 2 samples)
System Call Overhead                         854375.1 lps   (10.0 s, 7 samples)
 
System Benchmarks Index Values               BASELINE       RESULT    INDEX
Dhrystone 2 using register variables         116700.0    5193714.8    445.0
Double-Precision Whetstone                       55.0        791.3    143.9
Execl Throughput                                 43.0        349.9     81.4
File Copy 1024 bufsize 2000 maxblocks          3960.0     121696.0    307.3
File Copy 256 bufsize 500 maxblocks            1655.0      36652.0    221.5
File Copy 4096 bufsize 8000 maxblocks          5800.0     277558.9    478.5
Pipe Throughput                               12440.0     323747.0    260.2
Pipe-based Context Switching                   4000.0      12225.1     30.6
Process Creation                                126.0       1044.4     82.9
Shell Scripts (1 concurrent)                     42.4       1433.6    338.1
Shell Scripts (8 concurrent)                      6.0        472.1    786.9
System Call Overhead                          15000.0     854375.1    569.6
                                                                   ========
System Benchmarks Index Score                                         225.1

 

-c 4 のオプションをつけてないようなので、おそらくRasPi2 よりも速いはず。

 

orangepipc_info オフィシャルサイトには、サポートOSは以下のようです。

orange_pi_homepage_-_Orangepi

www_orangepi_org_downloadresources_ ラインナップは以下のようです。最初の1つを選ぶとしたら、一番安いものでとりあえずいいかなと思ったので、15ドルのOrange Pi PC にしました。大きな違いは、NIC がGB対応にするか、WiFi 付きを選ぶか、SATA も付くのを選ぶか、eMMC8GB のストレージ付きを選ぶかです。

  Orange Pi Orange Pi Plus Orange Pi 2 Orange Pi PC Raspberry Pi 2 Model B
Processor AllWinner A20 Allwinner H3 Allwinner H3 Allwinner H3 Broadcom BCM2836
CPU cores 4x Cortex-A7 @ 1GHz 4x Cortex-A7 @ 1.6GHz 4x Cortex-A7 @ 1.6GHz 4x Cortex-A7 @ 1.6GHz 4x Cortex-A7 @ 900MHz
GPU PowerVR SGX544MP2 ARM Mali-400 MP2 ARM Mali-400 MP2 ARM Mali-400 MP2 Broadcom VideoCore IV
RAM 1GB 1GB 1GB 1GB 1GB
Storage microSD, SATA 2.0 microSD, SATA 2.0, 8GB eMMC microSD microSD microSD
Wireless WiFi WiFI WiFi
Ethernet Gigabit Gigabit 10/100 10/100 10/100
A/V I/O HDMI, composite, LVDS, VGA HDMI, composite HDMI, composite HDMI, composite HDMI, composite
Camera CSI CSI CSI CSI CSI
USB ports 4x USB 2.0; 1x USB OTG 4x USB 2.0; 1x USB OTG 4x USB 2.0; 1x USB OTG 3x USB 2.0; 1x USB OTG 4x USB 2.0
Power +5V via micro-USB or barrel jack +5V via micro-USB or barrel jack +5V via barrel jack +5V via barrel jack +5V via micro-USB
Expansion 26-pin Pi-style; 18-pin 40-pin Pi-style 40-pin Pi-style 40-pin Pi-style 40-pin
Dimensions 112 x 60mm 112 x 60mm 93 x 60mm 85 x 55mm 85 x 56mm
Price (less shipping) $49 $59 $30 $15 $35

オリジナルソース

http://linuxgizmos.com/15-dollar-orange-pi-pc-hacker-sbc-packs-quad-core-soc/

価格のバランスから言って、まずは表中の赤いものでいいかなと思いました。

2300円(15ドル+送料)くらいなので、ちょっと遊んでみようかと思います。目標は、オリジナルなOSビルドです。

野良なイメージはあるけれども、ちょっと心配だし、1からCentOS とかのarm 版を作ってみようかと。目標は、OpenStack のARMビルドを走らせること。そして、検証用のOpenStack 環境を作ってみたいなと。

 

アプリケーションであれば、クロスコンパイル環境を作ればARM版のアプリケーションはビルド出来るのでしょうが、OS自体を1からARM ビルドするにはどうしたらいいのでしょうか? このあたりのノウハウも勉強になると思いますので、やってみたいと思います。

 

オリジナルなブートローダーや、セットアップを簡単にするインストーラなども作れたら面白いなと思っていますが、いろいろスキルが必要になりそうですので、勉強しながらやっていきたいです。

 

それにしても、この部品構成でどやったら、15ドルで出せるのかが不思議です。

CPU は6ドルとのことで、大量に買えば安くはなるのであろうけども、中国のパワーはすごいですね。脅威を通りこして畏敬を感じます。安いのはパワーだと!

 

とりあえず、年末年始はこれで楽しめそうです。SUNXIのマニュアルにH3 とか基本的なマニュアルビルドの手順が載っていたのでメモ。

 

sunxi

Manual build howto

H3 Manual build howto