CRAC Team / SOMO_II

Dependents:   Somo_Project

SOMO.h

Committer:
AlexisCollin
Date:
2020-04-06
Revision:
6:32eb30d2410f
Parent:
2:b95724a49517

File content as of revision 6:32eb30d2410f:

// SOMO II sound module  http://www.4dsystems.com.au/product/SOMO_II/
// Datasheet http://www.4dsystems.com.au/productpages/SOMO-II/downloads/SOMO-II_datasheet_R_1_2.pdf

#ifndef SOMO_H
#define SOMO_H

#include <mbed.h>

//**************************************************************************
// class sender
// classe servant pour le CAN contenant une fonction pour l'envois de données

class Sender
{
    private:
  
        CAN  & can;
    
    
    public:
  
        Sender(CAN & c) : can(c)
        {
        }
    
        void send();
    
};

//**************************************************************************
// class SOMO SOMO.h
// classe principale. exemple d'utilisation : SOMO audio(p13,p14);

class SOMO
{
    
    public:
    
        SOMO(PinName TXPin, PinName RXPin);
    
        void init();
    
        void playTrackNum(unsigned char, unsigned char);
        
        void start();
           
        void stopTrack();  
    
        void volume(unsigned char);
    
        void reset(); 
        
        void continuous(unsigned char, unsigned char);  
        
        void pause();
        
        void resume();
        
        void set_EQ(unsigned char);
        
        void play_random();
        
        void next();
        
        void previous();
        
        void repeat();
    
    
    protected :
    
        Serial     _serialSOMO;
    
};

//**************************************************************************
// fonctions globales pour l'aquisition d'un message sur le can et l'envois
// de l'état actuel de la carte (occupé ou non) par le bus can

int comm(void);

void not_busy(void);

void busy(void);

#endif