プログラム

std_logic と std_logic_vectorの代入

std_logicからstd_logic_vectorへ signal a : std_logic; signal b : std_logic_vector(0 downto 0); begin b(0) <= a; std_logic_vectorからstd_logicへ signal a : std_logic; signal b : std_logic_vector(0 downto 0); begin a <= b(0); xilinxのilaとか…

浮動小数点

なんかオブザーバを設計してたら浮動小数点をすごくつかいたくなる。めんどくせー

externの場所

っていうのはかなり多数のファイルから参照される場合はどこが一番スマートかな? そこまで大規模ではないけどコンパイル時間を短縮することも考えて宣言しないと結構悲惨。

日本語コメントではまる

//コメントで日本語は使わない方がいいな。まさかコードが消えてるなんて。これコンパイラバグじゃないのかなぁ。

MISRA

とりあえず組み込みのコーティングルールらしい。 forのbreak抜け禁止や、関数途中でのreturnを禁止しているけど、基本は文書にして許可を取ればすべて許される。

DSP

最近はDSP使いな自分だけど。 DSP使ってると16-16乗算は1clockだよなーとかおもってしまう。 DSPプログラミングとマイコンプログラミングの違いは何だろう。最小メモリアクセスが8bitか16bitくらい。 まぁ、細かいテクはいろいろあるんだけど。

doxygenを使う。

インストール 楽天が運営するポータルサイト : 【インフォシーク】Infoseek とかでgraphvizを使える用にしとく。 とりあえず日本語を使える用にする doxygenの文字化け対策 - 僻地のプログラマkmt-t - わりとどうでもいい日記 1.1 上のページがwindowsなら…

グレイスケール

なんとなくuvccaptureをグレイスケールで保存してみよう(まぁさらにその先の目的があるのだけど)と思い。 調べる。 グレイスケール画像にするのは簡単で gray = (77 * r + 150 * g + 29 * b) >> 8;でできる。それよりもjpegをグレイスケールで保存する方法を…

python.hがない

といわれて「んなあほな」とかおもってたんだけど、devパッケージが入ってないことに気づく #aptitude intall python2.6-dev でちゃんと/usr/include/python2.6にPython.hができた。

演算方法

自分はデバッグ用に細かく分解する癖があるな。 まぁ後でまとめればいいんだけど。たぶんそのころには忘れてる。

ver2事始め

とりあえず下の所からインストール 404 Not Found 現在のver2の最新2.6.2のmsiを落としてインストール。とりあえずコマンドラインを起動して print "test" とか打ってみる。 次はループとか?

Python

を進められた。 C意外ほとんどつかわない人間だけどやってみますか。 ところでやるべきなのは2それとも3?やっぱ2かやっとくべきかな?

変数名

くだらないはなしだけど。制御で変数をどうするか? diffを微分値にするか目標値と現在値との偏差にするかで迷う? こういう感じで変数の名前って難しい。これはセンスだよな。もう。

dynamixel_write関数

何となく作って見た。 今まで機能別に作ってたけどこれを使うことでどこでもアクセス可能。 リードもすでに作ってあるのでこれで、linux版dyanmixelコンフィグレータが作れないこともない。 後はサーチ機能か? //--------------------------------------- //…

コマンドライン引数

何となくコマンドライン引数を使って動作を決めるプログラムを書いてみた。 -p=[数字]という形のコマンドライン引数をどうやってやろうかと考えた結果 int i; unsigned int num; char cap_f=0,first_f=0,play_f=0; char *sp; for(i=1;i

HEW

はまったと思ったらHEWのせいだった。 なんかHEWでコピーしたプロジェクトはいまいち駄目なことが多いなぁ。チクショウ! どうも見てたら割り込み後に死ぬことが多いみたい。うーん何が原因だ?

PD制御はできてるけど暴走

PD制御はできてるのは確認できたけど片輪暴走する。 うーんなにが原因だ? 分かった。どうやらというかやっぱ極性の問題だった。 -10V〜+10Vで正転も逆転も指示するから中間値が2048でそこら辺が間違ってた。 とりあえず上みたいな感じでログがとれた。 まぁ…

implicit declaration of function

って警告出たけど大丈夫か?

ART-linuxのMakefile

とりあえず完成。むちゃくちゃな作り方だけど今後修正するよ。 # # Makefile for ART linux program # TARGET = ART_test C_FLAGS = -Wall -O2 COMPILE.c = gcc $(C_FLAGS) -c LINK.c = gcc $(LD_FLAGS) INCLUDE = -I/root/prog/art_headers ART_SYSCALL = /…

インライン展開

inline void foo (const char) __attribute__( (always_inline) );int main() { foo('x'); }inline foo(const char c) { // foo definition } とりあえずこんな感じ。でできるはず。

win32にライブラリとかのパスの通し方

たぶんあんま使うことないだろうけど、 ツール->オプション->プロジェクトおよびソリューション->VC+++ディレクトリ でプラットフォームのところをwin32にしてディレクトリを表示するプロジェクトをパスを通したいものに合わせて、新しい行をクリックしてパ…

XMDでデバッグ

とりあえずLEDの点灯をCで記述してみた。 うごかないと思って、XMDでデバッグをやって見る。 原因がわかり、直す。すげーなXMD普通にデバッグができるぜ。 手順はSUZAKUマニュアル参照。 ソースはこんな感じ。 #define LED_OUT (*(volatile unsigned long *)…

sync_write

こんな感じ。

SYNC_WRITE

おぉきれいに動く。 シリアル1ポートで余裕でいけるじゃん。

続リード

個人的にはかなり美しくないやりかただけど、とりあえず もらったキャラ型のポインタのアドレスに格納するやり方にしてみた。 でもこれってshort型にしたいときにわざわざ変換するという美しくない仕様。 でも、とりあえずこれでいいかな。美しくないけど。