#include "include/wifi.h" #include "include/spi_drv.h" #include "config.h" #include "include/c51_drv.h" #include "include/compiler.h" #include #include "include/mp3_buffer.h" #include "include/byte_reader.h" #include "include/main.h" void wifi_init(void) { Spi_disable_int(); Spi_disable_ss(); Spi_set_mode(SPI_MASTER_MODE_1); /* CPOL = 0 CPHA = 1 */ Spi_set_rate(0); /* FOSC/2 = 8MHz */ Spi_enable(); wifi_deselect(); } Byte wifi_receive_buffer_full(void) { return (!((wifi_read_configuration() & WIFI_MSK_RECEIVE_BUFFER) >> 6)); } Byte wifi_data_available(void) { return ((wifi_read_configuration() & WIFI_MSK_TRANSMIT_BUFFER) >> 7); } Byte wifi_read_configuration(void) { wifi_select(); Spi_write_data(WIFI_COMMAND_READ_CONFIG); Spi_wait_eot(); Spi_write_dummy(); Spi_wait_eot(); wifi_deselect(); return Spi_read_data(); } Byte wifi_send_data(Byte* data_a, Byte length_a) { Byte len_lo; Byte len_hi; Byte len_trans; Byte i; wifi_select(); Spi_write_data(WIFI_COMMAND_WRITE); Spi_wait_eot(); Spi_write_dummy(); Spi_wait_eot(); len_hi=Spi_read_data(); Spi_write_dummy(); Spi_wait_eot(); len_lo=Spi_read_data(); len_trans=length_a; if (len_hi==0 && (len_lo < length_a)) { len_trans = len_lo; } for (i=0; i length_a) { len_recv = length_a; } for (i=0; i