なりなり日記

Appleと折りたたみ自転車(BROMPTON / Tern Vektron S10 / BESV PSF1)の情報を中心に発信中!

maxellのEMSギア「もてケア」を使ったトレーニング開始から2ヶ月経過!

こんにちは、なりなりです(^ ^)

測定日 2017.8.25 9.15 10.30
体全体 身長 169cm
体重 58.6kg 59.4kg 57.6kg
体脂肪率 18.3% 17.9% 18.3%
皮下脂肪率 12.4% 12.3% 12.4%
骨格筋率 32.6% 32.8% 32.6%
体幹 胸囲 - 89.0cm 91.0cm
腹囲 75.5cm 75.0cm 74.0cm
体幹皮下脂肪率 10.7% 10.6% 10.7%
骨格筋率 27.0% 27.2% 27.0%
脚部 右太腿周り 48.5cm 50.0cm 49.0cm
右脹脛周り - 35cm 34.5cm
皮下脂肪率 16.8% 16.4% 16.9%
骨格筋率 49.9% 50.0% 49.9%
腕部 右上腕周り 26.0cm 26.5cm 28.5cm
右前腕周り - 26.0cm 26.0cm
皮下脂肪率 17.3% 17.0% 17.4%
骨格筋率 38.6% 38.8% 38.8%

正直、数値的な効果はよく分かりません(^◇^;)

前回、太腿周りが大きく増えたのは、測定ミスだったかもしれません。

そう考えると、今回、上腕、胸囲が増えて、腹囲が減っているのは良い傾向なのですが、誤差の可能性も有ります。

但し、テニスをしていて、特にサーブが力強くなっている(仲間からも変わったと言われました)し、お腹を触っていて筋肉が増えているとは感じています。

腕は、腕立て伏せも併用していますし。

でも、このくらいの差だと写真で明らかには違いが見えないので、掲載無しで。

恐らく、簡単に効果が得られると思って始めた人は、効果無しとして、このくらいで諦めてやめてしまうのでしょうね。


EMSの設定レベルは、その時その時で、痛みが激しくない範囲で、なるべく高めに設定するようにしており、日々同じでないため、記録するのをやめました。


僕と奥さんが無理の無い範囲で腹筋が出来た回数は

8/25 10/30
25回 60回
奥さん 20回 50回

二人とも大きく伸びました。

腹筋はやはり明らかに付いていると感じます。

腹筋のトレーニングは、他に何もしていませんしね。


もてケアの粘着パッドは、たまに水洗いして埃を落としたりしていますが、粘着力がかなり落ちてきました。

シートが壊れたりはしていないだけに、替え時が難しいです。

IFTTT(イフト)を使って見逃したくないメールをLINEに転送しよう!

こんにちは、なりなりです(^ ^)

IFTTT(イフト)というサービスは何となく聞いたことは有ったものの、使ったことは有りませんでしたが


家中の家電を外出先から赤外線コントロール出来る「Nature Remo」が良さそう! - なりなり日記

こちらにご紹介したように、今興味を持ってるNature RemoやGoogle Homeで使いそうなため、少し調べてみました。

IFTTT(イフト)って何?

Explore - IFTTT

IFTTT自動化とワークフロー

IFTTT自動化とワークフロー

  • IFTTT
  • 仕事効率化
  • 無料

IFTTTはフェブサービスですからブラウザで使えますが、アプリも用意されています。

Facebookみたいな感じですね。

IFTTTは、If、This、Then、Thatの略です。ITに明るい人なら知っているけど、多くの日本人はまだ知らないサービスでしょう。

このネーミングは、欧米人なら、ほー、なるほどと思うネーミングなんですかね。

日本人にはさっぱりですよね。

もし(if)、こう(this)、なったなら(then)、ああ(that)、しろと。

は?と思いますよね。

もう少し分かりやすく言いますね。

IFTTTで対象となるのはWEBサービスです。

Facebook、Twitter、Gmail、Evernoteなど、今時スマホで使っている多くのサービスはアプリだけでなく、WEBで(Safariなどのブラウザで)使えますよね。

これらのサービスなら何でも良いわけではなくて、そのサービスがIFTTTに対応している必要が有ります。

LINEはアプリだけのサービスに思えますが、IFTTTに対応しています。


で、WEBサービスAでこういうことが起きたら、WEBサービスBでああいうことをやりなさいという、簡単なプログラムというか手続きを組めるのがIFTTTなんです。

この手続きをIFTTTではアプレットと呼びます。

まずはIFTTTに登録

以降はiPhoneアプリでの説明ですが、WEBでも全く同じでしたし、Androidでも同じだと思います。

アプリを起動したら、まずはアカウントを作成します。

GoogleかFacebookのアカウントでサインインすることが標準みたいですが、僕はこの方式に抵抗が有ります。

そのため、その下に小さく表示されている、"use email to sign up"をタップして登録しました。

登録はメアドとパスワードをその場で入力するだけで完了です。

簡単過ぎて不安を覚えます(^◇^;)


ログインするとお勧めアプレットが表示されるのですが、タイトルなどは作者が入力しているため、英語表記が多いです。

そもそも、サービス自体が日本語化されていませんし。この辺りがハードル高いですよね。


SearchからMy appsを選ぶと、自分のスマホにインストールされているアプリの中からIFTTTで使えるサービスの一覧が表示されます。


僕などは、GARMINやRuntasticが有ると嬉しかったのですが、似たサービスだとStravaだけが対応していました。

GARMINでデータをアップロードするとStravaに反映されるというのは、既にGARMINとStravaの連携で実現されているのですが、RuntasticにアップロードしたらGARMINやStravaに反映出来ないかと期待したのですが、今のところ無理でした。

試しにひとつアプレットを作ってみる

お気に入りの公開アプレットを探しても良いのですが、やりたいことが決まっているなら自分で作った方が早いです。

何をさせようかと思ったのですが、メールをLINEに転送することが出来るようなので、これを使ってみることにします。

僕は、今やメールは買い物の明細書受領が主な用途で、プッシュは勿論フェッチもしていなくて、せいぜい夜に一度手動で読み込む程度です。

連絡を取るには、ほぼほぼLINEを使っているので、たまにメールで連絡を取るのが面倒です。

やりたいこととして、

  1. テニス部のメーリングリストをLINEに転送したい
  2. LINEグループの中にLINEを使っていない友達のメアドを入れて、LINEとメールでシームレスにグループチャットしたい

この2つが思い浮かぶのですが、今のところ2つめは実現出来ないようです。残念(><)

友人の中には、ガラケーを使い続けている人や、頑なにLINEを拒む人が一部いるのですが、これらの人達のためにメールでやり取りするのが面倒なんですよねぇ…


ひとつめは可能なので、アプレットを作ってみます。


My appletで➕を押し


thisの左の➕を押して


Gmailをサーチして選びます。

LINEに転送したいメールは、Gmailで受信させておくことが前提です。


メーリングリストは様々なメンバーがメーリングリストアドレスに送信することでメンバーにメールが届きます。

そのため、送信者(From)では抽出出来ません。そこで、New mail in inbox from searchを選んでみます。


Connectを選ぶと


Gmailの認識、ログインが求められます。


更にサーチワード、今回はメーリングリストのアドレスを入れて


message destinationとして転送メールの表示先、今回はテニス部グループを選び


表示内容を編集します。


今回は、表示をすっきりさせるために、送信者とメール本文のみ。


間違えて消し過ぎてしまったらAdd Ingredientを押して


追加することが出来ます。

改行は、何故か
を2つ書くものみたいです。


次にthatの左の➕を押して


LINEを検索します。

LINEは今のところsend messageしか選べません。

これを選んでから、Gmailと同様に認証します。


Finishで完成!

あとは、IFTTTとLINEを連携した時にLINE友達に追加されるLINE Notifyをテニス部グループに追加します。


その後、メーリングリストが正しく転送されることを確認しました(^-^)


今のところthatにしか対応していないLINEがthisに対応したら、僕がやりたい2番目も出来るようになるでしょう。

是非、対応して貰いたい。


皆さんも、このサービスとこのサービスを関連づけられたら良いのにという要望が有ったら、IFTTTで出来ないか確認してみてください!

アプリはそのままでは公開されない

IFTTTのアプリは公開されているものが沢山あるのですが、自分で作ったアプリが勝手に公開されるのも何か嫌だなと思って調べてみました。

残念ながら、ブログで説明されている内容は古いものしか見つかりませんでした。

結局、日本語の説明は見つけられなかったのですが、"ifttt how to publish applet"でググって出てきたのが、IFTTTのヘルプです。

https://help.ifttt.com/hc/en-us/articles/115010194447-Can-I-publish-or-share-an-Applet-https://help.ifttt.com/hc/en-us/articles/115010194447-Can-I-publish-or-share-an-Applet-

どうやら、IFTTTのWEBやアプリで作ったアプレットは非公開の個人用しか作れないようです。


IFTTT for Developers

公開したい場合は、IFTTT platform toolを使う必要が有ります。

それなら安心してアプレットが作れます(^-^)

モバイルSuicaからエクスプレス予約(東海道・山陽新幹線の予約)開始!

こんにちは、なりなりです(^ ^)

Suica

Suica

  • East Japan Railway Company
  • ファイナンス
  • 無料

エクスプレス予約(東海道・山陽新幹線)を利用するための手続きを知りたい。 | Suica Apple Pay よくあるご質問

今日のアップデートで、モバイルSuicaからエクスプレス予約(東海道・山陽新幹線の予約)を利用できるようになったようです(^-^)

新幹線全線への展開を期待します。

家中の家電を外出先から赤外線コントロール出来る「Nature Remo」が良さそう!

こんにちは、なりなりです(^ ^)

Google Home Miniが入荷した模様!ねぇグーグルでもOKらしい! - なりなり日記

スマートスピーカーというか、ホームアシスタントの注目度が一気に高まっていて、僕自身も注目しています。


ただ、今のところ残念なのは、LINE WAVEを除いて赤外線リモコンが搭載されていないことです。

つまり、既存の家電をコントロール出来ない。LINE WAVEがどこまで家電をコントロール出来るかもよく分からない。


そこで、最近興味をもっているラズパイ(Raspberry Pi)を使って自作してみようかと思っていたのですが

  • 結構苦戦しそう
  • 見た目が悪くなりそう

な予感プンプンです。ラズパイはラズパイで興味があるので、そのうち手を出すつもりですけど。


そして調べてたどり着いたのがNature Remoです。

Nature

スマートリモコン「Nature Remo」で快適なお部屋に帰宅、夜も快眠!|マクアケ - アタラシイものや体験の応援購入サービス

https://www.kickstarter.com/projects/926103613/nature-remo-make-any-room-air-conditioner-smart?lang=jahttps://www.kickstarter.com/projects/926103613/nature-remo-make-any-room-air-conditioner-smart?lang=ja

今のところ購入出来るのは

  • 開発元のNature(日本語サイト)
  • Mkuake(日本語サイト)
  • Kickstarter(英語サイト)

だけで、楽天やAmazonでは手に入りませんけど。


Nature Remoの特徴は

  • 学習型赤外線リモコン搭載
  • WiFi 802.11 b/g/n搭載
  • 温度、湿度、人感、照度、ノイズセンサー搭載
  • iPhone、Androidアプリを使って家の外からでもコントロール可能
  • Google Home、Amazon Echoなどのスマートスピーカーから制御可能(IFTTTを使用)
  • APIが公開されるので、自分でプログラムを組んで制御出来る(PCやRaspberry Piなど)

となっており、家中の赤外線リモコン対応家電(対応出来ないものもある可能性はあり)を自在にコントロール出来るものです。

Nature Remoは、既に販売を終えて手に入らないiRKitの後継機で、マニアの間で話題だったiRKitの使い勝手を良くして、より簡単に使うことも可能にしたものらしいです。


http://nature.global/jp/ifttt-setup/http://nature.global/jp/ifttt-setup/

IFTTTのサービスもアプリも日本語化されておらず取っつきにくいのですが、既にNature Remoのサイトのサポートには、IFTTTを使ったGoogle HomeとNature Remoの連携方法が記載されています。

とても親切ですね(^-^)


楽天やAmazonで手に入る物の中では

eRemoteやeRemote miniが一番良さそうなのですが、スマホアプリからの制御しか出来なそうなのが面白くないです。

全ての機能がスマホアプリの開発頼みですから。


スマートスピーカーは

  • 年末にかけてAmazon Echoの発売が控えている
  • 家電各社がGoogle Homeを搭載したスピーカーを発売するという話が有る

といったことからで少し待つとして、近々、Nature Remoを買ってみようと思います(^-^)

【西丹沢 大野山】天気が良ければ富士山と丹沢湖の大パノラマが広がる!

こんにちは、なりなりです(^ ^)

久し振りに、夫婦でトレッキングしてきました。場所は、西丹沢の大野山です。

こちら、山頂付近に置かれていたルートマップです。


山と高原地図

山と高原地図

  • Shobunsha Publications, Inc.
  • ナビゲーション
  • 無料

大野山は山と高原地図の「丹沢」にも含まれています。

入り口は「御殿場線 谷峨(やが)」がおススメ

谷峨、山北、両方面の特徴を挙げると

谷峨から山頂
△一気に標高を上げて山頂に向かうためキツイが、道は整備されている
◎所々で眺望が開け、富士山が見える
✖️駅は無人でコンビニの一つも無い

山北から山頂
△ゆっくりと標高を上げるが、道が意外と荒れていて楽ではなく、車道も長く歩く
✖️山頂に着くまで眺望が全く無い
◎駅前がひらけていて、コンビニや食事処が有る

こういった感じです。

山北の良いのは駅前がひらけていることだけです。

お昼など必要なものは事前に用意しておけば、朝、山北からスタートする必要は無いですが、下山後に何も無い谷峨に降りるのは今ひとつですよね。

それに、富士山の眺望は朝の方が良いので、途中でも何度も拝める谷峨をスタートとした方がいい。

下山後に店が必要無ければ、谷峨スタートで谷峨に戻るのが良いかも。

谷峨からスタート

谷峨は無人駅、かつ、御殿場線はSuicaが使えません。神奈川県内に、こんなエリアが有るのですね(^_^;)

只今、9:08です。


駅前の観光案内が日焼けしていて読めません…が、大野山への道標だけはちゃんとしてます。


大野山への案内はマメに有るので迷わないでしょう。


川を越えてから、一ヶ所だけ見にくい案内がありすが、分岐は必ず登りを選べば間違い無し。


民家が現れたら、その脇が登山口です。


東屋に手作りジャムが置いてあります。美味しそうでは有りますが、無人販売所の加工品は、ちょっと買うのに勇気が…


この先に柵が有って、行き止まりか?と思ってしまいますが、開けて(閉め忘れ注意!)先に進みます。

ここから、登りが本格化しますから、気合いを入れましょう!


少し登ると、早速、富士山が見えます。まだ雪が見えず、真っ黒なのが残念ですけど。

御殿場線からは富士山が綺麗に見えていましたが、既に雲が増えてきていますね…


たまに、こんな可愛い彫り物がお出迎え。スカイツリーの高さに到着!

只今、10:47です。


道が水平になったところに東屋がありますが、ここはまだ山頂ではありません。


残念ながら富士山が隠れてしまいましたが、天気が良ければ眺めは最高だと思います。


しばらく歩いて山頂に到着!

11:11です。

奥さんのかなりゆっくりペースで、駅から2時間かかりました。


眼下には丹沢湖


その左奥には、天気が良ければ富士山が間近に見えるはず。

富士山に近いだけあって、高尾山クラスの低山にしては、眺めは最高です。


山頂には東屋やベンチが豊富に有るので、お昼やコーヒーをゆっくり楽しめます(^-^)


但し、人手の数からして仕方ありませんが、山の茶屋などは有りませんから、全て持参で。

案内本には牧場があると書いて有りましたが、すでに閉鎖されていました。

牧場にアイスが売ってたりなんて淡い期待もしていましたが、牧場がある時でも、そんなサービスは無かったようです(^◇^;)

山北側に下山

僕らは山北に降りてみました。

12:10スタートてす。


山北方面は眺望が無く、森の中を歩く感じです。


斜度は少なめですが道はそこそこ荒れていて、それほど歩きやすくは有りません。


登山道を出てから山北駅まで結構歩くのも楽しく無い。


14:14、山北駅に到着。

駅周辺は、コンビニ(デイリーストア)やカフェなど、帰りがけに一息入れられるのが良いところでは有ります。

僕らはデイリーストアでアイスとジュースを買って帰りました。

山北駅でもSuicaは使えないので、駅員さんに説明して入場させてもらいます。

自宅最寄り駅で御殿場線で乗り降りしてきたと説明すれば清算してくれるとのこと。


来月か、来年の4〜5月か、富士山の綺麗な季節にまた行こうと思います(^-^)

Google Home Miniが入荷した模様!ねぇグーグルでもOKらしい!

こんにちは、なりなりです(^ ^)

Google ストアでは Google のデバイスやアクセサリをご購入いただけます

[商品価格に関しましては、リンクが作成された時点と現時点で情報が変更されている場合がございます。]

Google Home Mini チョーク
価格:6480円(税込、送料無料) (2017/10/12時点)


恐らく近々でリリースされるスマートスピーカーの中で最安値6,480円のGoogle Home Miniの販売が開始されたようです。

スマートスピーカーは、国内販売予定を含めて

  • Amazon Echo(アレクサ、アマゾン、エコー)
  • LINE WAVE(クローバ)
  • Google Home(オッケーグーグル、ねぇグーグル)
  • Apple HomePod(ヘイ シリ)

※何も括弧内は、コマンドの起動キーワード

の4シリーズで、LINE WAVEがLINEミュージック利用一年分付きで12,800円という購入方法が有りますが、LINEミュージックは微妙…

WAVEは赤外線リモコン付きで家電コントロール出来るのは良いのですが、現状では対応が限定的です。

そのため、お試しにはGoogle Home Miniが良さげです。でも、「オッケーグーグル」は無いなと思っていたのですが

https://support.google.com/chromecast/answer/7071994?hl=jahttps://support.google.com/chromecast/answer/7071994?hl=ja

実は、「ねぇグーグル」でも良いそうです。それなら、まだマシ。


音声アシスタントには賛否両論ある様ですが、家の中に限っては便利だと思います。

外じゃ絶対使わないけど。


今でも

  • 料理中に「タイマー10分セットして」
  • 朝、寝室で「今何時?今日の天気は?」


Homeオートメーションとの連携が進めば

  • 「テレビ付けて」
  • 「リビングのエアコン入れて」
  • 「玄関の鍵しまってる?」


遠隔地のアシスタントと連携して

  • 「お父さん、お母さんは家にいる?、いるなら電話して」
  • 「お母さんは今朝薬を飲んだか確認して」


などなど、スマホじゃ出来ないことが色々考えられます。


それに、実家の両親にタブレットを渡してLINEでのコミュニケーションを試みたのですが、80歳近いうちの親には無理でした。

でも、さすがに音声アシスタントなら使えるでしょう。


そんなこんなで期待しているスマートスピーカーを、Amazon Echoが発売されるのを待って、どれか購入してみるつもりです(^-^)

iOS11.0.3リリース!iPhone 7とGARMINの同期も回復!

こんにちは、なりなりです(^ ^)


iOS 11.0.3にはiPhoneまたはiPadの以下のバグの修正が含まれます:

  • オーディオおよび触覚フィードバックが一部のiPhone 7およびiPhone 7 Plusで作動しない問題を修正
  • Apple純正部品を使って修理されなかったため、一部のiPhone 6sで画面がタッチ入力に反応しない問題に対応

注記: 非純正部品の画面に交換した場合、画面の品質が損なわれ、正しく動作しなくなる可能性があります。

Apple認定の画面修理は、信頼できる専門家がApple純正部品だけを使って行います。

詳しくはsupport.apple.com/ja-jpをご覧ください。

このアップデートのセキュリティコンテンツについては、次のWebサイトをご覧ください:
https://support.apple.com/ja-jp/HT201222

オーディオというのは、Bluetooth関係なのですかね。


GARMIN 735XTJとGARMIN Connect Mobileのペアリングも出来ました(^-^)

どうやら、iOS11でのiPhone 7のBluetooth設定に問題があったようです。

アンダーアーマー コールドギア LSモックとレギンスを購入

こんにちは、なりなりです(^ ^)

LSモックは10年ぶりの買替えだろうか、レギンスは初めての購入です。

レギンスはCW-Xを持っていますが、あれはランニングには向いていますけど、サイクリングにもテニスにも防寒性が足りません。


発汗性の良い暖かアンダーとしては

冬場のサイクリングのアンダーウェアとしてモンベルのジオラインLWを購入 - なりなり日記

去年、モンベルのジオラインを購入したのですが、これはデザインがもろアンダーで、Tシャツや短パンの下に履くようなものでは有りません。

もう一つ、表面の滑りが悪いので、サイクルウェアのアンダーでとしても上着を脱ぎ着しにくいです。

ジオラインはやはり登山用なんです。

  • Tシャツ、短パンの下に着れるデザイン
  • 滑りが良くて重ね着しやすい
  • ただのコンプレッションでなく防寒性が強力

を満たすのがアンダーアーマー コールドギアなんです。


アンダーアーマーは耐久性が高く、10年経っても使えるのですが、さすがにデザインが野暮ったく感じていました。


肩から上腕にかけてにグレーのパッチが入っているのが古いやつ。

最新の方がスッキリデザインですよね。首回りも浅目になっていて、首の圧迫感が和らいでいます。

新旧で腕の角度が違うのも面白い。

サイクルウェアのアンダーとしては、首元にジップが付いていた方が嬉しいんですけどね。温度調整が出来るので。


こちら、新型のLSモックとレギンスの背面です。

レギンスのデザインもシンプルで、サイドのラインと右脚脹脛のUAロゴが入っているだけ。


特にLSモックは色が多種有るのですが、僕の場合

  • 夏用サイクルウェアの下に着て秋ウェアとして
  • 夏用トレランウェアの下に着て秋ウェアとして
  • Tシャツ、短パンの下に着て秋冬のテニスウェアとして

と使い回すので、やっぱ黒が便利です。

【PSoC入門】タイマーとUSBUARTによる割り込み

こんにちは、なりなりです(^ ^)

今日は、PSoCのタイマーコンポーネントとUSB UARTコンポーネントを使った割り込みを勉強します。


https://ja.wikipedia.org/wiki/割り込み_(コンピュータ)
割り込みについての一般的知識はWikiでも割と親切に解説されています。


http://www.cypress.com/file/44246/download

http://www.cypress.com/file/144666/download

PSoCの割り込みに付いてはCypressの公式ドキュメントが有りましたので、これに従って勉強します。


回路はこの様にしました。

これによって、

  • タイマーコンポーネントによる割り込みを使ったLEDの点滅
  • USBUARTによる割り込み使ったLEDの点灯

の2つを同時に確認します。


Timer割り込みによるLEDの点滅を確認

まずは、タイマー割り込みを確認します。

/***************************
*  Place your includes, defines and code here
*****************************/
/* `#START isr_1_intc` */

/* Timer component header file */
#include "Timer_1.h"
/* LED1 pin component header file */
#include "LED_1.h"

/* `#END` */

Generated_Souce下にあるisr_1.cの頭の方でTimer_1とLED_1のヘッダーをインクルードを追記して

CY_ISR(isr_1_Interrupt)
{
   #ifdef isr_1_INTERRUPT_INTERRUPT_CALLBACK
       isr_1_Interrupt_InterruptCallback();
   #endif /* isr_1_INTERRUPT_INTERRUPT_CALLBACK */

   /*  Place your Interrupt code here. */
   /* `#START isr_1_Interrupt` */

   /* Read Timer status register to bring the interrupt line low */
   Timer_1_ReadStatusRegister();
   /* Toggle the LED */
   LED_1_Write(~LED_1_Read());

   /* `#END` */
}

isr_1のISR(Interrupt Service Routine、割り込みが生じた時に実行される部分)、CY_ISR(isr_1_Interrupt)の中にTime_1のステータス読み出しと反転コマンドを追記します。

インクルードファイル名が間違っていたり、インクルードを忘れているのにCY_ISRにコマンドを追記したりすると、ビルドをしなくてもPSoC Creatorががアラーム(×マーク)を出してくれます。とても親切なIDEですね。

int main(void)
{
   CyGlobalIntEnable; /* Enable global interrupts. */

   /* Place your initialization/startup code here (e.g. MyInst_Start()) */
   isr_1_Start();
   Timer_1_Start();

   for(;;)
   {
       /* Place your application code here. */
   }
}

main.cでisr_1とTimer_1をスタートさせる記述を追記してビルドすれば完成!

評価ボードをプログラムすると、1秒おきにLEDが点滅することが確認出来ます。


タイマー割り込みを調べているうちに、教科書として使っている「ARM PSoCで作るMyスペシャル・マイコン」で出て来て訳の分からなかった、SysTickに再度ぶち当たったので調べてみると

https://www.aps-web.jp/academy/cm/20/
どうやら、ARM Cortex-M3内部に搭載されているタイマーらしく、CPUの周辺(マイコン内)のタイマーを使わなくてもタイマー割り込みが使えるというものだそうです。

http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ddi0432cj/ch05s01s01.html
「SysTick」はCortex-M0にも搭載されている様なので、PSoC 5LPだけでなく4でも使えますから、安心して使って良さそう。


USBUARTからの割り込みを追加する

1秒おきにLEDが点滅している状態で、USBUARTを使ってPCから指示した時間だけ、LEDが点灯したままになる動きを追加してみましょう!

USBUARTの割り込みをどのように使うのか、調べても見つけられないのですが、

USBFS_EP_X_ISR - triggered at the end of a transfer directed to endpoints 1-8 (where X is the endpoint number from 1 to 8). For IN endpoint, it means that the data loaded into endpoint buffer is read by the host. For OUT endpoint it means that data is available in the endpoint buffer. These are mandatory for component operation.

USBFSコンポーネントのInterruptの説明にはこのように書かれており、翻訳すると

USBFS_EP_X_ISR - エンドポイント1-8(Xは1-8のエンドポイント番号)への転送終了時にトリガされます。 INエンドポイントの場合、エンドポイント・バッファーにロードされたデータがホストによって読み取られることを意味します。 OUTエンドポイントの場合は、データがエンドポイント・バッファーで使用可能であることを意味します。これらはコンポーネントの操作に必須です。

となりますから、EP1の設定をしてみます。

http://www.kumikomi.net/archives/2004/01/02seri.php?page=15
EP(エンドポイント)って何ぞや?という説明はこちら。何となく分かりますね。

しかしまあ、知識がどんどん拡がっていくというか、発散していくというか、覚えるべきことが沢山だ(^_^;)


USBUARTコンポーネントを置いた直後には割り込みに関するアトリビュートが見えないので、Device DescriptorタブでAdd Configurationを押してConfiguration Descriptorを表示、Endpoint Descriptorの中にあるEP1のIN/OUT、Transfer Typeを設定します。



Direction ? Input or Output. USB transfers are host centric; therefore, IN refers to transfers to the host; OUT refers to transfers from the host.

IN/OUTの説明はこの様にされており、ホストはPCでしょうから、今回はOUTなのでしょうね。


https://www.renesas.com/ja-jp/solutions/key-technology/connectivity-wired/usb/about-usb/usb1-1/usb1-c.html

Transfer Modeについては、こちらに詳しく書かれていました。これは、PSoCではなくUSBに関する知識ですね。

今回はINTで良いでしょう。



で、EP1の割り込み処理は何処に書けばいいのかというと、USBUART_1の下にUSBUART_1_episr.c(USBUARTのEPのISR)というものが有るので、この中なのでしょう。

/********************************
* Custom Declarations
********************************/
/* `#START CUSTOM_DECLARATIONS` Place your declaration here */
/* LED1 pin component header file */

/* `#END` */

ファイルを開くと、頭の方にこの様な記述が有ります。

isr_1.cと文言が異なるのが気になりますが、declaration(宣言)というくらいだから、#STARTと#ENDの間の行に、必要なヘッダをインクルードしたり、関数を定義したりするのだと思うので、まずはLED_1.hをインクルードしておきます。

#if (USBUART_1_EP1_ISR_ACTIVE)
   /******************************
   * Function Name: USBUART_1_EP_1_ISR
   ******************************
   *
   *  Endpoint 1 Interrupt Service Routine
   *
   ********************************/
   CY_ISR(USBUART_1_EP_1_ISR)
   {

   #ifdef USBUART_1_EP_1_ISR_ENTRY_CALLBACK
       USBUART_1_EP_1_ISR_EntryCallback();
   #endif /* (USBUART_1_EP_1_ISR_ENTRY_CALLBACK) */

       /* `#START EP1_USER_CODE` Place your code here */

       /* `#END` */

EP1の処理は、ここの#STARTと#ENDの間の行に書くのでしょう。

今回は、数字nを受け取ったらn(sec)の間LEDを点灯させた後に消灯させます。

   uint16 count, wait = 0;
   uint8 buffer[128];

   count =USBUART_1_GetEPCount(1);
   if(count != 0) /* Check for input data from PC */
   {
       // USBUART_1_GetAll(buffer);            // Input data from PC
       USBUART_1_ReadOutEP(1, buffer, count);
       sscanf((char *)buffer, "%d", (int *)&wait);
       USBUART_1_EnableOutEP(1);

       LED_1_Write(1); // LED Terminal ON
       CyDelay(1000*wait);
   }

この様なコードを挿入してみました(sscanfを使うために、stdio.hのインクルードが必要)。

しかし、LEDはカウンター割り込みで定期的に点滅するだけで、PCから数値を入力して(Pythonを使用)も状況が変わりませんでした。

ここでデバッグ機能で動作を解明しようとしたのですが、USBUART接続とデバッグポート接続が同時に出来ませんでした。残念ながら、USBを使ったUART通信をさせながらデバッグすることができないのです。

いろいろ調べてみたものの、USBUARTを使った割り込みを確認出来るサンプルも見つけらず、今回は、断念することにしました。

良いところまで行ってると思うのですが(^◇^;)

実プロジェクトで使う様なら代理店に相談してみますし、また何か分かったらご報告します。

【GARMIN】GARMINユーザーは11.0.2にしない方がいい!iOSと非同期発生中!

こんにちは、なりなりです(^ ^)

Garmin Connect™

Garmin Connect™

  • Garmin
  • ヘルスケア/フィットネス
  • 無料

iOS11.0.2になってから、僕の735XTJがGARMIN Connect Mobileと同期出来なくなっているのですが、アプリのレビューを見ると、どうやら

  • 11.0で非同期
  • 11.0.1で同期
  • 11.0.2で再び非同期

という状況のようです。

一度リンクを切ってから再接続を試みましたが、


735XTJは見つかるのに同期が取れません。

GARMINとiOSの非同期問題はたまに発生して、何度も繰り返すと同期が取れたりしますが、今回はダメです…

今日、GARMIN Connect Mobileのアップデートが来たのですがダメです(T . T)