STマイクロエレクトロニクス AlgoBuilder   

STマイクロエレクトロニクスのAlgoBuilderを使ってみます。

使用方法は、下記リンクをご覧ください。
(ただし、英語です）
https://www.st.com/resource/en/user_manual/dm00483612.pdf

まずは、GET SOFTWARE　よりダウンロードします。
https://www.st.com/content/st_com/en/products/embedded-software/mems-and-sensors-software/inemo-engine-software-libraries/algobuilder.html?icmp=tt7416_gl_pron_jun2018

ログインしてＡｃｃｅｐｔしないとダウンロードできません。

![Algo-1.jpg](https://qiita-image-store.s3.amazonaws.com/0/285344/dce1f9c8-f576-9ddc-ed91-5da43c213260.jpeg)


![Algo-2.jpg](https://qiita-image-store.s3.amazonaws.com/0/285344/ac39d04f-ccf3-2238-904d-9b49f874460b.jpeg)
![Algo-3.jpg](https://qiita-image-store.s3.amazonaws.com/0/285344/9e3f3dd2-219a-d910-24a9-177f3b5b341f.jpeg)
![Algo-4.jpg](https://qiita-image-store.s3.amazonaws.com/0/285344/5d2e3521-27c3-a094-d17b-2aa3970019ec.jpeg)
![Algo-5.jpg](https://qiita-image-store.s3.amazonaws.com/0/285344/04b5d010-f43a-58f5-937f-dcc4051511ff.jpeg)
![Algo-6.jpg](https://qiita-image-store.s3.amazonaws.com/0/285344/a0de63b0-4a74-04a2-53e8-be3d8e311d8e.jpeg)
![Algo-7.jpg](https://qiita-image-store.s3.amazonaws.com/0/285344/67605d4c-1b57-d907-30fb-eaf157cfabfb.jpeg)
![Algo-8.jpg](https://qiita-image-store.s3.amazonaws.com/0/285344/c914d5fe-18ec-e474-701e-c00ad807a221.jpeg)
![Algo-9.jpg](https://qiita-image-store.s3.amazonaws.com/0/285344/030a8832-0c55-a50a-61ae-46f7987994cd.jpeg)
![Algo-10.jpg](https://qiita-image-store.s3.amazonaws.com/0/285344/7d6003e2-6fcb-70b7-bbf2-947118c47c64.jpeg)
![Algo-11.jpg](https://qiita-image-store.s3.amazonaws.com/0/285344/50825f5d-eb3e-cc3e-c80c-c1f90423ec20.jpeg)

次にUnicleo-GUIのダウンロード
https://www.st.com/en/embedded-software/unicleo-gui.html
![Unicleo-gui-2.jpg](https://qiita-image-store.s3.amazonaws.com/0/285344/612a7e4a-bfb3-02c2-5c42-14bfa3db97a8.jpeg)
![Unicleo-gui-3.jpg](https://qiita-image-store.s3.amazonaws.com/0/285344/2acdf6b3-e636-79e5-f9b1-f4d0e3e8af7e.jpeg)
![Unicleo-gui-4.jpg](https://qiita-image-store.s3.amazonaws.com/0/285344/59bd2b15-1831-caa6-8190-bd2b9f56d1d8.jpeg)
![Unicleo-gui-5.jpg](https://qiita-image-store.s3.amazonaws.com/0/285344/b0c6b297-1efa-12b6-8473-bca7432f7d39.jpeg)
![Unicleo-gui-6.jpg](https://qiita-image-store.s3.amazonaws.com/0/285344/43192784-c3e8-95ff-1fb4-03d2df9c2ecc.jpeg)
![Unicleo-gui-7.jpg](https://qiita-image-store.s3.amazonaws.com/0/285344/e9e09e75-6fce-367b-5e69-9194e68f0341.jpeg)
![Unicleo-gui-8.jpg](https://qiita-image-store.s3.amazonaws.com/0/285344/fa61b146-40fd-e96d-f3e3-ec2d73da9dd0.jpeg)
![Unicleo-gui-9.jpg](https://qiita-image-store.s3.amazonaws.com/0/285344/517dbc99-2b75-e7a0-a4ab-2d4b86ecd081.jpeg)
![Unicleo-gui-10.jpg](https://qiita-image-store.s3.amazonaws.com/0/285344/51e9de4f-6caa-d50d-0c90-a1c57c97a2f8.jpeg)
![Unicleo-gui-11.jpg](https://qiita-image-store.s3.amazonaws.com/0/285344/6dba7efd-9642-8a6c-77b0-09decc5195bd.jpeg)
![Unicleo-gui-12.jpg](https://qiita-image-store.s3.amazonaws.com/0/285344/600876d2-d669-bc92-45c4-7eb00de1c849.jpeg)
![Unicleo-gui-13.jpg](https://qiita-image-store.s3.amazonaws.com/0/285344/524c0111-5191-dc2c-028e-63fe908f1f8f.jpeg)
![Unicleo-gui-14.jpg](https://qiita-image-store.s3.amazonaws.com/0/285344/95a4d994-f6f4-3adf-efb5-41c7a596c1f0.jpeg)
![Unicleo-gui-15.jpg](https://qiita-image-store.s3.amazonaws.com/0/285344/ed7e3c4e-6292-9a88-b49c-9d14d937561c.jpeg)

次に、ファイルのセッティングをします。
File-Applicartion Settings
![Algo-11-3.jpg](https://qiita-image-store.s3.amazonaws.com/0/285344/7b378f03-0c9c-68ab-bf27-208b3e651709.jpeg)
![Algo-11-4.jpg](https://qiita-image-store.s3.amazonaws.com/0/285344/2d96a05e-73b0-63fa-6d1b-6d63db464ff1.jpeg)

次にFile-Open Designから
![Algo-11-2.jpg](https://qiita-image-store.s3.amazonaws.com/0/285344/73066fa6-0751-33ec-8a1d-f8e03445de50.jpeg)
サンプルファイルを開きます。
![Algo-12.jpg](https://qiita-image-store.s3.amazonaws.com/0/285344/b5932083-1609-6cf6-916f-86e41bdd99ac.jpeg)

赤枠で囲った、Generate C Code→BuildFirmware→Program STM32 Nucleo→Run Unicleo-GUI Applicationの順でクリックするとうまくいくはずです。
しかし、私はうまく動きませんでした。
![Algo-17.jpg](https://qiita-image-store.s3.amazonaws.com/0/285344/845f7fd9-7802-c5bc-1d7c-94b0c28484fc.jpeg)

仕方が無いので、一個一個コンパイルすることとなります。
![Algo-11-1.jpg](https://qiita-image-store.s3.amazonaws.com/0/285344/6608b9a9-646f-21bf-3951-68cfd29f183e.jpeg)

指定したフォルダにプロジェクトファイルが入っていますので、ビルドしなおし、コンパイルしましょう。
![Algo-11-5.jpg](https://qiita-image-store.s3.amazonaws.com/0/285344/51da1755-766f-dc4d-3330-aabcae3f8f61.jpeg)

コンパイルし、ダウンロードしてデバッグし、Run Unicleo-GUI Applicationをクリックすることで、Unicleo-GUI Applicationが起動します。
Nucleoが正常に認識していると、SelectPortにポートが表示されます。
ここでConnectをクリックし接続します。
![Unicleo-gui-15.jpg](https://qiita-image-store.s3.amazonaws.com/0/285344/c9087703-78f9-4c63-b79b-adcf9306dcc2.jpeg)

そして、Startを押しましょう。
![Unicleo-gui-16.jpg](https://qiita-image-store.s3.amazonaws.com/0/285344/55e96180-6134-6b3a-4624-3d1e124fdfc9.jpeg)

次に、左サイドのグラフ等のアイコンをクリックします。
![Unicleo-gui-18.jpg](https://qiita-image-store.s3.amazonaws.com/0/285344/d5a54398-67e6-71ce-5f09-03d522dd2f1b.jpeg)

すると、写真のように、センサーデータが表示されます。
この
AlgoBuilderは、 NUCLEO-F401REと NUCLEO-L476RGにX-NUCLEO-IKS01A2にて使用できるようです。
(2018年11月25日現在）
一度使用してみて問題が無い場合、GenerateされているCコードを転用することが可能です。
HALの制約があるため、ほかのNucleoでは使用できないと思われそうですが、I2Cで接続されており、
STM32Cubeで設定を変更することで同じアプリケーションを転用可能なようです。