トピック関連記事
48時間以内の記事は
で表示されます

Eagle断念

少し前からここで、PICによるポンプ制御をやってきましたが、
昨日、壊れたポンプを写真のポンプに交換しました。
今度も中華製ですが、少し弄って思いましたけど、
最近の中華製は、品が良くなってきたと思いました。
安いし、、、ますます日本製が負けそうです。
表題ですが、
プリント基板作成ソフト Eagleを少しかじってみました。
それでなんですが、FISION360に取り込むのが、めんどくさそうです。
あまり手掛けない基板なので、断念しました。
以下のURLをみたら、げんなりしました(苦笑
https://ehbtj.com/electronics/make-circuit-board-with-cnc/
Re: Eagle断念
TRさん,猛牛ロックさん,こんばんは。
またまた亀レスです。
Eagleですけど,Autodeskの傘下に入ったようですね。
詳しくみてないのですが,Gコードも楽にだせるかも・・・。
猛牛ロックさん,ちょっとお聞きしたいのですが,
PIC等のヘッダーファイルから,
コンパイルが通る正しい表記が推測できるのでしょうか?
#deefine
の部分は分かるのですが,
その後に書かれている構造体の意味がちょっと不明です。
具体的に書くと,
次のような記述から, PCONbits.OSCF という表記がわかるのでしょうか。
// Register: PCON
#define PCON PCON
extern volatile unsigned char PCON __at(0x08E);
#ifndef _LIB_BUILD
asm("PCON equ 08Eh");
#endif
// bitfield definitions
typedef union {
struct {
unsigned nBOR :1;
unsigned nPOR :1;
unsigned :1;
unsigned OSCF :1;
};
struct {
unsigned nBO :1;
};
struct {
unsigned nBOD :1;
};
} PCONbits_t;
extern volatile PCONbits_t PCONbits __at(0x08E);
またまた亀レスです。
Eagleですけど,Autodeskの傘下に入ったようですね。
詳しくみてないのですが,Gコードも楽にだせるかも・・・。
猛牛ロックさん,ちょっとお聞きしたいのですが,
PIC等のヘッダーファイルから,
コンパイルが通る正しい表記が推測できるのでしょうか?
#deefine
の部分は分かるのですが,
その後に書かれている構造体の意味がちょっと不明です。
具体的に書くと,
次のような記述から, PCONbits.OSCF という表記がわかるのでしょうか。
// Register: PCON
#define PCON PCON
extern volatile unsigned char PCON __at(0x08E);
#ifndef _LIB_BUILD
asm("PCON equ 08Eh");
#endif
// bitfield definitions
typedef union {
struct {
unsigned nBOR :1;
unsigned nPOR :1;
unsigned :1;
unsigned OSCF :1;
};
struct {
unsigned nBO :1;
};
struct {
unsigned nBOD :1;
};
} PCONbits_t;
extern volatile PCONbits_t PCONbits __at(0x08E);


Re: Eagle断念
eagleからdxfやNCコードの出力は、ulpを選べば出来ます。
ただ、雑多にいろんな物があるので選択するのも大変です。
印象ではJWWの外部変形みたいな感じで、同種類のものが複数あります。
fusionに取り込むならdxfからになるのかな?
一番面倒なのは新規部品を作らなければならない所ですね。
> MABOさん
私の場合はちゃんと学習した訳ではないので、何となくしか判りません。
そしてこのような記述を私自身がしたことはありません。
で、私の理解ではこの記述部分は、「その機能はあるけれど、アドレスしかないレジスタの場所に
名前を付けている」所です。
・変数PCONのレジスタの番地が0x8Eにある。=0x8eのアドレスを変数PCONと名付けている
・共用体変数PCONbits_tは下位から、nBOR(1bit),nPOR(1bit),※空き=リザーブ(1bit),OSCF(1bit),nBO(1bit),nBOD(1bit)となっている。
※多分上位2bitは空きだと思います。
・共用体変数PCONbits_tもアドレスは0x8eである
と言う事だと思います。で、
PCONbits_t.OSCF=0;
と書けばこの0x8eにあるレジスタ(PCON)の下から4番目が0になります。
<追記>
ちょっと間違えたかもしれません.
extern volatile PCONbits_t PCONbits __at(0x08E);
の部分はPCONbits_tの形をしたPCONbits変数という意味で、変数名としてはPCONbitsになるのかもしれません。
それだと
PCONbits.OSCF=0;
という形ですね。
ただ、雑多にいろんな物があるので選択するのも大変です。
印象ではJWWの外部変形みたいな感じで、同種類のものが複数あります。
fusionに取り込むならdxfからになるのかな?
一番面倒なのは新規部品を作らなければならない所ですね。
> MABOさん
私の場合はちゃんと学習した訳ではないので、何となくしか判りません。
そしてこのような記述を私自身がしたことはありません。
で、私の理解ではこの記述部分は、「その機能はあるけれど、アドレスしかないレジスタの場所に
名前を付けている」所です。
・変数PCONのレジスタの番地が0x8Eにある。=0x8eのアドレスを変数PCONと名付けている
・共用体変数PCONbits_tは下位から、nBOR(1bit),nPOR(1bit),※空き=リザーブ(1bit),OSCF(1bit),nBO(1bit),nBOD(1bit)となっている。
※多分上位2bitは空きだと思います。
・共用体変数PCONbits_tもアドレスは0x8eである
と言う事だと思います。で、
PCONbits_t.OSCF=0;
と書けばこの0x8eにあるレジスタ(PCON)の下から4番目が0になります。
<追記>
ちょっと間違えたかもしれません.
extern volatile PCONbits_t PCONbits __at(0x08E);
の部分はPCONbits_tの形をしたPCONbits変数という意味で、変数名としてはPCONbitsになるのかもしれません。
それだと
PCONbits.OSCF=0;
という形ですね。


Re: Eagle断念

PIC、やっていますね。
構造体って言葉をつい最近耳にしました。
理解しようとしたけど、資料が見つからず断念しています。
分かりやすく解説されていたらいいのに。
実は、今日、やっと、SEC基板へのインターフェース(自作)を直せました。
作った当時は、電気が分からなくて、大変でした。
図面も引けずに、なんちゃって実態配線図(笑
その祟りで、分かるまで時間がかかりました。
今思えばってことが、出てきました。
時間ができたら、改良したいです。
写真は、自作インターフェースを収めた操作盤の中です。
今回、ついでに、最新のMach3とスムースステッパーのソフトも入れなおしました。
が、相変わらず、一度だけでしたが、エラーを起こして停止しました。
ま〜、今回のソフトの入れなおしたことによって、エラーは断然減った感じです。
Re: Eagle断念

******TRさん*****
TRさん,制御基板ののボックご紹介ありがとうございます。
きれいにまとまってるので,うらやましく思いました。
私はいつもそうなんですけど,後で自作のもの見てみると,
なんでこんなことやったのか,わからなくなりますので,
いつも記録は大事だななんで毎回思ってます。
まあ,そのためのブログでもあるんですけど。
構造体は,
http://www.isl.ne.jp/pcsp/beginC/C_Language_14.html
あたりにも説明ありますよ。私も一番苦手な部分です。
構造体やポインタの操作になると,頭かかえてしまいます。
======猛牛ロックさん=====
猛牛ロックさん,丁寧なご説明ありがとうございます。
やっと,なんとなく分かりかけました。(笑)
PCONbits_t.OSCF になるか PCONbits.OSCFなるのか,
明確に分かるような記述がヘッダーファイルにでもあると,とても親切だと思うのですが,
諸兄のみなだんは,この辺は,難なくクリアーなのかなあと思ったりしてます。
それから,もう一つ相談なのですが,今,カラーセンサーの読み取りに挑戦してます。
秋月のS9706というセンサーなんですが,プログラムで,
ポーリングがいいか,割り込みがいいか,思案してます。
読み取りに手順は,
10ms程度,データを積算で取り込む
次の36パルスでデータを読み込む
という動作なのですが,これ,割り込みで処理する意味あるでしょうか。
諸兄のプログラム見ると,みなポーリングのようです。
本日,部品が届いたので,変換基板に半田付け線をつけました。


Re: Eagle断念
遅レスになりました。
データシートを見ましたけど、基本的にはどちらでも良いと思います。
積算時間も10ms固定なら__delay_ms(10)で済みますけど、
暗い条件だと100msや1sにしないと測定できません。
どうするかは「その他の処理」次第ですね。
センサーも1個なのか複数なのか?1回測定するだけなのか、測定し続けて処理するものをつくるのか?
そして、その結果を受けて、単に表示するだけなのか、連続して動作させるものを作るのか?とか、全体の条件です。
データシートを見ましたけど、基本的にはどちらでも良いと思います。
積算時間も10ms固定なら__delay_ms(10)で済みますけど、
暗い条件だと100msや1sにしないと測定できません。
どうするかは「その他の処理」次第ですね。
センサーも1個なのか複数なのか?1回測定するだけなのか、測定し続けて処理するものをつくるのか?
そして、その結果を受けて、単に表示するだけなのか、連続して動作させるものを作るのか?とか、全体の条件です。


Re: Eagle断念
TRさん,猛牛ロックさん,こんにちは。
***************TRさん,
MACHの情報ありがとうございます。
後で,試してみたいと思います。
***********猛牛ロックさん,
猛牛ロックさん,アドバイスありがとうございます。
まあ,どっちでもいいといいうことで,
備忘録かねて,後日割り込み使おうと思います。
センサーは一つで,一回限りの測定の予定で,
処理は,センサーの青と緑で,スイッチを短時間,ONにするだけなので,
超単純な処理です。
***************TRさん,
MACHの情報ありがとうございます。
後で,試してみたいと思います。
***********猛牛ロックさん,
猛牛ロックさん,アドバイスありがとうございます。
まあ,どっちでもいいといいうことで,
備忘録かねて,後日割り込み使おうと思います。
センサーは一つで,一回限りの測定の予定で,
処理は,センサーの青と緑で,スイッチを短時間,ONにするだけなので,
超単純な処理です。

