Simulated the CD changer of a Saab to implement a bluetooth connection to the car stereo. Control of playback device (phone) with steering wheel buttons. Needs a RN52 bluetooth transciever and a CAN transiever. So far only audio playback and control via steering wheel buttons implemented. Hands free calling planned.

Dependencies:   mbed

CDC.h

Committer:
petter
Date:
2016-01-04
Revision:
0:6cf6e566c0da
Child:
2:10c60edc8573

File content as of revision 0:6cf6e566c0da:



#ifndef CDC_H
#define CDC_H

#include "mbed.h"

typedef enum
{
  IBUS_NO_MESSAGE,
  IBUS_OTHER_MESSAGE,
  IBUS_DOORS_LOCKED,
  IBUS_DOORS_UNLOCKED,
  IBUS_CDC_ON,
  IBUS_CDC_OFF,
  IBUS_NEXT,
  IBUS_VOLUME_UP,
  IBUS_VOLUME_DOWN,
  IBUS_SKIP_FW,
  IBUS_SKIP_BW,
  IBUS_SET,
  IBUS_CLEAR,
  
  IBUS_COMMAND_LAST
  
} IBUS_COMMAND;

//----------------------------------------------------------------------------
// CLASS
//----------------------------------------------------------------------------

class CDC
{
public:
    void init();
    IBUS_COMMAND get_cmd();
    IBUS_COMMAND get_ihu_cmd();
    IBUS_COMMAND get_steering_wheel_cmd();
    void display(char text[]);
    void display_update();
    void set_time(char minutes, char seconds);
    void send_can_frame(int message_id, int *msg);
    void print_can_frame(CANMessage *msg);
    void CAN_wrFilter(uint32_t ctrl, uint32_t id);

};

#endif