Upgrade to v0.92
authorKevin Townsend <kevin@ktownsend.com>
Tue, 14 Jun 2011 10:45:01 +0000 (12:45 +0200)
committerKevin Townsend <kevin@ktownsend.com>
Tue, 14 Jun 2011 10:45:01 +0000 (12:45 +0200)
drivers/rtc/isl12022m/isl12022m.c [new file with mode: 0644]
drivers/rtc/isl12022m/isl12022m.h [new file with mode: 0644]
lpc134x-vcom.inf [deleted file]
lpc134x-vcom_64.inf [new file with mode: 0644]
tools/testfirmware/LPC1343_LCDStandalone_UART.bin [deleted file]
tools/testfirmware/LPC1343_LCDStandalone_UART_LF.bin [new file with mode: 0644]
tools/testfirmware/LPC1343_LCDStandalone_USB.bin [deleted file]
tools/testfirmware/LPC1343_LCDStandalone_USB_CRLF.bin [new file with mode: 0644]

diff --git a/drivers/rtc/isl12022m/isl12022m.c b/drivers/rtc/isl12022m/isl12022m.c
new file mode 100644 (file)
index 0000000..b8ad0fa
--- /dev/null
@@ -0,0 +1,344 @@
+/**************************************************************************/
+/*! 
+    @file     isl12022m.c
+    @author   K. Townsend (microBuilder.eu)
+       
+    @brief    Drivers for the ISL12022M RTC
+
+    @section DESCRIPTION
+
+    The ISL12022M is an I2C RTC with 128 bytes battery-backed up SRAM.
+
+    @section LICENSE
+
+    Software License Agreement (BSD License)
+
+    Copyright (c) 2010, microBuilder SARL
+    All rights reserved.
+
+    Redistribution and use in source and binary forms, with or without
+    modification, are permitted provided that the following conditions are met:
+    1. Redistributions of source code must retain the above copyright
+    notice, this list of conditions and the following disclaimer.
+    2. 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.
+    3. Neither the name of the copyright holders nor the
+    names of its contributors may be used to endorse or promote products
+    derived from this software without specific prior written permission.
+
+    THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ''AS IS'' AND ANY
+    EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+    WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+    DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE FOR ANY
+    DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+    (INCLUDING, BUT NOT LIMITED TO, 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.
+*/
+/**************************************************************************/
+#include "isl12022m.h"
+#include "core/systick/systick.h"
+
+extern volatile uint8_t   I2CMasterBuffer[I2C_BUFSIZE];
+extern volatile uint8_t   I2CSlaveBuffer[I2C_BUFSIZE];
+extern volatile uint32_t  I2CReadLength, I2CWriteLength;
+
+uint32_t i;
+uint8_t monthday[12]={31,28,31,30,31,30,31,31,30,31,30,31};
+
+static bool _isl12022mInitialised = false;
+
+/**************************************************************************/
+/*! 
+    @brief  Standard decimal to binary coded decimal
+*/
+/**************************************************************************/
+uint8_t isl12022mDecToBCD(uint8_t val)
+{
+  return ( (val/10*16) + (val%10) );
+}
+
+/**************************************************************************/
+/*! 
+    @brief  Binary coded decimal to standard decimal
+*/
+/**************************************************************************/
+uint8_t isl12022mBCDToDec(uint8_t val)
+{
+  return ( (val/16*10) + (val%16) );
+}
+   
+/**************************************************************************/
+/*! 
+    @brief  Writes an 8 bit value
+*/
+/**************************************************************************/
+isl12022mError_t isl12022mWrite8 (uint8_t address, uint8_t reg, uint32_t value)
+{
+  // Clear write buffers
+  for ( i = 0; i < I2C_BUFSIZE; i++ )
+  {
+    I2CMasterBuffer[i] = 0x00;
+  }
+
+  I2CWriteLength = 3;
+  I2CReadLength = 0;
+  I2CMasterBuffer[0] = address;
+  I2CMasterBuffer[1] = reg;                       // Command register
+  I2CMasterBuffer[2] = (value & 0xFF);            // Value to write
+  i2cEngine();
+  return ISL12022M_ERROR_OK;
+}
+
+/**************************************************************************/
+/*! 
+    @brief  Reads x bytes into a buffer
+*/
+/**************************************************************************/
+isl12022mError_t isl12022mReadBuffer(uint8_t address, uint8_t reg, uint8_t *buffer, uint32_t len)
+{
+  if (len > I2C_BUFSIZE)
+    return ISL12022M_ERROR_I2C_BUFFEROVERFLOW;
+
+  // Clear write buffers
+  for ( i = 0; i < I2C_BUFSIZE; i++ )
+  {
+    I2CMasterBuffer[i] = 0x00;
+  }
+
+  I2CWriteLength = 2;
+  I2CReadLength = len;
+  I2CMasterBuffer[0] = address;
+  I2CMasterBuffer[1] = reg;                       // Command register
+  // Append address w/read bit
+  I2CMasterBuffer[2] = address | ISL12022M_READBIT;  
+  i2cEngine();
+
+  // Push response into buffer
+  for ( i = 0; i < len; i++ )
+  {
+    buffer[i] = I2CSlaveBuffer[i];
+  }
+
+  return ISL12022M_ERROR_OK;
+}
+
+/**************************************************************************/
+/*! 
+    @brief  Initialises the I2C block
+*/
+/**************************************************************************/
+isl12022mError_t isl12022mInit(void)
+{
+  isl12022mError_t error = ISL12022M_ERROR_OK;
+  uint8_t buffer[1];
+
+  // Initialise I2C
+  if (i2cInit(I2CMASTER) == false)
+  {
+    return ISL12022M_ERROR_I2C_INIT;    /* Fatal error */
+  }
+  
+  // Make sure write is enabled on the ISL12202M (factory default = disabled)
+  error = isl12022mReadBuffer(ISL12022M_RTC_ADDRESS, ISL12022M_REG_CSR_INT, buffer, sizeof(buffer));
+  if (!error)
+  {
+    if (!(buffer[0] & ISL12022M_INT_WRITEENABLE))
+    {
+      // Write is not enabled on the RTC ... enable it now
+      error = isl12022mWrite8(ISL12022M_RTC_ADDRESS, ISL12022M_REG_CSR_INT, buffer[0] | ISL12022M_INT_WRITEENABLE);
+    }
+    _isl12022mInitialised = true;
+  }
+
+  return error;
+}
+
+/**************************************************************************/
+/*! 
+    @brief  Gets the current date/time from the RTC
+
+    @section EXAMPLE
+
+    @code
+    #include "drivers/rtc/isl12022m.h"
+    ...
+    isl12022mInit();
+
+    // Set the time to 12 June 2011 @ 11:59:30
+    isl12022mSetTime(0, 11, 6, 12, 11, 59, 30);
+
+    // Wait 5 seconds
+    systickDelay(5000);
+
+    // Display the current time
+    isl12022mTime_t time;
+    isl12022mGetTime(&time);
+    printf("DW:%d, Y:%d, M:%d, D:%d, H:%d, M:%d, S:%d\r\n", 
+            time.dayofweek, 
+            time.year, 
+            time.month, 
+            time.day, 
+            time.hour, 
+            time.minute, 
+            time.second);
+    @endcode
+*/
+/**************************************************************************/
+isl12022mError_t isl12022mGetTime(isl12022mTime_t *time)
+{
+  isl12022mError_t error = ISL12022M_ERROR_OK;
+  uint8_t buffer[9];
+
+  if (!_isl12022mInitialised)
+  {
+    error = isl12022mInit();
+    if (error) return error;
+  }
+
+  // Read 9 bytes at once into buffer
+  error = isl12022mReadBuffer(ISL12022M_RTC_ADDRESS, 
+                              ISL12022M_REG_RTC_SC, 
+                              buffer, sizeof(buffer));
+
+  if (!error)
+  {
+    // Check status register
+    if (buffer[7] & (ISL12022M_STATUS_LOWBATT85 | ISL12022M_STATUS_LOWBATT75))
+    {
+      // Set low battery flag to indicate that the RTC value may not be accurate
+      error = ISL12022M_ERROR_RTC_LOWBATT;
+    }
+  
+    time->second = isl12022mBCDToDec(buffer[0]);
+    time->minute = isl12022mBCDToDec(buffer[1]);
+    time->hour = buffer[2] & 0x1F; // 0x3F;
+    time->day = buffer[3] & 0x3F;
+    time->month = buffer[4] & 0x1F;
+    time->year = buffer[5];
+    time->dayofweek = buffer[6] & 0x07;
+    time->status = buffer[7];
+    time->interrupt = buffer[8];
+  }
+
+  return error;
+}
+
+/**************************************************************************/
+/*! 
+    @brief  Sets the current date/time from the RTC
+
+    @section EXAMPLE
+
+    @code
+    #include "drivers/rtc/isl12022m.h"
+    ...
+    isl12022mInit();
+
+    // Set the time to 12 June 2011 @ 11:59:30
+    isl12022mSetTime(0, 11, 6, 12, 11, 59, 30);
+
+    // Wait 5 seconds
+    systickDelay(5000);
+
+    // Display the current time
+    isl12022mTime_t time;
+    isl12022mGetTime(&time);
+    printf("DW:%d, Y:%d, M:%d, D:%d, H:%d, M:%d, S:%d\r\n", 
+            time.dayofweek, 
+            time.year, 
+            time.month, 
+            time.day, 
+            time.hour, 
+            time.minute, 
+            time.second);
+    @endcode
+*/
+/**************************************************************************/
+isl12022mError_t isl12022mSetTime(uint8_t dayofweek, uint8_t year, uint8_t month, uint8_t day, uint8_t hour, uint8_t minute, uint8_t second)
+{
+  isl12022mError_t error = ISL12022M_ERROR_OK;
+
+  if (!_isl12022mInitialised)
+  {
+    error = isl12022mInit();
+    if (error) return error;
+  }
+
+  error = isl12022mWrite8(ISL12022M_RTC_ADDRESS, ISL12022M_REG_RTC_SC, isl12022mDecToBCD(second));
+  if (error) return error;
+  error = isl12022mWrite8(ISL12022M_RTC_ADDRESS, ISL12022M_REG_RTC_MN, isl12022mDecToBCD(minute));
+  if (error) return error;
+  // Always append military flag to hour (24 hour only)
+  error = isl12022mWrite8(ISL12022M_RTC_ADDRESS, ISL12022M_REG_RTC_HR, hour & 0x3F) | ISL12022M_HR_MILITARY;
+  if (error) return error;
+  error = isl12022mWrite8(ISL12022M_RTC_ADDRESS, ISL12022M_REG_RTC_DT, day & 0x3F);
+  if (error) return error;
+  error = isl12022mWrite8(ISL12022M_RTC_ADDRESS, ISL12022M_REG_RTC_MO, month & 0x1F);
+  if (error) return error;
+  error = isl12022mWrite8(ISL12022M_RTC_ADDRESS, ISL12022M_REG_RTC_YR, year);
+  if (error) return error;
+  error = isl12022mWrite8(ISL12022M_RTC_ADDRESS, ISL12022M_REG_RTC_DW, dayofweek & 0x07);
+  if (error) return error;
+
+  return error;
+}
+
+/**************************************************************************/
+/*! 
+    @brief  Reads the current temperature from the ISL12022
+
+    @section EXAMPLE
+
+    @code
+    #include "drivers/rtc/isl12022m.h"
+    ...
+    isl12022mInit();
+
+    uint32_t temperature;
+    isl12022mGetTemp(&temperature);
+    printf("Temperature: %u C\r\n", temperature);
+
+    @endcode
+*/
+/**************************************************************************/
+isl12022mError_t isl12022mGetTemp(uint8_t *celsius)
+{
+  isl12022mError_t error = ISL12022M_ERROR_OK;
+  uint8_t buffer[2];
+  uint32_t temp;
+
+  if (!_isl12022mInitialised)
+  {
+    error = isl12022mInit();
+    if (error) return error;
+  }
+
+  // Enable temperature sensing if required
+  error = isl12022mReadBuffer(ISL12022M_RTC_ADDRESS, ISL12022M_REG_CSR_BETA, buffer, 1);
+  if (!error)
+  {
+    if (!(buffer[0] & ISL12022M_BETA_TEMPENABLE))
+    {
+      // Temp sensor is not enabled ... enable it now
+      error = isl12022mWrite8(ISL12022M_RTC_ADDRESS, ISL12022M_REG_CSR_BETA, buffer[0] | ISL12022M_BETA_TEMPENABLE);
+      if (error)
+        return error;
+    }
+  }
+
+  // Wait 100ms for conversion to complete
+  systickDelay(100);
+  // Read low and high temp bytes (0x28 and 0x29)
+  error = isl12022mReadBuffer(ISL12022M_RTC_ADDRESS, ISL12022M_REG_TEMP_TKOL, buffer, 2);
+  if (error)
+    return error;
+  // Convert value to degrees celsius (value/2 - 273 = degrees C)
+  temp = ((buffer[0]) | (buffer[1] << 8)) / 2 - 273;
+  *celsius = (uint8_t)temp & 0xFF;
+
+  return error;
+}
diff --git a/drivers/rtc/isl12022m/isl12022m.h b/drivers/rtc/isl12022m/isl12022m.h
new file mode 100644 (file)
index 0000000..39595bd
--- /dev/null
@@ -0,0 +1,159 @@
+/**************************************************************************/
+/*! 
+    @file     isl12022m.h
+    @author   K. Townsend (microBuilder.eu)
+
+    @section LICENSE
+
+    Software License Agreement (BSD License)
+
+    Copyright (c) 2010, microBuilder SARL
+    All rights reserved.
+
+    Redistribution and use in source and binary forms, with or without
+    modification, are permitted provided that the following conditions are met:
+    1. Redistributions of source code must retain the above copyright
+    notice, this list of conditions and the following disclaimer.
+    2. 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.
+    3. Neither the name of the copyright holders nor the
+    names of its contributors may be used to endorse or promote products
+    derived from this software without specific prior written permission.
+
+    THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ''AS IS'' AND ANY
+    EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+    WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+    DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE FOR ANY
+    DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+    (INCLUDING, BUT NOT LIMITED TO, 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.
+*/
+/**************************************************************************/
+
+#ifndef _ISL12022M_H_
+#define _ISL12022M_H_
+
+#include "projectconfig.h"
+#include "core/i2c/i2c.h"
+
+#define ISL12022M_RTC_ADDRESS       (0xDE)    // 1101111 shifted left 1 bit = 0xDE
+#define ISL12022M_SRAM_ADDRESS      (0xAE)    // 1010111 shifted left 1 bit = 0xAE
+#define ISL12022M_READBIT           (0x01)
+
+#define ISL12022M_HR_MILITARY       (1<<7)    // 1 = 24-Hour, 0 = 12-Hour
+#define ISL12022M_HR_AMPM           (1<<5)    // If 24-hour time enabled, 0 = AM, 1 = PM
+
+#define ISL12022M_STATUS_BUSY       (1<<7)
+#define ISL12022M_STATUS_OSCFAIL    (1<<6)
+#define ISL12022M_STATUS_DSTADJUST  (1<<5)
+#define ISL12022M_STATUS_ALARM      (1<<4)
+#define ISL12022M_STATUS_LOWVDD     (1<<3)
+#define ISL12022M_STATUS_LOWBATT85  (1<<2)
+#define ISL12022M_STATUS_LOWBATT75  (1<<1)
+#define ISL12022M_STATUS_RTCFAIL    (1<<0)
+
+#define ISL12022M_INT_AUTORESET     (1<<7)
+#define ISL12022M_INT_WRITEENABLE   (1<<6)
+#define ISL12022M_INT_INTALARM      (1<<5)
+#define ISL12022M_INT_FOBATB        (1<<4)
+
+#define ISL12022M_BETA_TEMPENABLE   (1<<7)   // Temperature Sensor Enabled Bit
+
+enum
+{
+  // RTC Registers
+  ISL12022M_REG_RTC_SC               = 0x00,
+  ISL12022M_REG_RTC_MN               = 0x01,
+  ISL12022M_REG_RTC_HR               = 0x02,
+  ISL12022M_REG_RTC_DT               = 0x03,
+  ISL12022M_REG_RTC_MO               = 0x04,
+  ISL12022M_REG_RTC_YR               = 0x05,
+  ISL12022M_REG_RTC_DW               = 0x06,
+  // Control and Status Registers
+  ISL12022M_REG_CSR_SR               = 0x07,
+  ISL12022M_REG_CSR_INT              = 0x08,
+  ISL12022M_REG_CSR_PWR_VDD          = 0x09,
+  ISL12022M_REG_CSR_PWR_VBAT         = 0x0A,
+  ISL12022M_REG_CSR_ITRO             = 0x0B,
+  ISL12022M_REG_CSR_ALPHA            = 0x0C,
+  ISL12022M_REG_CSR_BETA             = 0x0D,
+  ISL12022M_REG_CSR_FATR             = 0x0E,
+  ISL12022M_REG_CSR_FDTR             = 0x0F,
+  // Alarm Registers
+  ISL12022M_REG_ALARM_SCA0           = 0x10,
+  ISL12022M_REG_ALARM_MNA0           = 0x11,
+  ISL12022M_REG_ALARM_HRA0           = 0x12,
+  ISL12022M_REG_ALARM_DTA0           = 0x13,
+  ISL12022M_REG_ALARM_MOA0           = 0x14,
+  ISL12022M_REG_ALARM_DWA0           = 0x15,
+  //
+  ISL12022M_REG_TSV2B_VSC            = 0x16,
+  ISL12022M_REG_TSV2B_VMN            = 0x17,
+  ISL12022M_REG_TSV2B_VHR            = 0x18,
+  ISL12022M_REG_TSV2B_VDT            = 0x19,
+  ISL12022M_REG_TSV2B_VMO            = 0x1A,
+  ISL12022M_REG_TSV2B_TSB2V          = 0x1B,
+  ISL12022M_REG_TSV2B_BMN            = 0x1C,
+  ISL12022M_REG_TSV2B_BHR            = 0x1D,
+  ISL12022M_REG_TSV2B_BDT            = 0x1E,
+  ISL12022M_REG_TSV2B_BMO            = 0x1F,
+  // DST Control Registers
+  ISL12022M_REG_DSTCR_DSTMOFD        = 0x20,
+  ISL12022M_REG_DSTCR_DSTDWFD        = 0x21,
+  ISL12022M_REG_DSTCR_DSTDTFD        = 0x22,
+  ISL12022M_REG_DSTCR_DSTHRFD        = 0x23,
+  ISL12022M_REG_DSTCR_DSTMORV        = 0x24,
+  ISL12022M_REG_DSTCR_DSTDWRV        = 0x25,
+  ISL12022M_REG_DSTCR_DSTDTRV        = 0x26,
+  ISL12022M_REG_DSTCR_DSTHRRV        = 0x27,
+  // Temperature Registers
+  ISL12022M_REG_TEMP_TKOL            = 0x28,
+  ISL12022M_REG_TEMP_TKOM            = 0x29,
+  // NPPM Registers
+  ISL12022M_REG_NPPM_NPPML           = 0x2A,
+  ISL12022M_REG_NPPM_NPPMH           = 0x2B,
+  // XTO Register
+  ISL12022M_REG_XT0_XT0              = 0x2C,
+  // Alpha Hot Register
+  ISL12022M_REG_ALPHAH_ALPHAH        = 0x2D,
+  // General Purpose Memory (SRAM) Registers
+  ISL12022M_REG_GPM_GPM1             = 0x2E,
+  ISL12022M_REG_GPM_GPM2             = 0x2F
+};
+
+typedef enum
+{
+  ISL12022M_ERROR_OK = 0,               // Everything executed normally
+  ISL12022M_ERROR_I2C_INIT,             // Unable to initialise I2C
+  ISL12022M_ERROR_I2C_BUSY,             // I2C already in use
+  ISL12022M_ERROR_I2C_BUFFEROVERFLOW,   // I2C Buffer is too small
+  ISL12022M_ERROR_RTC_LOWBATT,          // RTC battery low ... value may not be accurate
+  ISL12022M_ERROR_LAST
+}
+isl12022mError_t;
+
+// ISL12022M time + status placeholder
+typedef struct
+{
+  uint8_t interrupt;
+  uint8_t status;
+  uint8_t dayofweek;
+  uint8_t year;
+  uint8_t month;
+  uint8_t day;
+  uint8_t hour;
+  uint8_t minute;
+  uint8_t second;
+} 
+isl12022mTime_t;
+
+isl12022mError_t isl12022mInit(void);
+isl12022mError_t isl12022mGetTime(isl12022mTime_t *time);
+isl12022mError_t isl12022mSetTime(uint8_t dayofweek, uint8_t year, uint8_t month, uint8_t day, uint8_t hour, uint8_t minute, uint8_t second);
+isl12022mError_t isl12022mGetTemp(uint8_t *celsius);
+
+#endif
diff --git a/lpc134x-vcom.inf b/lpc134x-vcom.inf
deleted file mode 100644 (file)
index c5a5384..0000000
+++ /dev/null
@@ -1,65 +0,0 @@
-; 
-; Keil - An ARM Company  Comunication Device Class driver installation file
-; (C)2007 Copyright 
-;
-
-[Version] 
-Signature="$Windows NT$" 
-Class=Ports
-ClassGuid={4D36E978-E325-11CE-BFC1-08002BE10318} 
-Provider=%Keil% 
-;LayoutFile=layout.inf
-DriverVer=01/06/07
-
-[Manufacturer] 
-%Keil%=DeviceList
-
-[DestinationDirs] 
-DefaultDestDir=12 
-
-[SourceDisksFiles]
-
-[SourceDisksNames]
-
-[DeviceList] 
-%DESCRIPTION%=LPC134xUSB, USB\VID_239A&PID_1002 
-
-;------------------------------------------------------------------------------
-;  Windows 2000/XP Sections
-;------------------------------------------------------------------------------
-
-[LPC134xUSB.nt] 
-include=mdmcpq.inf
-CopyFiles=DriverCopyFiles
-AddReg=LPC134xUSB.nt.AddReg 
-
-[DriverCopyFiles]
-usbser.sys,,,0x20
-
-[LPC134xUSB.nt.AddReg] 
-HKR,,DevLoader,,*ntkern 
-HKR,,NTMPDriver,,usbser.sys 
-HKR,,EnumPropPages32,,"MsPorts.dll,SerialPortPropPageProvider" 
-
-[LPC134xUSB.nt.Services] 
-include=mdmcpq.inf
-AddService=usbser, 0x00000002, DriverService
-
-
-[LPC134xUSB.nt.HW]
-include=mdmcpq.inf
-
-[DriverService] 
-DisplayName=%DESCRIPTION% 
-ServiceType=1
-StartType=3
-ErrorControl=1
-ServiceBinary=%12%\usbser.sys 
-
-;------------------------------------------------------------------------------
-;  String Definitions
-;------------------------------------------------------------------------------
-
-[Strings] 
-NXP="NXP - Founded by Philips"
-DESCRIPTION="LPC134x USB VCom Port" 
diff --git a/lpc134x-vcom_64.inf b/lpc134x-vcom_64.inf
new file mode 100644 (file)
index 0000000..35c47e3
--- /dev/null
@@ -0,0 +1,127 @@
+;---------------------------------------------------------------------------------------
+; Windows USB CDC Driver Setup File for ATMEL AT91SAM products
+; Improved by Pavel K, pasha_nik@mail.ru
+;---------------------------------------------------------------------------------------
+
+[Version]
+Signature=        "$Windows NT$"; Windows 200 and later versions
+Class=            Ports; This is a serial port driver
+ClassGuid=        {4D36E978-E325-11CE-BFC1-08002BE10318}
+Provider=        %Keil%
+DriverVer=        09/25/2009,1.0.0.0; Driver version 1.0.0.0 published on 25 September 2009
+
+[Manufacturer]
+%DriverProvider%=    DeviceList, NT, NTia64, NTamd64
+
+[DestinationDirs]
+DefaultDestDir=        12; Default install directory is \drivers or \IOSubSys
+
+[DeviceList.NT]
+%Description%=    DriverInstall,USB\VID_03EB&PID_6124
+%Description%=    LPC134xUSB, USB\VID_239A&PID_1002    
+
+[DeviceList.NTia64]
+%Description%=    DriverInstall,USB\VID_03EB&PID_6124
+%Description%= LPC134xUSB, USB\VID_239A&PID_1002
+
+[DeviceList.NTamd64]
+%Description%=    DriverInstall,USB\VID_03EB&PID_6124
+%Description%= LPC134xUSB, USB\VID_239A&PID_1002
+
+
+;---------------------------------------------------------------------------------------
+; 32 bit section for Windows 2000/2003/XP/Vista/7
+;---------------------------------------------------------------------------------------
+
+[LPC134xUSB.nt] 
+include=mdmcpq.inf
+CopyFiles=DriverCopyFiles
+AddReg=LPC134xUSB.nt.AddReg 
+
+[DriverCopyFiles]
+usbser.sys,,,0x20
+
+[LPC134xUSB.nt.AddReg] 
+HKR,,DevLoader,,*ntkern 
+HKR,,NTMPDriver,,usbser.sys 
+HKR,,EnumPropPages32,,"MsPorts.dll,SerialPortPropPageProvider" 
+
+[LPC134xUSB.nt.Services] 
+include=mdmcpq.inf
+AddService=usbser, 0x00000002, DriverService
+
+[LPC134xUSB.nt.HW]
+include=mdmcpq.inf
+
+[DriverService] 
+DisplayName=%DESCRIPTION% 
+ServiceType=1
+StartType=3
+ErrorControl=1
+ServiceBinary=%12%\usbser.sys 
+
+
+
+;---------------------------------------------------------------------------------------
+; 64 bit section for Intel Itanium based systems
+;---------------------------------------------------------------------------------------
+
+[DriverInstall.NTia64]
+include=        mdmcpq.inf
+CopyFiles=        DriverInstall.NTia64.Files
+AddReg=            DriverInstall.NTia64.AddReg
+
+[DriverInstall.NTia64.Files]
+usbser.sys,,,0x20
+
+[DriverInstall.NTia64.AddReg]
+HKR,,DevLoader,,*ntkern
+HKR,,NTMPDriver,,usbser.sys
+HKR,,EnumPropPages32,,"MsPorts.dll,SerialPortPropPageProvider"
+
+[DriverInstall.NTia64.Services]
+AddService=usbser,0x00000002,usbser_sys_service
+
+
+;---------------------------------------------------------------------------------------
+; 64 bit section for AMD64 and Intel EM64T based systems
+;---------------------------------------------------------------------------------------
+
+[DriverInstall.NTamd64]
+include=        mdmcpq.inf
+CopyFiles=        DriverInstall.NTamd64.Files
+AddReg=            DriverInstall.NTamd64.AddReg
+
+[DriverInstall.NTamd64.Files]
+usbser.sys,,,0x20
+
+[DriverInstall.NTamd64.AddReg]
+HKR,,DevLoader,,*ntkern
+HKR,,NTMPDriver,,usbser.sys
+HKR,,EnumPropPages32,,"MsPorts.dll,SerialPortPropPageProvider"
+
+[DriverInstall.NTamd64.Services]
+AddService=        usbser,0x00000002,usbser_sys_service
+
+;---------------------------------------------------------------------------------------
+; usbser.sys service
+;---------------------------------------------------------------------------------------
+
+[usbser_sys_service]
+DisplayName=        %ServiceDescription%
+ServiceType=        1; SERVICE_KERNEL_DRIVER, Service kernel driver
+StartType=        3; SERVICE_DEMAND_START, Driver is started by the PnP manager
+ErrorControl=        1; SERVICE_ERROR_NORMAL, Warn about errors
+ServiceBinary=        %12%\usbser.sys
+LoadOrderGroup =    Base
+
+;---------------------------------------------------------------------------------------
+; strings
+;---------------------------------------------------------------------------------------
+
+[Strings] 
+DriverProvider=        "Microsoft"
+NXP="NXP - Founded by Philips"
+DESCRIPTION="LPC134x USB VCom Port" 
+
+;---------------------------------------------------------------------------------------
diff --git a/tools/testfirmware/LPC1343_LCDStandalone_UART.bin b/tools/testfirmware/LPC1343_LCDStandalone_UART.bin
deleted file mode 100644 (file)
index d309dc4..0000000
Binary files a/tools/testfirmware/LPC1343_LCDStandalone_UART.bin and /dev/null differ
diff --git a/tools/testfirmware/LPC1343_LCDStandalone_UART_LF.bin b/tools/testfirmware/LPC1343_LCDStandalone_UART_LF.bin
new file mode 100644 (file)
index 0000000..c9fda07
Binary files /dev/null and b/tools/testfirmware/LPC1343_LCDStandalone_UART_LF.bin differ
diff --git a/tools/testfirmware/LPC1343_LCDStandalone_USB.bin b/tools/testfirmware/LPC1343_LCDStandalone_USB.bin
deleted file mode 100644 (file)
index 4d02a71..0000000
Binary files a/tools/testfirmware/LPC1343_LCDStandalone_USB.bin and /dev/null differ
diff --git a/tools/testfirmware/LPC1343_LCDStandalone_USB_CRLF.bin b/tools/testfirmware/LPC1343_LCDStandalone_USB_CRLF.bin
new file mode 100644 (file)
index 0000000..bc623c4
Binary files /dev/null and b/tools/testfirmware/LPC1343_LCDStandalone_USB_CRLF.bin differ
This page took 0.036101 seconds and 4 git commands to generate.