Garmin vivoactive5を1週間使ってのレビュー

Garminのスマートウォッチ「vivoactive5」は、健康管理を目的としたスマートウォッチです。

今回、初めてのスマートウォッチとしてvivoactive5を選びました。

購入経緯

まず、私(アラサー)がvivoactive5の購入を決めるにあたってデバイスを絞り込む条件はは以下の通りです。

  • 睡眠を管理する機能があること
    • 仕事の疲れが溜まっていることを自覚し、無視できないほど朝の目覚めが最悪のことが多くなった。
    • 体調がすぐれないため、睡眠の質を改善していきたい
  • 体を動かすことにモチベーションを持てる機能があること
    • 仕事は在宅勤務・出社が半々、もしくは在宅勤務が多めかつ、平日は全くと言ってよいほど体を動かしていないことに対して、危機感を持っていた
    • スマートフォンの歩数カウンタだけでは、今一つ体を動かすモチベーションが上がらなかった
  • ワークアウトログの精度に信頼がおけること
    • ウォーキング・ランニング・サイクリングをする事は、中学生の頃から好きな方だったので、これらをログできれば良い
    • スマートウォッチの販売元のプラットフォームだけでなく、他の健康管理アプリとの連携ができること。(最低限歩数がGoogleFitと同期できること)
  • 値段がお手頃であること
    • 安すぎず、高すぎず。1万~3万の価格帯のデバイス
  • 数年は使い続けられる堅牢さがあること
    • 頻繁にデバイスを買い替えるのは個人的に嫌いなので、最低3年は使えるデバイスが良い

Garmin vivoactive5は以下のように条件を満たしました。

  • 体を動かすことにモチベーションを持てる機能があること
    • その日に目指すべき歩数を自動計算してくれる「自動ゴール機能」があります
    • BodyBattery機能により、運動する余裕があるかを判断する指標が提供されています。このあとリラックスすべきか、運動するべきかをテキストメッセージで教えてくれます。
    • 座りっぱなしの場合に、体を動かすよう促す「Moveアラート機能」があります。
  • ワークアウトログの精度に信頼がおけること
    • Garminは、GPS機器を取り扱うメーカーとして始まり、フィットネス用のデバイス開発の実績があります。
    • GarminConnectアプリおよびGarmiin Connect Webによって、走ったコースの起伏、その時のペース、負荷(心拍)、ピッチをグラフで時系列に見ることができるため、次はどのコースをどのように走ろうかという計画につなげることができます
  • 値段がお手頃であること
    • ネットショッピングでセールやクーポン等を使うとGarmin公式ショップからでさえ3万円強で購入できました(2024/2月末)。
  • 数年は使い続けられる堅牢さがあること
    • vivoactiveやvenu、lilyのレビューを見て、3年くらいは使えそうだと判断しました。
    • 1万円程度のデバイスだと、1年程度で急に電源が入らなくなった等のレビューがあったため避けました。

vivoactiveをどのように使っているか、それでどうか

  • 睡眠
    • ストレスフルな一日を過ごしたときは、多めに寝ましょうといった睡眠コーチがされました。それに基づいて早めに寝るようにしています。
    • 起床は、vivoactiveのアラームとSwitch botのスマートカーテンを組み合わせて起床しています。
      • SwitchBotカーテンは、その日の日の出の時間帯にカーテンを開けるように自動化設定をしました。
      • vivoactiveのアラームは、指定時刻にバイブレーションが振動するだけです。睡眠モニタによって指定時刻付近の気持ちよく起きられるタイミングでアラーム発動するというような機能は無いです。SwitchBotカーテンによってカーテンを開けた10分後くらいにアラームを設定しています。
    • 起床したら睡眠モニタを確認しています。
      • あまり良い眠りではなかったときは、「今日は疲れやすいそうだな」といった意識を持って一日の行動を考えます。
    • スマートフォン(Sumsung Galaxy S9)のアラームも念のため設定しています。
      • vivoactiveのバイブレーションで起床したら、睡眠モニタを確認後、vivoactiveの通知から「今日だけアラームOFF」を押し、スマートフォンのアラームを止めます。そして、朝食の準備に入ります。


使いはじめて1週間で、仕事の疲れがどっときた日もありましたが、目を開くのがしんどいというような悪い起床は無いです。


  • 運動
    • 仕事中にMoveアラートがちょくちょくなります。トイレ休憩がてら1~2分体を動かしてMoveアラートを解除しています。
    • 夕方に残ったBoddyBattery値および体力が残っていますというアドバイスメッセージに基づいて、今日は少し長めにランニングしようやペースを上げてみようといった、運動強度の調整しています。
    • 意識的にウォーキング・ランニングをするときに、ワークアウト機能を使用しています
      • ワークアウトでは、位置情報も記録するようにしています。私が住んでいるのは郊外の住宅地ですので、GPS測位で十分と考え、測位は「GPS」としています。
      • ワークアウト開始前のGPS信号捕捉は「20秒」程度です。私は、軽くウォーミングアップする時間として考えているため、特に気になっていません。
      • 都心のビル・マンション群の中を走る機会があれば「マルチGNSS」を使うかなと思いますが、基本GPSで十分と考えています
  • 水分補給
    • 水分補給をしたときに、補給水分量を記録するようにしています
      • 個人的にトイレが近いため、あまり水分を取らないような生活をしてきました。最近は、乾燥肌が気になりだし、水分不足が一因なのでは?と思い、記録するようになりました。
      • 補給量は、普段1回にのむ量を3種類カスタマイズして登録できるので記録しやすいです。

無理なく健康的生活をしている"感"があり自己肯定感が高まります。

vivoactiveの基本スペックについて

  • vivoactive5は気圧計を搭載していません
    • 上昇階数はカウントされません。同時期発売の他の機種(forrunnerやvenu)は搭載しています。が、私は気にしないので問題なかったです。歩数と負荷がわかる心拍数で十分だと思っています。
  • バイスのバッテリー

都度vivoactive5を操作し、スマートフォン接続OFF/ON。

      • 音楽再生 無し
      • 平日は一日に40分程度、休日は一日に60分程度GPS ONでワークアウト
      • ワークアウト時のディプレイ常時ONは無効化。
      • 睡眠時の血中酸素トラッキングモードON

結論

まず現状は買って良かった。継続して体を動かしていきたい。

Garmin vivoactive5で"ヨガ"のワークアウトを記録する方法

Garminのスマートウォッチ「vivoactive5」はヨガワークアウトに対応しています。
Garmin Connect Mobile アプリからヨガのワークアウトをカスタマイズすることができます。
これは、1つめのポーズは「サギのポーズ」、2つ目のポーズは「魚のポーズ」・・・といったように、実施するポーズを登録しておくことができる機能です。
※ 公式サポートされているポーズは約200種類です。
ヨガは無知なのでどのポーズ名がどの姿勢なのかをその場で確認できないのが残念です。(スマホでもパソコンでも確認する方法をご存じの方いらっしゃれば、コメントください)
こちらのページに基本ポーズがあり、Garminでサポートされているポーズも多いようなので参考にどうぞ。
www.yoga-atama.com

なお、ポーズを事前に登録せずに、ワークアウトの記録(心拍数等)だけをとることも、もちろんできます。



ヨガポーズを登録しないでアクティビティを記録する

ポーズ名未設定でヨガのアクティビティを記録することができます。
ポーズ1、ポーズ2…として、ポーズごとに区切って活動量を記録できます。
ワークアウト終了後にポーズ名をGarmin Connect Mobileアプリで付けることもできます。

アクティビティ記録方法
  1. Aボタンを短く1クリックし、「アクティビティ」を表示します。
  2. ヨガをタップします。
  3. 画面に「ヨガ 準備完了」と表示されるので、Aボタンを1クリックし、記録を開始します。
  4. 任意のポーズを実施します
  5. 異なるポーズを実施する場合は、Bボタンを押します。
    • ポーズを変えるごとに、Bボタンを押してください。
  6. ヨガを終了する場合は、Aボタンを押します。



アクティビティ記録の閲覧方法
  1. Garmin Connect Mobileアプリを起動します。
  2. 「詳細」 メニューをタップします
  3. リストから「アクティビティ」をタップします
  4. リストから「すべて」をタップします
  5. 記録されたアクティビティリストが表示されるため、閲覧したいの「ヨガ」をタップします
  • アクティビティ情報は以下の通りです。
    • 概要
      • 1回のトレーニング時間、平均心拍数などを見ることができます。
    • 統計
      • アクティビティ中の活動量を見ることができます。
    • グラフ
      • 時系列に「心拍」、「呼吸数」、「ストレスレベル」を見ることができます。
      • グラフ横軸のラベルは、ポーズの切り替わりタイミングを示します。
記録したポーズの編集方法
  1. ヨガアクティビティの記録を表示します。
  2. 概要タブのポーズの項目にある「編集」をタップします
  3. リストの各「セット/名前」欄の"ポーズを選択"をタップします。
  4. ポーズリストからセットしたいポーズをタップします。
  5. 3~4を繰り返します。
  6. ポーズの名前のセットが完了したら、画面左上の「←」をタップし、編集を終了します。
レーニング内容を定型登録してアクティビティを記録する。

カーディオを例に、トレーニング内容を事前登録しておき、ワークアウトを実施する方法を説明します。
カーディオ以外のトレーニングでも方法は同じです。
スマートフォンGarmin Connect Mobileアプリを使います。

〇 ワークアウトを作成する

  1. スマートフォンで"Garmin Connect"アプリを開きます。
  2. 詳細を開きます
  3. レーニングと計画を開きます
  4. ワークアウトを開きます
  5. ワークアウトの作成を開きます
  6. 任意のアクティビティを選択します
  7. 概要に、トレーニング内容を記載します(任意)
  8. ステップのウォームアップ、ワークアウト、クールダウンを設定します。
    • 必要のない項目は、各項目右端の" × "で削除します。
    • 新しいステップを追加するときは、画面の青いボタン"+ ステップを追加"で追加します。
  9. 各ステップをタップし、詳細を設定します。
    • メモを追加で、トレーニングステップの内容を記載します(任意)
  10. 運動を選択します
    • リストの中に合うトレーニング内容が無い場合は、空白のままとします。
  11. 目標タイプを設定します
    • 回数、時間、ラップボタン押下、カロリー、心拍、のどれをステップ完了の基準とするか選びます。
  12. 設定が終わったら、画面左上の「←」をタップし、内容を確定します。
    • 内容設定を反映しない場合は、画面右上の「削除」を押します。

私の場合は、Youtubeの"冷え性改善運動"を例に、以下のように「カーディオ」のワークアウトを作成しました。
目標タイプはすべて「時間」としています。時間になったらステップが自動で切り替わります。

設定が終わったら、右上の「保存」をタップし、ワークアウト名を入力します。
すると、ワークアウトページの"マイワークアウト"欄に、作成したワークアウトが表示されます。

〇 vivoactive5にワークアウトを転送する

  1. マイワークアウトから、転送したいワークアウトをタップします
  2. スマートフォンのマークをタップし、データ転送を開始します
  3. bluetooth接続されている転送したいデバイスをタップします
  4. アプリのトップに戻り同期(転送)が終了するのを待ちます
  5. vivoactive5のアクティビティを開きます
  6. 作成したワークアウトに対応するアクティビティを選択します
    • 私の場合はカーディオ
  7. 画面下の" ∧ "をタップします
  8. ワークアウトをタップします
  9. 作成したワークアウトを選択します
  10. Aボタンで適用します
    • ワークアウト開始画面に遷移します。作成したワークアウト名が適用されていることが確認できます。
  11. Aボタンでワークアウトを開始します

Versys1000SE(2019~) スクリーン取り外し

Versys1000SE 2019モデルの、スクリーン・スクリーンステーの取り外したので、記録として残します。

用意する工具

  • 六角レンチ 4mm
  • 六角レンチ 5mm
  • 径1~2mm程度の金属棒(六角レンチ1mm)
  • 精密マイナスドライバー
  • 部品入れ

手順

  1. スクリーン固定パーツを取り外す
    • 六角レンチ4mmで、4つのねじを取り外す (図1)
  2. スクリーンを取り外す
    • 1で取り外したねじ穴部分がゴムパーツで簡単に外れないようになっている
    • それぞれのねじ穴部分について均等に、取り付けステーと垂直手前方向に力をかけてスクリーンを浮かす
  3. アッパーカウル~メータ上にかけての黒いカバーを外す
    1. プラスチックリベットを取り外す
      • プラスチックリベットの中心を、径1mm~2mmの金属棒で押し込むことで、固定が外れる
      • 精密マイナスドライバーをプラスチックリベットの外周に差し込むことでリベットを引っ張り上げ、少し浮いたら手で取り外せる
    2. メータ上の六角ネジを二つ取り外す
    3. カバー下部のピン固定を外す(図3の赤丸部分に突起が刺さる構造になっている)
      • リベットを指す部分の辺りの左右から、黒いカバーの下側に指を入れ、指を前方にスライドさせた後、垂直に引っ張り上げる
    4. メータカバーに掛かる爪を外す
      • 黒いカバーを上方向にスライドさせるだけ
  4. スクリーンレールを取り外す
    • シルバーの六角ネジを4つ外す(図3の青丸)
    • スクリーンレールは重量があるので片手でスクリーンレールを支えながらねじを外す
    • すべてねじを外したら、両手でゆっくり垂直に持ち上げる


図1


図3

BLEシリアル通信をWioTerminalとスマホで!

本記事は、WioTerminalとAndroidスマートフォンの間でデータのやり取りをする方法を紹介します。

ネットで検索したときに少しはPlatformIO + Seeedのライブラリ + WioTermianal で無線通信をしている記事がありましたが、
数が少なく心配だったので、成功例を増やして、あとから来る方に安心してトライしてもらう意味で本記事を執筆しました。

用意するもの

手順

  1. WioTerminalの中の無線通信用CPU (RTL8720DN)のファームウェアを、ATSAMD51から更新します
    • ambd_flash_tool (https://github.com/Seeed-Studio/ambd_flash_tool)
    • git cloneするか、圧縮ファイルをダウンロード、解凍します
    • WioTerminal の電源ボタンを二度押し下げ、ファームウェアを書き換えられる状態にします
    • Windowsの場合は、Power Shell を開きambd_flash_toolの中の実行ファイル ambd_flash_tool.exeや ambd_flash_tool.py がある階層へ移動します
    • 次のコマンドで、データをクリアします
ambd_flash_tool.exe erase
    • 次のコマンドで、データを書き込みます
      • はじめに、WioTerminal_USB2Serial_Burn8720.ino.binがATSAMD51用のプログラムとして書き込まれます
      • 次に、firmware配下にある km0_boot_all.bin、km0_km4_image2.bin、 km4_boot_all.bin という名前のファイルを書き込むようになっているようです
ambd_flash_tool.exe flash
      • 実行の様子は、本記事末尾に貼ってあります
  1. VSCodeを起動し、新しいプロジェクトを作成
    • プロジェクト名例 : WioTerminalBLESerial
    • platform : Arduino
  1. platformio.iniを開き、ライブラリを追加します
    • ※ Seeed Arduino rpcBLEは、platform IOのライブラリ検索でヒットしたので、platform IOのライブラリ管理からプロジェクトに追加しました
    • rpcUnifiedとFreeRTOSは、ライブラリ検索でヒットしなかったため、gitリポジトリを指定しています
    • 変に混在させず、すべてgitリポジトリを指定すれば良いと思います
; PlatformIO Project Configuration File
;
;   Build options: build flags, source filter
;   Upload options: custom upload port, speed and extra flags
;   Library options: dependencies, extra library storages
;   Advanced options: extra scripting
;
; Please visit documentation for the other options and examples
; https://docs.platformio.org/page/projectconf.html

[env:seeed_wio_terminal]
platform = atmelsam
board = seeed_wio_terminal
framework = arduino
lib_deps = seeed-studio/Seeed Arduino rpcBLE@^1.0.0
           https://github.com/Seeed-Studio/Seeed_Arduino_rpcUnified.git
           https://github.com/Seeed-Studio/Seeed_Arduino_FreeRTOS.git
  1. src/main.cppを開き、サンプルコードを貼り付けます
  1. コンパイルが成功することを確認します
  1. WioTerminalに書き込みます
  1. Androidスマートフォンに、SerialBluetoothTerminalをインストールします
  2. SerialBluetoothTerminalを起動します
    • 左上のハンバーガーメニューを押します
    • Devicesを選択します
  3. WioTerminalと接続します
    • 画面上部のタブから、「Bluetooth LE」を選択します
    • 画面上部の「SCAN」をクリックします
    • リストに「UART Service」が表示されます
    • UART Serviceをクリックします
  4. 文字をAndroidスマートフォンからWioTerminalに送ります
    • スマホ画面下部のテキストボックスに文字を入力します
    • テキストボックス右の 送信ボタンを押します
      • hello という文字を送ると、PlatforomIO シリアルモニタに出力された
      • WioTermialからは0x0~0x255のバイナリを送るため、一部文字化けしたデータがAndroidの画面に表示されます
Waiting a client connection to notify...
MyServerCallbacks onConnect 
*********
Received Value: hello

*********
start advertising
続きを読む

オカムラの中古オフィスチェアを購入

中古でオカムラSylphy(シルフィ)を購入しました。

購入のポイント

  • 中古でお安く
  • 前傾をとれるような椅子が良い
  • 細身に合う椅子
  • ランバーサポートが欲しい
  • ひじ掛けは不要

妥協

  • 椅子の台座の色

購入店舗

  • オフィスバスター(ウェブ)

届いた

f:id:prescott0216:20210921204457j:plain:w250

状態

  • 背もたれ等は目立った解れ等なし
    • ウェブ上のAランク表示を信じ購入。不満無し
  • 脚の部分に目立つ傷あり
    • 特に気にしないのでok
  • シリンダ部分に汚れがたまっていた
    • 一度ふき取り、シリコンスプレーで油分再塗布

f:id:prescott0216:20210921205338j:plain:w250

M5StickC plusでBlynkを使ったパワーLEDの制御

本記事は、AndroidスマホからBLE(Bluetooth Low Energy)によってM5StickC Plusに信号を送り、パワーLEDの光り方を制御する方法についてまとめます。


準備するハードウェア

ソフトウェア

手順

  1. パワーLEDを光らせる回路を組みます

f:id:prescott0216:20210904013736p:plain:w250
LEDドライバ(PWM調光)の回路図

  1. M5StickCの信号線をLEDドライバと接続します
f:id:prescott0216:20210904015243p:plain:w400
M5Stick PWM信号出力
  1. Blynkのsampleコードをもとに、コーディングします

基本的には、loop関数内でBlynk.run()を実行するだけで良いです。
ただ、一度スマートフォン側でBLEを切断したのち、再接続しようとしても接続できませんでした。
そこで、ライブラリを修正しました。
具体的には、スマホが接続されたらBLEのアドバタイジングを止める、スマホが切断されたらBLEのアドバタイジングを開始できるようにしてみました。
今回、M5StickCに対して同時に何台も接続する必要がないので、とにかく再接続ができれば良しとしました。

メインプログラム

#include "M5StickCPlus.h"
#include <BlynkSimpleEsp32_BLE.h>
#include <BLEDevice.h>
#include <BLEServer.h>

#define AUTHTOKEN "01234abcdef7890ghijklmn"
void setup()
{
  M5.begin();
  pinMode(GPIO_NUM_26, OUTPUT);
  Serial.begin(9600);

  Blynk.setDeviceName("KawasakiPannir");
  Blynk.begin(AUTHTOKEN);

  ledcSetup(LED_CH0, 12000, 8);
  ledcAttachPin(GPIO_NUM_26, LED_CH0);

   ledcWrite(LED_CH0, 0);    // LED OFF
}

BLYNK_WRITE(V0)            // Slider 0 to 255, PIN V0
{
  uint32_t value = param.asInt();
  Serial.println(value);
  ledcWrite(LED_CH0, value);
}

void loop()
{
  static bool myblestat = false;
  int ret;

  if(myblestat == false && Blynk.connected() == true)
  {
    Serial.println(" > Status Changed ! [ Connected ]");
    Blynk.endScan();
    myblestat = true;
  }
  ret = Blynk.run();
  if(ret < 0)
  {
    if(myblestat == true)
    {
      myblestat = false;
      resetLed0();
      Serial.println("Please wait...");
      delay(1000);
      Blynk.startScan();
      Serial.println("New Device Waiting...");
    }
    delay(500);
  }

}

BlynkSimpleEsp32_BLE.h

 (省略)
class BlynkTransportEsp32_BLE :
    public BLEServerCallbacks,
    public BLECharacteristicCallbacks
{
(省略)
public: 
    void stopAdvertising()
    {
        pServer->getAdvertising()->stop();
    }

    void startAdvertising()
    {
        pServer->getAdvertising()->start();
    }

(省略)
};

(省略)

class BlynkEsp32_BLE
    : public BlynkProtocol<BlynkTransportEsp32_BLE>
{
    typedef BlynkProtocol<BlynkTransportEsp32_BLE> Base;
public:
    BlynkEsp32_BLE(BlynkTransportEsp32_BLE& transp)
        : Base(transp)

 (省略)
    void startScan()
    {
        conn.startAdvertising();
    }

    void endScan()
    {
        conn.stopAdvertising();
    }

};

まとめ

スマートフォンとM5StickC PlusをBLEで接続し、 パワーLEDの調光ができました。

The following post may lead us to the solution of the BLE reconnection trouble that is included in the ESP32 library.

WioTerminalでCAN通信~ライブラリ実装編~

本記事は、WioTerminal(ATSAMD51)でこれまでに試してきたWioTerminalとMCP2515のSPI通信について、ライブラリを作成して使いやすくする過程を示します。
なお、ライブラリをC++でコーディングしていますが、C++コーディング手法については手本にはなりません。ご了承ください。

開発中のGitリポジトリはこちらです。
github.com


これまでにMCP2515を試した記録記事は次の2本です。
embaud-ot.hateblo.jp

embaud-ot.hateblo.jp

ステップ1 : MCP2515のアドレス定義

まずは、ヘッダファイルにMCP2515の固定値を定義します。
プリプロセッサのDefine命令によって、コーディング用の固定値として登録し、コーディングをスムーズに間違いなく行えるようにします。
今回定義したのは、大まかに次の3つの値です。

それぞれの定義名の規則は次のようにしました。

  • 「MCP2515_REG_」をレジスタ名の定義
  • 「MCP2515_MD_ 」を動作モード
  • 「MCP2515_CMD_」を短縮命令

MCP2515の定義を追加したコミット

ステップ2 : SPI通信で命令を発行する関数の実装

命令のみの発行、命令発行+データの送信、命令発行+データ送信+データ受信 というパターンがあるので、それぞれを行う関数を定義しました。

  • orderInst
  • orderSend
  • orderRecv

MCP2515のSPIインターフェースを実装したコミット

ステップ3 : MCP2515の構成設定を実装

CAN通信設定として、CNF1, CNF2, CNF3を設定することで、CAN通信速度を定義します。
setConfig関数を、3つの設定パターンで実装しました。

  • セグメント長を手動入力で指定するタイプ
  • CNF1, CNF2, CNF3に値を設定するタイプ
  • 所望のCANボーレートと、MCP2515への供給クロックを指定することでセグメント長を自動計算するタイプ

MCP2515のConfigurationレジスタ設定を実装したコミット

この時点で、CANCTRLレジスタをオペレーションモードをNormalや、ListenOnlyモード、LoopBackモードに設定することでCAN通信をテストすることができます。

ステップ4 データ受信構造を実装

CANデータを受信するメソッドを実装しました。
READ RX STATUS 命令を用いて、受信データの有無、何番のバッファにデータが入っているかをはじめに調べます。
次に、READ RX BUFFER 命令で IDとデータ長を取得、最後に受信したデータ長分のデータを取り出します。
candata_stという構造体を作成し、そこにパケット情報を詰め込みました。

  • recv
    • 受信バッファ内のデータ取り出し
  • getRxStat
    • 受信バッファ内のデータ有無確認

MCP2515のデータ受信を実装したコミット

ステップ5 バッファ状態出力ピン設定を実装

CANデータがバッファに入ったことを、毎度SPI通信でレジスタを確認するのも良いですが、頻繁に確認するようだと、オーバヘッドが大きくなります。
MCP2515には、受信バッファのデータ有無をデジタル信号出力する機能があるため、マイコンに信号線をつなげることで信号状態High/Lowによってデータの有無を確認することができます。

  • pinMode

MCP2515のDigital Outputピンの設定を実装したコミット

単にデジタルアウトプットピンとしても使用できるため、マイコン入門用にMCP2515のLチカも実装してみました。
MCP2515のLチカ (blink LED)サンプルスケッチ

ステップ6 データ送信構造を実装

データ受信で使用したcandata_st構造体を使用し、そこに格納されたデータを送信する構造を作りました。
送信データの格納は、TXバッファへのロード命令を使用しました。

  • setTxData
    • バッファへ格納
  • send
    1. バッファへの格納と送信リクエストを同時に発行する
    2. 送信リクエストを発行(setTxDataと併用)

データ送信を実装したコミット

まとめ

WioTerminalとMCP2515とのSPI通信、SPI通信で命令を発行してレジスタ読み書きをすることで、初期設定、データ受信、データ送信、基本的な操作をするためのライブラリができました。