Bluetoothソフト開発はメーカーのSDKを使用する事が多いですが、NordicのSDKであった事3題

1.そこでクリアするな!
  SoftDevice S110を使用する必要があり、SDK10を使用した時の事です。
  以前ペアリングした事の有るデバイスの情報は記録するのですが、SDK10は過去のペアリング情報を検索すると、見つけた内容を「クリアしてから」返すので、結果的に再ペアリングが必要になっていました。

  クリアしないで返すようにSDK10の修正が必要でした。


2.それを共有するな!
  I2Cが2チャンネル必要になり、SDK12のサンプルを探しましたが、普通のライブラリは2チャンネル同時使用できなかったり、バスリセットする時にバスの空き待ちして停止したりで、使用できませんでした。(←これもタイガイ)

  最終的に Hardware Access Library を使用したのですが、うまく動きませんでした。
  I2C 2チャンネル分の割り込み処理で変数が共用されていたからです。

  メモリに余裕があったので、Hardware Access Library のI2C部分を、ほぼ重複して持つ事になりました。


3.「0個」の管理はしっかり!
  SDK15でも、LEDライブラリ使用時に「使用するスイッチを0個」にすると、コンパイルエラーになります。
  スイッチ/LEDの数を「1個以上」と仮定したライブラリになっていました。
  (合計0個はokですが、どちらか0個がng)

  ポート番号定義のメモリを見る前に、事前に個数を確認するように、ライブラリを修正する必要がありました。


非常に久しぶりの更新で、かつ初めてのスマホ更新なので緊張しています。
何か不備等がありましても、ご容赦頂けますよう、お願いいたします。


日本に住んでる私たちは通常SI単位系を使っています。
長さで言えば、
1km=1000m=100,00cm=1,000,000mm
と、単位間の換算が非常に簡単にできます。
アメリカで使われているフィート・インチ系は
1ヤード=3フィート
1フィート=12インチ
1インチ=2.54cm
と、換算が難しく、1ヤード=36インチだとか、面倒な感じがします。
ただ、気を付けないといけないのは、私たちの使っている算数が10進数を基本としている事です。
おそらく、大昔の人たちが10本の指で数を数えて以来だと思います。
だから10倍は桁を一つ上げるだけで表記出来ているのです。
もし、昔の人が親指を除く8本で数を数えていたとしたら、8進数の算数が出来て、
コンピュータで使用する2進数と相性が良く、素敵な世界が開けていたでしょう。

但し、12を基準とする数には大きなメリットが有ります。
昔、分数や小数が一般的でなかった頃、多くの数で割り切れるというのは大きなメリットでした。
12は2でも3でも4でも6でも割り切れるんです。
つまり、1フィート×1/2=6インチ、×1/3=4インチなど、割り切れる事によるメリットが大きかったんです。
今でも私たちは時間の計算に60進数を使っています。
1日=24時間=1,440分=86,400秒などです。
時間で考えれば、「割り切れる」事のメリットを感じて頂けると思います。

つまり、SI単位系は、十進数を基準とした算数に対しては合理的ですが、「正しい」わけではないのです。
今は目的に応じて必要な基準を決め、それによって計算をすることが主流になっています。
単位系をどのように選ぼうとも、それが「体」を成していれば、好きにしていいんです。

ただ、どんな単位系を選ぼうとも、
πi=-1
という数学的な美しさには影響は有りません。
初めに

私は「ダークマター」や「ダークエネルギー」などの後付け的な物に関しては懐疑的です。
現在の観測結果を説明するために、新規な事を出すと碌な事にならないと思います。
太陽系の水星の近日点移動を説明するために、水星軌道の内側に仮定された「バルカン」は
「太陽に近すぎて観測できない」とされていましたが、一般相対性理論で「太陽の重力場は
エネルギーだから、それ自体がさらに重力場を持つ」で、バルカン無しで説明が付きました。
アインシュタインも一般相対性理論で、現在の宇宙が潰れない為に宇宙項を導入し、
後に「わが生涯最大のミス」と嘆いています。
このように、観測結果説明の為の新規概念の導入は、ギリギリまでするべきではないと思っています。

ダークマターとは

そもそも、「遠方の銀河団の動きを観測すると、見える質量だけではその動きの速さを説明できないので
見えない質量があるはずだ」という考え方で導入され、さらには他の銀河の星の動きをみると
見える質量だけでは足りないだとか、最近では私たちの銀河系の周辺部がバタついているのは
ダークマターの影響だとまで言われている。
つまり、重力的な影響は及ぼすが、光は発しないし、光の邪魔をする事も無い物質が
見える物質の5倍以上も有るという事になっている。
ちなみに宇宙の大規模構造に関しても、ビッグバンから現在までの時間で、見えている星の
質量による重力だけでは銀河団が集まるのに時間が足りないと考えられている。

ダークマターに対する疑問

まず、第一に見えている星の重力が正しく合算されているかどうかを疑うべきだと思う。
さらに、現在の重力理論は太陽系内の惑星や衛星の動きから求められており、
近年の惑星探査機の成功をみると修正が必要な感じは全くない。
そして、実験室レベルでも重力定数は割と精密に求められている。
見える物質の5倍も有るというダークマターが太陽系内には全く影響を及ぼしていないのは
かなり不自然だと思う。
そして、銀河までの距離を測ったり、速度を測るのにドップラーシフトが多用され過ぎているように感じる。
遠方の銀河までの距離測定は、Ⅰa型超新星の絶対光度が一定になるという原理を利用して、
見かけの光度から割り出されている。但し、数十億年も昔から一定という保証は無い。
(変化するという証拠もないが)
また、地球との相対的な速度はドップラーシフトでわかる。
但し、「光速や重力が変化していない場合」という注釈つきで。
ビッグバン理論の修正(宇宙年齢の修正)や見える星の質量計算の見直しで
ダークマターと言う概念は不要になるような気がする。

ダークエネルギーとは

ビッグバン以降、宇宙は膨張しているが、遠方の銀河の後退速度を精密に調べると、
思ったほど減速していないというか、却って加速しているように観測される。
これがダークエネルギーにより宇宙が広がるにつれて反発力が大きくなったと説明される。

ダークエネルギーに関する疑問

一つは距離測定の精度。
数十億年も昔からⅠa型超新星の絶対光度が本当に一定なのか、
(変化する理由は無いが、変化しない理由もない)
また、それがきちんと観測されているか。
(昔の銀河の星間空間は今のように晴れ上がっていたのか)
二つ目は速度測定の精度。
ドップラーシフトで速度を求めるが、銀河からの重力の影響を完全に考慮しきれているのか。
この地球の表面重力ですらドップラーシフトを起こすのに、完全に考慮しきれているとは思えない。

まとめ

もし、昔は重力定数が大きいか、光速が遅かったら、宇宙の年齢は137億年以上になり、
ダークマターの必要はなくなりそうに思える。
(重力場の中では光速は遅くなるので、昔の小さな宇宙では光速が遅かった事が考えられる)
ダークエネルギーに関しても、光速が変化していたらドップラーシフトも変化するので、
速度見積もりを間違えてしまう可能性は十分考えられる。
このように、まずは重力定数と光速の変化の可能性を厳密に考える事から始めた方が良いと思う。

このブログの内容は個人の感想であり、学術的な考証の結果ではないことをお断りします。