Advanced Operating Systems - Final Project A @ Tokyo Tech ////////////// Author: Chu Van Thiem and Sidik Soleman ////////////// A WAVE file player on the MBED Application Board with an interface to a software on PC via a TCP connection. ////////////// Main functions: 1. Browse files of an attached USB flash 2. The list of the files of the attached USB are displayed on the LCD 3. Use an joystick to select a WAVE file and give an instruction to play that file 4. Adjust the volume using a potentiometer 5. Output audio to the analog audio out jack ////////////// Software (https://github.com/thiemcv/VS/tree/master/Terminal): 1. Connect with the MBED application board via Ethernet connection 2. Read the list of files stored on the USB flash 3. Write files to the USB flash
Dependencies: C12832_lcd EthernetInterface USBHost mbed-rtos mbed wave_player
src/tcp_task.h
- Committer:
- aos
- Date:
- 2014-02-02
- Revision:
- 1:3b567aa3b09e
- Child:
- 2:5bc47e544b8d
File content as of revision 1:3b567aa3b09e:
#ifndef __TCP_TASK_H__ #define __TCP_TASK_H__ #include "mbed.h" #include "rtos.h" #include "Queue.h" #include "EthernetInterface.h" #include "usb.h" // Ethernet config #define IP_ADDR "192.168.5.123" #define IP_MASK "255.255.255.0" #define GW_ADDR "192.168.5.1" #define TCP_PORT 8001 // FSM states #define STATE_IDLE 0 #define STATE_1 1 #define STATE_2 2 #define STATE_CMD 3 #define STATE_READ 4 #define STATE_WFILE 5 #define STATE_WDATA 6 // CMD #define CMD_1 0xAA #define CMD_2 0x55 #define CMD_PC 0x00 #define CMD_READ 0x00 #define CMD_WFILE 0x01 #define CMD_WDATA 0x02 // ACK #define ACK_1 0xAA #define ACK_2 0x55 #define ACK_MBED 0x01 #define ACK_READ 0x00 #define ACK_WFILE 0x01 #define ACK_WDATA 0x02 #define SPR_CHAR 0xFF #define QUEUE_MAX_LEN 256 #define ACK_MAX_LEN 128 #define NAME_MAX_LEN 32 #define DATA_MAX_LEN 256 void tcp_thread(void const *args); void cmd_thread(void const *args); #endif