JJ1WKN Log

自作や移動運用関連のログです。

ElekinoCanDo/Std(ATmega168P版ElekinoCanDo)の試作 その4

2015-10-28 | Tanukino
その4

ElekinoCanDo/Stdはお蔵入りかと思ったのですが、悪あがきをしています。
コマンドとしては、最低限メモリー書き込みと確認だけあればいいので、その他のコマンドは思い切って削除することにしました。
コマンドを1つずつ削除すると、プログラムサイズが小さくなって行きますが、適当に削除しているので、必要な動作に影響する部分を削除しているかもしれません。

そこで「びんぼうでいいの」でテスト環境を構築して、動作の確認をしながら不要コマンドを削除するこにしました。


Pコマンド以外のコマンドと、メモリー内容確認コマンドのP4以降(なぜかP5までしか実装されていないようです)を削除した時点で目標達成です。
--
スケッチが プログラムストレージ領域の 15,978バイト (49%) を使用しています。最大は 32,256バイト です。
--

コマンドの削除は void command_mode () 内の削除したいコマンドのcase文をbreak文までコメント化すればいいようです。
--
// case 12: // A - Iambic mode
中略
// break;
--

ATmega328Pの「びんぼうでいいの」では、メモリー書き込み、再生、送信は動作しています。

ボードをATmega168P/Int.4MHzに変更してコンパイルした結果は、なぜか4バイト小さくなりました。
--
スケッチが プログラムストレージ領域の 15,974バイト (97%) を使用しています。最大は 16,384バイト です。
--

あとは実機でのテストです。

---------------------------------------------------------------------------------------
追記です。

実機でのテストはOKで、ブログ用の撮影も終わったのですが、スリープしません。
そういえば、テストのためにスリープ機能を入れていないのを忘れていました。
スリープ機能を入れたら124バイトオーバーしています。
--
スケッチが プログラムストレージ領域の 16,508バイト (100%) を使用しています。最大は 16,384バイト です
--

もう少しダイエットに励みます。

---------------------------------------------------------------------------------------
追記です。

メモリ リピート機能を削除して、ギリギリですが押し込みました。
送信機系統切替機能も不要なので削除したかったのですが、どこを削除するか分かりませんでした。
送信機系統2は無効にしてありますので、送信機系統は1のママです。
--
スケッチが プログラムストレージ領域の 16,374バイト (99%) を使用しています。最大は 16,384バイト です。
--
使用率は99.93%でATmega168Pの容量をほぼつかいきりました。

というわけで紆余曲折しましたが、ElekinoCanDo/Stdは封印から覚めることができました。


中身です。


送信回路の確認ができるように、パドル側のコネクタに送信確認用のLEDを付けました。
LEDの電源はElekinoCanDo/Stdから拝借しています。半田付けはせず、抵抗の足のテンションで5V端子に接続しています。

最新の画像もっと見る

2 コメント

コメント日が  古い順  |   新しい順
送信機系統切替 (JR1JWZ)
2015-10-29 00:30:29
送信機系統切替については、

関数 void switch_to_tx(byte tx)

ですが、すでにある程度はオプチマイズ済(この関数は無用と判断)かも知れません。

関連で、ボタン長押しを感知している部分は、

void check_command_buttons() 内で、

// we got a button hold
...
...
// if no paddle was hit, this was a button hold to change transmitters

のあたりを探ってみてください。ここは人間がオプチマイズできるかも..。
返信する
送信機系統切替 (wkn)
2015-10-29 11:23:31
JR1JWZさん、コメントありがとうございました。

送信機系統切替の情報ありがとうございました。
少し解析してみます。

相変わらず難解ですが、何度も眺めていると少し分かってきたような気がします。

また、ElekinoCanDoワード単位編集機能版のTmega168P化も目処が付いたので、進めています。
返信する

コメントを投稿