Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
SOMO.h@6:32eb30d2410f, 2020-04-06 (annotated)
- Committer:
- AlexisCollin
- Date:
- Mon Apr 06 15:11:29 2020 +0000
- Revision:
- 6:32eb30d2410f
- Parent:
- 2:b95724a49517
Code final pour la carte de controle du SOMO II
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
alustig3 | 0:a4f14eadd0df | 1 | // SOMO II sound module http://www.4dsystems.com.au/product/SOMO_II/ |
alustig3 | 1:5a7359b415c8 | 2 | // Datasheet http://www.4dsystems.com.au/productpages/SOMO-II/downloads/SOMO-II_datasheet_R_1_2.pdf |
alustig3 | 1:5a7359b415c8 | 3 | |
alustig3 | 0:a4f14eadd0df | 4 | #ifndef SOMO_H |
alustig3 | 0:a4f14eadd0df | 5 | #define SOMO_H |
alustig3 | 0:a4f14eadd0df | 6 | |
alustig3 | 0:a4f14eadd0df | 7 | #include <mbed.h> |
alustig3 | 0:a4f14eadd0df | 8 | |
alustig3 | 0:a4f14eadd0df | 9 | //************************************************************************** |
AlexisCollin | 6:32eb30d2410f | 10 | // class sender |
AlexisCollin | 6:32eb30d2410f | 11 | // classe servant pour le CAN contenant une fonction pour l'envois de données |
alustig3 | 0:a4f14eadd0df | 12 | |
AlexisCollin | 2:b95724a49517 | 13 | class Sender |
AlexisCollin | 2:b95724a49517 | 14 | { |
AlexisCollin | 2:b95724a49517 | 15 | private: |
AlexisCollin | 2:b95724a49517 | 16 | |
AlexisCollin | 2:b95724a49517 | 17 | CAN & can; |
alustig3 | 0:a4f14eadd0df | 18 | |
alustig3 | 0:a4f14eadd0df | 19 | |
AlexisCollin | 2:b95724a49517 | 20 | public: |
AlexisCollin | 2:b95724a49517 | 21 | |
AlexisCollin | 2:b95724a49517 | 22 | Sender(CAN & c) : can(c) |
AlexisCollin | 2:b95724a49517 | 23 | { |
AlexisCollin | 2:b95724a49517 | 24 | } |
alustig3 | 0:a4f14eadd0df | 25 | |
AlexisCollin | 2:b95724a49517 | 26 | void send(); |
alustig3 | 0:a4f14eadd0df | 27 | |
AlexisCollin | 2:b95724a49517 | 28 | }; |
AlexisCollin | 2:b95724a49517 | 29 | |
AlexisCollin | 6:32eb30d2410f | 30 | //************************************************************************** |
AlexisCollin | 6:32eb30d2410f | 31 | // class SOMO SOMO.h |
AlexisCollin | 6:32eb30d2410f | 32 | // classe principale. exemple d'utilisation : SOMO audio(p13,p14); |
AlexisCollin | 6:32eb30d2410f | 33 | |
AlexisCollin | 2:b95724a49517 | 34 | class SOMO |
AlexisCollin | 2:b95724a49517 | 35 | { |
AlexisCollin | 2:b95724a49517 | 36 | |
AlexisCollin | 2:b95724a49517 | 37 | public: |
alustig3 | 0:a4f14eadd0df | 38 | |
AlexisCollin | 2:b95724a49517 | 39 | SOMO(PinName TXPin, PinName RXPin); |
AlexisCollin | 2:b95724a49517 | 40 | |
AlexisCollin | 2:b95724a49517 | 41 | void init(); |
AlexisCollin | 2:b95724a49517 | 42 | |
AlexisCollin | 2:b95724a49517 | 43 | void playTrackNum(unsigned char, unsigned char); |
AlexisCollin | 2:b95724a49517 | 44 | |
AlexisCollin | 2:b95724a49517 | 45 | void start(); |
alustig3 | 0:a4f14eadd0df | 46 | |
AlexisCollin | 2:b95724a49517 | 47 | void stopTrack(); |
AlexisCollin | 2:b95724a49517 | 48 | |
AlexisCollin | 2:b95724a49517 | 49 | void volume(unsigned char); |
alustig3 | 0:a4f14eadd0df | 50 | |
AlexisCollin | 2:b95724a49517 | 51 | void reset(); |
AlexisCollin | 2:b95724a49517 | 52 | |
AlexisCollin | 6:32eb30d2410f | 53 | void continuous(unsigned char, unsigned char); |
AlexisCollin | 6:32eb30d2410f | 54 | |
AlexisCollin | 6:32eb30d2410f | 55 | void pause(); |
AlexisCollin | 6:32eb30d2410f | 56 | |
AlexisCollin | 6:32eb30d2410f | 57 | void resume(); |
AlexisCollin | 6:32eb30d2410f | 58 | |
AlexisCollin | 6:32eb30d2410f | 59 | void set_EQ(unsigned char); |
AlexisCollin | 6:32eb30d2410f | 60 | |
AlexisCollin | 6:32eb30d2410f | 61 | void play_random(); |
AlexisCollin | 6:32eb30d2410f | 62 | |
AlexisCollin | 6:32eb30d2410f | 63 | void next(); |
AlexisCollin | 6:32eb30d2410f | 64 | |
AlexisCollin | 6:32eb30d2410f | 65 | void previous(); |
AlexisCollin | 6:32eb30d2410f | 66 | |
AlexisCollin | 6:32eb30d2410f | 67 | void repeat(); |
alustig3 | 0:a4f14eadd0df | 68 | |
alustig3 | 0:a4f14eadd0df | 69 | |
alustig3 | 0:a4f14eadd0df | 70 | protected : |
alustig3 | 0:a4f14eadd0df | 71 | |
AlexisCollin | 2:b95724a49517 | 72 | Serial _serialSOMO; |
alustig3 | 0:a4f14eadd0df | 73 | |
alustig3 | 0:a4f14eadd0df | 74 | }; |
alustig3 | 0:a4f14eadd0df | 75 | |
AlexisCollin | 6:32eb30d2410f | 76 | //************************************************************************** |
AlexisCollin | 6:32eb30d2410f | 77 | // fonctions globales pour l'aquisition d'un message sur le can et l'envois |
AlexisCollin | 6:32eb30d2410f | 78 | // de l'état actuel de la carte (occupé ou non) par le bus can |
AlexisCollin | 6:32eb30d2410f | 79 | |
AlexisCollin | 2:b95724a49517 | 80 | int comm(void); |
AlexisCollin | 2:b95724a49517 | 81 | |
AlexisCollin | 2:b95724a49517 | 82 | void not_busy(void); |
AlexisCollin | 2:b95724a49517 | 83 | |
AlexisCollin | 6:32eb30d2410f | 84 | void busy(void); |
AlexisCollin | 6:32eb30d2410f | 85 | |
alustig3 | 0:a4f14eadd0df | 86 | #endif |