AP mode

Dependencies:   NetworkSocketAPI WizFi310Interface mbed

Fork of WizFi310_TCP_Echo_Server_Example by WIZnet

Committer:
maru536
Date:
Tue Oct 03 05:38:58 2017 +0000
Revision:
8:e26236864101
Parent:
2:8d119e9b8f5a
comp

Who changed what in which revision?

UserRevisionLine numberNew contents of line
maru536 2:8d119e9b8f5a 1 /**
maru536 2:8d119e9b8f5a 2 * ==================================================== Dec 21 2013, kayeks ==
maru536 2:8d119e9b8f5a 3 * VS1053.cpp
maru536 2:8d119e9b8f5a 4 * ===========================================================================
maru536 2:8d119e9b8f5a 5 * Just a simple library for VLSI's mp3/midi codec chip
maru536 2:8d119e9b8f5a 6 * - Minimal and simple implementation (and dirty too)
maru536 2:8d119e9b8f5a 7 *
maru536 2:8d119e9b8f5a 8 * Modified on 05 September 2015 by Vassilis Serasidis.
maru536 2:8d119e9b8f5a 9 * - Added a patch for playing MP3 files on some "LC Technology" VS1053 boards.
maru536 2:8d119e9b8f5a 10 *
maru536 2:8d119e9b8f5a 11 *
maru536 2:8d119e9b8f5a 12 */
maru536 2:8d119e9b8f5a 13
maru536 2:8d119e9b8f5a 14 #ifndef KAYX_VS1053_H_
maru536 2:8d119e9b8f5a 15 #define KAYX_VS1053_H_
maru536 2:8d119e9b8f5a 16
maru536 2:8d119e9b8f5a 17 #include "TCPSocket.h"
maru536 2:8d119e9b8f5a 18
maru536 2:8d119e9b8f5a 19 /** Class VS1053. Drives VLSI's mp3/midi codec chip. */
maru536 2:8d119e9b8f5a 20 class VS1053 {
maru536 2:8d119e9b8f5a 21 private:
maru536 2:8d119e9b8f5a 22 SPI spi;
maru536 2:8d119e9b8f5a 23 DigitalOut cs;
maru536 2:8d119e9b8f5a 24 DigitalOut bsync; //dcs pin
maru536 2:8d119e9b8f5a 25 DigitalIn dreq;
maru536 2:8d119e9b8f5a 26 DigitalOut rst;
maru536 2:8d119e9b8f5a 27
maru536 2:8d119e9b8f5a 28 public:
maru536 2:8d119e9b8f5a 29 static const uint8_t SCI_MODE = 0x00;
maru536 2:8d119e9b8f5a 30 static const uint8_t SCI_STATUS = 0x01;
maru536 2:8d119e9b8f5a 31 static const uint8_t SCI_BASS = 0x02;
maru536 2:8d119e9b8f5a 32 static const uint8_t SCI_CLOCKF = 0x03;
maru536 2:8d119e9b8f5a 33 static const uint8_t SCI_DECODE_TIME = 0x04;
maru536 2:8d119e9b8f5a 34 static const uint8_t SCI_AUDATA = 0x05;
maru536 2:8d119e9b8f5a 35 static const uint8_t SCI_WRAM = 0x06;
maru536 2:8d119e9b8f5a 36 static const uint8_t SCI_WRAMADDR = 0x07;
maru536 2:8d119e9b8f5a 37 static const uint8_t SCI_HDAT0 = 0x08;
maru536 2:8d119e9b8f5a 38 static const uint8_t SCI_HDAT1 = 0x09;
maru536 2:8d119e9b8f5a 39 static const uint8_t SCI_AIADDR = 0x0a;
maru536 2:8d119e9b8f5a 40 static const uint8_t SCI_VOL = 0x0b;
maru536 2:8d119e9b8f5a 41 static const uint8_t SCI_AICTRL0 = 0x0c;
maru536 2:8d119e9b8f5a 42 static const uint8_t SCI_AICTRL1 = 0x0d;
maru536 2:8d119e9b8f5a 43 static const uint8_t SCI_AICTRL2 = 0x0e;
maru536 2:8d119e9b8f5a 44 static const uint8_t SCI_AICTRL3 = 0x0f;
maru536 2:8d119e9b8f5a 45
maru536 2:8d119e9b8f5a 46 static const uint8_t SM_RESET = 2;
maru536 2:8d119e9b8f5a 47 static const uint8_t SM_SDINEW = 11;
maru536 2:8d119e9b8f5a 48
maru536 2:8d119e9b8f5a 49 VS1053(PinName mosiPin, PinName misoPin, PinName sckPin,
maru536 2:8d119e9b8f5a 50 PinName csPin, PinName bsyncPin, PinName dreqPin, PinName rstPin,
maru536 2:8d119e9b8f5a 51 uint32_t spiFrequency=1000000);
maru536 2:8d119e9b8f5a 52 ~VS1053();
maru536 2:8d119e9b8f5a 53 void hardwareReset();
maru536 2:8d119e9b8f5a 54 void modeSwitch(void);
maru536 2:8d119e9b8f5a 55 void sendDataByte(uint8_t data);
maru536 2:8d119e9b8f5a 56 size_t sendDataBlock(unsigned char* data, size_t length);
maru536 2:8d119e9b8f5a 57 size_t sendDataBlock(TCPSocket* socket, int content_length);
maru536 2:8d119e9b8f5a 58 void clockUp();
maru536 2:8d119e9b8f5a 59 bool sendCancel();
maru536 2:8d119e9b8f5a 60 bool stop();
maru536 2:8d119e9b8f5a 61 void setVolume(uint8_t vol);
maru536 2:8d119e9b8f5a 62
maru536 2:8d119e9b8f5a 63 private:
maru536 2:8d119e9b8f5a 64 void writeReg(uint8_t, uint16_t);
maru536 2:8d119e9b8f5a 65 uint16_t readReg(uint8_t);
maru536 2:8d119e9b8f5a 66 };
maru536 2:8d119e9b8f5a 67
maru536 2:8d119e9b8f5a 68 #endif