【Mini-z】 ミニッツ用電飾システム開発の軌跡 [過去ログ-07]の続き
===================================
2009/11/27 23:44【ミニッツ】RCライトinPIC-29 パッシングバージョン
取り敢えず、アクセルON時間の経過イベントを2つ追加して4段階にして見ました。
この2つに、新しいパッシングバージョンを作って追加します。
案は
(1)フワリ点灯→点灯→消灯…
(2)337拍子(笑)
(3)ランダム
プログラム容量的に入るかわかりませんが作って見ます。
===================================
2009/11/29 0:00【ミニッツ】RCライトinPIC-30 パッシング追加
ぬは
一応思っていたフンワリパッシングは出来ましたが、プログラムメモリの関係でこれ以上は追加出来ないみたい
追加するにはpicを別の種類にするか、製品版(6万)を購入する必要が有る模様
あとは無駄な処理を探してメモリ確保をしてみます。
点灯パターンをライブラリー化して実現するしかないかな?
===================================
2009/12/2 18:17【ミニッツ】RCライトinPIC-31 パッシング ランダム 追記
※動画追加しました
今回は電車に揺られて長文です。下の一行が全て(笑)
左右交互点灯のランダムパッシングを追加しました。
一昨日に思いつき、仕事を終わってから2日間、深夜2時までかかって完成
今回は(も?)悩みました~。
◆1日目
悩んだのはロジックで無くメモリエラー…
メモリに余裕があるはずなのに「rand関数」を使うとメモリが足りないコンパイルエラー…
まだメモリ余ってるよ?
は?
って感じで最初の日は過ぎ「意味が分からん」ってふて寝しました(笑)
◆2日目
原因追求から
そもそも「rand関数」が使えないとか……んな分けない。
エラー内容はグローバル変数がなんとやら……
main内に変更しても変わらない…
てか、rand関数とグローバル変数を一緒に使えないとか意味が解らん
ん?
グローバル変数と割り込み関数を消すとコンパイル
が通る…
最小限のプログラムを書いてもコンパイルが通る…
なんだか、メモリ容量が問題のような動き方…かた……
プログラムメモリの空き容量はOKだし…
データメモリは64【KB】あるからOKだ……
………
………
………
ちょっとまて
プログラムメモリが1【KB】なのにデータメモリが64【KB】だと?
んな分けない
_ノ乙(、ン、)_
_ノ乙(、ン、)_
_ノ乙(、ン、)_
64【B】の勘違い
桁を間違えてました
原因はこれ
データメモリ不足でコンパイル出来なかったとの事。
rand関数はデータメモリ20B位潰していたためでした。
そうと解れば
使用したい量を計算すると73B。
無駄な変数の削除や、変数を共通化して63Bまで削減
残り1B。
容量的にもう限界…
なんとか形に出来た次第です。
既に深夜2時過ぎ…
ゴルフに取り付けて確認したところで眠りに就きました…
今日も眠い
っと思ったら
さっき思いつき
waitカウンタをunsigned int の万の桁別にすれば、変数1個で済むので、データメモリ節約になるかも
まだ詰め込めるか?(笑)
===================================
2009/12/9 23:00【ミニッツ】RCライトinPIC-32 全灯モード
全灯モードを考えたが、プログラムサイズがネックです
電源投入のタイミングでアクセル操作をすると変更出来るようにしたいのだが…
格闘してきます
===================================
2009/12/10 10:48【ミニッツ】RCライトinPIC-33 全灯モード
やったよパパ
全灯モード補完完了
源入れて
放置→通常モード
アクセルON→全灯モード
てな感じです
1【全灯モード-フロント】
実はチップledのウィンカーが点いてます。
2【全灯モード-リア】
通常点かないウィンカーと、テールランプがMAXで点いてます。
3枚【通常モード-リア】
3秒放置のハザードが消灯して、テールも50%で減光しています。