From fb64cb5e4cfb7277c29c8575842d629a96a0b2fd Mon Sep 17 00:00:00 2001 From: Dragos Bogdan Date: Sat, 4 Jan 2014 17:27:51 -0500 Subject: [PATCH] Uncrustify. --- Communication.c | 533 ++++++++++++++++------------------ Communication.h | 16 +- RDKRL78G14.c | 49 ++-- RDKRL78G14.h | 76 ++--- ST7579.c | 754 +++++++++++++++++++++++------------------------- ST7579.h | 10 +- TIME.c | 137 +++++---- TIME.h | 8 +- 8 files changed, 757 insertions(+), 826 deletions(-) diff --git a/Communication.c b/Communication.c index 104e3e556..48140964a 100644 --- a/Communication.c +++ b/Communication.c @@ -2,7 +2,7 @@ * @file Communication.c * @brief Implementation of the Communication Driver for RL78G14 processor. * @author DBogdan (dragos.bogdan@analog.com) -******************************************************************************** + ******************************************************************************** * Copyright 2012(c) Analog Devices, Inc. * * All rights reserved. @@ -36,15 +36,15 @@ * 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 "Communication.h" // Communication definitions -#include "RDKRL78G14.h" // RDKRL78G14 definitions +#include "Communication.h" /* Communication definitions */ +#include "RDKRL78G14.h" /* RDKRL78G14 definitions */ char IICA0_Flag; @@ -56,13 +56,13 @@ char IICA0_Flag; * @brief I2C interrupt service routine. * * @return None. -*******************************************************************************/ + *******************************************************************************/ #pragma vector = INTIICA0_vect -__interrupt static void IICA0_Interrupt(void) +__interrupt static void +IICA0_Interrupt(void) { - IICA0_Flag = 1; + IICA0_Flag = 1; } - /***************************************************************************//** * @brief Initializes the SPI communication peripheral. * @@ -85,78 +85,77 @@ __interrupt static void IICA0_Interrupt(void) * @return status - Result of the initialization procedure. * Example: 0 - if initialization was successful; * -1 - if initialization was unsuccessful. -*******************************************************************************/ -char SPI_Init(char lsbFirst, - long clockFreq, - char clockPol, - char clockEdg) + *******************************************************************************/ +char +SPI_Init(char lsbFirst, + long clockFreq, + char clockPol, + char clockEdg) { - long mckFreq = 32000000; - char sdrValue = 0; - char delay = 0; + long mckFreq = 32000000; + char sdrValue = 0; + char delay = 0; - /* Configure the CS pins. */ - PMOD1_CS_OUT; - PMOD1_CS_HIGH; - PMOD2_CS_OUT; - PMOD2_CS_HIGH; - ST7579_CS_OUT; - ST7579_CS_HIGH; + /* Configure the CS pins. */ + PMOD1_CS_OUT; + PMOD1_CS_HIGH; + PMOD2_CS_OUT; + PMOD2_CS_HIGH; + ST7579_CS_OUT; + ST7579_CS_HIGH; - /* Enable input clock supply. */ - SAU1EN = 1; + /* Enable input clock supply. */ + SAU1EN = 1; - /* After setting the SAUmEN bit to 1, be sure to set serial clock select - register m (SPSm) after 4 or more fCLK clocks have elapsed. */ - NOP; - NOP; - NOP; + /* After setting the SAUmEN bit to 1, be sure to set serial clock select + register m (SPSm) after 4 or more fCLK clocks have elapsed. */ + NOP; + NOP; + NOP; + NOP; + + /* Select the fCLK as input clock. */ + SPS1 = 0x0000; + + /* Select the CSI operation mode. */ + SMR11 = 0x0020; + + clockPol = 1 - clockPol; + SCR11 = (clockEdg << 13) | + (clockPol << 12) | + 0xC000 | /* Operation mode: Transmission/reception. */ + 0x0007; /* 8-bit data length. */ + + /* clockFreq = mckFreq / (sdrValue * 2 + 2) */ + sdrValue = mckFreq / (2 * clockFreq) - 1; + SDR11 = sdrValue << 9; + + /* Set the clock and data initial level. */ + clockPol = 1 - clockPol; + SO1 &= ~0x0202; + SO1 |= (clockPol << 9) | + (clockPol << 1); + + /* Enable output for serial communication operation. */ + SOE1 |= 0x0002; + + /* Configure the MISO pin as input. */ + PM7 |= 0x02; + + /* Configure SCLK and MOSI pins as output. */ + P7 |= 0x05; + PM7 &= ~0x05; + + /* Wait for the changes to take place. */ + for(delay = 0; delay < 50; delay++) { NOP; + } - /* Select the fCLK as input clock. */ - SPS1 = 0x0000; + /* Set the SEmn bit to 1 and enter the communication wait status */ + SS1 |= 0x0002; - /* Select the CSI operation mode. */ - SMR11 = 0x0020; - - clockPol = 1 - clockPol; - SCR11 = (clockEdg << 13) | - (clockPol << 12) | - 0xC000 | // Operation mode: Transmission/reception. - 0x0007; // 8-bit data length. - - /* clockFreq = mckFreq / (sdrValue * 2 + 2) */ - sdrValue = mckFreq / (2 * clockFreq) - 1; - SDR11 = sdrValue << 9; - - /* Set the clock and data initial level. */ - clockPol = 1 - clockPol; - SO1 &= ~0x0202; - SO1 |= (clockPol << 9) | - (clockPol << 1); - - /* Enable output for serial communication operation. */ - SOE1 |= 0x0002; - - /* Configure the MISO pin as input. */ - PM7 |= 0x02; - - /* Configure SCLK and MOSI pins as output. */ - P7 |= 0x05; - PM7 &= ~0x05; - - /* Wait for the changes to take place. */ - for(delay = 0; delay < 50; delay++) - { - NOP; - } - - /* Set the SEmn bit to 1 and enter the communication wait status */ - SS1 |= 0x0002; - - return 0; + return 0; } - /***************************************************************************//** * @brief Writes data to SPI. * @@ -165,124 +164,110 @@ char SPI_Init(char lsbFirst, * @param bytesNumber - Number of bytes to write. * * @return Number of written bytes. -*******************************************************************************/ -char SPI_Write(char slaveDeviceId, - unsigned char* data, - char bytesNumber) + *******************************************************************************/ +char +SPI_Write(char slaveDeviceId, + unsigned char *data, + char bytesNumber) { - char byte = 0; - unsigned char read = 0; - unsigned short originalSCR = 0; - unsigned short originalSO1 = 0; + char byte = 0; + unsigned char read = 0; + unsigned short originalSCR = 0; + unsigned short originalSO1 = 0; - if(slaveDeviceId == 1) - { - PMOD1_CS_LOW; - } - if(slaveDeviceId == 2) - { - PMOD2_CS_LOW; - } - if(slaveDeviceId == 3) - { - ST1 |= 0x0002; - originalSO1 = SO1; - originalSCR = SCR11; - SO1 &= ~0x0202; - SCR11 &= ~0x3000; - SS1 |= 0x0002; - ST7579_CS_LOW; - } - for(byte = 0; byte < bytesNumber; byte++) - { - SIO21 = data[byte]; - NOP; - while(SSR11 & 0x0040); - read = SIO21; - } - if(slaveDeviceId == 1) - { - PMOD1_CS_HIGH; - } - if(slaveDeviceId == 2) - { - PMOD2_CS_HIGH; - } - if(slaveDeviceId == 3) - { - ST7579_CS_HIGH; - ST1 |= 0x0002; - SO1 = originalSO1; - SCR11 = originalSCR; - SS1 |= 0x0002; - } + if(slaveDeviceId == 1) { + PMOD1_CS_LOW; + } + if(slaveDeviceId == 2) { + PMOD2_CS_LOW; + } + if(slaveDeviceId == 3) { + ST1 |= 0x0002; + originalSO1 = SO1; + originalSCR = SCR11; + SO1 &= ~0x0202; + SCR11 &= ~0x3000; + SS1 |= 0x0002; + ST7579_CS_LOW; + } + for(byte = 0; byte < bytesNumber; byte++) { + SIO21 = data[byte]; + NOP; + while(SSR11 & 0x0040) ; + read = SIO21; + } + if(slaveDeviceId == 1) { + PMOD1_CS_HIGH; + } + if(slaveDeviceId == 2) { + PMOD2_CS_HIGH; + } + if(slaveDeviceId == 3) { + ST7579_CS_HIGH; + ST1 |= 0x0002; + SO1 = originalSO1; + SCR11 = originalSCR; + SS1 |= 0x0002; + } - return bytesNumber; + return bytesNumber; } - /***************************************************************************//** * @brief Reads data from SPI. * * @param slaveDeviceId - The ID of the selected slave device. - * @param data - Data represents the write buffer as an input parameter + * @param data - Data represents the write buffer as an input parameter * and the read buffer as an output parameter. * @param bytesNumber - Number of bytes to read. * * @return Number of read bytes. -*******************************************************************************/ -char SPI_Read(char slaveDeviceId, - unsigned char* data, - char bytesNumber) + *******************************************************************************/ +char +SPI_Read(char slaveDeviceId, + unsigned char *data, + char bytesNumber) { - char byte = 0; - unsigned short originalSCR = 0; - unsigned short originalSO1 = 0; + char byte = 0; + unsigned short originalSCR = 0; + unsigned short originalSO1 = 0; - if(slaveDeviceId == 1) - { - PMOD1_CS_LOW; - } - if(slaveDeviceId == 2) - { - PMOD2_CS_LOW; - } - if(slaveDeviceId == 3) - { - ST1 |= 0x0002; - originalSO1 = SO1; - originalSCR = SCR11; - SO1 &= ~0x0202; - SCR11 &= ~0x3000; - SS1 |= 0x0002; - ST7579_CS_LOW; - } - for(byte = 0; byte < bytesNumber; byte++) - { - SIO21 = data[byte]; - NOP; - while(SSR11 & 0x0040); - data[byte] = SIO21; - } - if(slaveDeviceId == 1) - { - PMOD1_CS_HIGH; - } - if(slaveDeviceId == 2) - { - PMOD2_CS_HIGH; - } - if(slaveDeviceId == 3) - { - ST7579_CS_HIGH; - ST1 |= 0x0002; - SO1 = originalSO1; - SCR11 = originalSCR; - SS1 |= 0x0002; - } + if(slaveDeviceId == 1) { + PMOD1_CS_LOW; + } + if(slaveDeviceId == 2) { + PMOD2_CS_LOW; + } + if(slaveDeviceId == 3) { + ST1 |= 0x0002; + originalSO1 = SO1; + originalSCR = SCR11; + SO1 &= ~0x0202; + SCR11 &= ~0x3000; + SS1 |= 0x0002; + ST7579_CS_LOW; + } + for(byte = 0; byte < bytesNumber; byte++) { + SIO21 = data[byte]; + NOP; + while(SSR11 & 0x0040) ; + data[byte] = SIO21; + } + if(slaveDeviceId == 1) { + PMOD1_CS_HIGH; + } + if(slaveDeviceId == 2) { + PMOD2_CS_HIGH; + } + if(slaveDeviceId == 3) { + ST7579_CS_HIGH; + ST1 |= 0x0002; + SO1 = originalSO1; + SCR11 = originalSCR; + SS1 |= 0x0002; + } - return bytesNumber; + return bytesNumber; } - /***************************************************************************//** * @brief Initializes the I2C communication peripheral. * @@ -291,43 +276,43 @@ char SPI_Read(char slaveDeviceId, * @return status - Result of the initialization procedure. * Example: 0 - if initialization was successful; * -1 - if initialization was unsuccessful. -*******************************************************************************/ -char I2C_Init(long clockFreq) + *******************************************************************************/ +char +I2C_Init(long clockFreq) { - long fckFreq = 32000000; - unsigned char wlValue = 0; - unsigned char whValue = 0; + long fckFreq = 32000000; + unsigned char wlValue = 0; + unsigned char whValue = 0; - /* Enable interrupts */ - EI; + /* Enable interrupts */ + EI; - /* Enable input clock supply. */ - IICA0EN = 1; + /* Enable input clock supply. */ + IICA0EN = 1; - /* Set the fast mode plus operation. */ - SMC0 = 1; + /* Set the fast mode plus operation. */ + SMC0 = 1; - /* Set transfer rate. */ - wlValue = (unsigned char)((0.5 * fckFreq) / clockFreq); - whValue = (unsigned char)(wlValue - (fckFreq / (10 * clockFreq))); - IICWL0 = wlValue; - IICWH0 = whValue; + /* Set transfer rate. */ + wlValue = (unsigned char)((0.5 * fckFreq) / clockFreq); + whValue = (unsigned char)(wlValue - (fckFreq / (10 * clockFreq))); + IICWL0 = wlValue; + IICWH0 = whValue; - STCEN0 = 1; // After operation is enabled, enable generation of a start - // condition without detecting a stop condition. - WTIM0 = 1; // Interrupt request is generated at the ninth clock’s - // falling edge. + STCEN0 = 1; /* After operation is enabled, enable generation of a start */ + /* condition without detecting a stop condition. */ + WTIM0 = 1; /* Interrupt request is generated at the ninth clock’s */ + /* falling edge. */ - /* Enable I2C operation. */ - IICE0 = 1; + /* Enable I2C operation. */ + IICE0 = 1; - /* Configure SCLA0 and SDAA0 pins as digital output. */ - P6 &= ~0x03; - PM6 &= ~0x03; + /* Configure SCLA0 and SDAA0 pins as digital output. */ + P6 &= ~0x03; + PM6 &= ~0x03; - return 0; + return 0; } - /***************************************************************************//** * @brief Writes data to a slave device. * @@ -338,50 +323,45 @@ char I2C_Init(long clockFreq) * Example: 0 - A stop condition will not be sent; * 1 - A stop condition will be sent. * - * @return status - Number of read bytes or 0xFF if the slave address was + * @return status - Number of read bytes or 0xFF if the slave address was * not acknowledged by the device. -*******************************************************************************/ -char I2C_Write(char slaveAddress, - unsigned char* dataBuffer, - char bytesNumber, - char stopBit) + *******************************************************************************/ +char +I2C_Write(char slaveAddress, + unsigned char *dataBuffer, + char bytesNumber, + char stopBit) { - char byte = 0; - char status = 0; + char byte = 0; + char status = 0; - IICAMK0 = 1; // Interrupt servicing disabled. - STT0 = 1; // Generate a start condition. - IICAMK0 = 0; // Interrupt servicing enabled. + IICAMK0 = 1; /* Interrupt servicing disabled. */ + STT0 = 1; /* Generate a start condition. */ + IICAMK0 = 0; /* Interrupt servicing enabled. */ - /* Send the first byte. */ - IICA0_Flag = 0; - IICA0 = (slaveAddress << 1); - while(IICA0_Flag == 0); + /* Send the first byte. */ + IICA0_Flag = 0; + IICA0 = (slaveAddress << 1); + while(IICA0_Flag == 0) ; - if(ACKD0) // Acknowledge was detected. - { - for(byte = 0; byte < bytesNumber; byte++) - { - IICA0_Flag = 0; - IICA0 = *dataBuffer; - while(IICA0_Flag == 0); - dataBuffer++; - } - status = bytesNumber; - } - else // Acknowledge was not detected. - { - status = 0xFF; - } - if(stopBit) - { - SPT0 = 1; // Generate a stop condition. - while(IICBSY0); // Wait until the I2C bus status flag is cleared. + if(ACKD0) { /* Acknowledge was detected. */ + for(byte = 0; byte < bytesNumber; byte++) { + IICA0_Flag = 0; + IICA0 = *dataBuffer; + while(IICA0_Flag == 0) ; + dataBuffer++; } + status = bytesNumber; + } else { /* Acknowledge was not detected. */ + status = 0xFF; + } + if(stopBit) { + SPT0 = 1; /* Generate a stop condition. */ + while(IICBSY0) ; /* Wait until the I2C bus status flag is cleared. */ + } - return status; + return status; } - /***************************************************************************//** * @brief Reads data from a slave device. * @@ -392,52 +372,47 @@ char I2C_Write(char slaveAddress, * Example: 0 - A stop condition will not be sent; * 1 - A stop condition will be sent. * - * @return status - Number of read bytes or 0xFF if the slave address was + * @return status - Number of read bytes or 0xFF if the slave address was * not acknowledged by the device. -*******************************************************************************/ -char I2C_Read(char slaveAddress, - unsigned char* dataBuffer, - char bytesNumber, - char stopBit) + *******************************************************************************/ +char +I2C_Read(char slaveAddress, + unsigned char *dataBuffer, + char bytesNumber, + char stopBit) { - char byte = 0; - char status = 0; + char byte = 0; + char status = 0; - IICAMK0 = 1; // Interrupt servicing disabled. - STT0 = 1; // Generate a start condition. - IICAMK0 = 0; // Interrupt servicing enabled. + IICAMK0 = 1; /* Interrupt servicing disabled. */ + STT0 = 1; /* Generate a start condition. */ + IICAMK0 = 0; /* Interrupt servicing enabled. */ - /* Send the first byte. */ - IICA0_Flag = 0; - IICA0 = (slaveAddress << 1) + 1; - while(IICA0_Flag == 0); + /* Send the first byte. */ + IICA0_Flag = 0; + IICA0 = (slaveAddress << 1) + 1; + while(IICA0_Flag == 0) ; - if(ACKD0) // Acknowledge was detected. - { - ACKE0 = 1; // Enable acknowledgment. - for(byte = 0; byte < bytesNumber; byte++) - { - if(byte == (bytesNumber - 1)) - { - ACKE0 = 0U; // Disable acknowledgment. - } - WREL0 = 1U; // Cancel wait. - IICA0_Flag = 0; - while(IICA0_Flag == 0); - *dataBuffer = IICA0; - dataBuffer++; - } - status = bytesNumber; - } - else // Acknowledge was not detected. - { - status = 0xFF; - } - if(stopBit) - { - SPT0 = 1; // Generate a stop condition. - while(IICBSY0); // Wait until the I2C bus status flag is cleared. + if(ACKD0) { /* Acknowledge was detected. */ + ACKE0 = 1; /* Enable acknowledgment. */ + for(byte = 0; byte < bytesNumber; byte++) { + if(byte == (bytesNumber - 1)) { + ACKE0 = 0U; /* Disable acknowledgment. */ + } + WREL0 = 1U; /* Cancel wait. */ + IICA0_Flag = 0; + while(IICA0_Flag == 0) ; + *dataBuffer = IICA0; + dataBuffer++; } + status = bytesNumber; + } else { /* Acknowledge was not detected. */ + status = 0xFF; + } + if(stopBit) { + SPT0 = 1; /* Generate a stop condition. */ + while(IICBSY0) ; /* Wait until the I2C bus status flag is cleared. */ + } - return status; + return status; } diff --git a/Communication.h b/Communication.h index 0d563bfad..c14bcbdeb 100644 --- a/Communication.h +++ b/Communication.h @@ -2,7 +2,7 @@ * @file Communication.h * @brief Header file of the Communication Driver for RL78G14 processor. * @author DBogdan (dragos.bogdan@analog.com) -******************************************************************************** + ******************************************************************************** * Copyright 2012(c) Analog Devices, Inc. * * All rights reserved. @@ -36,9 +36,9 @@ * 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 __COMMUNICATION_H__ #define __COMMUNICATION_H__ @@ -83,12 +83,12 @@ char SPI_Init(char lsbFirst, /*! Writes data to SPI. */ char SPI_Write(char slaveDeviceId, - unsigned char* data, + unsigned char *data, char bytesNumber); /*! Reads data from SPI. */ char SPI_Read(char slaveDeviceId, - unsigned char* data, + unsigned char *data, char bytesNumber); /*! Initializes the I2C communication peripheral. */ @@ -96,14 +96,14 @@ char I2C_Init(long clockFreq); /*! Writes data to a slave device. */ char I2C_Write(char slaveAddress, - unsigned char* dataBuffer, + unsigned char *dataBuffer, char bytesNumber, char stopBit); /*! Reads data from a slave device. */ char I2C_Read(char slaveAddress, - unsigned char* dataBuffer, + unsigned char *dataBuffer, char bytesNumber, char stopBit); -#endif // __COMMUNICATION_H__ +#endif /* __COMMUNICATION_H__ */ diff --git a/RDKRL78G14.c b/RDKRL78G14.c index 5f77dfb69..3be586c51 100644 --- a/RDKRL78G14.c +++ b/RDKRL78G14.c @@ -2,7 +2,7 @@ * @file RDKRL78G14.c * @brief Implementation of the RDKRL78G14 Driver. * @author DBogdan (dragos.bogdan@analog.com) -******************************************************************************** + ******************************************************************************** * Copyright 2012(c) Analog Devices, Inc. * * All rights reserved. @@ -36,14 +36,14 @@ * 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 "RDKRL78G14.h" /* RDKRL78G14 definitions */ /******************************************************************************/ /************************ Functions Definitions *******************************/ @@ -53,37 +53,36 @@ * @brief Resets the RDKRL78G14. * * @return None. -*******************************************************************************/ -void RDKRL78G14_Reset(void) + *******************************************************************************/ +void +RDKRL78G14_Reset(void) { - short delay = 0; + short delay = 0; - EXTRST_HIGH; - for(delay = 0; delay < 1000; delay++) - { - NOP; - } - EXTRST_LOW; + 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) + *******************************************************************************/ +char +RDKRL78G14_Init(void) { - long delay = 0; - char status = -1; + long delay = 0; + char status = -1; - for(delay = 0; delay < 4000000; delay++) - { - NOP; - } - RDKRL78G14_Reset(); - status = 0; + for(delay = 0; delay < 4000000; delay++) { + NOP; + } + RDKRL78G14_Reset(); + status = 0; - return status; + return status; } diff --git a/RDKRL78G14.h b/RDKRL78G14.h index c7eb230e2..75242bab1 100644 --- a/RDKRL78G14.h +++ b/RDKRL78G14.h @@ -2,7 +2,7 @@ * @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. @@ -36,9 +36,9 @@ * 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__ @@ -47,78 +47,78 @@ /***************************** Include Files **********************************/ /******************************************************************************/ -#include // R5F104PJ definitions -#include // Declarations of extended SFR registers -#include // Declarations of intrinsic functions +#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 +#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 +#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 +#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 +#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 +#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_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; +#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; +#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; +#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; +#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 +#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 ******************************/ @@ -130,4 +130,4 @@ void RDKRL78G14_Reset(void); /*! Initializes the RDKRL78G14. */ char RDKRL78G14_Init(void); -#endif // __RDKRL78G14_H__ +#endif /* __RDKRL78G14_H__ */ diff --git a/ST7579.c b/ST7579.c index eddc94660..4e8b85a4f 100644 --- a/ST7579.c +++ b/ST7579.c @@ -2,7 +2,7 @@ * @file ST7579.c * @brief Implementation of ST7579 Driver. * @author DBogdan (dragos.bogdan@analog.com) -******************************************************************************** + ******************************************************************************** * Copyright 2012(c) Analog Devices, Inc. * * All rights reserved. @@ -36,16 +36,16 @@ * 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 +#include "ST7579.h" /* ST7579 definitions */ +#include "RDKRL78G14.h" /* YRDKRL78G14 definitions */ +#include "Communication.h" /* Communication definitions */ /******************************************************************************/ /************************* Variables Definitions ******************************/ @@ -53,101 +53,101 @@ 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} // ~ + { 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 } /* ~ */ }; /******************************************************************************/ @@ -160,14 +160,14 @@ const unsigned char st7579Font[95][5] = * @param data - Data to transmit. * * @return None. -*******************************************************************************/ -void ST7579_WriteByte(unsigned char data) + *******************************************************************************/ +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. + 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. * @@ -175,94 +175,90 @@ void ST7579_WriteByte(unsigned char data) * @param xPosition - X address of RAM. * * @return None. -*******************************************************************************/ -void ST7579_GoTo(unsigned char yPosition, - unsigned char xPosition) + *******************************************************************************/ +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; + 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) + *******************************************************************************/ +void +ST7579_Clear(void) { - unsigned short clearPosition = 0; - unsigned char yPosition = 0; + 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); + 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 +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(); + 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. * @@ -272,66 +268,60 @@ char ST7579_Init(void) * @param bigFont - Big font selection. * * @return None. -*******************************************************************************/ -void ST7579_Char(unsigned char yPosition, - unsigned char xPosition, - unsigned char character, - unsigned char bigFont) + *******************************************************************************/ +void +ST7579_Char(unsigned char yPosition, + unsigned char xPosition, + unsigned char character, + unsigned char bigFont) { - unsigned char column = 0; - unsigned char data = 0; + 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); + 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); } - 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); + 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. * @@ -341,20 +331,19 @@ void ST7579_Char(unsigned char yPosition, * @param bigFont - Big font selection. * * @return None. -*******************************************************************************/ -void ST7579_String(unsigned char yPosition, - unsigned char xPosition, - unsigned char* string, - unsigned char bigFont) + *******************************************************************************/ +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); - } + 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. * @@ -364,47 +353,39 @@ void ST7579_String(unsigned char yPosition, * @param bigFont - Big font selection. * * @return None. -*******************************************************************************/ -void ST7579_Number(unsigned char yPosition, - unsigned char xPosition, - long number, - unsigned char bigFont) + *******************************************************************************/ +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; + 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); + 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. * @@ -415,79 +396,65 @@ void ST7579_Number(unsigned char yPosition, * @param bigFont - Big font selection. * * @return None. -*******************************************************************************/ -void ST7579_FloatNumber(unsigned char yPosition, - unsigned char xPosition, - float number, - unsigned char resolution, - unsigned char bigFont) + *******************************************************************************/ +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; + 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); + 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); - 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; + } + for(index = 0; index < resolution; index++) { + ST7579_Char(yPosition, xPosition, '0', bigFont); xPosition += 6 + (bigFont * 12); - if((multiplication != 1) && (mask == (multiplication / 10))) - { - ST7579_Char(yPosition, xPosition, '.', 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. * @@ -497,45 +464,39 @@ void ST7579_FloatNumber(unsigned char yPosition, * @param bigFont - Big font selection. * * @return None. -*******************************************************************************/ -void ST7579_HexNumber(unsigned char yPosition, - unsigned char xPosition, - long number, - unsigned char bigFont) + *******************************************************************************/ +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; + 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); + 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. * @@ -546,23 +507,22 @@ void ST7579_HexNumber(unsigned char yPosition, * @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) + *******************************************************************************/ +void +ST7579_Image(unsigned char yPosition, + unsigned char xPosition, + const unsigned char image[], + unsigned char width, + unsigned char height) { - unsigned short index = 0; + 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]); + 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 index 566b40d48..92a47bfde 100644 --- a/ST7579.h +++ b/ST7579.h @@ -2,7 +2,7 @@ * @file ST7579.h * @brief Header file of ST7579 Driver. * @author DBogdan (dragos.bogdan@analog.com) -******************************************************************************** + ******************************************************************************** * Copyright 2012(c) Analog Devices, Inc. * * All rights reserved. @@ -36,9 +36,9 @@ * 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__ @@ -68,7 +68,7 @@ void ST7579_Char(unsigned char yPosition, /*! Sends a string to ST7579 controller. */ void ST7579_String(unsigned char yPosition, unsigned char xPosition, - unsigned char* string, + unsigned char *string, unsigned char bigFont); /*! Sends an integer number to ST7579 controller. */ @@ -97,4 +97,4 @@ void ST7579_Image(unsigned char yPosition, unsigned char width, unsigned char height); -#endif // __ST7579_H__ +#endif /* __ST7579_H__ */ diff --git a/TIME.c b/TIME.c index c2c4a515f..30c352b5d 100644 --- a/TIME.c +++ b/TIME.c @@ -2,7 +2,7 @@ * @file TIME.c * @brief Implementation of TIME Driver for RENESAS RL78G14 Processor. * @author Dan Nechita -******************************************************************************** + ******************************************************************************** * Copyright 2012(c) Analog Devices, Inc. * * All rights reserved. @@ -36,15 +36,15 @@ * 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. +#include "RDKRL78G14.h" /* RDKRL78G14 definitions. */ +#include "TIME.h" /* TIME definitions. */ /*****************************************************************************/ /************************** Macros Definitions *******************************/ @@ -64,104 +64,101 @@ unsigned short overflowCounter = 0; * @brief INTTM00 interrupt service routine. * * @return None. -*******************************************************************************/ + *******************************************************************************/ #pragma vector = INTTM00_vect -__interrupt static void Timer0InterruptHandler(void) +__interrupt static void +Timer0InterruptHandler(void) { - overflowCounter++; + 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) + *******************************************************************************/ +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; -} + 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) + *******************************************************************************/ +void +TIME_StartMeasure(void) { - TDR00 = 0xFFFF; - overflowCounter = 0; - TS0 |= 0x0001; // Start timer 0. - TMIF00 = 0; // Clear INTM00 interrupt flag. + 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 +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; -} + 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) + *******************************************************************************/ +void +TIME_DelayUs(unsigned short usUnits) { - TDR00 = usUnits; - TS0 |= 0x0001; // Start timer 0. - while(!overflowCounter) - { - ; - } - overflowCounter = 0; - TT0 |= 0x0001; // Stop Timer 0. + 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) + *******************************************************************************/ +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. + 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 index cc60f09a5..8b3037701 100644 --- a/TIME.h +++ b/TIME.h @@ -2,7 +2,7 @@ * @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. @@ -36,9 +36,9 @@ * 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__ @@ -49,7 +49,7 @@ /*! 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 +/*! The timer begins to count in steps of microseconds(us) until the user calls a stop measurement function. */ void TIME_StartMeasure(void);