/*------------------------------------------------------------------------------ -- 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 -------------------------------------------------------------------------------*/ #ifndef BSP_H #define BSP_H #include "LPC17xx.h" #include #include #include #include <24LC0X.h> #include #include #include #include extern uartDev UART0; extern uartDev UART1; extern uartDev UART2; extern uartDev UART3; extern i2cDev IIC0; extern i2cDev IIC1; extern i2cDev IIC2; extern sspDev SSP0; extern sspDev SSP1; extern sdcardDev SDCARD0; extern blkdevice BLKDEVSDCARD0; extern dikpartition PART0; extern FAT32fs fs0; extern ucdirent root; extern eeprom24lc0xDev eeprom0; extern float VREF0; extern unsigned int currentCpuFreq; #define pll0useInternal 0 #define pll0useMainOsc 1 #define pll0useRTC 2 #define pll0setClksrc(src) if((unsigned int)(src)<3) LPC_SC->CLKSRCSEL=(src) #define pll0getClksrc (LPC_SC->CLKSRCSEL & 3) #define LEDS_ON LPC_GPIO2->FIOSET = 255 #define LED1_ON LPC_GPIO2->FIOSET = (1<<0) #define LED2_ON LPC_GPIO2->FIOSET = (1<<1) #define LED3_ON LPC_GPIO2->FIOSET = (1<<2) #define LED4_ON LPC_GPIO2->FIOSET = (1<<3) #define LED5_ON LPC_GPIO2->FIOSET = (1<<4) #define LED6_ON LPC_GPIO2->FIOSET = (1<<5) #define LED7_ON LPC_GPIO2->FIOSET = (1<<6) #define LED8_ON LPC_GPIO2->FIOSET = (1<<7) #define LEDS_OFF LPC_GPIO2->FIOCLR = ~(255) #define LED1_OFF LPC_GPIO2->FIOCLR = (1<<0) #define LED2_OFF LPC_GPIO2->FIOCLR = (1<<1) #define LED3_OFF LPC_GPIO2->FIOCLR = (1<<2) #define LED4_OFF LPC_GPIO2->FIOCLR = (1<<3) #define LED5_OFF LPC_GPIO2->FIOCLR = (1<<4) #define LED6_OFF LPC_GPIO2->FIOCLR = (1<<5) #define LED7_OFF LPC_GPIO2->FIOCLR = (1<<6) #define LED8_OFF LPC_GPIO2->FIOCLR = (1<<7) extern int bsp_init(); extern void bsp_GPIO_init(); extern void bsp_uart_init(); extern void bsp_iic_init(); extern void bsp_ssp_init(); extern void bsp_SD_init(); extern void consoleputc(char); extern char consolegetc(); /* VS1053 */ extern void clearXCS(); extern void setXCS(); extern int vs10XXDREQ(); /* SD CARD */ void bsppowersdcard(char onoff); char bspsdcardpresent(); void bspsdcardselect(char YESNO); char bspsdcardwriteprotected(); #endif