2023-11-01から1ヶ月間の記事一覧

関数の戻り値用テンプレート

C++で、任意の型に成否とエラー番号とエラーメッセージ(へのポインタ) を付加するだけのテンプレート。 関数の戻り値用に。 template <class Type> class Result { public: Type value; bool success; int errorNo; const char* errorMessage; Result<Type>() : value(Type()),</type></class>…

古英語

これは千年ほど前の古英語で書かれた文章です。いわば英語の古文ですが、さっぱり読めません。たぶん英語ネイティブでも読めないと思いますし、そもそもこれを英語だと思えるんでしょうか? Fæder ure þu þe eart on heofonum, si þin nama gehalgod. To bec…

setTimeout()やsetInterval()で関数に引数を渡す

やりたいこと JavaScriptで setTimeout() や setInterval() のタイマハンドラに引数を渡したい。 ダメな書き方 これはダメです。実行するとエラーが発生します。setTimeout() の第1引数に関数ではなく関数の戻り値を渡すことになるからです。しかも、hello()…

C#での日本語文字の扱い

C#のchar型は2バイト C#で下記のようなコードを実行してみます。 using System; class Program { static void Main(string[] args) { char c = 'あ'; int i = (int)c; Console.WriteLine(c); Console.WriteLine("size = " + sizeof(char).ToString()); Conso…

VC++での日本語文字の扱い

デフォルトではシフトJIS Visual StudioでVisual C++の空のプロジェクトを作成し、下記のようなソースを書いて実行してみます。 #include<stdio.h> #include<string.h> int main(void) { char s[] = "あいうえお"; int len = strlen(s); printf("%s\n", s); printf("length = %d</string.h></stdio.h>…

メモ:NordicのSoftDevice

S11x : BLE Peripheral 専用 S12x : BLE Central 専用 S13x / S14x : BLE Central / Peripheral 両用 S2xx : ANT用 S3xx : BLE / ANT 両用 ZigBeeは SoftDevice ではなく nRF5 SDK for Thread and Zigbee を使用

AndroidのChrome上のWebアプリをPCのChrome上でデバッグ

Android側の準備 「開発者向けオプション」を有効にしておく(「設定」→「デバイス情報」で「ビルド番号」を7回タップ) 「設定」→「システム」→「開発者向けオプション」で「USBデバッグ」を有効にしておく PC(Windows)側の準備 Google USB Driverをインスト…

文字化けのパターン

もうWeb上で見かけることは少なくなったけど。 UTF-8→シフトJIS (縺繧繝が頻出) UTF-8では平仮名と片仮名は E381xx, E382xx, E383xx のいずれかになる。シフトJISでは E381, E382, E383 は 縺, 繧, 繝 になる。そのためこの3文字が頻出する。 譁?ュ怜喧縺托シ…

Unicode以外の文字コードの雑な説明

シフトJISコード 英数字は1バイト (0x00~0x7F、ASCIIコードと互換) 半角カナも1バイト (0xA1~0xDF) 全角文字は2バイト (1バイト目は0x81~0x9Fまたは0xE0~0xEF) 第一・第二水準漢字に対応 Windows界では事実上は CP932 のこと (独自拡張を含む) Shift_JIS…

UnicodeとUTF-8/16/32の雑な説明

Unicode 世界のほとんどの文字は基本多言語面 (第0面, U+0000~U+FFFF) に収録 マイナーな漢字や絵文字などのは第1面~第16面 (U+10000~U+10FFFF) に収録 UTF-8/16/32は、Unicodeをバイト列で表すエンコードの仕方の違い いずれにしても、シフトJISコードの…

フォントの作成に関するノート

フォントエディタ FontForge : オープンソースのフォントエディタ。無償のツールではたぶん一番有名。 TrueTypeフォントエディタ(ttfedit):yuno氏作。シンプルなツールだったがすでに公開終了。 FontForgeのUIの不具合 Windowsの日本語環境だとUIの日本語…

「主の祈り」のラテン語

ヤハウェとか大嫌いな仏教徒が「主の祈り」のラテン語を読解した。Oratio Dominica (Pater Noster) 祈り-主の(女単主)Pater noster, qui es in caelis, 父よ-我らの(男単呼), who are(二単現) に-天(中複奪) 天にいる我らの父よ、sanctificetur nomen tuum. …

メモ:GreenPAK

GreenPAKとは GreenPAKは、ルネサス(旧Dialog)のちっちゃいFPGA/CPLDのようなプログラマブルICです。デジアナ混載で、GUIツールで回路図入力するので、PSoCのちっちゃいやつと言ったほうがいいかも。ただしマイコンは内蔵しません。ちょっとしたロジックやア…

メモ:SPRESENSEのSDKのソース

SPRESENSEのArduino環境は、SDKをソースで持たずビルド済みのライブラリ(とヘッダファイル)として持っている。ボードパッケージのサイズを小さくし、またビルド時間を短縮するためにこれは妥当なことだと思う。ただ、以前の記事(SPRESENSEの digitalWrite は…

マイコンでブラシレスモータを回す方法についてのノート

1. ESCを使う ラジコン用やドローン用のESC(Electronic Speed Controller)を使う。 PWM1本で制御できる。Arduino系ならServoクラスで制御できるのでいちばん簡単。 ドローン用のESCは一方向にしか回せないので要注意。(逆転ができない) 起動時にパルス幅のキ…

ブラシレスモータドライバIC

小型のブラシレスモータを回せる手頃なブラシレスモータドライバICというのはあまり選択肢がない。 STマイクロ L6230PD ブラシレスDCモータ・ドライバ: 製品 L6230 - DMOS driver for three-phase brushless DC motor - STマイクロエレクトロニクス 8~52V, 1…

Windowsでtouchコマンド (再)

Windowsで touch コマンドの代用となるバッチは前に作った。 しかし、WSL (Windows Subsystem for Linux) でLinuxが使えるならそちらのtouchコマンドを使えばいい。 下記は、カレントディレクトリの下にある hoge ディレクトリの下のすべてのファイルを touc…

ホールセンサあれこれ

仕様 パッケージ:表面実装ならSOT-23、リード部品ならSIP-3 (薄型TO-92) が一般的 出力:アナログ出力 / デジタル出力 (CMOS出力 / オープンドレイン出力) 論理:Lowアクティブ / Highアクティブ 極検出 (いずれもヒステリシスあり。下記の記事を参照) 両極…

英語の「不規則変化動詞」の歴史 (アプラウトとウムラウト)

英語のいわゆる「不規則変化動詞」は、不規則といいながら実はいくつかのパターンがある、というのは中学生のころに誰しも気づくことだと思います。いまネットで検索しても、不規則変化動詞のパターンについて解説している語学系のコンテンツがいくつも見つ…

ティラノサウルスとマハラジャ

ラテンもゲルマンもヒンディーもみな兄弟。同じインド・ヨーロッパ語族に属する言語です。ラテン語で「王」を意味する rex も、サンスクリット語で「王」を意味する rāja も語源は同じ。ゲルマン系の人名に含まれる ric も同じ語源です。ゲルマン系の人名に…

メモ:レベルシフタ (レベル変換)

双方向レベル変換IC FXMA108 方向を気にせず使えるので便利。 https://akizukidenshi.com/catalog/g/gK-17062/ https://akizukidenshi.com/catalog/g/gM-04522/ 2電源バストランシーバ 74LVC(H)8T245, 74LVC(H)16T245 標準ロジック74xx245の2電源版。 https:…

SPRESENSEの digitalWrite は遅い

SPRESENSEのArduino環境のdigitalWrite関数は異様に遅い。例えば下記のようなスケッチを実行して、メインボードの27番ピンと28番ピンの波形をオシロで測定するとなんと6.4usecも時間差がある。つまりdigitalWrite関数の実行に6.4usecもかかっていることにな…