2018年8月5日日曜日

PIC XC8 v2.0 Build Error (Timer Interrupt )

 最新の MPLAB IDE v5.00 で、初めてPICのプログラミングをしているのだが、Timer Interrupt のところで6時間位立ち往生してしまった。

interrupt_manager.h や interrupt_manager.c に下記の記述をしているのだが、

    void interrupt INTERRUPT_InterruptManager (void);

Buildしようとすると、下記のようなErrorが出てビルドできない。

    In file included from mcc_generated_files/interrupt_manager.c:49:
    mcc_generated_files/interrupt_manager.h:111:6: error: variable has incomplete type 'void'
    void interrupt INTERRUPT_InterruptManager (void);
         ^
    mcc_generated_files/interrupt_manager.h:111:15: error: expected ';' after top level declarator
    void interrupt INTERRUPT_InterruptManager (void);

・戻り値のvoidは incomplete type(不完全な型)だからだめ
・最上位の宣言文のあとは ";"が付くべき
と言っているようだ。本当なのか?
 昔はZ80や8086のアセンブラを結構やっていて、また、VBやC#はそこそこ使えている自分だが、Cはなぜか今回が初めて。ああ、自分はこんな程度のことが判らないのか、それともXC8の方言なのかと、英文のマニュアルを調べたりした。最新版のマニュアルなのに どうも interrupt の説明が古い感じ。どうしても納得できなくて、いろいろとGoogle検索もしてみたが、なかなか有効な情報が無い。最終的に、どうも interrupt というキーワードに関して、XC8 Compiler v2.0 にBugがありそうだという感触になった。そして、英語のサイトを検索していてようやくそれらしい情報を見つけた。
 結論としては、XC8 Compiler の Project Properties のなかで、C Standard という設定項目があって、そこを C99 -> C90 に変更すればよい、という情報を見つけ、それを試したところ、No error で Build 出来た。
これで解決。無事、Timer Interrupt で LEDの1secのblink(点滅)が出来た。たったこれだけのことをやるだけなのに、解決までが長かったなー。

2015年9月15日火曜日

HP Note機でのWindows10アップグレードのトラブル

 私のマシンは HP EliteBook840G1 で、Windows10へのアップグレードの顛末は9/9に記載の通りだが、その後に行った知人の HP ProBook650G1 ではWindows10へのアップグレード後に問題が生じた。Ethernetが動作しないのである。
 ディバイスマネージャーを開いてドライバーを確認すると「正常に動作しています」というメッセージが出るが、間違いなく通信できていない。DHCPにし ているが、IPアドレスは192.168.X.Xになっていないし、手動でIPアドレスやゲートウェイ、DNSを設定しても全く通信しない。
 幸いWifiは正常に動作するので、Wifi経由のインターネット検索でドライバーを最新に変更した(2013→2015)ところ、やはり動作しない。支障のない私のマシンのドライバー は2014年版だったので、このマシンでも内部を検索して出てきた2014年版に差し替えたところ、動作するようになった。なんで?でもよかった。
 ちなみに、自分のマシンで2014年版から最新(2015)にしたら、やはり動作しないので、元に戻した。最新のEthernetドライバーがWindows10で動作しないとはどういう事だろう。

 また、HDDがクラッシュした場合の再インストールで確実にWindows10が復旧できるように、Blu-ray DiscにWindowsのバックアップを行い(25GBで2枚必要だった)、DVDの復旧ディスクを作成した。無償期間が過ぎた後にクラッシュしたら新 たに購入しなければならないかもしれないし、手間なく速やかに復旧したいので。
 スタートメニューから、設定→更新とセキュリティ→バックアップとたどっていくと[バックアップと復元]に移動(Windows7)という項目がある。 (Windows7)という表記が気になるが、Windows7のバックアップを取るという事ではなく、かつてWindows7で搭載され (Windows8で廃止になった)バックアップするアプリケーション(が復活しました)、という意味で、これを実行すればWindows10のバック アップが取れるそうである(ややこしい!)。家族内の重要なデータは外部HDDへのバックアップ設定(TimeMachine)をしているMacへLAN 経由で保存しているし、地域の行事関係や仕事のデータはOneDriveやGoogleDriveへ入れるようにしているので、これで一安心。

2015年9月9日水曜日

HP のノートPCへのWindows10インストール

 HPのノートPCを使用しているが、現行のWindows8.1からWindows10にアップグレードしようとすると、HP Client Security Manager というアプリケーションがWindows10と互換性がない、アンインストールせよ、というメッセージが出る。下手にアンインストールして、あとで障害が残ると困ると思い、いろいろと調べてみたが、なかなか情報がない。
 HPのサイトでは、EliteBook840G1はWindows10の互換性テストは行っていない、ということが書いてあった。
 英語のHP関係のサイトにこの件のQ&Aがあり、HP Client Security Managerをアンインストール後にWindows10にアップグレードし、その後にインストールしたら、全く問題なく使えている、というユーザーの投稿があった。
 知人が私のPCの兄弟機を持っており、Windows10にしたいが互換性がないというメッセージが出てどうしてよいかわからない、という相談を受けていたので、思い切って自分のマシンでWindows10アップグレードを試してみることにした。

1.まずいきなりWindows10でのアップグレードを行ってみる。

2.HP Client Security に互換性がない、というメッセージを確認。

3.アップグレードを中断して、HP Client Securityのアンインストールを試みる。

4.HP Client Securityのアンインストールをしようとすると、
    下記のアプリケーションが依存しているので、アンインストールできない。
      HP Drive Encryption
      HP Theft Recovery
  というメッセージがでる。

5.メッセージに従って、HP Drive Encryption をアンインストールしようとしたら、「暗号化の解除が必要です」と出た。そうなのだ、PCが盗まれてドライブが抜き出された場合でも中身が読み取られないようにするために、ドライブのデータが暗号化されているのだ。

6.HP Client Security を開き、ドライブのセキュリティ 画面で、暗号化のチェックを外して「反映」(だったかな)を押すと、再起動が促され、再起動後に暗号化解除が行われる。暗号化はソフト的に行われており、解除には1日くらいかかった。ハードウェアによる暗号化もあるらしく、その場合は瞬時に解除されるらしい。HP Client Securityを立ち上げてドライブのセキュリティの画面を開くと、暗号化解除の進捗が%で表示される。PCは放っておくとスリープに入ってしまうので、電源管理の設定でAC電源接続時はPCをスリープしない設定にしておかないと、いつまでも暗号解除が進まないと思われる。私は画面スリープで気づき、PCのスリープなしに設定してしまったので、暗号解除中はPCスリープしないようになっているかどうかは確認していない。

7.暗号化解除後、HP Drive Encryptionと、HP Theft Recoveryをアンインストールし、その後、HP Client Security をアンインストールした(その間、再起動が必要だったかもしれないが忘れてしまった。 )。HP Client Security のアンインストール時には「ユーザーデータを保持しますか」と問われるので、「保持する」を選ぶ。保持しない場合、従来のアカウントにアクセスできなくなってしまうかもしれないので。

8.これでようやくWindows10へのアップグレードの準備が出来たはずである。実際行ってみると、何も問題はなく、2時間程度放っておいたら、Windows10になっていた。

9.アンインストールしたHPのアプリケーションを再インストール。アプリケーションメニューの中に HP Software Setup という アプリケーションがあるので立ち上げる。その中に、推奨ソフトウェアアプリケーションというボタンがあるので、それを押す。開く画面に、アンインストールしたアプリケーションがあるので、チェックを入れてインストールする。
 また、HP Support Assistant でもドライバーの更新を要求されるので、それに従ってインストールする。

10.ドライブの暗号化がされていないので、HP Client Security を開き、ドライブのセキュリティから、暗号化を設定する。暗号化にも時間がかかるようである。(現在暗号化中)

 数日Windows10を使用していたが、何も問題はなかった。やはりWindows10は8.1に比べいろいろな面で使い心地はよい。
 実は、暗号化しない状態でWindows10を使っていたのだが、この記事を書き始めて、やっぱり暗号化して支障がないか確認してみようと思い立ち、いま暗号化の設定をしたところである。

 もし不具合が生じたら、追記する予定である。

追記 2015/9/9
 HP Drive Encryptionで暗号化したが、特に何も変わることはなかった。Windows10でも大丈夫のようである。



2015年7月4日土曜日

メラトニン

メラトニン

 寝つきが悪いので、錠剤のトリプトファンを多め(計750mg)にとったり、粉末のグリシンを5gくらいとったりしている。ナイアシンは以前から多めに摂っている。それなりの改善はあるが、十分ではない。

 トリプトファンからナイアシンを使ってセロトニンが作られる。セロトニンからメラトニンが作られ眠気が出てくるらしいが、副腎が疲れていると、セロトニンやメラトニンの生成が抑えられるという説がある様だ。
 グリシンがなぜ効くかは、忘れてしまった...。

 メラトニンは日本では市販されていないようで、アメリカ(iHerb)からの個人輸入になる。 しかも、日本向けでは2か月分以内という規制がかかっている。大量に摂れば危険があるということのようだ。

 メラトニンを摂取して1時間程度すると、確かに心地よい眠気が来る。体がじんわりと暖かくなってくる。布団に入ってすぐ眠れるわけではないが、30分以内には眠れるようだ。しかも気持ちが落ち着いて。

 だが、メリットはそれだけではなかった。朝の目覚めが良いのである。
 マグネシウムを補給し始めてだいぶん改善はしているのだが、メラトニンを摂取する以前は、9時より前に起きると、確実に眠気・疲れが残って、一日中それを感じ少し無理をしながら活動しなければならなかった。疲れをきちんと取ろうと思うと、10時位まで寝る必要があった。不思議と、睡眠時間の長さではなく、「10時以降まで寝る」ことが必要なのである。これは、夜11時にうまく寝つけても、午前2時まで夜更かししてもほとんど同じなので、不思議である。副腎疲労によるものなのか、慢性疲労症候群によるものなのかは定かではない。

 ところが、メラトニンを飲んで寝た次の日は、7時台でもわりとすっきりと起きられ、眠気や疲れの残りが少ないのである。まだのみ始めて5日程度で、3日はそうなった。これは、私の人生のここ30年で初めてのことである。しかも、疲れの残り方が日ごとに軽減してきている。

 長期間続けて飲んだ場合の不具合もあるかもしれない。どこかで効かなくなるかもしれない。しかし、今のところ、非常に良い効果が出てきているので、しばらく続けてみたいと思う。

リポソーマル・ビタミンC

 副腎疲労に対しては、ビタミンCを、出来れば数g/日程度摂取したい。
 ビタミンCは粉末状のものがamazonで安価に入手できる。
 だが、ビタミンCを大量にとっても、腸からの吸収は限定的で、下痢を起こしてしまう。自分の場合は、3g/日程度で腸に大量のガスが発生する。しかも、100mg程度では大半が吸収されるが、数gになると、たとえば10%程度の吸収率になってしまったりするらしい。

 そんな中、リポソーマル・ビタミンCが、非常に吸収が良い、ということを知り、試してみたところ、非常に良いようだ。

 簡単に言えば、レシチンでビタミンCをコーティングするということの様だ。
 顆粒状の大豆レシチン(非遺伝子組み換えを使えという指定がある)を数時間水に浸し、ビタミンC水溶液とミキサーでよく混ぜる。最後に、小型の超音波洗浄機の槽に入れて超音波をかけると出来上がる。機材の後片付け・洗浄も含め作業時間は30分程度で、30gのビタミンCの溶けた、400cc程度のリポソーマル・ビタミンCが出来上がる。

 計算上、10ccで750mgのビタミンCが摂取できる。これを1日に4回摂れば、3g/日となる。また、リポソーマル・ビタミンCでは大量に摂取しても吸収率が下がらず、70%程度が保たれるとのこと。

 実際に試してみると、3g/日でも腸のガスの発生は全くない。疲れにくくもなった。また、1カ月程度で、痩せて後退していた歯茎がむくむくと盛り上がってきて、奥歯の下の細くなった部分に歯茎との間に隙間が出来ていたのが、すっかり歯茎に覆われた。

マグネシウムオイル

マグネシウムオイル

 マグネシウムを摂取する方法の一つとして、マグネシウムオイルを試す。6月20日頃から。

 マグネシウムオイルを作成。水200mlににがり(塩化マグネシウム6水和物)を120g程度溶かし、スプレー付き容器に入れた。
 腕やふくらはぎに塗ってみたところ、べたべたはするが結構気持ちよい。

 塩化マグネシウム6水和物に含まれるマグネシウム元素の重量は約1/8である。

 作ったマグネシウムオイルを全身に塗ると、脚のふくらはぎはズボンの裾がまとわりついたり、腕のひじから先はさまざまなところに触れてべたべたがつくので、気分が悪い。上半身はTシャツで隠れる範囲、下半身は太ももまでとするのが良いようだ。入浴後に塗るのだが、寝る際はどうしてもべたつきはある。だが、朝起きる頃には結構乾いている。皮膚から結構吸収されているようだ。

 錠剤でのマグネシウム摂取と合わせ、体調は良い方向に向かっているようだ。

追記:2015/9/9
 けがをしているところに着くと、とても痛い!です。

 にがりを溶かした結果、約300mlになる。
 上記の塗布方法で、1回あたり2~3ml使用する感じである。
 3mlとすると、それに含まれるマグネシウム元素の量は大体150mg位となる。
 成人のマグネシウムの所要量は400mg/日程度。体内に欠乏している分を補うためには、その倍の800mg/日程度摂りたいところだが、マグネシウムは多くとると下痢をする。だから、150mgのマグネシウムを1日に1回塗布してどの程度吸収されているかはわからないが、50%でも吸収されているなら多少の足しにはなっているのでは、と思う。

投稿開始 植物性乳酸菌ヨーグルトの試作

本日、投稿開始

 本日より古い日付の投稿は、日付を修正したもの。

 市販のヨーグルト(ブルガリアヨーグルト等)や、iHerbより取り寄せた乳酸菌が、私にも上の娘にも合わない(ガスが減り下痢はしにくくなっているが、軟便が治らない、消化不良が増えた:便に食べたものが消化されずに出てくることが増えた)ように感じる。
 妻が買ってきた「ゆほびか」に載っていた、豆乳ヨーグルト。玄米の乳酸菌を発酵させる。植物性乳酸菌で、筆者によると、普通のヨーグルトでは改善しなかった過敏性大腸炎が治ったとのこと。やっぱりそうか、という感じ。詳しい作り方が書いてあったので、それにならって作ってみる。

追記 2015/9/9
 今もほぼ毎日、100g程度を摂っている。
 Facebookにそのヨーグルトを普及させたい方々のページがあるので、参考にされたし。