Microchipのxc8で256バイト以上を初期化する場合

コンパイラの設定をきちんとしないと…

fixup overflow referencing *

リロケーション後に当該スペースにフィットしないアイテムをリロケート
するよう、リンカに要求が出されています。たとえば、バイト・サイズの
オブジェクトが255より大きなアドレスで初期化される場合にこれが発生
します。

というエラーがlink時に出てしまいます。

これはMPLAB IDEの↓ここでRequireに変更することでリンクも通ります。

xc8_bankover

やれやれ。

GVC Rev.2 プロトタイプ基板のテスト

先日出来上がってきていたGVCのプロトタイプ基板ですが、その後Raspberry Piのイベントのためにまったく触る時間がなく、イベントが終わったのでやっと再開しました。

以下は、まず今までのRev.1でArduinoにやらせていたSerialとI2Cの変換、つまりマスターコントローラーとしての役目をRev.2からはPICにやらせるので、そのためのデータの送受信のテストです。

正直ドキドキでしたが、少なくとも二つのLED、I2C、Serialポートについては配線を間違えていないみたいです。笑

ここまで動けばとりあえずOKで、あとは引き続き、Rev.1時代に作ったソースをRev.2に移植(といってもメッセージフォーマットの変更=拡張)をして行きたいと思います。

OSC名古屋までに間に合うかな?

ついにプロトタイプ基板が届きました!!

というわけで、ついにプロトタイプ基板がFusionPCBから届きました。 4/18にオーダーをしてから、二週間きっかりでした。 G/Wでなければもう少し早かったのかもしれません。

DSC_0070

DSC_0071

DSC_0072

ぱっつんぱっつんに包装してあるので、カッターで注意しながら剥いていきました。笑

それにしても、早速間違いを見つけてしまいました。笑

秋月のDCジャック「キット」を、ブレッドボードでいくつも買ってしまった 関係上、これを載せるための設計をしましたが、およそ100milずれてました。笑

まぁこの辺は直接半田付けなりなんなりすればいいので、プロトタイプですからきにしないことにします。 それよりもこれからしばらくはプロトタイプの回路があっているのかを確認しなければなりません。

そっちの方が大変です。

DSC_0073

DSC_0074

DSC_0075

ちゃんと背面での唯一の表面実装(笑)の湿度センサーもばっちりあります。

一通り確認できたら、プロトタイプ第二弾を発注する予定です。

 

プロトタイプ基板発注しました

GVCの開発を続けて数年、ついにプロトタイプ基板の発注をしました。

GVC_SAMPLE3_patern

GVCはOSCで都度、進捗状況をご報告していましたが、先日の赤外線リモコンの懸案が一応クリアしたことにより、そのプロトコルやメッセージフォーマットを含めて、ソフトハード一式を一新しなければならなくなりました。

このため、かねてからDesignSpark PCBやその後CADLUS Xで設計していた基板(Rev.1)を放棄し、新しいPIC(18F26K22)の元、今までのRev.1での問題などをクリアするべく、世界標準?のEagleにて基板設計をやり直しました。

GVC Rev.2ではArduinoはもう使いません。

赤外線リモコンデータを扱うにはそれなりのメモリが必要なためPICを新しく選択しなおしましたが、このPICとUSBシリアル変換ケーブルでArduinoの役割を果たしてもらいます。(マスタコントローラーとしての役割)

また同様のPICを搭載するGVCモジュール単品でもある程度の処理ができるように汎用基板にシリアルポートを搭載することにしました。これにより、例えば弱電(DC5/12Vなど)・強電(~AC100V)などの電源(リレーないしはSSR)のON/OFFや、単独で赤外線リモコンとしての利用など、個々のユーザーの要求に柔軟に対応できるようにします。

もちろんRev.1と同様に、マスターコントローラーと各モジュールをI2Cで接続することで、よりシステマチックな処理も行えるようにしています。汎用基板にはI2Cポート(5P)を3ポート用意しますので、基板同士をデイジーチェーンで接続するだけでなく、スター状に接続することも可能です。(ノイズなどによる伝送エラーについては別途検討が必要です)

また、ユーザーがデバッグをしやすいように、前述のシリアルポートのほか、PICの各ピンに対してダイレクトにアクセスするためのピンヘッダが装備できるようにしました。またこのピンヘッダは、デバッグのほか、ユーザーが開発をした拡張基板などとの接続ポートとしても有効であると思います。

そのため、合計で3つあるPICのI/Oポート群のうち、RBxについては極力使用を避けました。ユーザーが機能を拡張する場合には、これらも利用して頂ければと思います。ですが、GVCそのものがまだまだ機能としては余裕がありますのでなにかよいアイデアや機能がありましたら、ぜひともご提案して頂ければ、と思います。

プロトタイプ基板はまもなく到着します。

到着しだいRev.2の実装に入りまして、OSC名古屋(2013.06.22 Sat)までには、このプロトタイプ基板を使用したGVC Rev.2の動作実演、またプロトコルハンドブックの展示などもできればと考えています。

GVCは自宅サーバーユーザー向けのホームICTのためのツールと考えて開発をしていますが、それだけでなくいろいろな現場(もしくは例えば教育関連の教材としても)で、有益なツールとしてご活用して頂けるものと確信しています。

また進捗などがありましたら適時こちらにてご報告をしたいと思います。

どうぞご期待ください。

 

フラットケーブル来ました ( ゚∀゚)ノ

中国?のAlibaba.comが運用?しているAliexpress.comから、GVC Rev.2用の5Pフラットケーブルを大量に買ってみました。…といっても長さが三種類で合計106本なのですが、送料込みで五千円しなかったので、一本あたり50円未満という安さです。

GVCの最新パターン(案)を掲載しましたが、I2Cの接続部分が5Pフラットが3個もついているのがわかるかと思いますが、これは一つのモジュールからタコ足(笑)ができるようにと考えました。デイジーチェーンでもいいし、タコ足でもいいし、スター接続でもいいし、というわけです。

SAMSUNG

端子部分が金メッキじゃないし、普通の40本フラットケーブルを5Pに分けているという荒業(笑)なのでケーブルごとに色が変わってしまったりしますが、まぁ安いから良しとしましょう。