メモ

mbed ethernet UDPSocket

すこし確かめたいことがあったので mbed(LPC1768)でEthernetを用いてUDP通信を行った。 接続 akizukidenshi.com プログラム mbed osのバージョンによっていろいろと違うらしいので 最新のサンプルをImportする os.mbed.comしかしすでに、exampleにあるような…

VScode STM32 WSL J-Link arm-none-eabi-gdb

VScode上で、JLinkGDBServerを起動して、 WSLのarm-none-eabi-gdbでデバッグできるようにする。 WSL make arm-none-eabi-gcc arm-none-eabi-gdb は入れておく。 VScode をインストールする。 ポータブル版でもよい。 VScodeの拡張機能 上から IntelliSencse …

STM32Cube MXプロジェクト生成

自分の使いたいMCUを検索して右上のStart Projectする。 Pin Configuration を適当に FPGAならQuartus 13とかProject Navigatorとか かなり昔からこんな画面のPINコンフィギュレーションソフトウェアがあったのに 代表的なMCUにはなぜないんだろうと思ってい…

STM32Cube MXを導入

MXCubeはStdLibの代替になれるぐらいには洗練されたと聞いたので ようやくSTM32Cubeを利用するためにインストールする。インストーラーをダウンロードする。 www.st.com 登録しなければならないらしい。 メールに送られてくるリンクからダウンロードする。MC…

KiCAD BGA基板設計④ 到着編

PCBGOGOの注文画面によると 注文してから2-3日で基板の製造が終わったようだった。 素晴らしい速さ。Digikey基準で考えて、 Digikeyの在庫表示では「即時」の物しか部品は入れなかったが 基板が完成してから部品を注文しているのか何かがリードタイムに引っ…

KiCAD STEPファイル Fusion360

e-tipsmemo.hatenablog.comKiCAD 5の目玉機能でSTEPファイルのExportに対応したことがあるが 前回は失敗したので試してみる。Footprintにモデルがないと、エラーが出る。 最終的には各部品の3DモデルがSTEPのものだけが出力される Exportしたものだが、CやR…

KiCAD BGA基板設計③ 発注編

作ったBGAの基板を発注するが、 BGAはどう考えてもリフローしないと実装できないので、初めて実装サービスを利用してみる。 PCBGOGOの実装サービス 「Digikeyの部品かもしれない」? 「Mouserの部品かもしれない」? 「違うところ」かもしれないらしい。 問い…

KiCAD BGA基板設計②レイアウト編

e-tipsmemo.hatenablog.comデザインルールを設定するCapabilities | PCB Online | Low volume pcb assembly | PCBGOGO PCBGOGOの製造能力より こういうことだろうか。BGA100ぐらいをレイアウトするときも本当は4層あった方がいいけど値段が高そう。 (256ピン…

KiCAD BGA基板設計①回路編

試してみる。 ダメかもしれないけど。www.digikey.jp これを使うPCBGOGOに注文するつもりだが、 2019年1月時点のデザインルールでは、 0.8mm pitchのBGA基板ならギリギリ製造できる気がする。Capabilities | PCB Online | Low volume pcb assembly | PCBGOGO…

KiCAD 5 パッド 一括 変更

KiCAD 4から5へ移行するためにいろいろいじっていたら ちょっとした機能を見つけた。QFPやBGAでパッドがたくさんあるときとりあえず パッドを大量に置くが、それらのサイズを一気に変更するのは 大変だった。 とくにある選択したパッドだけを変更したいとき…

Rust lopdf③

e-tipsmemo.hatenablog.com 文字列を抽出するのは最後 let mut textline : Vec<Object>= vec![]; for l in tmp.split('\n') { match op(CompleteStr(l)) { Ok((_, operate)) => { let operator = operate.operator; match operator.as_str() { "TJ" => { textline.ex</object>…

Rust lopdf②

e-tipsmemo.hatenablog.com の続き。lopdfであるページのリファレンス番号を列強することはできたので、 その中からstreamを持つものだけを抽出したい。 ページ1から参照されているオブジェクトを一つずつ見ていく。get_object()で番号が参照するオブジェク…

Rust lopdf

RustでPDFを弄くろうと思ったのでlopdfというライブラリを利用した。 まず前提として、PDFのフォーマットをちょっとしらないと意味ないので。PDF 構文 -ファイル 解析手順- とか 詳細PDF入門 ー 実装して学ぼう!PDFファイルの構造とその書き方読み方 - プロ…

PX-W3PE4 備忘録

参考 PX-W3PE4でTS抜き ドライバのインストール 4ch同時録画・視聴 PCI-Express型地デジ・BS/CSチューナーPX-W3PE4 株式会社プレクス パソコン・パソコン周辺機器メーカー PLEX株式会社プレクス パソコン・パソコン周辺機器メーカー PLEX OK デコーダ DScale…

ubuntu ocaml install & test

メモ 環境はWSL上で Ubuntu 16.04 fish shell install sudo apt install ocaml OK Syntax Highlight sudo apt install opam opam initopam initをするとインストールされているshellに応じて、 自動で設定を行うか聞いてくる。 最後に以下を実行しろと言って…

LTspice BJT simulation

使いたくなった時に使い方を忘れていると困るので LTspiceの使い方をメモっておく。とりあえず modelの追加方法と、 基本的なシミュレーション パラメータを利用 モデルの利用 ライブラリから目的の部品を探すのが面倒だといつも思っていた。が。 Spice Dire…

Raspberry piでSPI通信

RaspberryでSPIする必要がでてきてその方法を調べたのでメモ。 しかもPythonじゃないといけない。 python好きじゃないけど pi@raspberrypi:~ $ cat /proc/version Linux version 4.14.66-v7+ (dc4@dc4-XPS13-9333) (gcc version 4.9.3 (crosstool-NG crossto…

KiCAD 5.0 stable install

KiCAD 4.0.Xの操作感に不満を覚え始めたので、乗り換えPCBエディタを探していた。 無料のものだとEagle(古いやつ) 手頃な値段のものだと、 Diptrace, Eagle(Autodeskのほう)、CircuitStudio, 高いやつなら Altiumとか。。。? 80万は出せない。とかお金かけ…

AXI DMA テスト

AXIのDMA動作をメモしておく。この記事を参考に Using the AXI DMA in Vivado | FPGA DeveloperDMAのパスにILAを接続しておく。 手順通りにHelloWorldができたら、 HelloWorld_bspのsystem.mssを開いて axi_dmaのImport Exampleをクリックして xaxidma_examp…

C++ Rest SDKでtwitter④

http://e-tipsmemo.hatenablog.com/entry/2018/07/14/000000e-tipsmemo.hatenablog.com 次は画像をアップロードする方法を示す。 昔は画像のアップロードとツイートを同時にできるENDPOINTがあったらしいが、今は使えないので 画像をアップロードしてからそ…

C++ Rest SDKでtwitter③

e-tipsmemo.hatenablog.com 続き。認証が完了したら、 oauth_tokenはaccess token oauth_token_secretはaccess token secret を得ている。ツイートを行う。 signatureを作るパラメータにはツイートと、画像をアップロードしてmedia_idがあるならばあるならば…

投稿記事が100を超えた

記念すべき100記事目は http://e-tipsmemo.hatenablog.com/entry/2018/07/08/000000e-tipsmemo.hatenablog.comであった。 3日に1記事書くことを目標にやっているので、100記事増えるのに、だいたい1年ぐらいかかる。記事のカテゴリは適当につけているけれど…

C++ Rest SDKでtwitter②

e-tipsmemo.hatenablog.com の続き。requestTokenが成功すると oauth_token=xxxxxx&oauth_token_secret=yyyyy&hoge=zzzzzみたいな文字列が返ってくる。 Request TokenとRequest Token Secretとなんとかid(つかわない)https://api.twitter.com/oauth/authoriz…

C++ Rest SDKでtwitter①

TwitterつかうアプリケーションでC++ Rest SDKを利用した。 C++ Rest SDKはexperimentalだがoauth1 oauth2の実装もしてあったが使い方がよくわからなかったので httprequestを直接つかった。Twitter認証のステップをメモしておく。最初にrequestTokenを得る…

Visual Studio 2017 boost xml serialization

Nuget パッケージマネージャーでboostと検索して プロジェクトのプラットフォームツールセットのバージョンにあったBoostをインストールする 今回はv140を入れた。 準備 シリアライズしたいクラスに追加する。 #include <boost/serialization/serialization.hpp> #include <boost/serialization/nvp.hpp> #include <boost/serialization/string.hpp> class hoge { p</boost/serialization/string.hpp></boost/serialization/nvp.hpp></boost/serialization/serialization.hpp>…

Visual Studio 2017 C++ Rest SDK static library build

Visual Studio 2017でcpprestsdkの静的リンクライブラリを作成したときにでてきたエラーの解決方法(2018/06/19) Cannot fimd Build/Release.Tests.settings github.com からリポジトリをクローンするのだが、WSLからgitコマンドを利用したところ、一部のファ…

C++のコンパクトなハッシュライブラリ

HMAC-SHA1を計算したかった。 win32にはcrypt32とかあるけどよくわからなかったのでgithub.com便利 #include "../sha1.h" #include "../hmac.h" #include <string> #include <vector> #include <iostream> int main() { std::string input= "what do ya want for nothing?"; std::strin</iostream></vector></string>…

stringとwstringとtstring

Visual Studioで文字列を扱うとき、 以下の設定の違いで TCHARの定義がかわる。 参考 Tchar.h における汎用テキストのマッピング typedef std::basic_string<TCHAR> tstring; typedef std::basic_stringstream<TCHAR> tstringstream; typedef std::basic_ostringstream<TCHAR> tos</tchar></tchar></tchar>…

C++ Rest SDK Visual Studio 2017 E0427 Error

WindowsでWin32のアプリを作っていたとき http requestとかするときいいライブラリないなみたいな記憶があって わざわざC++/CLIで、C#のHttpRequestクラスみたいなものをつかてたけども、MicrosoftのメンテしているC++ Rest SDKという物があったらしい。 (い…

Vivado fsbl build batchmode③

http://e-tipsmemo.hatenablog.com/entry/2018/06/11/000000e-tipsmemo.hatenablog.comの続きでfsblと言っているが、 device-treeをhsiから作る。これはそこまで苦労しなかった。 前提 WSLが入っている。とか WSLが入っているならdevice-tree-compilerが入っ…