スキップしてメイン コンテンツに移動

投稿

2024の投稿を表示しています

c/c++でunionを使う

unionを使い倒そう というわけでもないのですが・・・今、えるいーだーの電文を色々いじっていてそういえばunionを使ってコーディングをサボ・・・楽にしようとちょっとunionを使っているのですがみんなどんなときに使ってるんだろうとか気になったので私のunionの使い方の紹介です # include < Arduino.h > # include < vector > struct TBleMsg_Head {     uint8_t Length ;   //!<    電文長     uint8_t serialNo ; //!<    連番     // 何か色々     uint8_t rslv [ 2 ];  //!<    未使用 }; struct TBleRcvMsg_OnOff {     TBleMsg_Head head ; //!< 電文ヘッダ     uint8_t commond ;   //!< コマンド(on or off)     uint8_t num ;       //!< 何番目のLEDを制御するか     //...色々なデータ }; union URcvData {     TBleMsg_Head                 head ;       //!<    ヘッダデータ     // LED     TBleRcvMsg_OnOff             ledCommon ;  //!<    LEDのONOFF     //...色々な電文の構造体     uint8_t data [ 0 ];    //!<    解析したいデータの先頭アドレス @details    このバッファにデータを詰めて、他の構造体で解析しやすいようにする }; void hoge () {     std :: vector < uint8_t > data = pCharacteristic -> getValue (); // 受信したデータの先頭アドレス     size_t size = data . size ();                

ホビーラウンド31 出展します

BADSCRIPTはホビーラウンド31に出展します HOBBY ROUND 31 - 「作るホビーの祭典」が、ホビー三昧の一日を貴方にお届け! ホビーラウンド31 - 2024年11月2日(土) 東京都立産業貿易センター 台東館4Fにて開催!   hobby.volks.co.jp   日付 11月2日(土)  場所 東京都立産業貿易センター 台東館 4F ディーラー名 BADSCRIPT ブース番号 F17   販売商品はとなりのモケイフェスティバル6と一緒です こちらを参照してください↓ となりのモケイフェスティバル6(となモ6)で出展します となモ6 日付:2024/10/14(月・祝) 場所: 東京八王子 東京たま未来メッセ 1階展示室全室(リアル開催) ディーラー名: BADSCRIPT ブース番号:B10 販売するもの えるいーだーV2 えるいーだー(旧バージョン) USB-シリアルコンバーター(ESP32のオ...   blog.mazepin-led.com よろしくお願いいたします。

となりのモケイフェスティバル6 出展内容補足

売り切り 今度のとなモ(2024/10/14)では旧バージョンの基板の在庫一掃のために3000円で売り切りにします 新基板の設計前に部品仕入れちゃったからそれなりに数を作ってしまったので売り切れまでは行かないとは思いますが BADSCRIPTの当日の販売物全般は↓こちらを御覧下さい となりのモケイフェスティバル6(となモ6)で出展します となモ6 日付:2024/10/14(月・祝) 場所: 東京八王子 東京たま未来メッセ 1階展示室全室(リアル開催) ディーラー名: BADSCRIPT ブース番号:B10 販売するもの えるいーだーV2 価格 4,500円 LEDを8系統独立コントロール出来る電飾基板の新バージ...   blog.mazepin-led.com   その中で一個だけ丸ピン用ソケットのボードがあります この写真でおわかりいただけるでしょうか 上の写真の ソケットが妙に背が低いのですが、これはいわゆる「丸ピン」ソケットになります 丸ピンのヘッダピンや、市販のクレオスやマイクラフトといった会社のLEDは使えるのですが秋月や千石の激安のヘッダピンが使えません 高価 そして高い この写真に写ってる奴はソケット1個で$1.5もします 欠点 一般的なヘッダピンが使えない。めちゃくちゃ高価。 ということで実験的に1個だけ作りましたが販売する気は無かったのですがこの際なので放出します。 価格 価格は他の旧型基板同様に3000円です。 気になる方がいらしたら購入してください。 動画 どんなことが出来るかは こちらの動画を御覧下さい まだ色々出来ることはあるのですが当日私に聞くなりしていただければお答えします          

となりのモケイフェスティバル6(となモ6)で出展します

となモ6 日付:2024/10/14(月・祝) 場所: 東京八王子 東京たま未来メッセ 1階展示室全室(リアル開催) ディーラー名: BADSCRIPT ブース番号:B10 販売するもの えるいーだーV2 えるいーだー(旧バージョン) USB-シリアルコンバーター(ESP32のオートブート対応版) USB-シリアルコンバーター(失敗作)   えるいーだーV2 価格 4,500円 LEDを8系統独立コントロール出来る電飾基板の新バージョンです 御覧のようにFRISKケースに入るサイズになっています 操作にはAndroid8移行のスマホ、またはBluetoothを搭載したWindows10/11が必要です えるいーだー(旧バージョン ) 価格 3,000円(処分特価) LEDを8系統独立コントロール出来る電飾基板の旧バージョンです この旧バージョンは在庫がなくなり次第廃盤となります ・・が、実は新バージョンを作る前に「あれ?在庫無くなってる」と資材を発注してしまったためパーツがかなり余っています・・・のでしばらく在庫は持つかも 発注してから新基板の設計をしてしまったのでした 操作にはAndroid8移行のスマホ、またはBluetoothを搭載したWindows10/11が必要です 新基板、旧基板共に出来ることに替わりはありません  サイズを比較した写真です。 USB-シリアルコンバーター(ESP32のオートブート対応版) 価格 1500円 ESP32のオートブートに対応するためにEN,IO0にブートモードで起動するように出力するようにしたシリアルコンバーターです。 USBはTYPE-C対応です。 またサイドからGND,RI,DCD,DCR,DTR,CTS,RTS,RX,TX,3.3V/5V出力も出力出来るので大体のシリアルの操作ができます(でもあんまり使わないんですよね) またジャンパピンでTTLレベルは3.3V/5Vが切り替えられます。 電源は5V出力のままです。 USB-シリアルコンバーター(失敗作) 価格 500円(処分特価) /(^o^)\ 実は上記のオートブート対応の失敗作です。EN,IO0への出力を間違って配線したので適切なタイミングでON/OFFが切り替わらないのでただのシリアルコンバーターになってしまいました。その他のスペックは成功作と一緒です。 秋月辺

.NET MAUI でSSIDを指定してWifiのアクセスポイントに接続する

nugetにあった .NET MAUIでSSIDを指定して直接アクセスする方法、以前はこんな記事を書いてしまったけどnugetにあった。 .NET MAUIではSSIDを指定した接続は.NET 9まで待て? 待てば海路の日和あり 本当かなぁ .NET MAUIはSSIDに対してのプラットフォーム間で共通のアクセスする方法がない。 全部プラットフォーム毎にコーディングする必要がある こんな事ならえるいーだーもflutterで作ればよかった そう思っていたら、githubにissueが上...   blog.mazepin-led.com 前探したときは無かった気もするけど・・・ それはともかく試してみた いつもニコニコ実験台ESP32 WifiアクセスポイントにはESP32になって貰った # include < Arduino.h > # include < WiFi.h > # include < WiFiClient.h > # include < WiFiAP.h > // https://github.com/espressif/arduino-esp32/blob/master/libraries/WiFi/examples/WiFiAccessPoint/WiFiAccessPoint.ino const char * ssid = " nikoniko_jikk endai " ;    //!< SSID const char * password = " yourPassword " ;  //!< パスワード WiFiServer server ( 1999 );                //!< Wifiサーバー(port:1999) /// @brief セットアップ void setup () {     Serial . begin ( 115200 );               //デバッガー向けシリアル     Serial . println ();     Serial . println ( " 初期化中... " );     // アクセスポイントを設定

スマホ操作の模型用電飾基板えるいーだー 新基板 初期試作基板

初期試作基板 スマホ操作の模型用電飾基板えるいーだーの新バージョン出来ました。 まあ初期試作基板なんですが これだけではわかりません? ・・・まあわからないよね 旧基板と比較してみます 上が旧型・・・というか現行のえるいーだー 下が今回試作した基板です フリスクケースに入るように外形を決めています ネジ穴も付けてますよ ただ・・高さを抑えることが出来ず、コネクタが3mmほど飛び出してしまいました このコネクターを使う限りはどうにもならないかなぁ・・・ それと、ズーーーーっと前にデモしたので知ってる人はほぼいない機能のmp3再生機能は別基板にしました というかmp3再生機能をつけて販売したことないので知らないでしょう しかし・・・ コネクターの位置がずれてしまいました・・・ まいったね この辺はmp3再生基板のコネクタを直せばいいですが・・・まあ試作だし ソフトウェアは今までと同じソフトが動作します アプリのアップデート作業中 新機能のためのアプリ改修中です これがまた作業が多い。次のとなモまでに間に合うかすらわからない状況です。 アプリは旧版でも動作します

ESP32 デバッグの時だけクラッシュ デバッグ用のソースは綺麗にしようという教訓

いや・・焦った ESP32のプログラムをデバッグしている最中、 デバッグの時だけクラッシュするという訳のわからん状況が発生していた しかもコアを吐いて死ぬという・・・ 何だそれと思ってたら スタックトレースの見方を書いててくれる人がいた ESP32が落ちた(強制リセット)時にBacktraceから該当コードを調べる Backtraceは行番号に変換できる ESP32で開発中、原因不明のまま強制リセットがかかってしまい、シリアルモニタには謎のエラーと16進数   romly.com ありがてぇ そして、それに従ってソースを調べていたらvectorの配列の引数がオーバーフローして吹っ飛んでいることがわかった しかし何でデバッグの時だけ・・・と思ってたらデバッグビルドの時に昔特定の値を入れてデバッグしていた残骸が残っていてそこで吹っ飛んでいた そりゃ吹っ飛ぶよね・・・  それにしても、mapファイルにソースや関数のアドレスが入っていないのはよくあることなのか?

えるいーだーのBLEライブラリをNimBLEに移行開始(基板はESP32だよ)

何故NimBLEに移行するのか ・・そこにBLEがあるから いや、そんな理由じゃなくてファームのネットワークアップデート(OTA)を実装するのにそろそろストレージがヤバくなってきたから # include < nimBledevice.h > # include < nimBleutils.h > # include < nimBleserver.h > // #include <BLEDevice.h> // #include <BLEUtils.h> // #include <BLEServer.h> なのでこんなふうにまずは各BLEのヘッダをすげ替えてみました マクロで定義されていた 他の人のページを見ているとBLEXXXというクラスやメソッドをNimBLEXXXに書き換える必要があると書いてあったのだけど  NimBLEDevice.hというヘッダに # define BLEDevice                       NimBLEDevice # define BLEClient                       NimBLEClient # define BLERemoteService                 NimBLERemoteService # define BLERemoteCharacteristic         NimBLERemoteCharacteristic # define BLERemoteDescriptor             NimBLERemoteDescriptor # define BLEAdvertisedDevice             NimBLEAdvertisedDevice # define BLEScan                         NimBLEScan # define BLEUUID                         NimBLEUUID # define BLESecurity                     NimBLESecurity # define BLESecurityCallbacks