##// END OF EJS Templates
Added Simulator target to run code on x86 and debug functions....
Added Simulator target to run code on x86 and debug functions. Fixed some bugs on terminal widget.

File last commit:

r62:25c982b9ed94 dev_alexis
r63:68dfbccdd813 dev_alexis
Show More
VS10XX.c
132 lines | 3.4 KiB | text/x-c | CLexer
added 25Q128 eeprom driver...
r53 /*------------------------------------------------------------------------------
#-- This file is a part of the libuc, microcontroler library
#-- Copyright (C) 2011, Alexis Jeandet
#--
#-- This program is free software; you can redistribute it and/or modify
#-- it under the terms of the GNU General Public License as published by
#-- the Free Software Foundation; either version 3 of the License, or
#-- (at your option) any later version.
#--
#-- This program is distributed in the hope that it will be useful,
#-- but WITHOUT ANY WARRANTY; without even the implied warranty of
#-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
#-- GNU General Public License for more details.
#--
#-- You should have received a copy of the GNU General Public License
#-- along with this program; if not, write to the Free Software
#-- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
#-------------------------------------------------------------------------------
#-- Author : Alexis Jeandet
#-- Mail : alexis.jeandet@gmail.com
#-------------------------------------------------------------------------------*/
Added Oplayer BSP, Fixed bug on GPIO library(gpiosetval change all the port...
r60 #include <spi.h>
#include <VS10XX.h>
#include <core.h>
Fat32 library partially working, can read a file.
r62 #include <stdio.h>
added 25Q128 eeprom driver...
r53 //#include <bsp.h>
Added Oplayer BSP, Fixed bug on GPIO library(gpiosetval change all the port...
r60 void vs10XXopen(vs10XXDev *codec, spi_t dev, void (*setxCS)(char), void (*setxRST)(char), void (*setxDCS)(char), int (*getDREQ)())
{
added 25Q128 eeprom driver...
r53 codec->SPIdev = dev;
Added Oplayer BSP, Fixed bug on GPIO library(gpiosetval change all the port...
r60 codec->setxCS = setxCS;
codec->setxDCS = setxDCS;
codec->setxRST = setxRST;
codec->getDREQ = getDREQ;
codec->setxDCS(1);
codec->setxCS(1);
codec->setxRST(0);
delay_100us(2);
codec->setxRST(1);
Fat32 library partially working, can read a file.
r62 int status;
do{
status= vs10XXcmdread(codec,VSSTATUS);
}while (status==0xc);
printf("Status=0x%x\n",status);
status = (status>>4) & 0xF;
switch (status) {
case 0:
codec->VERSION = VS1001;
break;
case 1:
codec->VERSION = VS1011;
break;
case 2:
codec->VERSION = VS1002;
break;
case 3:
codec->VERSION = VS1003;
break;
case 4:
codec->VERSION = VS1053;
break;
case 5:
codec->VERSION = VS1033;
break;
case 7:
codec->VERSION = VS1103;
break;
default:
codec->VERSION = UNKNOWN;
break;
}
added 25Q128 eeprom driver...
r53 }
void vs10XXsoftreset(vs10XXDev* dev)
{
vs10XXcmdwrite(dev,VSMODE,(1<<2));
}
Fat32 library partially working, can read a file.
r62 void vs10XXsetCansel(vs10XXDev* dev)
{
int mode=vs10XXcmdread(dev,VSMODE);
vs10XXcmdwrite(dev,VSMODE,mode|8);
}
void vs10XXsoftReset(vs10XXDev* dev)
{
int mode=vs10XXcmdread(dev,VSMODE);
vs10XXcmdwrite(dev,VSMODE,mode|4);
}
int vs10XXcanselAccepted(vs10XXDev* dev)
{
int mode=vs10XXcmdread(dev,VSMODE);
return ((mode & 8)!=8);
}
added 25Q128 eeprom driver...
r53 int vs10XXcmdread(vs10XXDev* dev,char address)
{
Added Oplayer BSP, Fixed bug on GPIO library(gpiosetval change all the port...
r60 int result;
while(!dev->getDREQ());
dev->setxCS(0);
spiputw(dev->SPIdev,3);
spiputw(dev->SPIdev,address);
result = (0xFF00 & (spigetw(dev->SPIdev)<<8)) + (0xFF & spigetw(dev->SPIdev));
dev->setxCS(1);
added 25Q128 eeprom driver...
r53 return result;
}
void vs10XXcmdwrite(vs10XXDev* dev,char address,int value)
{
Added Oplayer BSP, Fixed bug on GPIO library(gpiosetval change all the port...
r60 while(!dev->getDREQ());
dev->setxCS(0);
spiputw(dev->SPIdev,2<<8);
spiputw(dev->SPIdev,address);
spiputw(dev->SPIdev,value>>8);
added 25Q128 eeprom driver...
r53 spiputw(dev->SPIdev,value);
Added Oplayer BSP, Fixed bug on GPIO library(gpiosetval change all the port...
r60 dev->setxCS(1);
added 25Q128 eeprom driver...
r53 }
Added Oplayer BSP, Fixed bug on GPIO library(gpiosetval change all the port...
r60
Fat32 library partially working, can read a file.
r62 void vs10XXstream32bytes(vs10XXDev* dev,char* buffer)
{
while(!dev->getDREQ());
dev->setxCS(1);
dev->setxDCS(0);
spiputnc(dev->SPIdev,buffer,32);
dev->setxDCS(1);
}
Added Oplayer BSP, Fixed bug on GPIO library(gpiosetval change all the port...
r60