Library to control the mp3-tf-16p

Dependents:   LaserSensor

Revision:
2:4697650da797
Parent:
1:c76171b5e9df
--- a/MP3_TF_16P.cpp	Fri Mar 12 12:35:52 2021 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,119 +0,0 @@
-#include "mbed.h"
-#include "MP3_TF_16P.h"
-
-MP3_TF_16P::MP3_TF_16P(PinName PinTX, PinName PinRX) : SerialPort(PinTX,PinRX)
-{
-    //constructor.
-    SerialPort.baud(9600);
-    SerialPort.attach(callback(this,&MP3_TF_16P::Rx_interrupt), Serial::RxIrq);
-    
-    Stack[0] = 0x7E;    //Start byte (always 7E)
-    Stack[1] = 0xFF;    //Version (always FF)
-    Stack[2] = 0x06;    //Length (always 6)
-    Stack[3] = 0x00;    //Command
-    Stack[4] = 0x00;    //Feedback on/off
-    Stack[5] = 0x00;    //Parameter high byte
-    Stack[6] = 0x00;    //Parameter low byte
-    Stack[7] = 0x00;    //Checksum high byte
-    Stack[8] = 0x00;    //Checksum low byte
-    Stack[9] = 0xEF;    //End byte (always EF)
-}
-
-void MP3_TF_16P::SetVolume(uint16_t Value)
-{
-    Stack[3] = 0x06;    //Put commando in stack.
-    Stack[4] = 0x00;    //No feedback required.
-    PutUint16InArray(Value,5,6);  //Put value in stack.
-    SendStack();
-}
-
-void MP3_TF_16P::PlayTrackNumber(uint16_t Number)
-{
-   Stack[3] = 0x03;    //Put commando in stack.
-   Stack[4] = 0x00;    //No feedback required.
-   PutUint16InArray(Number,5,6);  //Put value in stack.
-   SendStack(); 
-}
-
-void MP3_TF_16P::PausePlay()
-{
-    Stack[3] = 0x0E;    //Put commando in stack.
-    Stack[4] = 0x00;    //No feedback required.
-    SendStack();
-}
-
-void MP3_TF_16P::RepeatPlay(uint16_t Number)
-{
-    Stack[3] = 0x08;    //Put commando in stack.
-    Stack[4] = 0x00;    //No feedback required.
-    PutUint16InArray(Number,5,6);  //Put value in stack.
-    SendStack(); 
-}
-
-//Sends the stack of data to the MP3-TF-16P module.
-void MP3_TF_16P::SendStack()
-{
-    CalculateCheckSum();    //First calculate the checksum.
-    
-    for (int i = 0; i < 10; i++)
-    {
-        SerialPort.putc(Stack[i]);
-    }
-}
-
-void MP3_TF_16P::CalculateCheckSum()
-{
-    uint16_t sum = 0;
-    
-    //Calculate checksum over bytes 1 to 6.
-    for (int i = 1; i < 7; i++)
-    {
-        sum += Stack[i];
-    }
-    
-    //Invert checksum.
-    sum = -sum;
-    
-    //Put result in stack.
-    PutUint16InArray(sum,7,8);
-}
-
-void MP3_TF_16P::PutUint16InArray(uint16_t value, uint8_t PlaceHighByte, uint8_t PlaceLowByte)
-{
-    //Put 16 bits usigned integer in stack at the requested places.
-    Stack[PlaceHighByte] = (uint8_t)(value>>8); //Shift bits to the right.
-    Stack[PlaceLowByte] = (uint8_t)(value);
-}
-
-void MP3_TF_16P::Rx_interrupt()
-{
-    while (SerialPort.readable())
-    {
-        for (int i = 0; i < 9; i++)
-        {
-            ReceivedStack[i] = ReceivedStack[i+1];
-        }
-        ReceivedStack[9] = SerialPort.getc();
-        
-        if (ReceivedStack[0] == 0x7E && ReceivedStack[1] == 0xFF && ReceivedStack[2] == 0x06 && ReceivedStack[9] == 0xEF)
-        {
-            if (ReceivedStack[3] == 0x48)
-            {
-                numberoffiles = ReceivedStack[6];
-            }
-            if (ReceivedStack[3] == 0x40)
-            {
-                numberoffiles = 0;
-            }
-        }
-    }
-}
-
-uint16_t MP3_TF_16P::GetNumberOfFiles()
-{
-    Stack[3] = 0x48;    //Put commando in stack.
-    Stack[4] = 0x00;    //No feedback required.
-    SendStack();
-    wait(0.2);
-    return numberoffiles;
-}
\ No newline at end of file