fusion_hat.modules.compass モジュール
- class fusion_hat.modules.compass.Compass(placement=['x', 'y', 'z'], offset=[0, 0, 0, 0, 0, 0], declination="0°0'W", field_range='8G')[ソース]
ベースクラス:
Magnetometer磁力計データから方位角を読み取り、計算するためのコンパスモジュールです。
このクラスは Magnetometer クラスを拡張し、方位情報を必要とするプロジェクトに簡単に統合できるコンパス機能を提供します。
- 公開メソッド:
read_raw(): 生の磁場データを取得します。 read(): 方位角を含む処理済みコンパスデータを取得します。 read_angle(): 方位角のみを取得します ( オプションでフィルタリング )。 set_offset(): オフセット値を用いてコンパスをキャリブレーションします。 set_magnetic_declination(): 地域の磁気偏角を調整します。 clear_calibration(): すべてのキャリブレーションデータをリセットします。
- FILTER_SIZE = 30
- angle_str_2_number(str)[ソース]
磁気偏角を文字列形式から数値に変換します。
- パラメータ:
str (str) -- "DD°MM'E" または "DD°MM'W" 形式の磁気偏角です。
- 戻り値:
度単位の磁気偏角です ( 東は正、 西は負 )。
- 戻り値の型:
float
- angle_number_2_str(number)[ソース]
磁気偏角を数値から文字列形式に変換します。
- パラメータ:
number (float) -- 度単位の磁気偏角です ( 東は正、 西は負 )。
- 戻り値:
"DD°MM'E" または "DD°MM'W" 形式の磁気偏角です。
- 戻り値の型:
str
- read()[ソース]
処理済みのコンパスデータを読み取ります。
- 戻り値:
処理済み磁場データ ( x, y, z, angle ) です。 x, y, z はオフセット適用後の mGauss 値、 angle は度単位の方位角です。
- 戻り値の型:
tuple
- read_angle(filter=False)[ソース]
現在の方位角を読み取ります。
- パラメータ:
filter (bool, optional) -- 移動平均フィルタを適用するかどうかです。 デフォルトは False です。
- 戻り値:
度単位の方位角 ( 0–360 ) です。
- 戻り値の型:
float
- set_offset(offset)[ソース]
磁力計のキャリブレーションオフセットを設定します。
- パラメータ:
offset (list) -- mGauss 単位のキャリブレーションオフセットです。 形式: [x_min, x_max, y_min, y_max, z_min, z_max]。