鳥なき里のマイコン屋(167) PIC16F18855、MPLAB IDEで吉例Lチカ

PIC16F18855_EvaBoard
Joseph Halfmoon

遠い昔、ちょこっとだけ8ビットのPICマイコンを触ったことがありました。「PIC以前の」古いマイコンに比べたら「近代的」なマイコンであったのですが、データシートを読み込んでいないと戸惑う部分も多かった記憶。しかし「今どきの」PICマイコンは自動生成ツールなど充実して「楽ちん」だそうです。使ってみたいと思います。

“鳥なき里のマイコン屋(167) PIC16F18855、MPLAB IDEで吉例Lチカ” の続きを読む

ブロックを積みながら(122) Node-RED、自前ノードのユニットテスト、Should

moreTestResults
Joseph Halfmoon

前回、Node Test Helper をつかったユニットテストを自前ノードに追加。しかしテスト・フレームワークそのものは定番の Mocha を使っています。そしてAssertionについては Should.js を利用とな。元よりJavaScript素人、目が回ります。少しずつそいつらをかじっていきたいと。

“ブロックを積みながら(122) Node-RED、自前ノードのユニットテスト、Should” の続きを読む

IoT何をいまさら(122) 泥縄で思い出す。インタプリタもどきの文法をEBNF化

EBNF_0EC
Joseph Halfmoon

前回からだいぶ間が空いてしまいました。マイコンに載せてチョイとした用途に使うつもりのインタプリタもどきをGtestを活用?して作っていましたが、ソース以外にドキュメント無。自前とは言え仕様は忘却の彼方デス。作業再開にあたってソースを読みながら文法をEBNF化(いい加減だけれども。)後付け、泥縄、いつものことか。

“IoT何をいまさら(122) 泥縄で思い出す。インタプリタもどきの文法をEBNF化” の続きを読む

手習ひデジタル信号処理(91) PythonでFMラジオデータを音声再生、RTL-SDR

AudioWave
Joseph Halfmoon

前々回前回と低価格なソフトウエア無線受信用USBドングルRTL-SDRのデータをPythonで読み取ったものをScilabへ「輸出」するためのPythonスクリプトを作ってました。今回はそのスクリプトにFM放送波形を復調して断片的ですが音響再生する機能を追加してみました。毒を食らわば皿まで?違うか。

“手習ひデジタル信号処理(91) PythonでFMラジオデータを音声再生、RTL-SDR” の続きを読む

GoにいればGoに従え(22) TinyGo、SPI接続、micro:bit v2の場合

Joseph Halfmoon

TinyGoを使ってBBC micro:bit v2を制御してます。「使ってなかった」のに「使った気でいた」ペリフェラル回路があり。SPIです。TinyGoでSAMD21マイコンで実験済、またmicro:bitのmakeCode環境でも実験済。でもTinyGoとmicro:bit v2 ではやってない。組み合わせ爆発?
“GoにいればGoに従え(22) TinyGo、SPI接続、micro:bit v2の場合” の続きを読む

MicroPython的午睡(109) ESP32版、btreeモジュールで連想配列永続化?

ESP32_Python_Btree_EC
Joseph Halfmoon

フルPython処理系でデータベース的なものを使いたいとき「お手軽な」SQLite使うことが多いデス。一方スタンドアロンなMicroPython単独でSQL系DB使うのは現実的ではないかと。しかしMicroPythonには固有の実装としてbtreeモジュールあり、標準辞書型に近い形の連想配列を「永続化」可能であります。

“MicroPython的午睡(109) ESP32版、btreeモジュールで連想配列永続化?” の続きを読む

ぐだぐだ低レベルプログラミング(120)ARM64(AArach64)Floatのストア#1

FSTR_EC
Joseph Halfmoon

ロードあればストアあり。前回前々回と浮動小数とSIMD(スカラー)のロード命令(LDR)を練習してみました。今回は対になるストア命令(STR)の練習です。ほぼ同様なアドレシングモードが使用できますが、唯一PC相対だけはありません。PC相対で指定できるのは”.TEXT”セグメントと解釈されるのでストアは対象外っと。

“ぐだぐだ低レベルプログラミング(120)ARM64(AArach64)Floatのストア#1” の続きを読む

Rubyと一緒(11) Chrome版Rubic、ついに起動できなくなりました。滅亡?

RubicNotSupported
Joseph Halfmoon

『つひに行く道とはかねて聞きしかど昨日今日とは思はざりしを』在原業平。特価品(見切り品?)のGR-CITRUSボード(ルネサスRX631搭載)で組み込みRuby(mruby)してまいりました。その処理系Chrome版Rubic、起動の度にサポート無の警告あり。無視して使ってまいりましたが、ここまでか。ついに起動不能。
“Rubyと一緒(11) Chrome版Rubic、ついに起動できなくなりました。滅亡?” の続きを読む

忘却の微分方程式(100) 反復練習63、楕円面の接平面を描く、Maxima

Ex76_plot1
Joseph Halfmoon

前回は包絡線(envelop)でした。今回は接平面です。「似たようなもん?」、偏微分して公式に当てはめればこの年寄にも式は求まります。でもね~実際に図を描いてみないと実感がわかないのよ。そして図を描くためには何か具体的な数値を与えないと描けません。具体的な数値にすれば納得いくけれどもメンドイ。しかたない? “忘却の微分方程式(100) 反復練習63、楕円面の接平面を描く、Maxima” の続きを読む

オプション沼(20) gcc、-Warray-bounds、最適化のときは世話焼きになる

WarningLocations
Joseph Halfmoon

警告オプションの重箱の隅をつつくようなことをしていると、「これ駄目でしょ」的なコードを書くことになります。しかし何の警告も出ずにコンパイル出来、ましてや実行もできてしまうと。どう見たってエラーなんだけれども。今回のWarray-boundsオプションは、最適化するとビシビシ指摘してくれるのに、最適化しないとザル?

“オプション沼(20) gcc、-Warray-bounds、最適化のときは世話焼きになる” の続きを読む

データのお砂場(86) R言語、uspop、米国の人口(国勢調査)、1790-1970

uspopRawdataPlot
Joseph Halfmoon

R言語所蔵のサンプルデータセットをABC順(大文字先)で見ています。今回はuspop とな。popといったってポップミュージックではありませぬ、人口のpopulation の方です。例によって古いデータセットです。1790年から1970年までの約200年間、第1回の国勢調査から10年毎の調査データらしいです。

“データのお砂場(86) R言語、uspop、米国の人口(国勢調査)、1790-1970” の続きを読む

お手軽ツールで今更学ぶアナログ(158) AD2、遅延計測スクリプト機能追加と小ネタ

RR_EC
Joseph Halfmoon

アナデバ社(ADI社)の日本語版記事の最新号をキャッチアップできたので、再びAnalog Discovery2のスクリプトの練習に戻ります。第155回では2つのチャネル間の信号の立ち上がりの時間差を「遅延」とみなして測定。今回は立ち上がり、立下りの区別なく、「エッジ間」ということで測定できるようにしてみました。
“お手軽ツールで今更学ぶアナログ(158) AD2、遅延計測スクリプト機能追加と小ネタ” の続きを読む

ブロックを積みながら(121) Node-RED、自前ノードにユニットテスト追加

Error2
Joseph Halfmoon

本当は「テスト駆動設計」的に先にテスト書いてからノードの作成にかかりたいものです。しかしノードの書き方自体がよく分からん、ということで先にそっちに突っ込んでました。しかしノードの機能も増えつつあります。この辺でユニットテストをキチンとしておきたいです。またしかし、ユニットテストの書き方自体が怪しいデス。堂々巡りやな。 “ブロックを積みながら(121) Node-RED、自前ノードにユニットテスト追加” の続きを読む

手習ひデジタル信号処理(90) PythonでRTL-SDRデータをデシメーション

plotDecimatedSignal
Joseph Halfmoon

前回、ソフトウエア無線受信用USBドングルRTL-SDRのデータをPythonで読み取ったものをScilabへ「輸出」。これでScilabでもRTL-SDRのデータを処理できる(リアルタイムじゃないけど)とほくそ笑みました。今回は「輸出」に使ったPythonスクリプトに手を入れデシメーション機能など追加。益々繁盛?

“手習ひデジタル信号処理(90) PythonでRTL-SDRデータをデシメーション” の続きを読む