This program generates sound by using FM tone generator YMF825 via SPI.

Dependencies:   microbit

Committer:
hasebems
Date:
Fri Jan 05 22:58:49 2018 +0000
Revision:
0:c54d59d6fb78
???????????????

Who changed what in which revision?

UserRevisionLine numberNew contents of line
hasebems 0:c54d59d6fb78 1 #ifndef FMVOICE_H
hasebems 0:c54d59d6fb78 2 #define FMVOICE_H
hasebems 0:c54d59d6fb78 3 #include <stdbool.h>
hasebems 0:c54d59d6fb78 4
hasebems 0:c54d59d6fb78 5 // Fmvoice Class
hasebems 0:c54d59d6fb78 6 typedef struct _Fmvoice Fmvoice;
hasebems 0:c54d59d6fb78 7 struct _Fmvoice {
hasebems 0:c54d59d6fb78 8 unsigned char _vnum;
hasebems 0:c54d59d6fb78 9 bool _keyon;
hasebems 0:c54d59d6fb78 10 Fmvoice* _nextVc;
hasebems 0:c54d59d6fb78 11 void* _parent;
hasebems 0:c54d59d6fb78 12 };
hasebems 0:c54d59d6fb78 13
hasebems 0:c54d59d6fb78 14 // public
hasebems 0:c54d59d6fb78 15 extern void Fmvoice_init( Fmvoice* _this );
hasebems 0:c54d59d6fb78 16 extern void Fmvoice_keyon( Fmvoice* _this, void* nt, void* pt, void* tn, unsigned char note, unsigned char vel );
hasebems 0:c54d59d6fb78 17 extern void Fmvoice_keyoff( Fmvoice* _this );
hasebems 0:c54d59d6fb78 18 extern void Fmvoice_release( Fmvoice* _this );
hasebems 0:c54d59d6fb78 19 extern void Fmvoice_chgVibDpt( Fmvoice* _this, unsigned char vibDpt );
hasebems 0:c54d59d6fb78 20 extern void Fmvoice_chgPit( Fmvoice* _this, unsigned short pb );
hasebems 0:c54d59d6fb78 21 extern void Fmvoice_setBasicPit( Fmvoice* _this, unsigned char note );
hasebems 0:c54d59d6fb78 22
hasebems 0:c54d59d6fb78 23 // setter
hasebems 0:c54d59d6fb78 24 extern void Fmvoice_setVoiceNum( Fmvoice* _this, unsigned char vn );
hasebems 0:c54d59d6fb78 25 extern void Fmvoice_setNextVc( Fmvoice* _this, Fmvoice* vc );
hasebems 0:c54d59d6fb78 26
hasebems 0:c54d59d6fb78 27 // getter
hasebems 0:c54d59d6fb78 28 extern unsigned char Fmvoice_vnum( Fmvoice* _this );
hasebems 0:c54d59d6fb78 29 extern bool Fmvoice_isKeyon( Fmvoice* _this );
hasebems 0:c54d59d6fb78 30 extern Fmvoice* Fmvoice_nextVc( Fmvoice* _this );
hasebems 0:c54d59d6fb78 31 #endif