メロディ生成をPIC16F18326に変えたので、それに合わせて第4版のPCBを発注した。版を追うごとに基板の密度が上がっている。秋月で買える安い部品だけで作っているのでICのパッケージも様々である。これまでと同じ大きさの基板に収めるのはボチボチ限界かな。
1週間ほどで基板が出来上がってきたので早速秋月に走り部品を調達して組み立てた。ソフトに幾つかの修正を加えてメロディIC(PIC16F18326)を接続できた。
RS-Kager2 Ver0.23 for RH-Kager2 Rev 0.40 2024/07/30-1
StateMachine: 3.1 SpeakMessage: 0.4
Copyright(C)2023,2024 by MYcrosLip. (DEBUG MODE)
... Checking Melody Player - Tone326-197:103
--- Melody Player is ready.
... Checking Voice Synthesizer -VF1a
--- Voice Synthesizer is ready.
--- I2C_INIT: I2C Bus is Ready.
--- Extend EEPROM OK.
... EEPROM-ID = RS-Kager2 Ver0.23 2024/07/30-1
... RTC RAW10: 02 80 08 22 23 09 31 03 07 24
--- RTC is active.
--- RTC: 24/07/31(WED) 09:23:22
--- Barom is active.
!!! Barom: FIFO is not full; Wait a dozen seconds.
--- Air Pressure: 996.0 hPa (Offset 9.2 hPa).
--- Power Supply : 5.09 V
--- Environment : OFFICE mode.
--- Speak air pressure 1 time(s) in an hour.
--- Speak the time before speak the pressure is ON
--- Speak random at S3 is : ON
--- Speak Battery Low is ON.
--- Current LED Brightness is 30 %
--- Start Interrupt Handling.
メロディが時々ハングアップしたが、これは暫定的に作っていたインターフェイスの中の待ち行列(QUE)がCでお決まりのNULLポインタを起こしていた。複数の曲をキューイングして演奏する状況は考えられないのでQUEの使用は止め、逆に曲の途中で別の曲を強制的に割り込ませる機能を追加した。これにはメロディICとPIC18F27Q43の間の連携が必要であるが、メロディICに予め演奏の強制停止コマンドを組み込んでおいたおかげですんなりと実現できた。
(その後)
第4版のPCBに若干の修正を加えて第4.1版を作った。変更点はPICのバグ回避のための変更1件と利用上の都合に伴う2件である。
出来ればこれを最終版にし、あとはソフトに任せたい。
(続く)
0 件のコメント:
コメントを投稿