CRAC Team / SOMO_II

Dependents:   Somo_Project

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?

UserRevisionLine numberNew 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