02202019
年明け、ずいぶんぶりの更新です。今回は絵が入ってません。新年の挨拶も完璧にやり損ねです。
ちなみにドゥカティは処分しました。乗りもしないのに持ってるなんて云々と、とても怖い方の目に怯えて....るわけではないんですけど、通勤用と2台持ちも不経済ですし、ここは一気にっ!ということで昨年11月末時点でお別れです。12月の頭ごろに、次の1台を購入しました。
今度の相棒はセロー(2018モデル)です。今度は250なのでD-Track(125)よりもパワーあるし、取り回しも楽だし、結構気に入ってます。花粉が落ち着いたら道の駅でも出かけるかなぁ....
最近はクロを車に乗せて、ダムまでお出かけ&お散歩することも増えたので,,,,使用頻度はさほど増えない気もしています。
さてて、近況はこの辺にして....
ストレンゲージを活用した装置を開発しています。コアにはPSoC5LPを使用していますが、ここでの話題....
USBUARTを使って、データをPCに送り込み、最終的にはLabVIEWでビジュアル化するのですが、内部での計算結果をASCIIとして渡す必要があります。ここで重宝するのが皆様ご存知のsprintf 関数ですね。適当なサイズの配列を用意してやり、フォーマットやくっつけたい文字列を指定して、計算結果を渡せば、USB経由で送り出してくれるというとても素敵な関数です....が、PSoCでハマりました....どっぷりと...
ハマる前はI2C液晶に表示していたのですが、実機用のモジュール開発では液晶要らぬ....ということで、テキストを送って見るのですが、数値がうまく変換できぬ...表示せぬ...3つのパラメタを送っているのですが、1つは正常、2つはガン無視....うーみゅ、原因追求になんやかやで述べ20時間くらい死にました...
PSoCではspurintf関数を使うときは、ソースコードの頭に asm(".global_printf_float")を入れるか、プロジェクトの中のリンカにて、
-u_printf_float
を追加するべし、ということでした(ネット情報に感謝です)。
ところが、これで数値がいけるかと意気揚々と書き換えして動かして見ると....ストレンゲージ用の信号(を作っているのでオシロでモニタ中)が....、PSoC5起動後、パルスを40回くらい?出してフリーズ....へ?なんやんこれ......
それで再度ネットをガサガサしていると、
sprintfを使うときはヒープサイズをあげてねっ、せめて1kくらいにネッ!という記述を発見。
これにより、20時間の苦労が報われました。
今から4chバージョンに拡張する作業に入ります...PSoC、凄くいけてるし、安いんですけど、ハマりどころが多いんですよね...ということで、同好の士への情報共有でした。
最終更新:2019年02月20日 10:47