QCustomPlotの高速化
- 2021.03.07
- Qt
現在作成しているデータ収集ソフトはQCustomPlotを使ってグラフを描画している。とりあえずここにあるサンプルプログラムの通りにsetDataメソッドを使っていたが、データ点数が10万とかに増えると処理が重くなり、使い物にならなかった。 少し調べてみたらQCustomPlotではグラフごとに内部にQCPGraphDataContainer型のデータを持っており、上のサンプルにあるようにQVec […]
現在作成しているデータ収集ソフトはQCustomPlotを使ってグラフを描画している。とりあえずここにあるサンプルプログラムの通りにsetDataメソッドを使っていたが、データ点数が10万とかに増えると処理が重くなり、使い物にならなかった。 少し調べてみたらQCustomPlotではグラフごとに内部にQCPGraphDataContainer型のデータを持っており、上のサンプルにあるようにQVec […]
相変わらずちまちまと進めているが、大分パソコン向けのソフトウェアの作り方が分かってきた気がする。 組み込みでは割込みを使って見かけ上の並列処理を実現しているが、少なくともQtにおいては割込みという概念は無く、全てポーリングで動いているようだ。イベントが発生するとキューにスタックされ、ポーリングでそれを検出してイベントに応じた処理を実行するというのが基本的な動作なのだと思う。イベントが複数あるとその […]
少しずつではあるが作りたいソフトが出来上がってきた。最初に作ったものはソフトの構造が悪かったので作り直し、今作成しているのは2つ目だ。 クラスというものに初めて触れたのでどう使っていいのかよくわからなかったが、やってるうちに段々と分かってきた。やはりこういうものは本を読み込むよりひたすら使ってみるに限ると思う。少なくとも自分にはそれが合っている。最初はC++の本を数百ページ読んだが、学校の勉強と同 […]
モーターのベクトル制御をするためには強力なデバッグ環境が欠かせない。デバッグ環境と言っても色々あるが、個人的には数十マイクロ秒ごとに複数のデータを送ってきてくれればそれで良い。 具体的に言うと最低限d,q軸の電圧と電流、バス電圧、ローターの電気角+もう2つくらいを制御周期ごとにパソコンでモニターしたい。それも浮動小数点型で。 今までずっと株式会社データ・テクノさんのCPLTというツールを使っていた […]
最近ずっとSTM32マイコンのペリフェラルの記事を書いているが、今回で終わりだ。最後はWWDG(独立ウォッチドッグ)について。機能が少なくとても単純なのでリファレンスマニュアル(RM0410 Rev4)を見ればすぐに使えるだろう。ここでは特徴や注意点を書こうと思う。 概要 WWDGはダウンカウンタとして動作する。APB1のペリフェラルクロックで動作するため精度は良いが、バスのクロックが停止すると一 […]
また前回から時間が空いてしまったが引き続きSTM32F7の機能について記述していく。今回IはIWDG(独立ウォッチドッグ)について。以下にマニュアルと書かれているのはリファレンスマニュアル(RM0410 Rev4)のことを指している。 概要 IWDGのタイマーは内蔵RCクロックによってmainとは完全に独立で動作する。RCクロックの名の通りRC発振回路で動作しているため時間精度は悪い。0xFFFか […]
前回から時間が空いてしまったが引き続きSTM32F7の機能について記述していく。今回はフラッシュメモリについて。以下にマニュアルと書かれているのはリファレンスマニュアル(RM0410 Rev4)のことを指している。 バンクのモード STM32F7のフラッシュメモリには以下の2つのモードがあり、マイコンが起動する際のOPTCRレジスタのnBANKビットの状態によってどのモードになるかが決まる。・シン […]
引き続きSTM32F7の機能について記述していく。今回はリセットとクロックについて。以下にマニュアルと書かれているのはリファレンスマニュアル(RM0410 Rev4)のことを指している。 リセット STM32F7には3種類のリセットがある。RCC_CSRレジスタの31~25ビット目を見れば発生したリセット要因が分かる。これらのビットは同じくRCC_CSRのRMVFビットをクリアすることで全てクリア […]
ここ最近はひたすらSTM32F7のリファレンスマニュアル(RM0410 Rev4)を読んで基本的なペリフェラルの動作を確認していた。せっかくなのでここに分かったことを書いていこうと思う。まずは電源管理のペリフェラルから。ただの電源だと思ったがこれが意外と複雑で高機能だった。これがSTM32マイコンの良さでもあるようなのだが。 基本事項 STM32F7はVddピンから供給される電源によって動作する。 […]
ST社が提供しているHALなどのライブラリは構造が複雑で、何がどう動いているのか分からないものを使いたくないという気持ちがあって敬遠してきた。 しかしUSBを使ってPCと通信しようとしてこれを使わざるを得なくなった。USBの通信仕様が思った以上に複雑で、USB1.1の規格書だけでも300ページ以上ある。確かによくできてはいるけど、よくこんなものが世界標準になったなと感心した。 これを習得するのには […]