From cfd554dc24d1d98a350862adc7a2f1bd8674550e Mon Sep 17 00:00:00 2001 From: Dragos Bogdan Date: Sat, 4 Jan 2014 17:27:52 -0500 Subject: [PATCH] Move files. --- RDKRL78G14.c | 88 ---- RDKRL78G14.h | 133 ----- ST7579.c | 528 -------------------- ST7579.h | 100 ---- TIME.c | 164 ------ TIME.h | 65 --- Communication.c => cpu/rl78/Communication.c | 0 Communication.h => cpu/rl78/Communication.h | 0 8 files changed, 1078 deletions(-) delete mode 100644 RDKRL78G14.c delete mode 100644 RDKRL78G14.h delete mode 100644 ST7579.c delete mode 100644 ST7579.h delete mode 100644 TIME.c delete mode 100644 TIME.h rename Communication.c => cpu/rl78/Communication.c (100%) rename Communication.h => cpu/rl78/Communication.h (100%) diff --git a/RDKRL78G14.c b/RDKRL78G14.c deleted file mode 100644 index 3be586c51..000000000 --- a/RDKRL78G14.c +++ /dev/null @@ -1,88 +0,0 @@ -/***************************************************************************//** - * @file RDKRL78G14.c - * @brief Implementation of the RDKRL78G14 Driver. - * @author DBogdan (dragos.bogdan@analog.com) - ******************************************************************************** - * Copyright 2012(c) Analog Devices, Inc. - * - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * - Neither the name of Analog Devices, Inc. nor the names of its - * contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. - * - The use of this software may or may not infringe the patent rights - * of one or more patent holders. This license does not release you - * from the requirement that you obtain separate licenses from these - * patent holders to use this software. - * - Use of the software either in source or binary form, must be run - * on or directly connected to an Analog Devices Inc. component. - * - * THIS SOFTWARE IS PROVIDED BY ANALOG DEVICES "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, NON-INFRINGEMENT, - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. - * IN NO EVENT SHALL ANALOG DEVICES BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, INTELLECTUAL PROPERTY RIGHTS, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, - * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - ******************************************************************************** - * SVN Revision: $WCREV$ - *******************************************************************************/ - -/******************************************************************************/ -/***************************** Include Files **********************************/ -/******************************************************************************/ -#include "RDKRL78G14.h" /* RDKRL78G14 definitions */ - -/******************************************************************************/ -/************************ Functions Definitions *******************************/ -/******************************************************************************/ - -/***************************************************************************//** - * @brief Resets the RDKRL78G14. - * - * @return None. - *******************************************************************************/ -void -RDKRL78G14_Reset(void) -{ - short delay = 0; - - EXTRST_HIGH; - for(delay = 0; delay < 1000; delay++) { - NOP; - } - EXTRST_LOW; -} -/***************************************************************************//** - * @brief Initializes the RDKRL78G14. - * - * @return status - Result of the initialization procedure. - * Example: 0 - if initialization was successful; - * -1 - if initialization was unsuccessful. - *******************************************************************************/ -char -RDKRL78G14_Init(void) -{ - long delay = 0; - char status = -1; - - for(delay = 0; delay < 4000000; delay++) { - NOP; - } - RDKRL78G14_Reset(); - status = 0; - - return status; -} diff --git a/RDKRL78G14.h b/RDKRL78G14.h deleted file mode 100644 index 75242bab1..000000000 --- a/RDKRL78G14.h +++ /dev/null @@ -1,133 +0,0 @@ -/***************************************************************************//** - * @file RDKRL78G14.h - * @brief Header file of the RDKRL78G14 Driver. - * @author DBogdan (dragos.bogdan@analog.com) - ******************************************************************************** - * Copyright 2012(c) Analog Devices, Inc. - * - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * - Neither the name of Analog Devices, Inc. nor the names of its - * contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. - * - The use of this software may or may not infringe the patent rights - * of one or more patent holders. This license does not release you - * from the requirement that you obtain separate licenses from these - * patent holders to use this software. - * - Use of the software either in source or binary form, must be run - * on or directly connected to an Analog Devices Inc. component. - * - * THIS SOFTWARE IS PROVIDED BY ANALOG DEVICES "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, NON-INFRINGEMENT, - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. - * IN NO EVENT SHALL ANALOG DEVICES BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, INTELLECTUAL PROPERTY RIGHTS, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, - * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - ******************************************************************************** - * SVN Revision: $WCREV$ - *******************************************************************************/ - -#ifndef __RDKRL78G14_H__ -#define __RDKRL78G14_H__ - -/******************************************************************************/ -/***************************** Include Files **********************************/ -/******************************************************************************/ - -#include /* R5F104PJ definitions */ -#include /* Declarations of extended SFR registers */ -#include /* Declarations of intrinsic functions */ - -/******************************************************************************/ -/************************* Operations Definitions *****************************/ -/******************************************************************************/ - -#define NOP __no_operation(); /* No operation */ -#define EI __enable_interrupt(); /* Enable interrupts */ -#define DI __disable_interrupt(); /* Disable interrupts */ - -/******************************************************************************/ -/**************************** GPIO Definitions ********************************/ -/******************************************************************************/ - -/* External Reset Pin - P130 */ -#define EXTRST_PIN (1 << 0) -#define EXTRST_LOW P13 &= ~EXTRST_PIN -#define EXTRST_HIGH P13 |= EXTRST_PIN - -/* ST7579 CS Pin - P145 */ -#define ST7579_CS_PIN (1 << 5) -#define ST7579_CS_OUT PM14 &= ~ST7579_CS_PIN -#define ST7579_CS_LOW P14 &= ~ST7579_CS_PIN -#define ST7579_CS_HIGH P14 |= ST7579_CS_PIN - -/* ST7579 RS Pin - P146 */ -#define ST7579_RS_PIN (1 << 6) -#define ST7579_RS_OUT PM14 &= ~ST7579_RS_PIN -#define ST7579_RS_LOW P14 &= ~ST7579_RS_PIN -#define ST7579_RS_HIGH P14 |= ST7579_RS_PIN - -/* PMOD1 CS Pin - P83 */ -#define PMOD1_CS_PIN (1 << 3) -#define PMOD1_CS_OUT PM8 &= ~PMOD1_CS_PIN -#define PMOD1_CS_LOW P8 &= ~PMOD1_CS_PIN -#define PMOD1_CS_HIGH P8 |= PMOD1_CS_PIN - -/* PMOD1 MISO Pin */ -#define PMOD1_MISO_PIN (1 << 1) -#define PMOD1_MISO ((P7 & PMOD1_MISO_PIN) >> 1) - -/* PMOD1 GPIO1 Pin - P47 */ -#define PMOD1_GPIO1_PIN (1 << 7) -#define PMOD1_GPIO1_PIN_OUT PM4 &= ~PMOD1_GPIO1_PIN; -#define PMOD1_GPIO1_LOW P4 &= ~PMOD1_GPIO1_PIN; -#define PMOD1_GPIO1_HIGH P4 |= PMOD1_GPIO1_PIN; - -/* PMOD1 GPIO2 Pin - P46 */ -#define PMOD1_GPIO2_PIN (1 << 6) -#define PMOD1_GPIO2_PIN_OUT PM4 &= ~PMOD1_GPIO2_PIN; -#define PMOD1_GPIO2_LOW P4 &= ~PMOD1_GPIO2_PIN; -#define PMOD1_GPIO2_HIGH P4 |= PMOD1_GPIO2_PIN; - -/* PMOD1 GPIO3 Pin - P110 */ -#define PMOD1_GPIO3_PIN (1 << 0) -#define PMOD1_GPIO3_PIN_OUT PM11 &= ~PMOD1_GPIO3_PIN; -#define PMOD1_GPIO3_LOW P11 &= ~PMOD1_GPIO3_PIN; -#define PMOD1_GPIO3_HIGH P11 |= PMOD1_GPIO3_PIN; - -/* PMOD1 GPIO4 Pin - P111 */ -#define PMOD1_GPIO4_PIN (1 << 1) -#define PMOD1_GPIO4_PIN_OUT PM11 &= ~PMOD1_GPIO4_PIN; -#define PMOD1_GPIO4_LOW P11 &= ~PMOD1_GPIO4_PIN; -#define PMOD1_GPIO4_HIGH P11 |= PMOD1_GPIO4_PIN; - -/* PMOD2 CS Pin - P82 */ -#define PMOD2_CS_PIN (1 << 2) -#define PMOD2_CS_OUT PM8 &= ~PMOD2_CS_PIN -#define PMOD2_CS_LOW P8 &= ~PMOD2_CS_PIN -#define PMOD2_CS_HIGH P8 |= PMOD2_CS_PIN - -/******************************************************************************/ -/************************ Functions Declarations ******************************/ -/******************************************************************************/ - -/*! Resets the RDKRL78G14. */ -void RDKRL78G14_Reset(void); - -/*! Initializes the RDKRL78G14. */ -char RDKRL78G14_Init(void); - -#endif /* __RDKRL78G14_H__ */ diff --git a/ST7579.c b/ST7579.c deleted file mode 100644 index 4e8b85a4f..000000000 --- a/ST7579.c +++ /dev/null @@ -1,528 +0,0 @@ -/***************************************************************************//** - * @file ST7579.c - * @brief Implementation of ST7579 Driver. - * @author DBogdan (dragos.bogdan@analog.com) - ******************************************************************************** - * Copyright 2012(c) Analog Devices, Inc. - * - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * - Neither the name of Analog Devices, Inc. nor the names of its - * contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. - * - The use of this software may or may not infringe the patent rights - * of one or more patent holders. This license does not release you - * from the requirement that you obtain separate licenses from these - * patent holders to use this software. - * - Use of the software either in source or binary form, must be run - * on or directly connected to an Analog Devices Inc. component. - * - * THIS SOFTWARE IS PROVIDED BY ANALOG DEVICES "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, NON-INFRINGEMENT, - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. - * IN NO EVENT SHALL ANALOG DEVICES BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, INTELLECTUAL PROPERTY RIGHTS, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, - * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - ******************************************************************************** - * SVN Revision: $WCREV$ - *******************************************************************************/ - -/******************************************************************************/ -/***************************** Include Files **********************************/ -/******************************************************************************/ -#include "ST7579.h" /* ST7579 definitions */ -#include "RDKRL78G14.h" /* YRDKRL78G14 definitions */ -#include "Communication.h" /* Communication definitions */ - -/******************************************************************************/ -/************************* Variables Definitions ******************************/ -/******************************************************************************/ - -const unsigned char st7579Font[95][5] = -{ - { 0x00, 0x00, 0x00, 0x00, 0x00 }, /* sp */ - { 0x00, 0x00, 0x2f, 0x00, 0x00 }, /* ! */ - { 0x00, 0x07, 0x00, 0x07, 0x00 }, /* " */ - { 0x14, 0x7f, 0x14, 0x7f, 0x14 }, /* # */ - { 0x24, 0x2a, 0x7f, 0x2a, 0x12 }, /* $ */ - { 0xc4, 0xc8, 0x10, 0x26, 0x46 }, /* % */ - { 0x36, 0x49, 0x55, 0x22, 0x50 }, /* & */ - { 0x00, 0x05, 0x03, 0x00, 0x00 }, /* ' */ - { 0x00, 0x1c, 0x22, 0x41, 0x00 }, /* ( */ - { 0x00, 0x41, 0x22, 0x1c, 0x00 }, /* ) */ - { 0x14, 0x08, 0x3E, 0x08, 0x14 }, /* * */ - { 0x08, 0x08, 0x3E, 0x08, 0x08 }, /* + */ - { 0x00, 0x00, 0x50, 0x30, 0x00 }, /* , */ - { 0x10, 0x10, 0x10, 0x10, 0x10 }, /* - */ - { 0x00, 0x60, 0x60, 0x00, 0x00 }, /* . */ - { 0x20, 0x10, 0x08, 0x04, 0x02 }, /* / */ - { 0x3E, 0x51, 0x49, 0x45, 0x3E }, /* 0 */ - { 0x00, 0x42, 0x7F, 0x40, 0x00 }, /* 1 */ - { 0x42, 0x61, 0x51, 0x49, 0x46 }, /* 2 */ - { 0x21, 0x41, 0x45, 0x4B, 0x31 }, /* 3 */ - { 0x18, 0x14, 0x12, 0x7F, 0x10 }, /* 4 */ - { 0x27, 0x45, 0x45, 0x45, 0x39 }, /* 5 */ - { 0x3C, 0x4A, 0x49, 0x49, 0x30 }, /* 6 */ - { 0x01, 0x71, 0x09, 0x05, 0x03 }, /* 7 */ - { 0x36, 0x49, 0x49, 0x49, 0x36 }, /* 8 */ - { 0x06, 0x49, 0x49, 0x29, 0x1E }, /* 9 */ - { 0x00, 0x36, 0x36, 0x00, 0x00 }, /* : */ - { 0x00, 0x56, 0x36, 0x00, 0x00 }, /* ; */ - { 0x08, 0x14, 0x22, 0x41, 0x00 }, /* < */ - { 0x14, 0x14, 0x14, 0x14, 0x14 }, /* = */ - { 0x00, 0x41, 0x22, 0x14, 0x08 }, /* > */ - { 0x02, 0x01, 0x51, 0x09, 0x06 }, /* ? */ - { 0x32, 0x49, 0x59, 0x51, 0x3E }, /* @ */ - { 0x7E, 0x11, 0x11, 0x11, 0x7E }, /* A */ - { 0x7F, 0x49, 0x49, 0x49, 0x36 }, /* B */ - { 0x3E, 0x41, 0x41, 0x41, 0x22 }, /* C */ - { 0x7F, 0x41, 0x41, 0x22, 0x1C }, /* D */ - { 0x7F, 0x49, 0x49, 0x49, 0x41 }, /* E */ - { 0x7F, 0x09, 0x09, 0x09, 0x01 }, /* F */ - { 0x3E, 0x41, 0x49, 0x49, 0x7A }, /* G */ - { 0x7F, 0x08, 0x08, 0x08, 0x7F }, /* H */ - { 0x00, 0x41, 0x7F, 0x41, 0x00 }, /* I */ - { 0x20, 0x40, 0x41, 0x3F, 0x01 }, /* J */ - { 0x7F, 0x08, 0x14, 0x22, 0x41 }, /* K */ - { 0x7F, 0x40, 0x40, 0x40, 0x40 }, /* L */ - { 0x7F, 0x02, 0x0C, 0x02, 0x7F }, /* M */ - { 0x7F, 0x04, 0x08, 0x10, 0x7F }, /* N */ - { 0x3E, 0x41, 0x41, 0x41, 0x3E }, /* O */ - { 0x7F, 0x09, 0x09, 0x09, 0x06 }, /* P */ - { 0x3E, 0x41, 0x51, 0x21, 0x5E }, /* Q */ - { 0x7F, 0x09, 0x19, 0x29, 0x46 }, /* R */ - { 0x46, 0x49, 0x49, 0x49, 0x31 }, /* S */ - { 0x01, 0x01, 0x7F, 0x01, 0x01 }, /* T */ - { 0x3F, 0x40, 0x40, 0x40, 0x3F }, /* U */ - { 0x1F, 0x20, 0x40, 0x20, 0x1F }, /* V */ - { 0x3F, 0x40, 0x38, 0x40, 0x3F }, /* W */ - { 0x63, 0x14, 0x08, 0x14, 0x63 }, /* X */ - { 0x07, 0x08, 0x70, 0x08, 0x07 }, /* Y */ - { 0x61, 0x51, 0x49, 0x45, 0x43 }, /* Z */ - { 0x00, 0x7F, 0x41, 0x41, 0x00 }, /* [ */ - { 0x55, 0x2A, 0x55, 0x2A, 0x55 }, /* / */ - { 0x00, 0x41, 0x41, 0x7F, 0x00 }, /* ] */ - { 0x04, 0x02, 0x01, 0x02, 0x04 }, /* ^ */ - { 0x40, 0x40, 0x40, 0x40, 0x40 }, /* _ */ - { 0x00, 0x01, 0x02, 0x04, 0x00 }, /* ' */ - { 0x20, 0x54, 0x54, 0x54, 0x78 }, /* a */ - { 0x7F, 0x48, 0x44, 0x44, 0x38 }, /* b */ - { 0x38, 0x44, 0x44, 0x44, 0x20 }, /* c */ - { 0x38, 0x44, 0x44, 0x48, 0x7F }, /* d */ - { 0x38, 0x54, 0x54, 0x54, 0x18 }, /* e */ - { 0x08, 0x7E, 0x09, 0x01, 0x02 }, /* f */ - { 0x0C, 0x52, 0x52, 0x52, 0x3E }, /* g */ - { 0x7F, 0x08, 0x04, 0x04, 0x78 }, /* h */ - { 0x00, 0x44, 0x7D, 0x40, 0x00 }, /* i */ - { 0x20, 0x40, 0x44, 0x3D, 0x00 }, /* j */ - { 0x7F, 0x10, 0x28, 0x44, 0x00 }, /* k */ - { 0x00, 0x41, 0x7F, 0x40, 0x00 }, /* l */ - { 0x7C, 0x04, 0x18, 0x04, 0x78 }, /* m */ - { 0x7C, 0x08, 0x04, 0x04, 0x78 }, /* n */ - { 0x38, 0x44, 0x44, 0x44, 0x38 }, /* o */ - { 0x7C, 0x14, 0x14, 0x14, 0x08 }, /* p */ - { 0x08, 0x14, 0x14, 0x18, 0x7C }, /* q */ - { 0x7C, 0x08, 0x04, 0x04, 0x08 }, /* r */ - { 0x48, 0x54, 0x54, 0x54, 0x20 }, /* s */ - { 0x04, 0x3F, 0x44, 0x40, 0x20 }, /* t */ - { 0x3C, 0x40, 0x40, 0x20, 0x7C }, /* u */ - { 0x1C, 0x20, 0x40, 0x20, 0x1C }, /* v */ - { 0x3C, 0x40, 0x30, 0x40, 0x3C }, /* w */ - { 0x44, 0x28, 0x10, 0x28, 0x44 }, /* x */ - { 0x0C, 0x50, 0x50, 0x50, 0x3C }, /* y */ - { 0x44, 0x64, 0x54, 0x4C, 0x44 }, /* z */ - { 0x08, 0x3e, 0x41, 0x41, 0x00 }, /* { */ - { 0x00, 0x00, 0x77, 0x00, 0x00 }, /* | */ - { 0x00, 0x41, 0x41, 0x3e, 0x08 }, /* } */ - { 0x02, 0x01, 0x02, 0x01, 0x00 } /* ~ */ -}; - -/******************************************************************************/ -/************************ Functions Definitions *******************************/ -/******************************************************************************/ - -/***************************************************************************//** - * @brief Transmits 8 bits to ST7579 controller. - * - * @param data - Data to transmit. - * - * @return None. - *******************************************************************************/ -void -ST7579_WriteByte(unsigned char data) -{ - SPI_Write(3, /* The ID of the selected slave device. */ - &data, /* Write buffer. */ - 1); /* Number of bytes to write. */ -} -/***************************************************************************//** - * @brief Sets X and Y adress of RAM. - * - * @param yPosition - Y address of RAM. - * @param xPosition - X address of RAM. - * - * @return None. - *******************************************************************************/ -void -ST7579_GoTo(unsigned char yPosition, - unsigned char xPosition) -{ - ST7579_RS_LOW; - /* Set X address of RAM. */ - ST7579_WriteByte(0x28); - ST7579_WriteByte(0x80 + xPosition); - /* Set Y address of RAM. */ - ST7579_WriteByte(0x28); - ST7579_WriteByte(0x40 + yPosition); - ST7579_RS_HIGH; -} -/***************************************************************************//** - * @brief Clears ST7579 RAM. - * - * @return None. - *******************************************************************************/ -void -ST7579_Clear(void) -{ - unsigned short clearPosition = 0; - unsigned char yPosition = 0; - - for(clearPosition = 0; clearPosition < (8 * 96); clearPosition++) { - if(!(clearPosition % 96)) { - /* Set the X and Y address of RAM. */ - ST7579_GoTo(yPosition, 0); - yPosition++; - } - ST7579_WriteByte(0x00); - } -} -/***************************************************************************//** - * @brief Initializes the ST7579 controller. - * - * @return status - Result of the initialization procedure. - * Example: 0 - if initialization was successful; - * -1 - if initialization was unsuccessful. - *******************************************************************************/ -char -ST7579_Init(void) -{ - char status = -1; - unsigned short delay = 0; - - status = SPI_Init(0, /* Transfer format. */ - 1000000, /* SPI clock frequency. */ - 0, /* SPI clock polarity. */ - 1); /* SPI clock edge. */ - if(status != 0) { - return status; - } - ST7579_RS_OUT; - ST7579_RS_LOW; - /* Select LCD bias ratio of the voltage required for driving the LCD. */ - ST7579_WriteByte(0x21); - ST7579_WriteByte(0x16); - /* Select Booster efficiency and Booster stage. */ - ST7579_WriteByte(0x23); - ST7579_WriteByte(0x99); - /* Set V0 Range. */ - ST7579_WriteByte(0x20); - ST7579_WriteByte(0x04); - /* 50 ms delay is recommended. */ - for(delay = 0; delay < 1000; delay++) { - asm ("NOP"); - } - /* Set the frame frequency */ - ST7579_WriteByte(0x23); - ST7579_WriteByte(0x0C); - /* Set V0. */ - ST7579_WriteByte(0x21); - ST7579_WriteByte(0xE7); - /* Select the display mode */ - ST7579_WriteByte(0x20); - ST7579_WriteByte(0x0C); - ST7579_RS_HIGH; - /* Clear RAM. */ - ST7579_Clear(); - - return status; -} -/***************************************************************************//** - * @brief Sends a character to ST7579 controller. - * - * @param yPosition - Y address of RAM. - * @param xPosition - X address of RAM. - * @param character - The character. - * @param bigFont - Big font selection. - * - * @return None. - *******************************************************************************/ -void -ST7579_Char(unsigned char yPosition, - unsigned char xPosition, - unsigned char character, - unsigned char bigFont) -{ - unsigned char column = 0; - unsigned char data = 0; - - if(bigFont) { - /* Set the X and Y address of RAM. */ - ST7579_GoTo(yPosition, xPosition); - /* Send character data. */ - for(column = 0; column < 5; column++) { - data = st7579Font[character - 32][column]; - data = ((data & 0x01) ? 0x03 : 0) | - ((data & 0x02) ? 0x0C : 0) | - ((data & 0x04) ? 0x30 : 0) | - ((data & 0x08) ? 0xC0 : 0); - ST7579_WriteByte(data); - ST7579_WriteByte(data); - ST7579_WriteByte(data); - } - ST7579_WriteByte(0); - ST7579_WriteByte(0); - ST7579_WriteByte(0); - yPosition++; - /* Set the X and Y address of RAM. */ - ST7579_GoTo(yPosition, xPosition); - /* Send character data. */ - for(column = 0; column < 5; column++) { - data = st7579Font[character - 32][column]; - data = ((data & 0x10) ? 0x03 : 0) | - ((data & 0x20) ? 0x0C : 0) | - ((data & 0x40) ? 0x30 : 0) | - ((data & 0x80) ? 0xC0 : 0); - ST7579_WriteByte(data); - ST7579_WriteByte(data); - ST7579_WriteByte(data); - } - ST7579_WriteByte(0); - ST7579_WriteByte(0); - ST7579_WriteByte(0); - } else { - /* Set the X and Y address of RAM. */ - ST7579_GoTo(yPosition, xPosition); - /* Send character data. */ - for(column = 0; column < 5; column++) { - ST7579_WriteByte(st7579Font[character - 32][column] << 1); - } - ST7579_WriteByte(0x00); - } -} -/***************************************************************************//** - * @brief Sends a string to ST7579 controller. - * - * @param yPosition - Y address of RAM. - * @param xPosition - X address of RAM. - * @param string - The string. - * @param bigFont - Big font selection. - * - * @return None. - *******************************************************************************/ -void -ST7579_String(unsigned char yPosition, - unsigned char xPosition, - unsigned char *string, - unsigned char bigFont) -{ - while(*string) { - /* Send each character of the string. */ - ST7579_Char(yPosition, xPosition, *string++, bigFont); - xPosition += 6 + (bigFont * 12); - } -} -/***************************************************************************//** - * @brief Sends an integer number to ST7579 controller. - * - * @param yPosition - Y address of RAM. - * @param xPosition - X address of RAM. - * @param number - The number. - * @param bigFont - Big font selection. - * - * @return None. - *******************************************************************************/ -void -ST7579_Number(unsigned char yPosition, - unsigned char xPosition, - long number, - unsigned char bigFont) -{ - unsigned long mask = 1000000000; - unsigned char chNumber = 10; - unsigned char chIndex = 0; - - if(number < 0) { - ST7579_Char(yPosition, xPosition, '-', bigFont); - xPosition += 6 + (bigFont * 12); - number *= -1; - } else { - if(number == 0) { - ST7579_String(yPosition, xPosition, " 0", bigFont); - } else { - ST7579_Char(yPosition, xPosition, '+', bigFont); - xPosition += 6 + (bigFont * 12); - } - } - while(mask > number) { - mask /= 10; - chNumber--; - } - for(chIndex = 0; chIndex < chNumber; chIndex++) { - ST7579_Char(yPosition, xPosition, ((number / mask) % 10) + 0x30, bigFont); - mask /= 10; - xPosition += 6 + (bigFont * 12); - } -} -/***************************************************************************//** - * @brief Sends a float number to ST7579 controller. - * - * @param yPosition - Y address of RAM. - * @param xPosition - X address of RAM. - * @param number - The number. - * @param resolution - Float resolution. - * @param bigFont - Big font selection. - * - * @return None. - *******************************************************************************/ -void -ST7579_FloatNumber(unsigned char yPosition, - unsigned char xPosition, - float number, - unsigned char resolution, - unsigned char bigFont) -{ - unsigned long mask = 1000000000; - unsigned char chNumber = 10; - unsigned char index = 0; - long display = 1; - long multiplication = 1; - - for(index = 0; index < resolution; index++) { - multiplication *= 10; - } - display = (long)(number * multiplication); - if(display < 0) { - ST7579_Char(yPosition, xPosition, '-', bigFont); - xPosition += 6 + (bigFont * 12); - display *= -1; - } else { - if(display == 0) { - xPosition += 6 + (bigFont * 12); - ST7579_Char(yPosition, xPosition, '0', bigFont); - xPosition += 6 + (bigFont * 12); - if(resolution) { - ST7579_Char(yPosition, xPosition, '.', bigFont); - xPosition += 6 + (bigFont * 12); - } - for(index = 0; index < resolution; index++) { - ST7579_Char(yPosition, xPosition, '0', bigFont); - xPosition += 6 + (bigFont * 12); - } - return; - } else { - ST7579_Char(yPosition, xPosition, '+', bigFont); - xPosition += 6 + (bigFont * 12); - } - } - while((mask > display) && (chNumber > resolution)) { - mask /= 10; - chNumber--; - } - if((display > 0) && (display < multiplication)) { - ST7579_String(yPosition, xPosition, "0.", bigFont); - xPosition += 12 + (bigFont * 24); - } - for(index = 0; index < chNumber; index++) { - ST7579_Char(yPosition, xPosition, ((display / mask) % 10) + 0x30, bigFont); - mask /= 10; - xPosition += 6 + (bigFont * 12); - if((multiplication != 1) && (mask == (multiplication / 10))) { - ST7579_Char(yPosition, xPosition, '.', bigFont); - xPosition += 6 + (bigFont * 12); - } - } -} -/***************************************************************************//** - * @brief Sends an integer number in Hexa format to ST7579 controller. - * - * @param yPosition - Y address of RAM. - * @param xPosition - X address of RAM. - * @param number - The number. - * @param bigFont - Big font selection. - * - * @return None. - *******************************************************************************/ -void -ST7579_HexNumber(unsigned char yPosition, - unsigned char xPosition, - long number, - unsigned char bigFont) -{ - unsigned long long mask = 268435456; - unsigned char chNumber = 8; - unsigned char chIndex = 0; - unsigned char display = 0; - - ST7579_String(yPosition, xPosition, "0x", bigFont); - xPosition += (6 + (bigFont * 12)) * 2; - if(number == 0) { - ST7579_Char(yPosition, xPosition, '0', bigFont); - } - while(mask > number) { - mask /= 16; - chNumber--; - } - for(chIndex = 0; chIndex < chNumber; chIndex++) { - display = (number / mask) % 16; - mask /= 16; - if(display <= 9) { - display += 0x30; - } else { - display += 0x37; - } - ST7579_Char(yPosition, xPosition, display, bigFont); - xPosition += 6 + (bigFont * 12); - } -} -/***************************************************************************//** - * @brief Sends an image array to ST7579 controller. - * - * @param yPosition - Y address of RAM. - * @param xPosition - X address of RAM. - * @param image - The image array. - * @param width - The width of the image (pixels). - * @param height - The height of the image (pixels). - * - * @return None. - *******************************************************************************/ -void -ST7579_Image(unsigned char yPosition, - unsigned char xPosition, - const unsigned char image[], - unsigned char width, - unsigned char height) -{ - unsigned short index = 0; - - for(index = 0; index < (width * height / 8); index++) { - if(!(index % width)) { - /* Set the X and Y address of RAM. */ - ST7579_GoTo(yPosition, xPosition); - yPosition++; - } - ST7579_WriteByte(image[index]); - } -} diff --git a/ST7579.h b/ST7579.h deleted file mode 100644 index 92a47bfde..000000000 --- a/ST7579.h +++ /dev/null @@ -1,100 +0,0 @@ -/***************************************************************************//** - * @file ST7579.h - * @brief Header file of ST7579 Driver. - * @author DBogdan (dragos.bogdan@analog.com) - ******************************************************************************** - * Copyright 2012(c) Analog Devices, Inc. - * - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * - Neither the name of Analog Devices, Inc. nor the names of its - * contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. - * - The use of this software may or may not infringe the patent rights - * of one or more patent holders. This license does not release you - * from the requirement that you obtain separate licenses from these - * patent holders to use this software. - * - Use of the software either in source or binary form, must be run - * on or directly connected to an Analog Devices Inc. component. - * - * THIS SOFTWARE IS PROVIDED BY ANALOG DEVICES "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, NON-INFRINGEMENT, - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. - * IN NO EVENT SHALL ANALOG DEVICES BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, INTELLECTUAL PROPERTY RIGHTS, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, - * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - ******************************************************************************** - * SVN Revision: $WCREV$ - *******************************************************************************/ -#ifndef __ST7579_H__ -#define __ST7579_H__ - -/******************************************************************************/ -/************************ Functions Declarations ******************************/ -/******************************************************************************/ - -/*! Transmits 8 bits to ST7579 controller. */ -void ST7579_WriteByte(unsigned char data); - -/*! Sets X and Y adress of RAM. */ -void ST7579_GoTo(unsigned char yPosition, - unsigned char xPosition); - -/*! Clears ST7579 RAM. */ -void ST7579_Clear(void); - -/*! Initializes the ST7579 controller. */ -char ST7579_Init(void); - -/*! Sends a character to ST7579 controller. */ -void ST7579_Char(unsigned char yPosition, - unsigned char xPosition, - unsigned char character, - unsigned char bigFont); - -/*! Sends a string to ST7579 controller. */ -void ST7579_String(unsigned char yPosition, - unsigned char xPosition, - unsigned char *string, - unsigned char bigFont); - -/*! Sends an integer number to ST7579 controller. */ -void ST7579_Number(unsigned char yPosition, - unsigned char xPosition, - long number, - unsigned char bigFont); - -/*! Sends a float number to ST7579 controller. */ -void ST7579_FloatNumber(unsigned char yPosition, - unsigned char xPosition, - float number, - unsigned char resolution, - unsigned char bigFont); - -/*! Sends an integer number in Hexa format to ST7579 controller. */ -void ST7579_HexNumber(unsigned char yPosition, - unsigned char xPosition, - long number, - unsigned char bigFont); - -/*! Sends an image array to ST7579 controller. */ -void ST7579_Image(unsigned char yPosition, - unsigned char xPosition, - const unsigned char image[], - unsigned char width, - unsigned char height); - -#endif /* __ST7579_H__ */ diff --git a/TIME.c b/TIME.c deleted file mode 100644 index 30c352b5d..000000000 --- a/TIME.c +++ /dev/null @@ -1,164 +0,0 @@ -/***************************************************************************//** - * @file TIME.c - * @brief Implementation of TIME Driver for RENESAS RL78G14 Processor. - * @author Dan Nechita - ******************************************************************************** - * Copyright 2012(c) Analog Devices, Inc. - * - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * - Neither the name of Analog Devices, Inc. nor the names of its - * contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. - * - The use of this software may or may not infringe the patent rights - * of one or more patent holders. This license does not release you - * from the requirement that you obtain separate licenses from these - * patent holders to use this software. - * - Use of the software either in source or binary form, must be run - * on or directly connected to an Analog Devices Inc. component. - * - * THIS SOFTWARE IS PROVIDED BY ANALOG DEVICES "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, NON-INFRINGEMENT, - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. - * IN NO EVENT SHALL ANALOG DEVICES BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, INTELLECTUAL PROPERTY RIGHTS, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, - * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - ******************************************************************************** - * SVN Revision: $WCREV$ - *******************************************************************************/ - -/******************************************************************************/ -/***************************** Include Files **********************************/ -/******************************************************************************/ -#include "RDKRL78G14.h" /* RDKRL78G14 definitions. */ -#include "TIME.h" /* TIME definitions. */ - -/*****************************************************************************/ -/************************** Macros Definitions *******************************/ -/*****************************************************************************/ -#define TIMER_CNT_INTERVAL 65536 - -/*****************************************************************************/ -/************************ Variables Declarations *****************************/ -/*****************************************************************************/ -unsigned short overflowCounter = 0; - -/******************************************************************************/ -/************************ Functions Definitions *******************************/ -/******************************************************************************/ - -/***************************************************************************//** - * @brief INTTM00 interrupt service routine. - * - * @return None. - *******************************************************************************/ -#pragma vector = INTTM00_vect -__interrupt static void -Timer0InterruptHandler(void) -{ - overflowCounter++; -} -/***************************************************************************//** - * @brief Initializes the timer used in this driver. - * - * @return status - Result of the initialization procedure. - * Example: 0 - if initialization was successful; - * -1 - if initialization was unsuccessful. - *******************************************************************************/ -char -TIME_Init(void) -{ - PER0 |= 0x0001; /* Enable Supply for Unit 0 that contains timers 0..7. */ - TT0 |= 0x0001; /* Stop channel 0(Timer 0). */ - TPS0 = 0x0005; /* CK00 = FCLK / 32. */ - TMR00 |= 0x0000; /* CK00 input clock for channel 0. */ - TMMK00 = 1; /* Disable INTTM00 interrupt. */ - TMIF00 = 0; /* Clear INTM00 interrupt flag. */ - /* Set INTTM00 low priority */ - TMPR100 = 1; - TMPR000 = 1; - /* Configure channel 0 as a interval timer. */ - TMR00 |= 0x0000; /* Interval timer mode. */ - TO0 &= ~0x0001; /* Timer 0 output value is "0". */ - TOE0 &= ~0x0001; /* Disable output of timer 0. */ - TMMK00 = 0; /* Enable INTTM00 interrupt. */ - - return 0; -} -/***************************************************************************//** - * @brief The timer begins to count in steps of microseconds(us) until the user - * calls a stop measurement function. - * - * @return None. - *******************************************************************************/ -void -TIME_StartMeasure(void) -{ - TDR00 = 0xFFFF; - overflowCounter = 0; - TS0 |= 0x0001; /* Start timer 0. */ - TMIF00 = 0; /* Clear INTM00 interrupt flag. */ -} -/***************************************************************************//** - * @brief Stops the measurement process when the functions is called. - * - * @return Time(in microseconds) elapsed since the measurement began. - *******************************************************************************/ -unsigned long -TIME_StopMeasure(void) -{ - unsigned long elapsedUs = 0; - unsigned short timerCnt = 0; - - timerCnt = TCR00; - TT0 |= 0x0001; /* Stop Timer 0. */ - TMIF00 = 0; /* Clear INTM00 interrupt flag. */ - overflowCounter = 0; - elapsedUs = ((unsigned long)overflowCounter * TIMER_CNT_INTERVAL) + - (0xFFFF - timerCnt); - - return elapsedUs; -} -/***************************************************************************//** - * @brief Creates a delay of microseconds. - * - * @return None. - *******************************************************************************/ -void -TIME_DelayUs(unsigned short usUnits) -{ - TDR00 = usUnits; - TS0 |= 0x0001; /* Start timer 0. */ - while(!overflowCounter) { - } - overflowCounter = 0; - TT0 |= 0x0001; /* Stop Timer 0. */ -} -/***************************************************************************//** - * @brief Creates a delay of milliseconds. - * - * @return None. - *******************************************************************************/ -void -TIME_DelayMs(unsigned short msUnits) -{ - TDR00 = 0x3E7; /* 0x3E7 = 999(decimal). Timer will count down to 0. */ - TS0 |= 0x0001; /* Start timer 0. */ - while(overflowCounter < msUnits) { - } - overflowCounter = 0; - TT0 |= 0x0001; /* Stop Timer 0. */ -} diff --git a/TIME.h b/TIME.h deleted file mode 100644 index 8b3037701..000000000 --- a/TIME.h +++ /dev/null @@ -1,65 +0,0 @@ -/***************************************************************************//** - * @file TIME.h - * @brief Header file of TIME Driver for RENESAS RL78G14 Processor. - * @author Dan Nechita - ******************************************************************************** - * Copyright 2012(c) Analog Devices, Inc. - * - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * - Neither the name of Analog Devices, Inc. nor the names of its - * contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. - * - The use of this software may or may not infringe the patent rights - * of one or more patent holders. This license does not release you - * from the requirement that you obtain separate licenses from these - * patent holders to use this software. - * - Use of the software either in source or binary form, must be run - * on or directly connected to an Analog Devices Inc. component. - * - * THIS SOFTWARE IS PROVIDED BY ANALOG DEVICES "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, NON-INFRINGEMENT, - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. - * IN NO EVENT SHALL ANALOG DEVICES BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, INTELLECTUAL PROPERTY RIGHTS, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, - * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - ******************************************************************************** - * SVN Revision: $WCREV$ - *******************************************************************************/ -#ifndef __TIME_H__ -#define __TIME_H__ - -/******************************************************************************/ -/************************ Functions Declarations ******************************/ -/******************************************************************************/ - -/*! Initializes the timer used in this driver. */ -char TIME_Init(void); - -/*! The timer begins to count in steps of microseconds(us) until the user calls - a stop measurement function. */ -void TIME_StartMeasure(void); - -/*! Stops the measurement process when the functions is called. */ -unsigned long TIME_StopMeasure(void); - -/*! Creates a delay of microseconds. */ -void TIME_DelayUs(unsigned short usUnits); - -/*! Creates a delay of milliseconds. */ -void TIME_DelayMs(unsigned short msUnits); - -#endif /* __TIME_H__ */ diff --git a/Communication.c b/cpu/rl78/Communication.c similarity index 100% rename from Communication.c rename to cpu/rl78/Communication.c diff --git a/Communication.h b/cpu/rl78/Communication.h similarity index 100% rename from Communication.h rename to cpu/rl78/Communication.h