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

.NET MAUI えるいーだーの移植状況

.NET MAUI えるいーだーの移植状況

2023/06/11 追記
2023/06/12 追記
2023/06/17 追記
 
Xamarin上のえるいーだーを.NET MAUIへの移植は上手くいっていないです

クラッシュクラッシュクラッシュ

なんだかクラッシュするんですよ
原因はわかりません
 
クラッシュするとスタックトレースが消えてるんだもん
そりゃないぜ・・・
 
いやまあ原因箇所はわかっている
plugin bleのBLEデバイスを検索開始するStartScanningForDevicesAsyncメソッドが問答無用で吹っ飛んでいるのですが・・・

何故吹っ飛ぶのか?

何故なんだろうか 
これがまた嫌らしいことに「Visual Studio」上のデバッガーだと吹っ飛ぶのです

単独動作だとしれっと動作する

そして、実機上でアプリを単独で動作させるとしれっと動作してしまうのですな・・・
ええ???
そう、しかも基板ときっちりパスも接続されてしまう
まだ送受信は試していないけど、なんなのこの動きは?

他のアプリだと

これがまた動く
それじゃBLEのサンプルアプリだとどうなのか?
こちらで作ったサンプルアプリだと・・・
これがまたデバッガ上でステップ実行してもさらっと動く
なぬぅぅ????
これって俺のバグでほぼ確定じゃん
でも原因がわからない
どうすりゃいいのよ

ステップ実行を諦めてログをひたすたら出力してデバッグするかね???
 
まあ、今のところそんな感じで移植は上手くいってません

明日になったら本気出す

まあ頑張ってみます 
おしまい
 

2023/06/11 追記

なんか昔のもおかしい

 サンプルアプリだと動く・・・・と書いたけどなんか今日試したらダメでした
StartScanningForDevicesAsyncの中で

こんな画面になる
つーかさ、スタックトレースが見れなくなるのやめてくれよ・・

 F5連打する

そこで↑の画面でF5(実行)を連打してみたら、どういうわけかどうも実行状態がじわじわ進んでいき、接続まで実行して、接続イベントまで到達してしまった

んん????

これは一体どういう状態なんだ・・・・

そもそもサンプルアプリだって、これを作ったときは動いていたのに何で今になってこんなふうになるんだろう
 
 なんか、StartScanningForDevicesAsyncの実行中にconnectイベントがコールされてるけどそれが何か悪さしているっぽい感じはするけど
じゃあ何でVisual Studio上からじゃないと上手くいくのさ
なんかスレッドが変なぶつかり方してるのかなぁ

2023/06/12 追記

うーん・・・changelogを見るとMAUIへの対応は3.00以降までお預けみたいだ
残念・・・・
まあせこせこコーディングを進めていきますね

とは言え、今週末はAKガーデンなのでそんな時間は無いがな

2023/06/17 追記 

Visual Studio 2022を17.6.3にしたら上手くいったぞ・・・
どうなってるんだ
直前にWindows Updateもあったけどそんなことが原因で上手く行ったり行かなかったりってあるのかな
まあ、上手く逝くようになったのでよし

 

コメント

このブログの人気の投稿

RAM DISKを使ってみた(使ったのはImDisk)

GWだし、まあちょっとラムディスクを入れてみました うちのPCはWindows11 使ったのはImDiskというRAM Disk。 まあ、この辺のインストールとかはあちこちで解説してる人がいるので適当にぐぐってくださいな で、とりあえずベンチマーク なかなかいいスピードだ で、大抵の人はブラウザのキャッシュをRAMディスクにするといいよ・・・と言うけど そもそもメインドライブがNVMeのSSDを使っている状態で、体感速度なんか上がらない(使い終わったキャッシュを再起動したら綺麗さっぱり捨て去ってくれるという利点はある)  うちで一番効果があるのは Adobe Audition というアプリ これが結構高速化する(キャッシュをちゃんとRAMディスクにしたら・・・だけど) ハイレゾ音源だと、1時間の音源が何かする度に4GBのファイルを作られてしまう なので、RAM DISKにすると、結構編集時間を短縮できる Premiere Rushも出力先をRam Diskにしておいて終わったら、SSDにコピーすると言う事をやるとかなりスピードアップになる 実はうちのPCは普段は99%のパワーで動作していて、CPUのターボブーストが掛からないようになっている 大体3.6GHz当たりで安定してるのだけど、これを100%にするとターボブースト機能がONになって一部のコアが4.5とか4.8GHzまで上がる まあ、毎回電源オプションをいじる事になるのだけどさ・・・ そうしてベンチを取ると こんな感じ とは言え、ブーストしてるからと行ってRam Diskのスピードの差を体感する事はさすがに無理 ・・・と言うかフォトショでもRAM DISKにしてよかった・・・と言うほど変わらない SSDの性能が上がってきたしもし次にPCを買い換えたらRAM DISKよりSSDの方が速いかもね  

.NET MAUI BLE(Bluetooth Low Energy)も上手く行った

2023/10/11更新 ↓こちらの記事で更新しれました。 .NET MAUI PLUGIN BLEがWindows(10/11)に対応してた Windows対応 イヤッッホォォォオオォオウ Bluetooth LE plugin for Xamarin & MAUI がWindowsに対応してた~ nugetでver3.00をみんな早速ゲットだ。   ちなみにこちらはAndroid版のサンプルアプリ   GitHub...   [ブログカード風リンクタグ作成] ------------------------------------------------------------------------------ 昔、スマホとESP32の接続確認用に作ったプログラムをXamarinからMAUIに移植したら動いちゃった   まあ、ESP32からスマホへの一方通行なアプリなんだけど 面倒くさいので github に公開した 下手くそなコード書きやがってとか思われそう 「間違ってるぞこのやろう」というのを見つけたら教えてくれると嬉しいです 要素技術の調査はこれで完了かな

.NET MAUIでスプラッシュスクリーン Android12で地獄を見る

まずは起動するところから・・・・  スプラッシュスクリーンだぬ マイクロソフトのサイト 見てると簡単そう(実際簡単で細かい事を気にしなければsvgファイルを用意して1行だけ書き換えておしまい)   なんかプロジェクトファイルに自動で記述されるらしい よし、プロジェクト作った                     つーか、もうスプラッシュがあるんだけど・・・・ そして自作のsvgファイル くうっ・・・デザインセンスない・・・・   それはともかく、このSVGファイルを Resources\Images にドラッグ&ドラッグ プロジェクトを右クリックして「プロジェクトファイルの編集」 して、編集できるようになったプロジェクトファイルを 自分のプロジェクトファイルに書き換える <MauiSplashScreen Include="Resources\Splash\splash.svg" Color="#512BD4" BaseSize="168,168" /> ↓ <MauiSplashScreen Include="Resources\Splash\ splashtestmaui .svg" Color="#512BD4" BaseSize="168,168" />   とりあえずAndroidで実行 お、おう・・・・ まあ最初はこんなもんよね 最初に紹介したマイクロソフトのサイトでもBaseSizeを書き換えてくださいって言ってるし 言われたとおりに <MauiSplashScreen Include="Resources\Splash\splashtestmaui.svg" Color="#512BD4" BaseSize=" 320,600 " /> 書き換えてみると いい感じじゃーん じゃあアンドロイドのバージョン毎に試してみよう   Android 7 Android 11 Android 12 Android 13