From d21a664a23190d6747fb1080de5de5bd6277534e Mon Sep 17 00:00:00 2001 From: Kevin Townsend Date: Sat, 25 Feb 2012 01:49:50 +0100 Subject: [PATCH] See v0.98 changelog --- ChangeLog.txt | 7 + build/crossworks/LPC1343_CodeBase.hzp | 5 + build/crossworks/LPC1343_CodeBase.hzs | 13 +- core/adc/adc.c | 41 +- core/i2c/i2c.c | 181 ++++++--- core/i2c/i2c.h | 73 ++-- .../samsung_20T202DA2JA/samsung_20T202DA2JA.c | 374 ++++++++++++++++++ .../samsung_20T202DA2JA/samsung_20T202DA2JA.h | 112 ++++++ projectconfig.h | 46 +++ sysinit.c | 1 - .../DCTest_1000mV_5SampleAveraging.xlsx | Bin 0 -> 45368 bytes tools/validation/adctest/DCTest_100mV.xlsx | Bin 0 -> 45556 bytes .../DCTest_100mV_5SampleAveraging.xlsx | Bin 0 -> 45451 bytes tools/validation/adctest/DCTest_1643mV.xlsx | Bin 0 -> 46540 bytes .../DCTest_1643mV_5SampleAveraging.xlsx | Bin 0 -> 45114 bytes tools/validation/adctest/abstract.txt | 22 ++ tools/validation/adctest/main.c | 106 +++++ 17 files changed, 882 insertions(+), 99 deletions(-) create mode 100644 drivers/lcd/character/samsung_20T202DA2JA/samsung_20T202DA2JA.c create mode 100644 drivers/lcd/character/samsung_20T202DA2JA/samsung_20T202DA2JA.h create mode 100644 tools/validation/adctest/DCTest_1000mV_5SampleAveraging.xlsx create mode 100644 tools/validation/adctest/DCTest_100mV.xlsx create mode 100644 tools/validation/adctest/DCTest_100mV_5SampleAveraging.xlsx create mode 100644 tools/validation/adctest/DCTest_1643mV.xlsx create mode 100644 tools/validation/adctest/DCTest_1643mV_5SampleAveraging.xlsx create mode 100644 tools/validation/adctest/abstract.txt create mode 100644 tools/validation/adctest/main.c diff --git a/ChangeLog.txt b/ChangeLog.txt index ecf050d..a813faf 100644 --- a/ChangeLog.txt +++ b/ChangeLog.txt @@ -1,5 +1,12 @@ v0.9.8 - Ongoing ================ +- Added driver for Samsung VFD displays from Adafruit +- Added average sampling option to projectconfig.h. + This allows you to take several readings from the + ADC and return the average. Helps reduces one-off + peaks and valleys in the ADC at the expense of + slower reads. + See: "tools/validation/adctest" for more info - Added I2C driver for PN532 - Updated and added PN532 examples at /tools/examples/sensors/PN532 diff --git a/build/crossworks/LPC1343_CodeBase.hzp b/build/crossworks/LPC1343_CodeBase.hzp index c5861e1..365f647 100644 --- a/build/crossworks/LPC1343_CodeBase.hzp +++ b/build/crossworks/LPC1343_CodeBase.hzp @@ -275,6 +275,11 @@ + + + + + diff --git a/build/crossworks/LPC1343_CodeBase.hzs b/build/crossworks/LPC1343_CodeBase.hzs index 5b3c975..a4b16dc 100644 --- a/build/crossworks/LPC1343_CodeBase.hzs +++ b/build/crossworks/LPC1343_CodeBase.hzs @@ -33,9 +33,14 @@ + + - - + + + + + @@ -71,7 +76,7 @@ - + - + diff --git a/core/adc/adc.c b/core/adc/adc.c index fdf2d30..5728545 100644 --- a/core/adc/adc.c +++ b/core/adc/adc.c @@ -87,7 +87,7 @@ static uint8_t _adcLastChannel = 0; be added to the adcInit function. */ /**************************************************************************/ -uint32_t adcRead (uint8_t channelNum) +uint32_t adcReadSingle (uint8_t channelNum) { if (!_adcInitialised) adcInit(); @@ -162,6 +162,45 @@ uint32_t adcRead (uint8_t channelNum) return (adcData); } +/**************************************************************************/ +/*! + @brief Returns the conversion results on the specified ADC channel. + + This function will manually start an A/D conversion on a single + channel and return the results. If ADC Averaging is enabled + (via ADC_AVERAGING_ENABLE) the specified number of values will be + samples from the ADC and the average value will be returned. + + @param[in] channelNum + The A/D channel [0..7] that will be used during the A/D + conversion. (Note that only A/D channel's 0..3 are + configured by default in adcInit.) + + @return 0 if an overrun error occured, otherwise a 10-bit value + containing the A/D conversion results. + + @warning Only AD channels 0..3 are configured for A/D in adcInit. + If you wish to use A/D pins 4..7 they will also need to + be added to the adcInit function. +*/ +/**************************************************************************/ +uint32_t adcRead (uint8_t channelNum) +{ + if (!_adcInitialised) adcInit(); + + #if ADC_AVERAGING_ENABLE + uint32_t adcTotal, i; + adcTotal = 0; + for (i=0; i= MAX_TIMEOUT); + uint32_t timeout = 0; + + I2C_I2CCONSET = I2CONSET_STO; /* Set Stop flag */ + I2C_I2CCONCLR = I2CONCLR_SIC; /* Clear SI flag */ + + /*--- Wait for STOP detected ---*/ + while((I2C_I2CCONSET & I2CONSET_STO) && (timeout < MAX_TIMEOUT)) + { + timeout++; + } + return (timeout >= MAX_TIMEOUT); } /***************************************************************************** @@ -274,6 +349,8 @@ static uint32_t I2CStop( void ) *****************************************************************************/ uint32_t i2cInit( uint32_t I2cMode ) { + _I2cMode = I2cMode; + SCB_PRESETCTRL |= (0x1<<1); // Enable I2C clock @@ -304,14 +381,22 @@ uint32_t i2cInit( uint32_t I2cMode ) I2C_I2CSCLH = I2SCLH_SCLH; #endif - if ( I2cMode == I2CSLAVE ) + if ( _I2cMode == I2CSLAVE ) { I2C_I2CADR0 = SLAVE_ADDR; - } + I2CSlaveState = I2C_IDLE; + } /* Enable the I2C Interrupt */ NVIC_EnableIRQ(I2C_IRQn); - I2C_I2CCONSET = I2C_I2CCONSET_I2EN; + if ( _I2cMode == I2CMASTER ) + { + I2C_I2CCONSET = I2C_I2CCONSET_I2EN; + } +// else +// { +// I2C_I2CCONSET = I2C_I2CCONSET_I2EN | I2C_I2CCONSET_SI; +// } return( TRUE ); } @@ -347,38 +432,6 @@ uint32_t i2cEngine( void ) return ( I2CMasterState ); } -/***************************************************************************** -** Function name: i2cSendGeneralCall -** -** Descriptions: Sends a request to the general call address (0x00) -** which should detect if there are any devices on the -** i2c bus. For more information see: -** http://www.i2c-bus.org/addressing/general-call-address/ -** -** parameters: None -** Returned value: Any of the I2CSTATE_... values. See i2c.h -** -*****************************************************************************/ -uint32_t i2cSendGeneralCall(void) -{ - uint32_t i2cState; - - // Clear write buffers - uint32_t i; - for ( i = 0; i < I2C_BUFSIZE; i++ ) - { - I2CMasterBuffer[i] = 0x00; - } - - // Send the specified bytes - I2CWriteLength = 1; - I2CReadLength = 0; - I2CMasterBuffer[0] = I2C_GENERALCALL; - i2cState = i2cEngine(); - - return i2cState; -} - /****************************************************************************** ** End Of File ******************************************************************************/ diff --git a/core/i2c/i2c.h b/core/i2c/i2c.h index 63b01e8..5e16c82 100644 --- a/core/i2c/i2c.h +++ b/core/i2c/i2c.h @@ -9,6 +9,9 @@ * 2006.07.19 ver 1.00 Preliminary version, first Release * 2010.07.19 ver 1.10 Rob Jansen - MyVoice CAD/CAM Services * Updated to reflect new code + * 2011.02.19 ver 1.20 KTownsend - microBuilder.eu + * - Added slave mode status values to + * I2C_IRQHandler * ******************************************************************************/ #ifndef __I2C_H @@ -30,41 +33,52 @@ * This could only happen in a multi master system or could also * identify a hardware problem in the system. */ -#define I2CSTATE_IDLE 0x000 -#define I2CSTATE_PENDING 0x001 -#define I2CSTATE_ACK 0x101 -#define I2CSTATE_NACK 0x102 -#define I2CSTATE_SLA_NACK 0x103 -#define I2CSTATE_ARB_LOSS 0x104 +#define I2CSTATE_IDLE 0x000 +#define I2CSTATE_PENDING 0x001 +#define I2CSTATE_ACK 0x101 +#define I2CSTATE_NACK 0x102 +#define I2CSTATE_SLA_NACK 0x103 +#define I2CSTATE_ARB_LOSS 0x104 -#define FAST_MODE_PLUS 0 +#define FAST_MODE_PLUS 0 -#define I2C_BUFSIZE 64 -#define MAX_TIMEOUT 0x00FFFFFF +#define I2C_BUFSIZE 64 +#define MAX_TIMEOUT 0x00FFFFFF -#define I2CMASTER 0x01 -#define I2CSLAVE 0x02 +#define I2CMASTER 0x01 +#define I2CSLAVE 0x02 -#define SLAVE_ADDR 0xA0 -#define READ_WRITE 0x01 +#define SLAVE_ADDR 0xA0 +#define READ_WRITE 0x01 -#define RD_BIT 0x01 +#define RD_BIT 0x01 -#define I2C_GENERALCALL 0x00 /* General Call Address (to 'ping' I2C bus for devices) */ +#define I2C_GENERALCALL 0x00 /* General Call Address (to 'ping' I2C bus for devices) */ -#define I2CONSET_I2EN 0x00000040 /* I2C Control Set Register */ -#define I2CONSET_AA 0x00000004 -#define I2CONSET_SI 0x00000008 -#define I2CONSET_STO 0x00000010 -#define I2CONSET_STA 0x00000020 +#define I2C_IDLE 0 +#define I2C_STARTED 1 +#define I2C_RESTARTED 2 +#define I2C_REPEATED_START 3 +#define DATA_ACK 4 +#define DATA_NACK 5 +#define I2C_WR_STARTED 6 +#define I2C_RD_STARTED 7 -#define I2CONCLR_AAC 0x00000004 /* I2C Control clear Register */ -#define I2CONCLR_SIC 0x00000008 -#define I2CONCLR_STAC 0x00000020 -#define I2CONCLR_I2ENC 0x00000040 +/* I2C Control Set Register */ +#define I2CONSET_I2EN 0x00000040 /* I2C Interface Enable */ +#define I2CONSET_AA 0x00000004 /* Assert acknowledge flag */ +#define I2CONSET_SI 0x00000008 /* I2C interrupt flag */ +#define I2CONSET_STO 0x00000010 /* STOP flag */ +#define I2CONSET_STA 0x00000020 /* START flag */ -#define I2DAT_I2C 0x00000000 /* I2C Data Reg */ -#define I2ADR_I2C 0x00000000 /* I2C Slave Address Reg */ +/* I2C Control clear Register */ +#define I2CONCLR_AAC 0x00000004 /* Assert acklnowedge clear bit*/ +#define I2CONCLR_SIC 0x00000008 /* I2C interrupt clear bit */ +#define I2CONCLR_STAC 0x00000020 /* START flag clear bit */ +#define I2CONCLR_I2ENC 0x00000040 /* I2C interface disable bit */ + +#define I2DAT_I2C 0x00000000 /* I2C Data Reg */ +#define I2ADR_I2C 0x00000000 /* I2C Slave Address Reg */ /* SCLH and SCLL = I2C PCLK High/Low cycles for I2C clock and determine the data rate/duty cycle for I2C: @@ -80,14 +94,15 @@ #define I2SCLH_HS_SCLH CFG_CPU_CCLK / 2000000 /* Fast Plus I2C SCL Duty Cycle High Reg */ #define I2SCLL_HS_SCLL CFG_CPU_CCLK / 2000000 /* Fast Plus I2C SCL Duty Cycle Low Reg */ -extern volatile uint8_t I2CMasterBuffer[I2C_BUFSIZE]; -extern volatile uint8_t I2CSlaveBuffer[I2C_BUFSIZE]; +extern volatile uint8_t I2CMasterBuffer[I2C_BUFSIZE]; // Master Mode +extern volatile uint8_t I2CSlaveBuffer[I2C_BUFSIZE]; // Master Mode +// extern volatile uint8_t I2CWrBuffer[I2C_BUFSIZE]; // Slave Mode +// extern volatile uint8_t I2CRdBuffer[I2C_BUFSIZE]; // Slave Mode extern volatile uint32_t I2CReadLength, I2CWriteLength; extern void I2C_IRQHandler( void ); extern uint32_t i2cInit( uint32_t I2cMode ); extern uint32_t i2cEngine( void ); -uint32_t i2cSendGeneralCall( void ); #endif /* end __I2C_H */ /**************************************************************************** diff --git a/drivers/lcd/character/samsung_20T202DA2JA/samsung_20T202DA2JA.c b/drivers/lcd/character/samsung_20T202DA2JA/samsung_20T202DA2JA.c new file mode 100644 index 0000000..67a48e2 --- /dev/null +++ b/drivers/lcd/character/samsung_20T202DA2JA/samsung_20T202DA2JA.c @@ -0,0 +1,374 @@ +/**************************************************************************/ +/*! + @file samsung_20T202DA2JA.c + @author Original source : Limor Fried/ladyada (Adafruit Industries) + LPC1343 port : K. Townsend + + @section DESCRIPTION + + Driver for Samsung 20T202DA2JA 20x2 VFD display module. + + This driver is based on the SPI_VFD Library from Limor Fried + (Adafruit Industries) at: https://github.com/adafruit/SPI_VFD + + The displays can be purchased at: + https://www.adafruit.com/products/347 + + @section LICENSE + + Software License Agreement (BSD License) + + Copyright (c) 2012 Adafruit Industries + 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 + +#include "samsung_20T202DA2JA.h" + +#include "core/gpio/gpio.h" +#include "core/systick/systick.h" + +/**************************************************************************/ +/* Private Methods */ +/**************************************************************************/ + +uint8_t samsungvfd_displayfunction; +uint8_t samsungvfd_displaycontrol; +uint8_t samsungvfd_displaymode; +uint8_t samsungvfd_initialized; +uint8_t samsungvfd_numlines, samsungvfd_currline; + +/**************************************************************************/ +/*! + @brief Low-level SPI bit-banging routing +*/ +/**************************************************************************/ +static inline void samsungvfd_sendByte(uint8_t c) { + int8_t i; + + // Make sure clock pin starts high + gpioSetValue(SAMSUNGVFD_SCK_PORT, SAMSUNGVFD_SCK_PIN, 1); + + // Write from MSB to LSB + for (i=7; i>=0; i--) + { + // Set clock pin low + gpioSetValue(SAMSUNGVFD_SCK_PORT, SAMSUNGVFD_SCK_PIN, 0); + // Set data pin high or low depending on the value of the current bit + gpioSetValue(SAMSUNGVFD_SIO_PORT, SAMSUNGVFD_SIO_PIN, c & (1 << i) ? 1 : 0); + // Set clock pin high + gpioSetValue(SAMSUNGVFD_SCK_PORT, SAMSUNGVFD_SCK_PIN, 1); + } +} + +/**************************************************************************/ +/*! + @brief Sends a command to the VFD display +*/ +/**************************************************************************/ +void samsungvfd_command(uint8_t value) +{ + gpioSetValue(SAMSUNGVFD_STB_PORT, SAMSUNGVFD_STB_PIN, 0); + samsungvfd_sendByte(SAMSUNGVFD_SPICOMMAND); + samsungvfd_sendByte(value); + gpioSetValue(SAMSUNGVFD_STB_PORT, SAMSUNGVFD_STB_PIN, 1); +} + +/**************************************************************************/ +/*! + @brief Initialises the VFD character display +*/ +/**************************************************************************/ +void samsungvfd_begin(uint8_t cols, uint8_t lines, uint8_t brightness) +{ + // set number of lines + if (lines > 1) + samsungvfd_displayfunction = SAMSUNGVFD_2LINE; + else + samsungvfd_displayfunction = SAMSUNGVFD_1LINE; + + if (brightness>SAMSUNGVFD_BRIGHTNESS25) //catch bad values + brightness = SAMSUNGVFD_BRIGHTNESS100; + + // set the brightness and push the linecount with VFD_SETFUNCTION + samsungvfdSetBrightness(brightness); + + samsungvfd_numlines = lines; + samsungvfd_currline = 0; + + // Initialize to default text direction (for romance languages#include "SPI_VFD.h" + samsungvfd_displaymode = SAMSUNGVFD_ENTRYLEFT | SAMSUNGVFD_ENTRYSHIFTDECREMENT; + // set the entry mode + samsungvfd_command(SAMSUNGVFD_ENTRYMODESET | samsungvfd_displaymode); + + samsungvfd_command(SAMSUNGVFD_SETDDRAMADDR); // go to address 0 + + // turn the display on with no cursor or blinking default + samsungvfd_displaycontrol = SAMSUNGVFD_DISPLAYON; + samsungvfdDisplay(); + + samsungvfdClear(); + samsungvfdHome(); +} + +/**************************************************************************/ +/* Public Methods */ +/**************************************************************************/ + +/**************************************************************************/ +/*! + @brief Initialises the VFD character display +*/ +/**************************************************************************/ +void samsungvfdInit(uint8_t brightness) +{ + // Set all pins to output + gpioSetDir(SAMSUNGVFD_SIO_PORT, SAMSUNGVFD_SIO_PIN, gpioDirection_Output); + gpioSetDir(SAMSUNGVFD_STB_PORT, SAMSUNGVFD_STB_PIN, gpioDirection_Output); + gpioSetDir(SAMSUNGVFD_SCK_PORT, SAMSUNGVFD_SCK_PIN, gpioDirection_Output); + + // Set strobe and clock pins high by default + gpioSetValue(SAMSUNGVFD_STB_PORT, SAMSUNGVFD_STB_PIN, 1); + gpioSetValue(SAMSUNGVFD_SCK_PORT, SAMSUNGVFD_SCK_PIN, 1); + + // Default to 2x20 display (SAMSUNG 20T202DA2JA) + samsungvfd_begin(20, 2, brightness); +} + +/**************************************************************************/ +/*! + @brief Writes a single character to the VFD display +*/ +/**************************************************************************/ +void samsungvfdWrite(uint8_t value) +{ + gpioSetValue(SAMSUNGVFD_STB_PORT, SAMSUNGVFD_STB_PIN, 0); + samsungvfd_sendByte(SAMSUNGVFD_SPIDATA); + samsungvfd_sendByte(value); + gpioSetValue(SAMSUNGVFD_STB_PORT, SAMSUNGVFD_STB_PIN, 1); +} + +/**************************************************************************/ +/*! + @brief Writes a full string to the VFD display +*/ +/**************************************************************************/ +void samsungvfdWriteString(const char * str) +{ + while(*str) + { + gpioSetValue(SAMSUNGVFD_STB_PORT, SAMSUNGVFD_STB_PIN, 0); + samsungvfd_sendByte(SAMSUNGVFD_SPIDATA); + samsungvfd_sendByte(*str++); + gpioSetValue(SAMSUNGVFD_STB_PORT, SAMSUNGVFD_STB_PIN, 1); + } +} + +/**************************************************************************/ +/*! + @brief Sets the display brightness +*/ +/**************************************************************************/ +void samsungvfdSetBrightness(uint8_t brightness) +{ + // set the brightness (only if a valid value is passed + if (brightness <= SAMSUNGVFD_BRIGHTNESS25) + { + samsungvfd_displayfunction &= ~SAMSUNGVFD_BRIGHTNESS25; + samsungvfd_displayfunction |= brightness; + + samsungvfd_command(SAMSUNGVFD_FUNCTIONSET | samsungvfd_displayfunction); + } +} + +/**************************************************************************/ +/*! + @brief Quickly turn the display off +*/ +/**************************************************************************/ +void samsungvfdNoDisplay(void) +{ + samsungvfd_displaycontrol &= ~SAMSUNGVFD_DISPLAYON; + samsungvfd_command(SAMSUNGVFD_DISPLAYCONTROL | samsungvfd_displaycontrol); +} + +/**************************************************************************/ +/*! + @brief Quickly turn the display on +*/ +/**************************************************************************/ +void samsungvfdDisplay(void) +{ + samsungvfd_displaycontrol |= SAMSUNGVFD_DISPLAYON; + samsungvfd_command(SAMSUNGVFD_DISPLAYCONTROL | samsungvfd_displaycontrol); +} + +/**************************************************************************/ +/*! + @brief Turns the cursor off +*/ +/**************************************************************************/ +void samsungvfdNoCursor(void) +{ + samsungvfd_displaycontrol &= ~SAMSUNGVFD_CURSORON; + samsungvfd_command(SAMSUNGVFD_DISPLAYCONTROL | samsungvfd_displaycontrol); +} + +/**************************************************************************/ +/*! + @brief Enables the cursor +*/ +/**************************************************************************/ +void samsungvfdCursor(void) +{ + samsungvfd_displaycontrol |= SAMSUNGVFD_CURSORON; + samsungvfd_command(SAMSUNGVFD_DISPLAYCONTROL | samsungvfd_displaycontrol); +} + +/**************************************************************************/ +/*! + @brief Disable cursor blinking +*/ +/**************************************************************************/ +void samsungvfdNoBlink(void) +{ + samsungvfd_displaycontrol &= ~SAMSUNGVFD_BLINKON; + samsungvfd_command(SAMSUNGVFD_DISPLAYCONTROL | samsungvfd_displaycontrol); +} + +/**************************************************************************/ +/*! + @brief Enable cursor blinking +*/ +/**************************************************************************/ +void samsungvfdBlink(void) +{ + samsungvfd_displaycontrol |= SAMSUNGVFD_BLINKON; + samsungvfd_command(SAMSUNGVFD_DISPLAYCONTROL | samsungvfd_displaycontrol); +} + +/**************************************************************************/ +/*! + @brief Scroll the display left without changing the RAM +*/ +/**************************************************************************/ +void samsungvfdScrollDisplayLeft(void) +{ + samsungvfd_command(SAMSUNGVFD_CURSORSHIFT | SAMSUNGVFD_DISPLAYMOVE | SAMSUNGVFD_MOVELEFT); +} + +/**************************************************************************/ +/*! + @brief Scroll the display right without changing the RAM +*/ +/**************************************************************************/ +void samsungvfdScrollDisplayRight(void) +{ + samsungvfd_command(SAMSUNGVFD_CURSORSHIFT | SAMSUNGVFD_DISPLAYMOVE | SAMSUNGVFD_MOVERIGHT); +} + +/**************************************************************************/ +/*! + @brief Cause text to flow left to right +*/ +/**************************************************************************/ +void samsungvfdLeftToRight(void) +{ + samsungvfd_displaymode |= SAMSUNGVFD_ENTRYLEFT; + samsungvfd_command(SAMSUNGVFD_ENTRYMODESET | samsungvfd_displaymode); +} + +/**************************************************************************/ +/*! + @brief Cause text to flow from right to left +*/ +/**************************************************************************/ +void samsungvfdRightToLeft(void) +{ + samsungvfd_displaymode &= ~SAMSUNGVFD_ENTRYLEFT; + samsungvfd_command(SAMSUNGVFD_ENTRYMODESET | samsungvfd_displaymode); +} + +/**************************************************************************/ +/*! + @brief Right justify text from the cursor +*/ +/**************************************************************************/ +void samsungvfdAutoscroll(void) +{ + samsungvfd_displaymode |= SAMSUNGVFD_ENTRYSHIFTINCREMENT; + samsungvfd_command(SAMSUNGVFD_ENTRYMODESET | samsungvfd_displaymode); +} + +/**************************************************************************/ +/*! + @brief Left justify text from the cursor +*/ +/**************************************************************************/ +void samsungvfdNoAutoscroll(void) +{ + samsungvfd_displaymode &= ~SAMSUNGVFD_ENTRYSHIFTINCREMENT; + samsungvfd_command(SAMSUNGVFD_ENTRYMODESET | samsungvfd_displaymode); +} + +/**************************************************************************/ +/*! + @brief Clears the display +*/ +/**************************************************************************/ +void samsungvfdClear(void) +{ + samsungvfd_command(SAMSUNGVFD_CLEARDISPLAY); // clear display, set cursor position to zero + systickDelay(2); // this command takes a long time! +} + +/**************************************************************************/ +/*! + @brief Places the cursor at 0, 0 +*/ +/**************************************************************************/ +void samsungvfdHome(void) +{ + samsungvfd_command(SAMSUNGVFD_RETURNHOME); // Set cursor position to zero + systickDelay(2); // this command takes a long time! +} + +/**************************************************************************/ +/*! + @brief Sets the cursor to the specified row and column position +*/ +/**************************************************************************/ +void samsungvfdSetCursor(uint8_t col, uint8_t row) +{ + int row_offsets[] = { 0x00, 0x40, 0x14, 0x54 }; + if ( row > samsungvfd_numlines ) + { + row = samsungvfd_numlines-1; // we count rows starting w/0 + } + + samsungvfd_command(SAMSUNGVFD_SETDDRAMADDR | (col + row_offsets[row])); +} + diff --git a/drivers/lcd/character/samsung_20T202DA2JA/samsung_20T202DA2JA.h b/drivers/lcd/character/samsung_20T202DA2JA/samsung_20T202DA2JA.h new file mode 100644 index 0000000..889de2f --- /dev/null +++ b/drivers/lcd/character/samsung_20T202DA2JA/samsung_20T202DA2JA.h @@ -0,0 +1,112 @@ +/**************************************************************************/ +/*! + @file samsung_20T202DA2JA.h + @author Original source : Limor Fried/ladyada (Adafruit Industries) + LPC1343 port : K. Townsend + + @section LICENSE + + Software License Agreement (BSD License) + + Copyright (c) 2012 Adafruit Industries + 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 __SAMSUNG_20T202DA2JA__ +#define __SAMSUNG_20T202DA2JA__ + +#include "projectconfig.h" + +// Pin Definitions +#define SAMSUNGVFD_SIO_PORT (2) // Data +#define SAMSUNGVFD_SIO_PIN (1) +#define SAMSUNGVFD_STB_PORT (2) // Strobe +#define SAMSUNGVFD_STB_PIN (2) +#define SAMSUNGVFD_SCK_PORT (2) // Clock +#define SAMSUNGVFD_SCK_PIN (3) + +// Commands +#define SAMSUNGVFD_CLEARDISPLAY 0x01 +#define SAMSUNGVFD_RETURNHOME 0x02 +#define SAMSUNGVFD_ENTRYMODESET 0x04 +#define SAMSUNGVFD_DISPLAYCONTROL 0x08 +#define SAMSUNGVFD_CURSORSHIFT 0x10 +#define SAMSUNGVFD_FUNCTIONSET 0x30 +#define SAMSUNGVFD_SETCGRAMADDR 0x40 +#define SAMSUNGVFD_SETDDRAMADDR 0x80 + +// flags for display entry mode +#define SAMSUNGVFD_ENTRYRIGHT 0x00 +#define SAMSUNGVFD_ENTRYLEFT 0x02 +#define SAMSUNGVFD_ENTRYSHIFTINCREMENT 0x01 +#define SAMSUNGVFD_ENTRYSHIFTDECREMENT 0x00 + +// flags for display on/off control +#define SAMSUNGVFD_DISPLAYON 0x04 +#define SAMSUNGVFD_DISPLAYOFF 0x00 +#define SAMSUNGVFD_CURSORON 0x02 +#define SAMSUNGVFD_CURSOROFF 0x00 +#define SAMSUNGVFD_BLINKON 0x01 +#define SAMSUNGVFD_BLINKOFF 0x00 + +// flags for display/cursor shift +#define SAMSUNGVFD_DISPLAYMOVE 0x08 +#define SAMSUNGVFD_CURSORMOVE 0x00 +#define SAMSUNGVFD_MOVERIGHT 0x04 +#define SAMSUNGVFD_MOVELEFT 0x00 + +// flags for function set +#define SAMSUNGVFD_2LINE 0x08 +#define SAMSUNGVFD_1LINE 0x00 +#define SAMSUNGVFD_BRIGHTNESS25 0x03 +#define SAMSUNGVFD_BRIGHTNESS50 0x02 +#define SAMSUNGVFD_BRIGHTNESS75 0x01 +#define SAMSUNGVFD_BRIGHTNESS100 0x00 + +#define SAMSUNGVFD_SPICOMMAND 0xF8 +#define SAMSUNGVFD_SPIDATA 0xFA + +// Initialisation/Config Prototypes +void samsungvfdInit ( uint8_t brightness ); +void samsungvfdWrite ( uint8_t value ); +void samsungvfdWriteString( const char * str ); +void samsungvfdSetBrightness ( uint8_t brightness ); +void samsungvfdNoDisplay ( void ); +void samsungvfdDisplay ( void ); +void samsungvfdNoCursor ( void ); +void samsungvfdCursor ( void ); +void samsungvfdNoBlink ( void ); +void samsungvfdBlink ( void ); +void samsungvfdScrollDisplayLeft ( void ); +void samsungvfdScrollDisplayRight ( void ); +void samsungvfdLeftToRight ( void ); +void samsungvfdRightToLeft ( void ); +void samsungvfdAutoscroll ( void ); +void samsungvfdNoAutoscroll ( void ); +void samsungvfdClear ( void ); +void samsungvfdHome ( void ); +void samsungvfdSetCursor ( uint8_t col, uint8_t row ); + +#endif diff --git a/projectconfig.h b/projectconfig.h index 8d1ef05..62026c2 100644 --- a/projectconfig.h +++ b/projectconfig.h @@ -330,6 +330,48 @@ /*=========================================================================*/ +/*========================================================================= + ADC + ----------------------------------------------------------------------- + + ADC_AVERAGING_ENABLE To get better results, the ADC code can take + a number of samples and return the average + value. This is slower, but can give more + accurate results caused of single-reading + peaks and dips. + To enable average, set ADC_AVERAGING_ENABLE + to a non-zero value. + ADC_AVERAGING_SAMPLES The number of ADC samples to read and + average if ADC averaging is enabled. + + -----------------------------------------------------------------------*/ + #ifdef CFG_BRD_LPC1343_REFDESIGN + #define ADC_AVERAGING_ENABLE (1) + #define ADC_AVERAGING_SAMPLES (5) + #endif + + #ifdef CFG_BRD_LPC1343_REFDESIGN_MINIMAL + #define ADC_AVERAGING_ENABLE (1) + #define ADC_AVERAGING_SAMPLES (5) + #endif + + #if defined CFG_BRD_LPC1343_TFTLCDSTANDALONE_USB || defined CFG_BRD_LPC1343_TFTLCDSTANDALONE_UART + #define ADC_AVERAGING_ENABLE (0) + #define ADC_AVERAGING_SAMPLES (5) + #endif + + #ifdef CFG_BRD_LPC1343_802154USBSTICK + #define ADC_AVERAGING_ENABLE (0) + #define ADC_AVERAGING_SAMPLES (5) + #endif + + #ifdef CFG_BRD_LPC1343_OLIMEX_P + #define ADC_AVERAGING_ENABLE (0) + #define ADC_AVERAGING_SAMPLES (5) + #endif +/*=========================================================================*/ + + /*========================================================================= ON-BOARD LED ----------------------------------------------------------------------- @@ -1128,4 +1170,8 @@ #endif #endif +#if ADC_AVERAGING_ENABLE && ADC_AVERAGING_SAMPLES < 1 + #error "ADC_AVERAGING_SAMPLES must be 1 or higher when ADC averaging is enabled" +#endif + #endif diff --git a/sysinit.c b/sysinit.c index aedf9b3..d1f440a 100644 --- a/sysinit.c +++ b/sysinit.c @@ -44,7 +44,6 @@ #include "core/cpu/cpu.h" #include "core/pmu/pmu.h" -#include "core/adc/adc.h" #ifdef CFG_PRINTF_UART #include "core/uart/uart.h" diff --git a/tools/validation/adctest/DCTest_1000mV_5SampleAveraging.xlsx b/tools/validation/adctest/DCTest_1000mV_5SampleAveraging.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..ec4e44182255308c00385a39767c5e69c067e22f GIT binary patch literal 45368 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�X0Umq@TgXUL&Y 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 GW$VBHce0!S literal 0 HcmV?d00001 diff --git a/tools/validation/adctest/DCTest_100mV.xlsx b/tools/validation/adctest/DCTest_100mV.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..8244328a2565a93bbfeba541ae085fb000a01adc GIT binary patch literal 45556 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 b1J<$mQCA@VUe+KG6_C;Zf1zm3QR%+`7nVFC literal 0 HcmV?d00001 diff --git a/tools/validation/adctest/DCTest_100mV_5SampleAveraging.xlsx b/tools/validation/adctest/DCTest_100mV_5SampleAveraging.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..6357718e4cb0f65e0173df8db04000b4764095f5 GIT binary patch literal 45451 zcmeEt^;=xcvhLvS5}X;F;4Z=4f&_vSoZ#;6?ry;?0fGhy?hF!w27S<>SE`o<;C;-6%^8f$mfAJ3Vr+-)8WXB%-Eq8~RR8u*KP(mQ_ zTA=oqlX#I(pp6P?WxU-l#zu!OJif4Ch2lgxANeVoNB`A(tHG3<*XH#vkkwx4)t>u~ zan?>T+GQa4WIqra)G-&;DiFOdG}4RwWpTS{%em+sNnG7jXGB}nwIeiw`x3`xw`VFP z3@uIUmNpy(}V$-sql!m(7W0x`8v*gl5YgPHTx+sd_?EOC&@jU3hlX8B~GZQnyGf zNPLbJ%Nvpir@DG;-=v=w_#{}Cc6maNl*Skz?jKr3A2yK=3~uz?SrP5W^4wXUGRWmI z!jj6>pKy6FB+jW(nlyG2m%Av)fA&HblRMYp=-(Z?sSGG{T|xL&tUO>^N$0;$c>jT> zV8hRx@Jc7VF6N^;LTQB)J;E#@n-mHXJy0Ul_V+`2okmqRWrZBvqKgJ@86(;QQN zi7TcNySfa83sx{)oV?uqE~>Y3ykn(7NoK;P+}Fw=UdLtPGiU8tov(>iU_$lY3V(2wHT9m_gqvIiAMNy)b7>O0+K92`WD0SG`BLh(aCjGm zDvQu;k2Nxq57H-*TcMl!X71Mxo@_gQCK<}HVtIJ4M%}k1EzmxGU#!TM7?lqpIM1EN z8NQ=3h0CK`&{w&5YT|dIQjD6ATRRt8jdl?`JPcyZxBPhBF)p-G9=iV8?Ao|z087L0 ze?*DuO};%YP&J`&AP@-%8OGC=?H{0cI5^vwI5^lm*Uf){1_mgefb9S7pQ@Da)_;>G zq$6a~&uPleJXKKG7TtTf6^T6_H-gT&wq4ZgE~`5kQNew9;KZ*t-yhj3;M$7xG%U|X z7PX!RA;?T$O}%t&^TPWIJ~*UIf-hcGJOMr8{?g(pJPz{|Z?V-BM?I2Y9=r8Jsx5O< zHr^a$Kw;mvQZltO`2+8JgTkefea+iZbm;r64Q+;#p$&@ukH1ZJpBfBwejpm=-q47OeFuQL#V|!8ttQ5@guQ$RVkHIV>DzHk`h%0xV*P=;9|$1T+YZ zn{0ZCmNVa1+GHEa*jP~|*htjQQp8-XZC;+kb2elcQD}yt_~9kk>8n#*82Sjbb=|-C zpLkc|tyOLbkR_ZzMqvS|0%X*G&8666HHSqoe%LDgktqAt+-&B6)r*18Qxh>~!E#AN-gOa(RVD66a;D2>` zgg`5TOdZyQhP^(?dxJ|?M3g^AQah1I2PEEtLg(`mW;S5RdRBi$*X+n zh*qp@To&JJ@LQ111exNiZbLNtRl}pS!Q(rR*y%=J?wbJ|l(_jr$B0Wh!JUEkx!*U( ziKI)7PE;aH^v&UA)B^Rqn8#MCTjB%BipWDaMxfNJ<^HO-g~RO&oMsT#QWalw>=QWAxCuZH@aa~_f4v~d)Ey7T1^*urmmaz z-hskuo6@NmR|Jxs4y)`|jvS)5=ReIp(2=1sEBzF1r`ykuQtV`^8@6kZf0VpCmTsA% z2K$qgW@&c!2bO8!vSE(AB7BF>+K{-^bh*Lq&BUg+1^Y+A&5*2DCRL4by~#N}^mX-g z<^;CuK?+m5GKa<)bYNQ0>&b3XK9Pr??U3XSrM`l&{Lg{X4`Y3@`4bYIxEg+epB4hM z1~154v<7*9*J9!BFi#|e_eb#I@RBVlHFPd|$bPV<>)$9`jqL7REM@$T>?#^Z;b1X- z97aCvn(NG|>IQh*f&bI`!(qSDzFw2jLh@LuZULZd9$%0SobRw70GA(DRoD z@X|&(Qp}y;XWU*CV}bm#U&S0}v67YBsE!Vln@*^}o$V9N3V$w=pGSRnD*WC#(mdU)+#384vG@>+W75+7*6oHOtw01ExJ^_m}O`)#FXFh=x zG-iuy-yTU&d* z?XxVHQu}iRYofkrc-iqr1-k{M=@Ht$gRW97Z>*Z@;xmB1(^XC^mPEZ+pQzBA2~cU2 ziXxxA`1r0p^pPnPC9Tgn-XQv#0p+!O?Qqp1#m^lmg?68_@pRH2zjj#LwQ8G;d*zdn zjLG78vvA;nC>7k(RMN{zN&)0l6p=;S@v^KNxVLq z4*8_pf}ob&@Y~kD<8dFPw&Qv3{e!&?Pb;LY$Y!arpS%&5LW?B>Mei4(3yr)KXQSe) znR;82?~_=v^Q@dIcC!#!bn~nrmBmDS)g*k1zR7udne7eDj(3bCZ$Aw|*OAmN;oUYHLV&-anBl3OlG5U1$K8MHywXZipB6_~fRtotXFLkf- z)Mbl|$dAkFGvgPfXE^#(XKk@aRnay+-3Y#_`5V);a8+y8h>pRih}w2D=-7ELiHt1t zxx@lF5er_;KC7+zceaUZ}l9zI`G+J`zL_0w)k9ZAb7o zJn!B}CrK_xd<}CsRubm7jLEwNFJ(Ekv_HL}krjU%z9n4vQu>TcV_R;V;CTp!P%Rna zrBb1gB!u)Z~n)&nuw!Xr#OpAKhjkQ+i>!ber3*voVXHb42^Cms0y{a6mZ@#|cG<%(9&4FMPNhzEYcrP#mp2ObTs9qZUGuXhoE_e`FonIcRU!?of3_MT;uv zuZO0F_4WQ*f5Qyc&^GJdtYyE{k48A9)yywZ3=iwbh^b>o`B)2e4egWY>P&r+t)X3X zgp}OWym&81e;oTlO(*4zJ~g|*zzu@Ip#F1>qXCzhqP#hN9pc3?{IU_BzcX$CN8TB+6=V?L;Q$~@D!6L+G z{^QpKD)BQiGwGc@ENSgBxi3JBsn|=}xs4&DS-aR;PWpghamnSf0;K z`2EYDy~PFbe5fs`BU4nQHQp*K=BdwY%L77jvWTd4e+>KJhs^Bib16x&K1W=y@H6_J z&)x2m3q7r0t1_aU(9v5a~047eM*^GNXj`gFa26p`QQwY2P&yA>ekDFX8EXK*zPU-~Hb7ZiZ-w|IKlq%GIjS=zDp|)pj^@l{RU!y}uh-}Uv`_upH7PsOB$ zo%J?DPcRt)PnWYpSotFDH@@^4KG|dgSM9>fc_V3g0S~v;?IGBgvXsA9eb28KkAG6O zsf!Bx-`*b*6^V9qJl&O728iC?pM8JwdOCib-MyPTlNa{K7YPy#xIURk$nHa-rwtZGKnV(}jWv+}BeB=eyYm4`-B{r-YR*jA0rM-~*?Y!><_L#Q2 zE=Shwf0dgb^-B(K281WPx&O3eFeqKK-Q^u8z9Y4b(9kLNSjjf;yD~Bs?UDSH-CX=T z?Sp5k1k+RP+_=ZGXLjFR75}1+W1r}+v}E$MjEl?U6D+@|rLFH*`66AOq;HBIt?!g> zBe2Xbx^%+_`4&b+FIJq%e|H=;po^~yH)AygT$|-w`DgEl<-Y6kxw+XsuMzdXzN7wV zi(9H9+J){`@AG5$i9v-b3&HrL+4zDlfp!IVRfV%Uz{~&kcAt$?%WyxED}K*jR(}fl z^m>%1_0b*bVHFvAIhuIm-XFtl63^;dJ{CpUf4iMFdc^b;I5&R$IHX*&kYM=kR-@<- zt=ZXSRN|jgYxVr)?cB!|2g73=YG0HWSotI8HLF4a&d2!*`{a+?h7tY*?^i+t9r~87 zNaySi%j}5C{J*WNdF-Rk^&EyT=CsR6GJ7vC_mRda--9pNPW2oN?~vMk-T#P&dtC0^ z#H{b9h`JlPJr((5dH8u8?0nTrKWcPeKEY1R*;6pVo+RgP&BEHf@QAc;X_4XU?4vaF zZx49jM_D%abk8zZ@bf06JskGBCg@S&Yr*utgz1u_e)DU3$XhtTAKL|T!H1JviHAeN zBk}XSuW|ro{YMv+7i>}t2+}jExQ?Bq%9~BfeYF>x?0FO`>v1`67Lobr-CSB0z3&uOa8t*EvhgwD8TRPu{`r3+-mR6Jn2iHWLz7HIFv5H z>9qjIAD!w~-#6bp7_|2PkD=e+v3-}ZEUdH1^{TjW(lTGiVU|Bjp{w{&@i%G$-oJCTmZR!sMw@VD!?gly>n z56NUX%&02o>{z3%QQY4~B@1I_d6>PslunN!mVEhQd-nJF-JkNsG%LUF|Mt7wRc!Hm zz|%JW*b;v}<6y&gshDA~-sT#1h*jW|343bL+0r_E{$f;%ji%S>*mrjIwYuoYE;wI0 z_m$4kqew?R$z4uN4OZQgb;ltu%EOXJx!Yp6z4x_|!$zCh=`wdGRvK&P5U^$ae1KyE zd#~L-=vcC zZD(HxBeB1b_&QFfDx(GES6|y?cUkFiSHRs9xK@()(x>B{aP6=in(Y<#{O6qGGM$&5 z`1wvNx6_hpZ5UPh`6yMaCpAABKJv@alTyV8Va(N(|MI`-_`_XA8-+hHaF$50i^2|&`MkPT6i{XF7fpTmvY6LU*!5*zpJGTcH6v&huq$k_UtuHU(_D7{Nc82SXDRZ zL&wsZ&OD%^ySpn@oC=Uqx;vB>JD<*&bdrhF;d9r7+p=oE=Sb=5BAjh1|Mb!H^GD|_ zll_E@8lQvQJLB)uPwS(5_)`&Yb#G5*LDDbZJrc==gts(k@S3I+f0gq*DDyHf2 z?|HV!*QFm!$@^3f=2VF=0$YZD~ZEhd(jAWI;(W-C?3S^I_kW5UjPMs}R zy+%~XGjnz3&Y=6B zyQ6LCuGVRWm?O-~B6R)KZ)6pU%v{g7GZ=Wpp54mxem^5;l^Uy@C({1=V!slw(&7B8 za4EO7MqIW_+#5J=?_8OHRXOx|HAOc#o6or{&#Z(gZvLoIR;X;O}Y>lFH{h}FmGrS|J00$o5MR&g8 zq^gJ~pO(vSXRbvw3Nqy?qQLH~mH$p;DF3DM?=`xqX44rQl8W%H--PKp1ECOH&}1kt z=Au>Q6qIrOhM<74X4&rRx8p-zdSRvMr`urVq6w$ud*kCGC~!BGg$o!bk&OmeQeqc$ z7M?m)uJgz0IZKG9HZQEoF63p(6L)S)5YesL!hpxg$O(Yhc($YTBLrars2jOx z4LJn|gfiH8jK-MG2)e%f8Fg_OW4y_J+xbJkb0#oeb1TNhwQx&OW+>ABtM5k`vbc=Z zB(^Cvg-*h>8WupWn?&)klgaR)!XvCh^$bWwIhUI^aAVD$H{Nm`OuxdW*#2g`BF3JT zbQg2kIBk!_eg=?IJGZ5X7mY=RRpqIH!&*WB3<5vG@c!uakhmIGn-6uS_@i6#s31eH z;sT=%H`qvJWUIu8pr_H()ZX<*GJpFwfX3*3&ZX+U+RF#4!yi1pt5v?7eueNrj52p% zOA%wO^a_?-^50ZQ6IhQDC}3z`W2sl9y#Z25LU4C=MX2)Gm6{Co@|~Jg2_RK00ce22 zqBCk<9lZT32c!$2mRNdvhN1GoEua+t*_Z}mf6eE#m#F@$WCbVzIr`7U|0raZ+l4vr zGM1{^ys5ZJWqQu8A;uX6MgT?}eyT|`=$`->F{L&i|Fi7>FvFgeUST`OGDB4I6Vd;683hIe* zT=}HG?L)U=SC8K={JH!^O8>k^a`mO z|BM>qFd*QSMTYbKt{Z!kX*v{@ncKSaGI&J$IJKWw2Q_L9o6}HhLb^B1aEQuC(jD&n zyWTav{Q88Bxh4FzXG*}~BJX_1xU*o{Sge5PN1E~D{mgnM>+#kGUUu9l+TdUYc-ISa zdZ8m@*S5%L&xqD|FEoizIc%>2&h!iol%u@ZS$2Z0%@}16o`&VyL2QjW#ZQqQ6%jw$ zvLI4;<9f4okl&rXVH?48Hg0VDm~IXoSo(tNN~(2l$tB+nu+~zo6dqTLHsvOw1XF!t zPDBf<*e!yrG=+^B z*bDedmuE&3UlUk}JJ`UZRT_;yWX4Nshpuxt1Q{C>jxCZ5^tS)mVHv91OV#2?0GrFy z2ewxiGFv))O;;);IQ#Nd-}B0m@B@*qUr1Z9lUR&$4*?f8%h(%esJr6MRr)k%sn%HF z7i6iU3iB+e0j_o1XG|NhaI{%_vLSPUKZmohznkdMewmw~l)=XkPY_D%DXy5TH2H7_ z*b185Uaje&$ZO?+$29p8DnWDJ1$bM8W8F^-k><4YA+#LbfwZ9bEe@H ziAkcatKYqnQuQLwi~6&JDm#EJ;hwxxS)*&S+B7tP%*NQ6?^x1|C2FC%9kH6uA0Io( z2xFQj_Um$BP#IqN5I+>6G~r8b9Eq-) zKtdhzcPN}grS{1(GxnE!TCQM?<%h5zUK;gyy$Ho)sQsBisW`0ob2vnc(LW~Zwi}fT ziOy5yvu8?YCSevJM7k+sqwd&XmKSXr?WHC_hV;&pYh}lg*{o=TeZ+_BxZok53&Wc167q1~Ip;R(FP7!T5`##V zDa5IX;?L97InB+-xEOv?NEhSvIjuOqDQl1QLS$4|d<5@J&8m{{4!3V~*KrG)Ta0nZ zWleI6ky-O&v<5o8DO-y58ozj3G5pdz%UaHM@y(9Gw4+>{@+9$j?hVcOr(|>bwXLhdRN(3b_ChlSN|02f2Y;E}8kqD$FZT|DAZMR#L4zH+%X=1j(~)WH zGq=tHHARRGRw_r38M{FUCyzy-9TY3R-*-^>(KEuEqJ>X}3cIf>u2?^gIFR&%E^3{f zhuQG})zDI6KK^7hh_gv{8Q3&U_}_%YL(6-qH5_a|^^>Cu1jGMSR+~P~J4=)$#u4w4 zo|!sx9E2%ZqGc`W#dkwQ*;6=Su*sgmgpH{=Ohw-(I*Q-S0T)rc2q?YGR2QC zTMmu$3QHd|B1>#O#f(GUxlFeiPHp3WODyK1lI4A1?U{(K)*9ibkuBeg6Sz0q{Nr#p zjAggCLKS`~#)wydNNql{nh7&DNt{Jp*@wH}7~xITlJLsK7W3vojs;~RiTDFthn-^9 zs@`X6b?k_H5q7iQm7SvY5(2$|uiLyY(!Oxi0N%8}WgJ}zHrVrFb#K8NSb{ZhM^XrN5;A z6jQ#rk5T+*nVkaDQTZ$?{vC`~&JdSwW;{uzremGKbpgQv$1zgNEZsB7(u|Yj^yV|+ zsJ7DlaQh^7C>Gf_to)@TE+}*Ye5Q%TZ(rMHnTV;nLQ)zs4u343wZXqrX?Q*TKGCND zGfIoA$=)rJ8H1{6Aswbt(tkqW3uczB99`p=u{QWkOY#qI1a?@?_iYJ%)A4>!XwUF_ zya;RTsp`fbhN=^{*rUu5zck5MX!`Xw$l`;E zb&pU*&#M_d4@&`Zb-9S#SEFuYC*%d_JpK^^hkm@hFhYU|Zp`!(9Fm@9E-L4j!I?KuU0KB)43=_}=wI4_+mpm&aOVZp zCdZ6}JZ1_<+R8tbl2>h(Y@q#)`V@{BS;?=`D-Az=Ir!4tOq2z2BRGFfYlYv5zd0pt z78dnlml8wTx1khgZP`wf^`M15X8s{-M=YkMae=`eVZks@=9`47{BLg@o0b#2c8QR# z_wcvsT*0Q+Jp>YQr#+vs`JoZ_y6rnK&`e{I0^eDFN?Qu}q|=(7wB5gAj9cP*gG*lB zcFZrQOosy$4U#og_TGm{#4j9IWKs+*m%Yyr5y?;5tUCKT?6hRpyV-IKI|LCIln!7f z|0R4ZF5au?K41#|zUi!;sC-H}O7NsQV2Xu~`)=y&#|Ng|DMnZ`7+$&ej@Y?jY1OhA z)r&gHd#SMXt~!qjymW~Vx8yb7PpnW=)+YJS z=|Z6!N6JI#$BwG#f7HQu_NYkvk@4b zK89{UFq6cV^Yv&(vM3=q;KG_Q^im8GV}#kecu`>s zb0J%^m(Y&X2`{Ng(!RGY5-fo1@P!iYLbgTKOIlqrpf;-ekLk#jcHsSFCGDzZ@`T_m z$1cp7h_gWCMA<_h0+e!Hf}`;#;z!R#LeAfH>v_}xq3cc%%q^^j?z#JE@`FRR=4P^+ zVy&|wSYXUZz9LCfoAy5zmaZKIDGU~hdL#HUYst2|QEIT}*l}8aO)vL@P!gvscGY25~FFKjHpwtJEw`oe^@PnT8If>_`$dqJ2jlFp&}q zRHEN?pqt`V>VUr#U!rtFftD!hO&wrlOa5kO9R4%C`tzw%fc&FMUYH(8A+dPn242c6xxsQZgs>AK-chd5De)vBb|9etAxG?kQ`uzv5L;WHr z*Ti?kV6+MGv1Ce%7I?`~otwh+Hmkg*w@u74H+1*28IJayYRfLJ0Q<2r1ObcdUjXaa zS_*trhlkep4$FMOe<>k-U>pCH33jfLkqpRmxteqd=?ZSUo$59!$JaSjVuXPq7l=qf z2<8}=5v;xKvzNj1V9HFJ2yLN3A)g9J1sLuy@OB||PyK{_A| zlXMA+#;~zA?JX#{;|xGlNG1ZBL>#(AL^>Ylb^x;&;{FvB+%us|eLebu-fZMaI}m+} zl$ge52k3>)espMWO@KR!#0kYhGD{Ot(w1cf@%SO?uuxdr#FcrlHZCSU=QF&?%n$&0 z*V4?afz7^b&x1Q~#Wan8rSJ*|5smR6MX&A`3Xl^C{t^cm$J!BlK~H%YAEq9bOv?X_ z&3n@lL?mOpphZ6ocqpo4qCXZUE_(It_U9%tvJ$Q5A%KK;w9T)QFrH}=qyq!c78!iQ zGco+aG>I=wiDQ}&zZDjgV<*c%)|UmSj^HoV{W<(ALDjS`1@->IQK)x6g2CwNQ;_%^ z^nEa(G!~pvC4&T^CzeIpPs6N-CGTe@TJVhcU|^|9!Y?FOgPlll0=8iE)Dyr40*8_% zA@&0^ulQ(P{Fa0w^fkOP6d$%8mZF4D2w6jqgG{rFs-w>k2PmnqlqGy3$c;NbzKNB> zBo0r|I#F+0->U9M_UGmppELepl4;%a8K92Tjf0Q10z1pd1QtjQM}?6I1Z$KJ6!+9b zx>mqh<}*aSe+cy?VP%c7e9?s}!^l$L@Zs}QcaLcANv&TO?0p||fhllAwQ>x1Ut6Oz z_H^cr2*@m5v)$%L*0PC++;P;Z`B&M-3~4EO#Z7g1|F9ku0`T7OqW<6*>^9RfaGGr% zAO=ADT&LG5ErQO{jweoj=ybx%jimzWUOCeMaYWj+LC%NL51@#p0aZ6x(s|ziF5!oe z^4|h_COJpo=;mQyq$S=q(iXFbu0)d3=3RNeo-k%|P1h7TiPxcT5uf8l0=v)vuZu$a za$!KpE3z#X*(ajZ$GRQ$CtJd?P?CqfbncaT=ZggKeag8m%KTP?hAl>Cl<*%fdn((= z?oCynHv^y@2_Jn~UdIz)vNF5J0eX4(W!|3pigdRhnj(8nBh>!z*9i`*EJZTiwo>G z=!qRoxsK#MWR@fTk%QsE6yY}FpQ2}AyZQ6Y6TUih2=zL_QSOU==LR{Z?xf>&f;fbd zX-#x2*oAqeaLrCIfvG0tyyeVjTWuaICHP^BIpB77*9i&6hkaUA0L+9f0oZ?WUYe6j z{#kCh|HBYDRaXd<;AkNb8<$ms6?hjG>3zsbqCZ_mlt=)AgaGBfnt_~rp+Hi~^6fqd zo0A9(@A?%HnZuz&(GA8&b;WubF*MOQ0UH;+tySrnnw-Tn!J+6f$UXC#jq!idB}37p zk#%5jObD5sc%*>IKbVn0%v2?ysG-;m1wRH};U74C>Qa#;cCsOtMJ7(gu7`#6GlxxR zX7lnk&Zswv!$6pT4(1KAUFrMchG)_VtP(>ezC?!fIBH7+U0TTB1)t-j@LgsII0*ko z062^R{3!u+N(6wME~-n_RDGRG>@>$fU=;|Ncm}p0%*ayu2bwMs|8v9oX%jUNAd31+ zG4f5obyx{aQ0OxSAtFQYf;L0YN04-auuRf}8`ARP+;}5n1F9?j!aGEl9n0DiyUE+h zGf^A@W?BPS0qX%6L94zhq#Qyb{)^{+=94eUMwV~ke}DZ2%oe&{M+Kq;JXPXX9ir+8 zfi5=owZKxEsfr-GoAHQ5ZdYI7lo|}k%`xobpBY}{~J zC+#(_C-^*+3~zHklLsJq;{5S zUqEf$_6cRkhNxyY(B>&hU_6Oy>irjt08J^B|8}S#Hi2M|67a-lZHFr2i3tCx4)(F{ z+11xs0m)(M!>c?v5vy;8)Y;i&T_rL8vpx*4{`~F?GB~|yyc#PW#K{0-1_v9dZdJ(#NGRL;e!cW=vSJ$&+EU}`3SzzQNe zOh0ZQA}1PS!Thbx$0PjkP@t+~U;_mbuu6eYB@?&qwL%jN91Yo93^$@V?o-S^%c@s= z76ORSf|3LbB0v!6c!n=Dj$4J=VoxE_xg%*F%;nB=2rApRDPfBt8bnaUOkf2(fQ~*2 zAJ*x6{9Nl-HU^U#NrVe40p)#%B?5&QAFm#UuAe!RnMVnkR4*QnlY!n0PB~IXHOD3w z`_GTI#5HzEh=~MmHvoU14WOETG9LH#*+4!$nd1)&vJFHbM#qEI+Xb{gAdAN!JG?y# z#N#BQhu2KyQH~t=@l|dU(C-y{)-PordTAmXk-iwLp$tXLO%!JdYpk{v*R@=>8vSB7 zg7Op4tN^%+ybet^Z-3rdp^Q5bgC7#&B;lA$USWo_DXvuS+Uo?T3N0u|l=uQ1I2#t? z$>?d&v6wj4!&iG1$1PyqPm`0({?NjaiO0hYr+@DPcmlQojw0jUbB5GNs3?6Y%>oS1 zcxNI_+#(|tQ2l$HRtW>Dyxq1j$q@^!S#YbC!?`Iy0VQ^&b`92tuNT2w$HD9`>CHyJ zhYXWVJLGO}GZDq>F2ut=0*Ltxn7A$hkwz_aL(bxBOpT92h5PC3ls0kTQOVIbv_B6u zmgqg<9;$zv?%C$j$+5g%aVza+R@^Jr=1|6e0 zMk3vD?=E-_=Tx9orjs~M^~`y`9|1~&uTyHG8Y4unlm6xSK}KbRD{y{eYCIMyz~qaM zhW!b`1=>`zMa~`fbaf8%P}^=~;@M;s;V4_Zfu%#@cpT1`C}wan!11xrZZz{%V{SAf zvKgEdv?T%=C0ujrR&sPWGgypQEHpM8*=zndo*yC~+7#=RUla%XV5EsWg8VZO2bUFJ z3mM#ciitE#goHv&fKU%Z1E5s?M>>ZGo#S8YNL3}qlF^oEiL$*8g^<|)dT~JXJXkZ@ zzc|9-H_fqIHUw1zc4mu(+e`*!IKQg=)y(-1pLE|X28gle86gSh7o(M9H3|O#!f#Lx zv3~@u#hofR#F+7N4FDVy6I|56zyd2bx-n$EvJ+rbpBh3$PgG+Glj2t$p(^ZK{q=I+ z6b=#EG6X^iw}5dGaU&5x1Oh(AtJe!OTyl$-<3%2?skbm?JpN8)#tkob$y&0|ls0zA z4B$TvRR4_s%r88!k%aKgznqa1)o{S1V6m}aFICCFMBq9%5c;(uwNb0Q2-kFq8R30` z4HSOAho%}=j29djYt6{-qc2H#O7^%>nwfwB0vE%G8HLY+z_uigi_s%b^MOwspGw*L z7GCb;8v~KpHidf}sz`5FZv&3xFWS5O1yP$rMiv@p{PK8M=kek&VKbhLh6Y__Jz`n* z%i6eod*Ar+X0Mv_P~^#pVndM_Z(wLBTG*A^NmG$~V{`5TBbphU0@N}UTN@N(-29c@ zp(96`jMhv;0g9Lk^kn`s43L9r4@!DYp-8ETO|TdW@f8EmZRuMId{HL^WD=bcaB9t3C-$Kk>v0Bvv{$~)RkVEwBsU}_*r}>c3&LKB+*rih&F%#*wI} zZKZjB{dYtDi1vPY9JGP~`;^z`Ab=MbLy9JrMIlbZr8?dbRkACSa7<9= ziU;-*O{)Fdc#ERrRi~q7Uuf-l?4pr|LZoNT2LeKet4=3EahgBrbE4n*h1I7bTF`qJLlKIw|9QEu2b1t;wtf57;tCZ-*=#sDsUBi4#%BsP{B@csbk z87_N9lSl;6fmYp}c)&oFo5$Fo!byyoI2Qwc2!=Qfj%p>i=;OyVJH5$v+#V+}nNq*V zX0Rn9?65^aNv~5dAtU*tS6L(0DIxqfG4M}#d&80eRS!OI8G;3h2966;Hdv@)tqd=2!=6ym$>Vpe zY5RcM*KRwWmuHeo-{?|X+OAj*prjw$4#&cxii1Me6S|78`-Dhdq`a`pZ*AX@ zMMBL#zqbgk$3~YmKkh#j>vhDiXSK9=34g^dp2JTeNA!7RC)lDaxH$r4fhG{^CBal5 zhkTg+L~mLzY0&x0eZoKef9es-fqxg|F>cPo`Zi6Ieu1`U?roo zOeqkm(3kVe^vpriZFz%iU&u^GZ;6M5fYRqywEZmPxabpaA69T-`{p77o^Otei=f@^ zw}5xYb_F=)jd-iN$lZ5~k=5{AY+F9dl`r4=je(2$RMeYwd?&uFvn$B4ApEzRqu)_* zz{%!-6*)Ueyq*TfV=;Iq!9I~RVDc?@Bn=!xb~ftpgeG@aTW$#>EU@YFi^U-&)72RA zE+XnLesI1pNa5}d31v#Fv~QR0S#~wjdPk4sPQ7kG0k4?mOEqnD`v=Lr9Qhi2MtdYO zf&}{1JcKRZ%+OwZ!r-$FYE`H4#Xipd1tUeH&*%@z>W11@LGxM1?LFR z=ASB)zCdrY@epju{lzFHwe;;}c1v3W2QhlY*HJYoy3$Bj`tHa~l(((nI1rbh;z%V0 z92|$j1aYELTQt@*RE!}TtQ9L1vSy#0q~@ar zoq(CbBHIeQ5pjF=G~MZ}JOpOdlOtQu;&QW5Kk8X+&ChJ#@^3%SW9h??B#%B+$~p&S zWS3eBlTm)%Vg$UxJ$6nmW5#iMLG$`Gf(KSAcRU>@BNt#V-ONv=uo*kWY>$rabt$@m zC|CNms7#a)z0Igvx1h}^r4c+F5Ams)R0n1KUK`zyhr&a`PEtwiLT=81_#EnxRwQeZ zA^faVGO9_0*IX5H>C?E&3iPt{aC5_quYi!e=Bkp@TF? zUUIt{#<^QJOkflN1l82>e$JdY*3vZUXY^zLB12$xX6^ zS=MGa-bGFZ*=Lgd%eJ=wMYM8rkfnbm(=~h3DCYs&6q!|f@ME6J)>WVhT4D>h%>C^0 zV)o8wG@OU^8nkF^9FIa3u2#8p+Ki7fFA9rC|5!!80Gynj2@QkbDjl@FUg-sEV3(n2 zM*dxM=tb5B%fZU6OHc~;c1&a&*vh&$?oTAURmAmzmEGY|A8Ev3^Za zt@m}kQ+*RD^_&Vf>N-*OZHniQq5b{hQoW9Gta91es#DhZIC?9dv~hirN~mZ_d%-2d zvhX9?an!wph{{v=gnylLk}4yS1?ZL)T|cL+5!;C`rf{sWBf^R&5&4Lf-f9HxIc?Bs zlRL1otcK)CWO1`nX#l@yP3V|Sc~X%{^)YFwL^D3S!Dv%i^tP&+MrF3Gw074?(V0id zxdO4!h_u(6UW$W9!pp*^qdE>Q`-n2fcS`t&AjE@*4jtR#r~-<8N=Wm~lIkaVyV5D4 zo5MrTb}P4e_;Y}K_>(?{<4w-EA!Ybvmht1965_vp9X4jiXZ5%S072*wAAwYwE*+x?m<*hZsz41?>sQMB%2R}V zWIvC8!8Vr0093)w;%wDPs>Twvf%a&^Aj;6TOJ1 ztK*4$tWuM%+Vl2s;ID#~X#Zo1HW83w!)q+)WSVAgs(`eME(2)#NY={UK|osF`+2~^ zD5;7>ai@vk+Yt+3AQp~;_yjt0@Oc%BrTs%3l6q9V(PDfcA&RWNB$J_B*d~4)b&Qe% zVbYofhfogVQ&C(=uX0RTxmU)~PxE*z?Jef2ilW>d174wThYxX~QN;EHBPQ5(H z$XIBRR&j#umesp>5l&)1sZM_6<1);eHT!L2(j$9SngDlFf2qzFu*Y=5%q@C2!V3n+ z#yRV|ObL9%G~xZY z?nU9Bl`wMJ4qs(}>5F{Us(GDtCd`YDpzp3nBD@X_&|U76hOeo~Ph`ht-fv$62Y0N{ zndNO)zNp z^#%*(Clj(jGft2^5(t-zAb2sI+d*dyM3Vv|CkRT+{D{3Y(#QK6;cDXpT%r;pI4PfW z^stvAkfyziXY&5oIobl0j0vKd21bZYT2pdGg(!Im3?4}&akWPW-jD-!AB zg%@7g=9L4~^R}TcR$LKal)l+zTLVX4^`7O;g~lw?M4)uquasqdTmztV|5fpeRYS6j zSx;iKmBq^zpWKRXWT7yKjZ?4cnEdNJJ%b_7$ z+#=iE%IoLr<_e!f6$6DCi;zTDFZ6-s54&khdk zj**1{#(z!papP5g6k!G0m2FsANLHN0)b{Rj|MG|GAtOtfxf^bm9R?bJs9tb?W1#to zpSlO|{@u|hoq327F&C;l5`MB{>51|gBf~N9;MMfT@70?*K19eqNP_dXxLojhi++JS z#e3Q~IV|*K3vAr6u%?omXTlzc{6B2HWk3~Cw?BLc=|f959J(8nM&-}~3ew#j(%m9( z;DCU12q+!W-7V769n#(K4nEJl|M$cF!kJmK_MWxZtoZFU%-;XvK}ej4v|82W zPdp3H_blRkLy{8BJ%(V^rKr_o9fD`i<*b_(#W9(eknT|p#qO6!zTMF_8F6qmjD*P>k8h*K`F=$`)1r;!!y`MS|h znxDti3s)zTRnw1m3-<+@mlD1Yo5wqxK{Bf-GqqL6uSA!llF^f5j)_oNWb^#BHbv)u zQh`DAr&NXvBr#D3KeI&U1*DJwv=R`fm~564sxy(>i0yu2<153p^fHle+WBJ3$jIyT z&XkB9EfEU{R3Q2ld8ZvTd_0G@?$eo#(|TX&8}cndBq@nvYJCex&-cT)$39M@(Np5S zHW%0^p8{rGa9YLf3b;e-z#(P&&H0b-4N76;9TA-X-lF+D^qK@At`P5aU!^w^iIazo z((I(JocCQ-H-92)eue55Y55 z1RpDW;{fcEmyXp#u@fM|TZE436fGh>fD%rT0u~uVaPCs93yG)|W_DY1dRNq-HcVdR zw(+UY%aD}iAU)IL^)Aj zr*dLQKTez$Yh*vJkMW?cY0gaBaPa7xE~2MMG!tv&|=@#XlT9!MYxLypSFeEP#OLSe>ErRxAi-orR( zkWsB*YU{zhA+{1P`PV!o{>T)J^ISS#gS&Ggn9Yt$Ua){i0AmVRDQHJEPTXZ$Y(ZGK z-_|i6dzrz!W9NM^{OBQ!guzQFT4aINr#uQQu4M9^$X1hyR+6tuz2i$ z+(T>&Vv+D8B zDX=A^>bJZk`zl9_yg{i8pEeY=I^Hw(JwDd3tK%<0HP+=-)j4r1Wt<@2p1Q(R~;u^r7 z0{#&6K*eH5QEe({2}Kz|MuJDuR%cWvezQBv0tv_{;54)pXv@{E*j0ZZ)Eo(Z24dt|y1O=sKd^K5Q2RAJ$ed+Oo1 z0)y}H&Z~Rnffm;?TZjIGa!l%yfiJOTNI*O?GE}IEBGXh*9E#(E&zDU!eZ{a@suLw5 z*>4*VPX&UQckGoQ$PXE~dx%)^Nkef$03ni_1*9YEcR8^sa!dtfp*Ru$Zje>u^f~?y z2}Fz=a0SQdY`X*7<&O-}Z^w{wO$A@0PlS=>c2&0Ta~9YFo)Gw!mpqrD$O$lSPS?Bs zL6+3F@?Kd9L$6udkEjZ5@n}~yF>({mBw13T)q)O06Nb~ly3^(f@l?!^s<-mXD~8c( zClJqc98_X#b^Ne`P$WZn0R3PJiV$mFSGE!RryEdy5LSkgls;?%-Vvygr^7#sacB#7 z5a+g2eWEh43?u&(TF6-`)xMs+u-&jW!e+XGdh9VRLpfJT;z`#!bafCF{e$2c&mIMR`c zs?v~Sei?R9ebvZhTG4L3VK~A!qVHldjMmHOT@CenhrRSx>7l_De@0J&`C13da%{_! z_Tb>mt-ZXJgl^&aHLc)xBGQZ#h{MtdP(A1cisJ_jgL+-jS5;CK5Iz6%jmEPG!?)@g zjH?cIzv97MOn$HVcTjO9=)bNjtbKdUA6F|)X<{Ip2dH8P^!IY9I98PH-covN#I#GYUUkg9hGS&iqNHvMbq=h(1Wu90O= zA)8f;DmZA)h9=7@N4PEG|gMzKLRNZ zbGP$lO9S^u-G2(5lm<4uw;-kH41%j(QSg!7UuB!NG^y;ef{`?-uCdu0wezbC`iGH6 zTJ7`?yfu;%J2;1k9Qg;5x55rCZL|oJ8c8IbQffyNWMDsj`O5obGs~{ z7okWcvV^kE*}G%w#VHcTF9s)q%Swf}BS(yVWz+1e-m=W7pWQ-)BHL0`FVk0)a7!hc zzt#&xM1HFsT=hj>$|ER#p=)XX8uGTOPD+t|o->N*Ag+E=Cyk%a-Ae+bYzxfV_Sezc z`lSO1M;*IC|jLm%BR7Rp-m?qqL%l2x`Sp+Y0IIu_>J9Iwn5I0 zjiF(Jk&>zGA%cNj=iD->O})GOEo5^HL3Wk6bIACy(&t3PZU$g`eDe178r*s0F`8!0 zuc=|2k&;R5A)JBya)*1-X?1q_aSFzra4oN$=y|;Qyt@?4#$a=Mu!`|hqspL15UH3#VK*5ql92AomDHazS>KQLCi0%dR2BRgCJ zdIH2Qd(9b1lf*8|8Q8U8B+rRASgZExPQf5Rfe10Fi{256r#!y9xH;Yi!CQ_GZG*t- zd;mQ*4d2(1+RL*1|JhD=V>P|kP#pVDhFjd{l5EFlTCrVDdyDoJ5OphY>lhGqrR|M6 zto)jDUxj``izSaq#jRxs(i!_%A5NDRwyRRMX&0@x$KW4yCp=|LUa26hoK&puW#zb(;kfk-RB;NQ z9QCmm+v|*9g?LnOK-c3vWI0(nLXWLCQJnjw*W+gx1lL&VWz#wMouRfK__t=2WxpJB zUIyrP#LguiysxK|7F#YM&sJE)Ysf<@IA3DF`Er&A^(E{c}s?N#E7|~w3n>T@gUX2 z_XuB`yu*S;iQ(?w!bi74lZW%kszM#if-$|TwzUrGolO(90E zrH?7CdkijbIJ9J?7XJ%1T`yAi*FAnBCH|MN+G{5-B-NyhWi)ZbxN*`zp^ffm@>u6He#MCA15dnS zgrQug@9Pd+PtJq?o#XisShq5!ZBD;nCryyG#<8o>L3h9p6xzwhXG4vBG8Y%2Bc=DN zPvQ@>uh<`aYv>V*{ODvrw}2Jl)0BeOe}%<$3uMkS(_U(gGbhdt%m-(;m=*JKXA0U+C_PLJ`+Y z^==$IWynHyNfzc;gUT?f*pig7zK< z6&Vgtj~l3ktW0BBS>bvOekYJNu2qa`3u}e@%W8cDLZFBpru(f+4jbhT zA1;CtgFEM&4DM8(bJOJ!!^wFR2bd<$E)@C!8FtQ-o+6Zn@y4jX0S$t2$Fcs7eHbK; zN~n(ft)d!I8WvS8+d>KN>kzMiM!X&d1e38p)stl=t_sRjM!Yu>2?llKPC$Q@6NjO> zI%AT6Ay4@=^8S2qG<8siMb?cc@x!3?KCwxXjIeFR4Zo*DNn?vZiR~}2EWC8 z8Um5lG4EPrSid|Cft>AAyP7IEe+c0SP zXh=Sz`YQjL`fUTLFeBTO7>PrdMT$|=YxX0xvF&Y$QELR88?2VeF^riP^YE$<3s5+g~ULu$FeA1ZfXoGljsQh<$mfQYAi= zRltV~fIx^(T<8p?i!8med(C7$3Vrww+R_*n4L-k-Tu7O(f#)0n`kkQEBI5tgtevA~20;}f@2EfbU>u$?8 zS#VcmQI-zRrbXgsWZMh~u9f)P$oLZR>Z9lA!=}vH=(|k(R=FU3kPs7fx)ddvwqy6^F;1R<> zA^N|z{}k$$8@d9`^EiGVBgurGMNk^fHe6yX7jo0R{W=fsDhsIG?Rrv<2|W*fUPHrr&9m$O(agWmne9wUGF>zZ+Evm3 zqF&T^Mdb>SuXg4;DdYdMJsKdY?#X*aX__Q6a4WtyPL?!g%ivWU^=dY$K;eM`!N$No zABpKHifxqU0hEB`V!-J6nZq$rYcWWUUyze9vhgV5lQ34RX7VboJC7EFapC8whxN63 z6Z8?#uhNPWn^_{jx`7vycYfow&|vGj(Lbz)vV|z0?Yg+3hRKcs9%;i16#N!QU8ax- zsAy0!0JQ(iZ+Y@ZKoPqbaJ!K4g{oM(WPN9`#Bx3#2P7j0B{N7WTBhbLt`2=_o?}Sl zUM(|_R78|g#B!)Pe5-!1Ov~u(_frY_kERAkId}Y4|E?nfwsc_@D2WS4jzAxlQjdt7 z@f8SzB6c$1c0OU=s__J85z9@KFeptJRMZ#{qB`9(DW0s8K|r;iUjP?tpt)V!i48pI%UC{ zr-C$!h_s4o@H#Ix$Ofy!I4&bP8e9_X$;d_Z>pW9~Uvoogl9B0>C4t0NF6dr2dn*Vm zFOC2-L0Qoku6b7%u@uqHh2F&leRCI2msZ1j*-_g8fW)~=WW-~IF}&6%lV~WCBA;vf ze_a1?t?hCW@@f+B-MZ=hwZ>>&Y1u04C{0b8)@sVQ>OILaKOk=r(o7- zInDpkXt|hHd0^xGr7TSsI)k>&L9Or&8yax!ADLtE!P^;zay(MQvElKpGlBFoy!>p5 zF+djFfYup*ZO0XNsDPM8$v|E$o18Yd!O?tQ1Id%}vbbO>&^&3y>Vs~#;<)2j;T{e> zu6ukNPauWCB>_Zm7FL6{wXv)_XaROs<8(M5jh6kg6wEcSUn^{db8wP~#U1Q~f5Wa_ zhidSgxx>n83gse9L~_$~;XtI8mdW;@gGMyM&*nK%txO z5f~08o8rRWf=%s}fak+4(jD;WXz2@wVW`ec?TIWAKmE)!`4ymauxxmVM$ z`z(V^2!LRA!KQX^LY{y`bNget)#4O4<9qA{`%HmwdWTee<%w@GuZ8=;CdS7f0d(PT zTElt#9=pnJkfnnqC4%xmW_@YuyPJq5cF+?`zY^K{^orfVMHZeiFB%gqtez4N;1L-vo1W+IfTFB0 z;I904$_Ge5lZH%}Cb@dR4N1#N^=t&bJ>nGl1X%y_KM#pkm}F=5ll7P-YhlA(VW7qX zK%{o_LxIw4{m_3}0{1eqfAIL(4i14!hQR0Z{G`2@J3Rf;nM$g{gaO27t{6cem$t;R zDqCXkzxtgxlzU0I!ryw(UWYGt_lul{DUgQg8qHZPit!%2xHp8s`_K7NFLycE~Y=508gE=ifWU0V`z zN76dud1^ZmP`0Q%)e-rVMXx5d%nn&m0I<(1ok#1z)pL)zg)Orx7g|BwSsWy;urO~4 z&xaM%73a_>wDVDrJ|O)D+`4JKTiq{Gxb9s|1TN=C2)aRhAlHf`7k}+1BD{|7`PXOo zx6nhkL@7aYlGf?HfO&Ldig)SgHiYynUh)iI?xltD z4#ZLDFzx$q1>S8);5G#2am@VZ>}`!KHLg7f(8=kxoD*r<-Mp`kX!Vie zLYL+0e{%)|prkUFA^y#XRlBStWZ)LS{0lI(#Z0+=vX(sEmcw}57GwaVQ8>)c=e{zF zLfZhj(EC79T0-WHKXFO9JNl`x*<8gtdk%6nJKKz9QN29aJTRXvH8n|?M_f_hJ%Utw z6ow?gFP14o`Msd_5%`$3w>qui{LBX7^}wX)pNxpV6=)(N7Qby4l$kc)+Ar@sd~g0Q|?9x0ArO^*;y?pVRYo(!loC z_J8bbz8`$-^)v)K#Rm$bhX5XinZvSbI`<37TPNaw9puJ5rkD-#!cNSkji}VytMm@9 z6$#M^AML5p&L}U@p>31Rv6uf0t>!}nE*Aw1muUn3_iX;$KFWPF0H{}00O1N{jRAKJ zd2Bf@ZP?wpsXH^|&bWpCi5znJqDoRgAM6|tL@#8Kz^?0bX=Pw8x&Z9Wf%sP084kqT zk6arbQ4-g?2+45CWWdcHvVfo!gPKoN)+k|_496OR(hQ+9)If(j?pZ z&}O_XhG3U5CBKV0k-g#O=KMfq=iHQe#6V>l@ZU>$?;=8c+SYO*#B|dDW#LwAZwD`gIM!(Y>nsAfdB1`zf{J_VG&t5s|Le4Wsc(LGVFZB5)u@ij zf~#rk^dnHbQkzz?Ee4_FemnXR0I-V)?+x$v0F+>tO1v!~7U=>-lunM|#MTr9fU?Pe z`l? zJGcn(MZ3hei~Naj0Su?AAdMiQ%$=`MP44a-^dvK&U8$yw-@}w;f(-!X#@l8PilnX` zP^-5j9Ft@s&4NcuGX19_1r#gGF6^=M;L&nS*AcF2A?jQgUqfGu_S2->%8CM6q^xu9 zZfA0+WJS@QJWiQcj%mUd0Ku-Php!DbU}y{3O7`U0$|rb#fh@kU{HyH38oLl4t;$4N zNZ=(P^eR1q?ferh-q;*UEpP+UJOZ-$7&)eMIqnX(7SVr2k zMox@*CZnD5)UM8u0Z!w7ugIdn$>)zr@MK`>Bd*9>@8yeGFA;cB8a?K-f@^UZmtW`Q z8&&^kJ>MuOUu6P2E%?Cu0<$Q+a{gw2@z&ig!90A)lRRzV&1_NebS?j7E8%77?@uKQ z8+l)ww=DL?8K#S-Ym*xf>5^U^rl#b+e6iSv?)jxhGzxQSy0w{$=a8)VtazaQTI3hj zTmkezv&_NsK)1BZM^Y5{PqQNM7GkHkl9vEL=5c4s#6LZV&8=A>Ii9zZ=}ezLXnXPJ z26b54el{zupo_qX(&7?N33n7;!ZnM3sw}qiXtNj5Md%%roDR?M{kk0l%Ctom|DO47 zz+9E=oReu|j|==88A0ODdqJsDl?G8RtB=W9t>f=RBfasg-NP~Q5jOP56T^C+-G8HP zpkZbvf2+#Ac@Y{sLamTNnQP$eC(|LWWZguj)M)C1m_TrD) zF7%QBtNiIVcvg=bz=&W=F9#4lU8@mHNU{(SE5hVh4riIoW6>Mt!cY_{>Sl=v1arPM z+2lH3Bro?5799HDZtUy;YppuO`rnmt#Y#xrZycX*Z5jCA9vrIpd*2?9FIeyeOmAiS zw?F!OU#mTqEL^u5EH3Il;5?oUj<2bxlx<}0aXmV4aXDO}=9Yc=b-z14C(+__xp6!= zzH5;Acz?FWWaG(I_DiL;MXW`v_3mb^fQzflp)B^7LuSkE*7)w+>Ep|XdliE{xx@5@ z$MCI8zq_-WtxWq3%RQB{*hk)%EYu9jwYW?cXN{#z|~?}LiNoFHK<&Wt;atAia=4LPbCu!>D;i4u92eK?g> z$`>v59LX`LFZt|R077SjQ4&JqKDRB~C}N{)CZkSx3DV8;3px2pl0k(r6!NLba9QAm z^yAVRz1#V0a74BY9m9sxT#;U>S45XM^|-L5w|m&V0y$MYMz6_`hvMvFn%v>+)a{{O zcPc9bo>aN`m(;rbPFfj`AX7ieGxfED7B;;=>%0xQQP>15QFX z$rlX9S^deorh%zRj73Fao}b2cMtVzkV{SV^$F9Rigzd~0+Pl*_njf8SP}(MVOQ(0; zynm);AQDwVLm`g;EGx&;24Jz#H*ci;Z!+mgmB#QSqdicY$6!Ebr93R!TU_*Bvn z`J}n8_i#HotXt^I(fP>7+Bw%F6w~8jh|i;Z(FgZq6hdAym88+x?0Y|Xv2aDP|6Z$~{k?{-h5w47esI0p{(am@&B0-@!Wk31+L5&6 zcd<21ohy;ycY1P6yy5Yo>+zV$6DPKliqMLS~5S^Dww-${q>KJ5e zZk%*aZ@gj&V=W=apR-9Fd7=HsLxtG{Nx)(~pTD^_1Z+7UF4a6jAqw@wRgm_WNWsFQ z(4{H=5R9xz{q{MwbeiOn{waT)WPTn}BtGX#lVzBKmCehuhk*=1@*4_cw(u_N*x3D} z2C9)5auHJccZMU?q`7WN%f&-eWqGnvwbMrL$EDL#bcQ3$Kjn0CXnshYNgHfmueat- z)*%ojN503^sz>kj8zvihksMc1(|G=NlV~k8$~6w_I5|&z%!})`&^#@ndmx@p8;2b0 zX3yi(B*wh<*FAE_7g6v}dw3jyD%!~d9Gcchjm@(7_@JKh@Yx8#+pqvF#}Vt>g7gZUD} zKv4orY>(PVLtbw&5;StFpcO3$?MG!$gpaOz3XBA+MLAWN^s^r?1USC=|m&2thTDJWUs5T1Lf$3fSp%qFr;=(%N>F{^c>qQ%v<;(*g zTi#$bdrCpDlKG=2{iMB~7QKL`#9J zOn`T#EozXg({K?N;usflMm_Ubc$9L#oGmm#D-kgJY56vk5yc4Ut#7{|l^n6$3*n%i ze(YJpvAkld@hPYd$6PU2-T3fz26xSuJ@yCjf{N44A+xRZ)mLOMewLfqyr>zQSpEZN z!H|LP(U?$}v?M&2FhBn7>v)FkBbdwsQQ~edU=7R;r%HYquwF|sJXX^BenzF~gL$R((jvus%Otl~%pR%KC&Rs19~{KPGn!3k)`~;YEZRn`HOc4XJ-$%6Dv_%}twMe{GyI7;*iPB!#ciG*{ zfv3XU?s#oCRcfmhz5HjC5h0A~U8vF0* zKS=OTg-x(u7#-YL;eZNNoog39;^H;x$J-{abKzx;vWlNs3e zvtJQmY6hd}&dWd5R(i?Y`GT$kx%Gx`e)LuT#5lxamPpRA=MQOMkxVnsjQ6k7o5K#f z7|~^_JXQ$d6$?uaAQAmUmgl2<^#LQrRLb|V?{O=x_2on_d=T~jw4*FzLhJ75Akf7$ z2t@cFJ2J5}at8Je`1kW~=uPPc4s%-Z-AlyDhsy$+Kh2IGzy0o~*?&zGwX;aYAa>8~ zP%S(6RW2tfXT0CJ)@tUKG9Mg;{4OsRc4F6#stqo8Q;p_(xy8L7?cMIpU!1RrQ~focQTaXR znel>Et5F-rT=IikN8U?Z z%=!JD{d?Xb&xn6(Y>M}1wU?wBvf`yG(EFL_Ooy=jqgT>v z47W}-^TiUrD|RH)_gCEp`6{Qk;w=w$Gs+9TkG>RFy(BHdcWam~)+*tmK8p+3$5?6a zYGN&Bcm|4g&%&+-d@d zbUns;*>dagcL8hn;oP}GmowHu-ao3>JIy{Ps9+p-)oDN-nW`X4c=*FjK}vPE@t-fW zHdQ}3KC$8`eVth2$uN)WC#wH25oP?LCY$vWBUhC3pO*DpZcHzYZ?Xv=xiW$>j0d|pjui>G!7Qj1Zx;iaOIJF~^^8)_XU+!f0}bpaX6c%4HMT`} z-=2RfUq2n^I^Rq3x=;|i{bttsEm&9k!m~XAI5*8yHv4YTTD^z)y?SrFJ7)}Tu+v`# z^AUwVk5}oft6Z<$&l$*g)NFNa(2x_C;8qZ)HW?IiF#5j5!G7ALWvw8#pEt#4ptI@8 z2}20o4%mKT}HTE!B2|U%vRaM{gKJek~2KMMp2c z9{N&=yeg0tCwap@_|o(jZQu|?TT&~QYpg*+)s<8D=X|jMoDh|i*hooS9dlMyTNH><|*NH-W5b$D(t3|>&z(9^Ti}b0!;3Gpf(kl zls)fq_@<#>3et^PmS4xHB65&p!2MOI5E}&@=n9iRevo3FOJO@!{}shHmrHr;5W?eX zf#Hn^#vM~0;hhQ$8$?s43X*K^k`FWtdKSo~_U#=aEyyt7ZnO>bj368tA9>wfBoguD zt&3q>api_&WObxug;Qacb0J7rm4rNih6@QK)g8@&CJm8Ogtg?1Soa3O%CnYHd6&(= z{Doa$-sOAYZ9|lo%$ofJ6KE^dNBjLR8dt^uH_Gmq7G)6{{lqI%mvWT3K?BrHS0ykw5QWMlT^o|un zi@A;m9gQ)DZuBd1h|k|9ZW}uVnxURg0jel&#>ohzWAss!*)?Vb#If^IST5-#n>1l} z5NB-TJ_Qe6dg>w zxg2`u8i1LY{U;{i5yYa>1lzFj>Yw7gO&Keoh(Y{Ogw%5|Es z4k(6kpGEc9D^)3EpA_eR(nJJ|V7eT2uon@%)B8!wm1MTiQ(BTFjyGh(_RJ?M5HnN( z1C?_K_&o*rhJ1?tF4-T$f#x$KiTRA6w;RDQd%1_726?z0-?<>FyqlHj9bh??`S@G_=0Fn8k2;V_9A`1)snuG zKSUC3&NJJ2S&lTFh<0IjR(e^#V5Q@s!6Za=p;{zgfnS=iPt@U9qZZ5|!x}WnGtM;0 zS`bx4!&~Y0o^~wEbW)=4y|9)UmNu;GLWn7Ios$M)FGu&Y?U@QbCbvv?tPBdarIv7((MmwrGcT;rDyD^iAqBz-)d&IL zEK1xEU@ILX|+4(ezJNA=X8__&Q9%5nyPLm?x9U`$t1j8uA5A@(-#vkeBv zJ_j(xa=Bwbr-#h97Aa(54dW~>3{ZGSKawLe7I+;dfd|5VE>y$FJnm!*mc&l1NC6gu zni-Mg1`M2@EfD)T`7N4MMMXM-So)Y0_8Mx!*0_>mu1%Kf8QB-08$dHYzoQKnnBRcr zVbrAM*@ng#xEe^-fImKC2AtroITS($elGDIg^=7bK!1MV3>V2=)Do{UBVT5kmr-Cw}%Kf_xyjnYxfl0g6 zs+KceZbdX$X(`jUTVpkN^{tNUyeVOupHO41Eeukgz1mBJ)Q++YQ^BdrUhS!%5Uw-2 zBSZ2OLlz{I&qgBe;nEVuQ9@76#TPC&N-3vp-2;)I zpQ9>YKW>JWX;kVuGtQqR%Mc z-V$x0pTM$`4pXd0(%nE3s;H1|E9h;JWE%xony3ra zfZh89P&tYz?82VUVukJr%S&~H@|%{lVTSI3NLU5mV_f-a_{1kRC6xwXU8@F@U@-Qe zC7{iCWz7g{EMKv9VzdD%BZ8J%ke`gzo(9p+cRbK&0~D5sMDiXKCOrY zt(uJ80Qk9xrBRcTc4jmOYDXUsg+UZ#a>cM|kXAN#4Kn6+GpaV$b@@(txjZXj!VOtJa)=Zx;WS-ehq*;;Hw#^Fd7$K=H z|G@dTsj%qB@TVGdv)hyL23KvZKq8F(-%duM2h!cqGDxDF#bdtxO|}$u<%pab(#u-d zjuyO!1t{DawzdjcGuz*?l>1;KDkVZBQ`n|jyM5)a{b^f=ODKgHr!Bb&E0N6mlD?A- z!St7HdZYUVVA;INP8^4_s`@`#TliGV*UB{1BG|}6x|rePJcl+n9p9l zh%oXADb}MHbao0PaVG5J8*y7L~jBoTziQ9n6g4@(Kn4K_i=te`lug{?J0Hq2mj6ZZaujaDoJ}n(ic83olvAp> zGPJh;xrqrMDYIY=)ABeHAPR_ZG%xQXKgrbhc9=wodN6G>1&HJX55z_2x&{gp2*_5Q zlfnw!F;r=DTfZFJLDWQ=Fzq=bT^%(nQZFPHYNZl%xoEvM3JQmLJ_J}kBl`@?@WV&iBM2Eu)bHo^l^h?Fp(Uy@e$_;nFaF^ z+ELnIznDE}RVon!01s)#N2ZbK#`ze=pNIUE3XGNu;f;xrTpz3@A1y{FE;t4&7>N|6n&@P}iKY|C>77jxTBfl z$WIAf9|H*T0i-9S&v*fY)j_0@d1#D8BEt-od}03zJ7%N)jZASzT<)iw@2+i*(N zqPI0A+^N6IQ#!=Y+hOoFDv(%am};f3{F0-H3e7p4-6L{fuo zIP@A`^woef)XHt@8ZxZ&saBKC$&PQ+ImMx>J`+|p-rLxC)f4_?LB2oJZ;* zOSc8zn_uVGV(%;~J!&_dei$_2R$ifN`Vbz8pv(=ow0ds$Sc$LyNL}>#>hEzZ8UBu# z<6!F&YmHI)TPje}TX(7b^EmHYIg>9`dTS>kmO0~d*NPPmpWL?+Y&N#laRY%-3 zK3UUs@rw+Pu^7_CuYeyr&F>Xl-t%{#?rUXG-PkY0I+#%I_O6XmHQtJ6a9*a~udIGl z{;-!&pS(MlQ{P1L>oIdL6n=fD<3y@1M!j){8S^|{Oe~}0BJossWAbI`W$eNa|NB;; z^!MT5s>v9-kg9uwAYw{kRoHc_+=e7rmOJLj-yUS-Qcc3+N{LeWm+_F|B; z*QP|MYNvX5suF)+*3J~X^ySC*kg#cUfnoCFXDDR@-w!>1SCgB*#G)A?$-;jXeG(nj zq|F(nxL9bb)31H0&0k4K_Hwi|O6f%l;+k_dL_tj4i)dqGhFnF-gyrwMrE*(N`@`Fw z*LJ(Qn=X?R%RS8x?*tn;f7)7;SeIIZtH2-MD`)(WJ*{5QHT^Lg;2f31er8j^$&6<5 zYZ_yZWMNRE2JrhqrygNZM5Pd-?S*+GMvfB+L(oQPEU^?dEuAf{+~ss0ZPVRYx6l zm8r#ez6(1B_m2RT=V&N_{K+0HDp~^_{Akh=kt#b~{rI%+zDK-#rT9gzQ2v_+LRj5` z?_ggWX^L=FUoLd{m>)fu=EAeB`HawchUm6UY2j7hC~3N=%-#X!r_brM?(Uyjo*nLS zQnwSBOPwI&MJ;;%yd`RGM9X1f4%Frec^nS$d^CTcm&RT9E2Oww$dM+IR3{))H`O6z`YwL*6tH> zxMvcxw*cAR7Rh1KlD43x^S=DB>?nNq)@|{FjOpQCIqq+Qv&!xCN3T%Rv+P%g6!Em_ zz7cy1_o3VA5IWIowEo_92K1n=%jN_Kl&}IGet_2B=<=EU#udM#m98;!dqRXOCpWfl zn_gChJ2Xa|E;kmpxlzBu?6670*i)|$)-`#W>?Y|iZ2-|UkcQYqo;Q{!|hgC5bU z(2Bx3+RK}yE#=sU!viTC=F3N(p~s#y`3ov-bA@Vx_xcli7iq;dKR19aAC3~gAn&0)$o>od-vj! z0>s~G+4DZfMoj48Zvu?s>`hIsN>Xn5UwM+YcpJP3M#D)oq(a#1H;?)ILX)KsUadnu@D#%Za0cyH3@HH@rxHGP!$M`$2ke9Lu#9+p!{ zVwtZ69DP1=?r;G=inYk;)2!PpiZ;Wl`{5KYRc;bxFZw2Sp69RH3}PiIKQ(W?HXOwo z77BbK?I(Y@6=m&&Bo*mrrlQ0@e@$b5n)DOG>C;|K(K1e<6giDc9dRg0Kyat8JXqj8 zBX#WU z1TxI|YHy^lu&TX=d)N{00mIz|0_>m8dxuGN8gIWmUmcbwlHUFD!VF~8f(zU;8{?)8 zr8p5Bt!~AosJlX?GwSw5;>6cZ3NG=fE!o!%i@90oDicP(?6T%WP!dyq6d&Q{s$a&d zv0gP7zE5`(d4w(xC#=a%F9v!?~X7I&ZKO^498NO3uP)wUc`yg8O%u9&I zx<#u33SITM_s%19oe6(dH? zg}J34*j=9L^GuZ9WIlAUsz8jo40-j7_XECFhVv8>!MhD`DllxDTAjj0cz{+|#=uow z$USVXN{g^^OJOjCPzsmsn!p%R^S%#u#WM#LB=*j-*6WyddSd5J2}2p@uXC~akvY+` z-XVEo8Kftzm}^q%;@PQ3l{HZspr$IsRCFw2q1sCKxQn>nNmBH;ywNx9ICuLBdw~^ zjLxB2u)-Mewam**BCcv&uMblnmeBjy=_ME?L;za?auu%K2h2%>KnrW(-Pj@|ZhYLCZ%XyL_ zZ>1dJFDajuXL9|gwj2Bw^D;-dqEi3fgI5?zde21l>oeDIu2XPqPs*V6@T<|J+?jXb z?!2wWrZ>J_dH@}U>`SN%dAG&VetHVB})_FxTub;z4;aqAb z$1WtbL$w`mqlz10$fbVQ7MVIRC>IuYb=j(LDw-#Ww=fgfqR5wHQ@J5zD06uI{@3}O zkrne!=|7smAVp8WDqseZfTMNt2e>Ghv?&{_J(1Q(3MJp9|t0|r=cym z&NpRNZvBuSPgA2!OY-OXovoV%b7}JLf?rq6HzX_KH8`*ji{EE~H&k z%nQ=P2@vL|ck8a4?d8|SC@4K`XGod0-Q681=3|kZVS+x@ z^Qa!4ooqpl#z3gA4(!e?qf^7*Tvo0b zz93WN-=H0yU;J>sI*#{HXud_PaelbFWWcK?c^M`=7xQ)(bHW;mi@L5b=7U2|rk{eE z{IW>g@VRfGLgi<%9ZUBzoC}`tMKK@6J#^7-U3ggJ_a?;ueO6MKgqPS+DFW*fs*XLZ z?COQ#(X$yAD|x1O6(icJjW{GBkH6@a z300~*w3RRH_K|;?diAi6eII2pR`b3`#!`bK^YGh1^gy@496b^dAV{($Bls~H=dA4( zN2@sBKjK95b%ZouOiFsoGHIcUFC&|#4-D^bCSx?PPY5hiWpubKhlQS>4|x1i_hm>D z-0=!~hzo5lB10vCYLCpYUUB$#SxM}d21e_I!&O|nhUgrb^orxdNSd9|)eSnDhCStL z2$i*o56C~73K>+UwIBFK0WcTlAEx5qV&UkaWnyY$;ly|FdEYa)`A1E?j-UGRg5ox+ z*)7Udkxuplr)$=*p9r;xXQ(CH*&9j**Y+e$yp-)%#=6l%t7})tS7l2#>dAZMNrFn$ zyYP31eTEVYeJ}XgT;kv)5jft1xS`&KrJL|TqprTZP;%0qZ7jVj-HrY=Pluv`u=@Gy z5n_`v(U<6YM*}&?D{SH-|CwT>H+zL!JEWBqlO5eV*?3BXA|N~sH|0(-|MHmwHGZBR z5+QwJ)h*Y%zC2=HxTMySS%Tj0I9iU{>E#(dz&bt$VIC>;KnO86f$F>2=+meuaJlxf^sA`pF zsTQQllkwcL?qk2W6H;o~DHF|_XCEwXVD`xHc_D0!nFhhdH2SQ7xykIk*+1ycB`t{1 zSRJwso{8Tzr`C&kL~qyPqgJp8$sxt z=nA=N-MV~J>yC%3N+CAW zbcJnCJh&AoqfhUR9j6eH-M!!xV^Ma}E#rKjVcuy>m#D!;;r)E=BFcpqNTeV<9;9@LWSFdNGs-n^tzz{vbQX2H{!slMCsC@}lc{unbe zI|RbQ%-PZou|M~He1=5;+o&2B!q>o0v8ONEusrHbJyH)Yw?8SVEvswQ8_1bGN?+55 zt?p@C1I*5+Rq7>AfZN$&`wMBj(<^ z+Y`sGR4NGtzbicH8mP7#sexLd3b(LD@X|tu!RG4hd^Rh|_s^{A@5aHQO)r`iZCT5o z(UqCAv%C^~mk(>=G{)X%sZE*iBCQ>3WVepkY*-Trgk%>-x+O?L!uv-I$UU^)Kl9zf ztoUJT(_h`OkQf(laWNW^6*h=b3p)PVVCk{AZLnyEP)Tu#&BFQKhg>%;+2iS%d(`H| zOnJPDK{`T{R^75@nzXmYPv1J}B`Tu*qA*_N3{!4G(*2h6x(~oU!@H~k8*29?y;_Xz zg1?!Mz%D%?+>02ZRP|9gb$bX^pbqHtcdauY=TO7|S|0+m4h2yjGPg6+aI~{`;xn>)uN(KRc@qhdETvH9*$q%hyUxN89=x5r{e7S;9F^QM`LDYxi5F=LfnA&=9$x2Vo6 zbz2gm>K;~4gc*N9KYDflxzI{gT4{H#)JLHvF{&t2qwX%ayo1W-*Qw!lhKP64aEu=$ zp6#W+{~(3j^;jw?)doH8qrr+iM=fYbr5WlkW_7)ZynHAf4)68lgwYC0r`pm*dEKVW zea>jD#sB_h#Ftt^TCi;>{kSlU8AHlKFL9V)$^d>{*P}XKLQ+4hbQilSuN`*I?fv|) zv4X*#_qCkYLsvdkI-8g^ANIMZbD_;C!@1*u%7aM!#36?50W`KYhRu*`8dBXMDzSVcEWi?~R;UL~eQ=Z5cRW(-BthvbCNuufvV6 zY3g^vxnV2P?wrwLny(T2Iz{`GL!JgcNSXci>;pr-G0~vs_w_Jk?HZ}ebAS<3}vt_VDkv6#EtmRy0sa(0vr> zKV&9A+kWKyMxdZ^G47C`S(ePhHE{T&VOTyzPJhy|ipvfcrqP^p&Ozc9N2LN^Yz>dY zZTf^P@lp!S>Wf=5)9J=nqRPsTQ)nIc(?mSnY}7$xqRXnomE9`hM60M!gNjhMro!o4 zlxb2Mz9cjOT+Wm}I)lqws8w2RUF8CiR@2MI;f$?EDq_8zosg?;?T`J$)b?PPK3FQl zqtpWLU)3HCUeNFc?w`NgUFw%xONmDScSP;`-F4p&F*C6-lY^UBBEFlQO@ED5e+y0Z zh$qVei!=5?*~_vr@mFpT^1?9dWl&?zt7FCQ?r?J0B`F1V>v}uUWN8zy`PWfs(X7h7 zr6ibi|IXM5zH>_*&9~6x7QI!DYI>XGpA4NDm5R;(yf7UAhA>0& z6=GP(l+SA4v8uuGFB@^&^N)IEaLH~^2`*+1NZi=0_?Eu9*N(Nfc#0?-9On-_=wZJ~ z6Sce%7e0AV@x}#Drk28gs+90)9vu>viGu2J=UT%jfo7>CA})S1}KWW`@+JfEfo?PlG9D zhT5ipWd~Mo12~Lfw5frh&!LATX)xJ2cEYa2ouu*f<-z2er%@tcmop=t`Di&7lq~qk znNym9Qu!ak%#%kiU3!7XRvM6WqzO@_6m#LJ1G9Kq9P zdPVDJ_VZ$(jx8PRWd`bVLBy#%{6N->}yJ)930gF&Sui{ z+!-fqvm3%~e=i%G0&j%=ca>^F;%&r@`33}p1f5QQN>%XH! zck$*L>XpB7wVdzhO)pZh{u>Th&v*6a7U^5R?Ly=Z=#>|_{sjlnUCgzPpQ0GY1%G*E)t0KV^+^T~G-#<5m+tFZx9O?T<(b?C_KnRWL{zOhw&K{qykg|I1L zgdC7swn^`?YpUv_TkFJs+gU;8Z;ZYTy)V5DWO)DX%LOZS=#KzCoGP%6_>Zx+{p2T` ze?BOaUV_T6`|Uxk7C6RCp|OcI6rqUvhAfrr>4=1@w=Bc0UhfU621D8`5Tc@czSgC7f=imjygf`&n=G3Ad9!_< z%k&v}o?t;}_xRa~z+2e<*~{j#`e&ZjC##3*P6sB+Txy&#Iz zk!&CF`BMhts|$>e`3FKB)HemPj?Qc_8fVz-)!3SD;+WGY8YF`>CZ)I8HWJx)2pa{` z9^AOcUJE`p1ZuEt;lJ8nHyIn+@;<&Cb1w65x`GaFOHIFx;_=uq9Z$;{iN$=&WMSAlA&+2 zP4g+(kt-oFCZ!^hvC@#3##~W%dU+XLxu$+&<=A+ze@l1|d*t}}jJqWv*^#B{a2p&{ z)Lm5DiqqeL)K8TQr<{%HGqzp(mNRfAkdxM=ZUUp9V?tF+eP;Frj!COfmN1BRlM}g1 zpnT6b;m>Z=WWHD9!m*3fNgD913wg4;80mJAY`bX50_hx8e%je~-At2(!4A;G4+A=M z_#!~%{5vceJ5$Bi4QS{ruq62Y2!UT;`f_$agc9LwtmR>E;biz-Q5q`00u*WUv#$bD zs=zw-=r7VxVBPy8eRDtKkXTS-GYLTpoVghoy;Hvk3IQww5FY&@`#l%b)XvWO`?>#! zBdcxsJPp9P4B$Y1!3hMe3BdUofw&W&NZlXy0s-0`SrF*hFT%RO#Q?%i&K^M6`cD_0 z1=}&%(E%1w&4>3nkppQXfGPXedH40f3Gp zaW{Tw^q@0;)F*K==>cG@(>~yTGe1Aze&&Dv2uPfmc>tK`ybt(WnkMlz67TUjK!^GAVwhOF%J;%PxldiV>O8ph$*lG1VZ?)YWZ0q#3;n<$N|dPsC|?Je&jcVojNZp0;uDDZhJAj47?e2VeE_-?vkyuX04J9JHF$d<4FcVd1A&M`xx~`H2E~4s zR!jIv`rjckVsYZw#sNS>(vQyn9O)pICZ0_Xq@QO0hq2k8TZyrVC!YhXyqEt0Ykw-z WP$2^tBoOF0P+pLMKpi>XTmJ>D0oQl{ literal 0 HcmV?d00001 diff --git a/tools/validation/adctest/DCTest_1643mV.xlsx b/tools/validation/adctest/DCTest_1643mV.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..6c4999f1cd6bdaebe8d331dfd85227a799fb1adc GIT binary patch literal 46540 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 z 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 literal 0 HcmV?d00001 diff --git a/tools/validation/adctest/DCTest_1643mV_5SampleAveraging.xlsx b/tools/validation/adctest/DCTest_1643mV_5SampleAveraging.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..7e1fc9ed6c9d00b11964b35d93912ae589f2a363 GIT binary patch literal 45114 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 MD&Q3N$~r3j2aFw%egFUf literal 0 HcmV?d00001 diff --git a/tools/validation/adctest/abstract.txt b/tools/validation/adctest/abstract.txt new file mode 100644 index 0000000..c455ec6 --- /dev/null +++ b/tools/validation/adctest/abstract.txt @@ -0,0 +1,22 @@ +This test program will read 1K samples from the ADC, +and send the results in CSV format out via USB CDC. + +The test results can be pasted into Excel and analyzed +to better understand the ADC performance. + +There appears to be a couple LSB of variation on the ADC +of the LPC1343 Reference Design, including some fairly +large one-off peaks and valleys. + +As a result of these tests, and additional flag was added +to the code base to enable the ADC code to optionally take +a number of readings and return an average result, which +helps reduce the effect of individual peaks or dips in the +ADC. + +Results of the tests with and without averaging can be +seen in the included excel spreadsheets, showing min, max +and stddev for the range of data captured. + +As was expected, the ADC seems to perform better towards the +middle of the range than on the lower end. \ No newline at end of file diff --git a/tools/validation/adctest/main.c b/tools/validation/adctest/main.c new file mode 100644 index 0000000..24ff7f7 --- /dev/null +++ b/tools/validation/adctest/main.c @@ -0,0 +1,106 @@ +/**************************************************************************/ +/*! + @file main.c + @author K. Townsend (microBuilder.eu) + + @section LICENSE + + Software License Agreement (BSD License) + + Copyright (c) 2011, 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 +#include +#include + +#include "projectconfig.h" +#include "sysinit.h" + +#include "core/gpio/gpio.h" +#include "core/adc/adc.h" +#include "core/systick/systick.h" + +// ADC buffer +uint16_t buffer[1024][2]; + +/**************************************************************************/ +/*! + Main program entry point. After reset, normal code execution will + begin here. +*/ +/**************************************************************************/ +int main(void) +{ + // Configure cpu and mandatory peripherals + systemInit(); + + // Initialize the ADC + adcInit(); + + uint32_t currentTick, lastTick, i; + i = currentTick = lastTick = 0; + + // Clear the ADC buffer + memset(&buffer, 0, sizeof(buffer)); + + // Turn on LED during ADC read + gpioSetValue(CFG_LED_PORT, CFG_LED_PIN, CFG_LED_ON); + + // Sample ADC once per millisecond and store it in the buffer + while (i < 1024) + { + currentTick = systickGetTicks(); + if (currentTick != lastTick) + { + lastTick = currentTick; + buffer[i][0] = (uint16_t)(currentTick & 0xFFFF); + buffer[i][1] = adcRead(0); // ADC Results + i++; + } + } + + // Turn LED off + gpioSetValue(CFG_LED_PORT, CFG_LED_PIN, CFG_LED_OFF); + + // Brief delay before spitting results out via USB CDC + systickDelay(3000); + + // Print results out in CSV format + i = 0; + while (i < 1024) + { + printf("%d, %d %s", buffer[i][0], buffer[i][1], CFG_PRINTF_NEWLINE); + i++; + } + + // Wait forever + while(1) + { + } + + return 0; +} -- 2.20.1