Prep for v1.2.0
authorKevin Townsend <kevin@ktownsend.com>
Mon, 14 May 2012 20:27:58 +0000 (22:27 +0200)
committerKevin Townsend <kevin@ktownsend.com>
Mon, 14 May 2012 20:27:58 +0000 (22:27 +0200)
ChangeLog.txt
build/codelite/LPC1343 Workspace.workspace.session
build/codelite/LPC1343_CodeBase.project
build/crossworks/LPC1343_CodeBase.hzp
build/crossworks/LPC1343_CodeBase.hzs
drivers/displays/tft/controls/button.c
drivers/displays/tft/hw/readme.txt
main.c
project/cmd_tbl.h
project/commands/cmd_pwm.c
projectconfig.h

index e083124..a625b35 100644 (file)
@@ -2,7 +2,9 @@ v1.1.2 - ongoing
 ==============================================================================
 NEW FEATURES
 ------------------------------------------------------------------------------
 ==============================================================================
 NEW FEATURES
 ------------------------------------------------------------------------------
+- Cleaned up /tools/testfirmware to include more recent blinky, etc.
 - Added basic TEA5767 drive
 - Added basic TEA5767 drive
+- Added core/cmd/ansi.h (rediscover the joy of ANSI graphics codes :)
 - Added fastHLine and fastVLine to lcdProperties_t for all lcd drivers (to
   known whether an accelerated vertical or horizontal line drawing function
   is present in the driver or not)
 - Added fastHLine and fastVLine to lcdProperties_t for all lcd drivers (to
   known whether an accelerated vertical or horizontal line drawing function
   is present in the driver or not)
@@ -10,6 +12,10 @@ NEW FEATURES
 - Added PWM command to CLI (thanks Miceuz)
 - Added optional callback in 32-bit timer ISR (thanks again Miceuz)
 
 - Added PWM command to CLI (thanks Miceuz)
 - Added optional callback in 32-bit timer ISR (thanks again Miceuz)
 
+BUG FIXES/OPTIMISATIONS/ETC.
+------------------------------------------------------------------------------
+- Minor accuracy improvement to pwm.c (off by 1 error)
+- Fixed typos in cmd_pwm.c and cmd_tbl.h
 
 v1.1.1 - 14 April 2012
 ==============================================================================
 
 v1.1.1 - 14 April 2012
 ==============================================================================
index b59e362..c047e00 100644 (file)
     </TabInfo>
     <TabInfo>
       <wxString Value="C:\Dropbox\microBuilder\Code\LPC1343\LPC1343_CodeBase_GIT\main.c" Name="FileName"/>
     </TabInfo>
     <TabInfo>
       <wxString Value="C:\Dropbox\microBuilder\Code\LPC1343\LPC1343_CodeBase_GIT\main.c" Name="FileName"/>
-      <int Value="0" Name="FirstVisibleLine"/>
-      <int Value="6" Name="CurrentLine"/>
+      <int Value="40" Name="FirstVisibleLine"/>
+      <int Value="60" Name="CurrentLine"/>
+      <wxArrayString Name="Bookmarks"/>
+    </TabInfo>
+    <TabInfo>
+      <wxString Value="C:\Dropbox\microBuilder\Code\LPC1343\LPC1343_CodeBase_GIT\drivers\displays\tft\controls\button.c" Name="FileName"/>
+      <int Value="43" Name="FirstVisibleLine"/>
+      <int Value="56" Name="CurrentLine"/>
       <wxArrayString Name="Bookmarks"/>
     </TabInfo>
   </TabInfoArray>
   <SerializedObject Name="m_breakpoints">
       <wxArrayString Name="Bookmarks"/>
     </TabInfo>
   </TabInfoArray>
   <SerializedObject Name="m_breakpoints">
-    <long Value="1" Name="Count"/>
+    <long Value="4" Name="Count"/>
     <SerializedObject Name="Breakpoint0">
       <wxString Value="C:\microBuilder\Code\LPC1343\LPC1343_CodeBase_GIT\main.c" Name="file"/>
       <int Value="60" Name="lineno"/>
     <SerializedObject Name="Breakpoint0">
       <wxString Value="C:\microBuilder\Code\LPC1343\LPC1343_CodeBase_GIT\main.c" Name="file"/>
       <int Value="60" Name="lineno"/>
       <wxString Value="" Name="conditions"/>
       <int Value="0" Name="origin"/>
     </SerializedObject>
       <wxString Value="" Name="conditions"/>
       <int Value="0" Name="origin"/>
     </SerializedObject>
+    <SerializedObject Name="Breakpoint1">
+      <wxString Value="C:\microBuilder\Code\LPC1343\LPC1343_CodeBase_GIT\main.c" Name="file"/>
+      <int Value="60" Name="lineno"/>
+      <wxString Value="" Name="function_name"/>
+      <wxString Value="" Name="memory_address"/>
+      <int Value="1" Name="bp_type"/>
+      <int Value="0" Name="watchpoint_type"/>
+      <wxString Value="" Name="watchpt_data"/>
+      <CData Name="commandlist"/>
+      <bool Value="0" Name="regex"/>
+      <bool Value="0" Name="is_temp"/>
+      <bool Value="1" Name="is_enabled"/>
+      <int Value="0" Name="ignore_number"/>
+      <wxString Value="" Name="conditions"/>
+      <int Value="0" Name="origin"/>
+    </SerializedObject>
+    <SerializedObject Name="Breakpoint2">
+      <wxString Value="C:\microBuilder\Code\LPC1343\LPC1343_CodeBase_GIT\main.c" Name="file"/>
+      <int Value="60" Name="lineno"/>
+      <wxString Value="" Name="function_name"/>
+      <wxString Value="" Name="memory_address"/>
+      <int Value="1" Name="bp_type"/>
+      <int Value="0" Name="watchpoint_type"/>
+      <wxString Value="" Name="watchpt_data"/>
+      <CData Name="commandlist"/>
+      <bool Value="0" Name="regex"/>
+      <bool Value="0" Name="is_temp"/>
+      <bool Value="1" Name="is_enabled"/>
+      <int Value="0" Name="ignore_number"/>
+      <wxString Value="" Name="conditions"/>
+      <int Value="0" Name="origin"/>
+    </SerializedObject>
+    <SerializedObject Name="Breakpoint3">
+      <wxString Value="C:\microBuilder\Code\LPC1343\LPC1343_CodeBase_GIT\main.c" Name="file"/>
+      <int Value="60" Name="lineno"/>
+      <wxString Value="" Name="function_name"/>
+      <wxString Value="" Name="memory_address"/>
+      <int Value="1" Name="bp_type"/>
+      <int Value="0" Name="watchpoint_type"/>
+      <wxString Value="" Name="watchpt_data"/>
+      <CData Name="commandlist"/>
+      <bool Value="0" Name="regex"/>
+      <bool Value="0" Name="is_temp"/>
+      <bool Value="1" Name="is_enabled"/>
+      <int Value="0" Name="ignore_number"/>
+      <wxString Value="" Name="conditions"/>
+      <int Value="0" Name="origin"/>
+    </SerializedObject>
   </SerializedObject>
 </Session>
   </SerializedObject>
 </Session>
index 10d1983..d2b88b4 100644 (file)
       </Linker>
       <ResourceCompiler Options=""/>
     </GlobalSettings>
       </Linker>
       <ResourceCompiler Options=""/>
     </GlobalSettings>
-    <Configuration Name="Debug" CompilerType="gnu gcc" DebuggerType="GNU gdb debugger Cortex M3" Type="Dynamic Library" BuildCmpWithGlobalSettings="append" BuildLnkWithGlobalSettings="append" BuildResWithGlobalSettings="append">
+    <Configuration Name="Debug" CompilerType="gnu gcc" DebuggerType="GNU gdb debugger" Type="Dynamic Library" BuildCmpWithGlobalSettings="append" BuildLnkWithGlobalSettings="append" BuildResWithGlobalSettings="append">
       <Compiler Options="-g" C_Options="-g" Required="yes" PreCompiledHeader="" PCHInCommandLine="no" UseDifferentPCHFlags="no" PCHFlags="">
         <IncludePath Value="."/>
       </Compiler>
       <Compiler Options="-g" C_Options="-g" Required="yes" PreCompiledHeader="" PCHInCommandLine="no" UseDifferentPCHFlags="no" PCHFlags="">
         <IncludePath Value="."/>
       </Compiler>
       <Environment EnvVarSetName="&lt;Use Defaults&gt;" DbgSetName="&lt;Use Defaults&gt;">
         <![CDATA[]]>
       </Environment>
       <Environment EnvVarSetName="&lt;Use Defaults&gt;" DbgSetName="&lt;Use Defaults&gt;">
         <![CDATA[]]>
       </Environment>
-      <Debugger IsRemote="yes" RemoteHostName="localhost" RemoteHostPort="2331" DebuggerPath="arm-none-eabi-gdb.exe">
+      <Debugger IsRemote="yes" RemoteHostName="localhost" RemoteHostPort="2331" DebuggerPath="C:\yagarto\bin\arm-none-eabi-gdb.exe">
         <PostConnectCommands/>
         <StartupCommands># Make sure that we are using SWD
 monitor interface SWD
         <PostConnectCommands/>
         <StartupCommands># Make sure that we are using SWD
 monitor interface SWD
index 49398d9..877fd7d 100644 (file)
@@ -73,6 +73,7 @@
             <configuration Name="THUMB Flash Debug" build_exclude_from_build="No"/>
             <configuration Name="THUMB Flash Release" build_exclude_from_build="No"/>
           </file>
             <configuration Name="THUMB Flash Debug" build_exclude_from_build="No"/>
             <configuration Name="THUMB Flash Release" build_exclude_from_build="No"/>
           </file>
+          <file file_name="../../core/cmd/ansi.h"/>
         </folder>
         <folder Name="usbcdc">
           <file file_name="../../core/usbcdc/cdcuser.c">
         </folder>
         <folder Name="usbcdc">
           <file file_name="../../core/usbcdc/cdcuser.c">
           <folder Name="tcs3414">
             <file file_name="../../drivers/sensors/tcs3414/tcs3414.c"/>
           </folder>
           <folder Name="tcs3414">
             <file file_name="../../drivers/sensors/tcs3414/tcs3414.c"/>
           </folder>
+          <folder Name="ina219">
+            <file file_name="../../drivers/sensors/ina219/ina219.c"/>
+          </folder>
         </folder>
         <folder Name="displays" file_name="">
           <folder Name="bitmap">
         </folder>
         <folder Name="displays" file_name="">
           <folder Name="bitmap">
index d03e981..c110e89 100644 (file)
   <ProjectSessionItem path="LPC1343_CodeBase" name="unnamed" />
   <ProjectSessionItem path="LPC1343_CodeBase;LPC1343_CodeBase" name="unnamed" />
   <ProjectSessionItem path="LPC1343_CodeBase;LPC1343_CodeBase;Source Files" name="unnamed" />
   <ProjectSessionItem path="LPC1343_CodeBase" name="unnamed" />
   <ProjectSessionItem path="LPC1343_CodeBase;LPC1343_CodeBase" name="unnamed" />
   <ProjectSessionItem path="LPC1343_CodeBase;LPC1343_CodeBase;Source Files" name="unnamed" />
-  <ProjectSessionItem path="LPC1343_CodeBase;LPC1343_CodeBase;System Files" name="unnamed" />
+  <ProjectSessionItem path="LPC1343_CodeBase;LPC1343_CodeBase;Source Files;core" name="unnamed" />
+  <ProjectSessionItem path="LPC1343_CodeBase;LPC1343_CodeBase;Source Files;core;gpio" name="unnamed" />
+  <ProjectSessionItem path="LPC1343_CodeBase;LPC1343_CodeBase;Source Files;drivers" name="unnamed" />
+  <ProjectSessionItem path="LPC1343_CodeBase;LPC1343_CodeBase;Source Files;drivers;displays" name="unnamed" />
+  <ProjectSessionItem path="LPC1343_CodeBase;LPC1343_CodeBase;Source Files;drivers;displays;tft" name="unnamed" />
+  <ProjectSessionItem path="LPC1343_CodeBase;LPC1343_CodeBase;Source Files;drivers;displays;tft;hw" name="unnamed" />
  </Project>
  <Register1>
   <RegisterWindow openNodes="GPIO2" binaryNodes="" hiddenNodes="" unsignedNodes="" visibleGroups="CPU;CoreDebug;GPIO2" decimalNodes="" octalNodes="" asciiNodes="" />
  </Project>
  <Register1>
   <RegisterWindow openNodes="GPIO2" binaryNodes="" hiddenNodes="" unsignedNodes="" visibleGroups="CPU;CoreDebug;GPIO2" decimalNodes="" octalNodes="" asciiNodes="" />
  </TraceWindow>
  <Watch1>
   <Watches active="1" update="Each Second" >
  </TraceWindow>
  <Watch1>
   <Watches active="1" update="Each Second" >
-   <Watchpoint linenumber="66" radix="10" name="msTicks" expression="msTicks" filename="c:/documents and settings/kevin/my documents/my dropbox/microbuilder/code/lpc1343/lpc1343_codebase/core/systick/systick.c" />
-   <Watchpoint linenumber="138" radix="16" name="timer32_0_counter" expression="timer32_0_counter" filename="c:/documents and settings/kevin/my documents/my dropbox/microbuilder/code/lpc1343/lpc1343_codebase/core/timer32/timer32.c" />
-   <Watchpoint linenumber="155" radix="-1" name="xTickCount" expression="xTickCount" filename="c:/documents and settings/kevin/my documents/my dropbox/microbuilder/code/lpc1343/lpc1343_codebase/freertos/tasks.c" />
    <Watchpoint linenumber="155" radix="16" name="Tick" expression="Tick" filename="c:/documents and settings/kevin/my documents/my dropbox/microbuilder/code/lpc1343/lpc1343_codebase/freertos/tasks.c" />
    <Watchpoint linenumber="155" radix="16" name="Tick" expression="Tick" filename="c:/documents and settings/kevin/my documents/my dropbox/microbuilder/code/lpc1343/lpc1343_codebase/freertos/tasks.c" />
+   <Watchpoint linenumber="155" radix="-1" name="xTickCount" expression="xTickCount" filename="c:/documents and settings/kevin/my documents/my dropbox/microbuilder/code/lpc1343/lpc1343_codebase/freertos/tasks.c" />
+   <Watchpoint linenumber="138" radix="16" name="timer32_0_counter" expression="timer32_0_counter" filename="c:/documents and settings/kevin/my documents/my dropbox/microbuilder/code/lpc1343/lpc1343_codebase/core/timer32/timer32.c" />
+   <Watchpoint linenumber="66" radix="10" name="msTicks" expression="msTicks" filename="c:/documents and settings/kevin/my documents/my dropbox/microbuilder/code/lpc1343/lpc1343_codebase/core/systick/systick.c" />
   </Watches>
  </Watch1>
  <Watch2>
   </Watches>
  </Watch1>
  <Watch2>
@@ -60,7 +65,7 @@
   <Watches active="0" update="Never" />
  </Watch4>
  <Files>
   <Watches active="0" update="Never" />
  </Watch4>
  <Files>
-  <SessionOpenFile useTextEdit="1" useBinaryEdit="0" codecName="Latin1" x="0" debugPath="C:\Dropbox\microBuilder\Code\LPC1343\LPC1343_CodeBase_GIT\main.c" y="0" path="C:\Dropbox\microBuilder\Code\LPC1343\LPC1343_CodeBase_GIT\main.c" left="0" selected="1" name="unnamed" top="36" />
+  <SessionOpenFile useTextEdit="1" useBinaryEdit="0" codecName="Latin1" x="70" debugPath="C:\Dropbox\microBuilder\Code\LPC1343\LPC1343_CodeBase_GIT\main.c" y="12" path="C:\Dropbox\microBuilder\Code\LPC1343\LPC1343_CodeBase_GIT\main.c" left="0" selected="1" name="unnamed" top="0" />
  </Files>
  </Files>
- <ARMCrossStudioWindow activeProject="LPC1343_CodeBase" autoConnectTarget="SEGGER J-Link" debugSearchFileMap="" fileDialogInitialDirectory="C:\Dropbox\microBuilder\Code\LPC1343\LPC1343_CodeBase_GIT\drivers\audio\tea5767" fileDialogDefaultFilter="*.c" autoConnectCapabilities="388991" debugSearchPath="" buildConfiguration="THUMB Flash Debug" />
+ <ARMCrossStudioWindow activeProject="LPC1343_CodeBase" autoConnectTarget="SEGGER J-Link" debugSearchFileMap="" fileDialogInitialDirectory="C:\Dropbox\microBuilder\Code\LPC1343\LPC1343_CodeBase_GIT\core\cmd" fileDialogDefaultFilter="*.c" autoConnectCapabilities="388991" debugSearchPath="" buildConfiguration="THUMB Flash Release" />
 </session>
 </session>
index db29382..c657823 100644 (file)
@@ -59,9 +59,6 @@
 /**************************************************************************/
 void buttonRender(uint16_t x, uint16_t y, uint16_t width, uint16_t height, uint16_t fontColor, char *text, theme_t theme)
 {
 /**************************************************************************/
 void buttonRender(uint16_t x, uint16_t y, uint16_t width, uint16_t height, uint16_t fontColor, char *text, theme_t theme)
 {
-  uint16_t brighter, darker;
-  uint16_t buttonEnd;
-
   // Draw background gradient then outline
   drawGradient(x+2, y+2, x+width-2, y+height-2, theme.colorFill, theme.colorBorder);
   drawRoundedRectangle(x+1, y+1, x+width-1, y+height-1, theme.colorFill, 5, DRAW_CORNERS_ALL);
   // Draw background gradient then outline
   drawGradient(x+2, y+2, x+width-2, y+height-2, theme.colorFill, theme.colorBorder);
   drawRoundedRectangle(x+1, y+1, x+width-1, y+height-1, theme.colorFill, 5, DRAW_CORNERS_ALL);
index 9635fc6..f0fbc5a 100644 (file)
@@ -2,6 +2,7 @@ HW-Specific TFT and RGB OLED Drivers
 ====================================
 
 hx8340b   - 176x220 16-bit display (Bit-banged SPI interface)
 ====================================
 
 hx8340b   - 176x220 16-bit display (Bit-banged SPI interface)
+hx8347g   - 240x320 16-bit display (8-bit interface)
 ILI9325   - 240x320 16-bit display  (8-bit interface)
 ILI9328   - 240x320 16-bit display  (8-bit interface)
 st7735    - 128x160 16-bit display  (Bit-banged SPI interface)
 ILI9325   - 240x320 16-bit display  (8-bit interface)
 ILI9328   - 240x320 16-bit display  (8-bit interface)
 st7735    - 128x160 16-bit display  (Bit-banged SPI interface)
diff --git a/main.c b/main.c
index bb2c280..80c0e8e 100644 (file)
--- a/main.c
+++ b/main.c
@@ -7,7 +7,7 @@
 
     Software License Agreement (BSD License)
 
 
     Software License Agreement (BSD License)
 
-    Copyright (c) 2012, microBuilder SARL
+    Copyright (c) 2011, microBuilder SARL
     All rights reserved.
 
     Redistribution and use in source and binary forms, with or without
     All rights reserved.
 
     Redistribution and use in source and binary forms, with or without
     SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 */
 /**************************************************************************/
     SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 */
 /**************************************************************************/
+#include <stdlib.h>
+#include <stdio.h>
+#include <string.h>
+
 #include "projectconfig.h"
 #include "sysinit.h"
 
 #include "projectconfig.h"
 #include "sysinit.h"
 
@@ -56,7 +60,7 @@ int main(void)
 
   uint32_t currentSecond, lastSecond;
   currentSecond = lastSecond = 0;
 
   uint32_t currentSecond, lastSecond;
   currentSecond = lastSecond = 0;
-
+  
   while (1)
   {
     // Toggle LED once per second
   while (1)
   {
     // Toggle LED once per second
index 639503c..83d3880 100644 (file)
@@ -159,7 +159,7 @@ cmd_t cmd_tbl[] =
   #endif
 
   #ifdef CFG_PWM
   #endif
 
   #ifdef CFG_PWM
-  { "M",    0,  2,  0,  cmd_pwm              , "PWM Control"                    , "'M [<dutycycle(%)>] [<frequency(ticks)>]'" },
+  { "M",    2,  2,  0,  cmd_pwm              , "PWM Control"                    , "'M [<dutycycle(%)>] [<frequency(ticks)>]'" },
   #endif
 };
 
   #endif
 };
 
index 505470d..3d070d5 100644 (file)
@@ -56,38 +56,29 @@ void cmd_pwm(uint8_t argc, char **argv) {
     int32_t frequencyTicks = 65535;\r
     int32_t dutyCycle = CFG_PWM_DEFAULT_DUTYCYCLE;\r
     \r
     int32_t frequencyTicks = 65535;\r
     int32_t dutyCycle = CFG_PWM_DEFAULT_DUTYCYCLE;\r
     \r
-    if(argc > 0) {\r
-        getNumber (argv[0], &dutyCycle);\r
-        if(dutyCycle < 1 || dutyCycle > 100) {\r
-            printf("Invalid duty cycle [1..65535]%s", CFG_PRINTF_NEWLINE);\r
-            return;\r
-        }\r
-\r
-        if(argc > 1) {\r
-            getNumber (argv[1], &frequencyTicks);\r
-            if(frequencyTicks < 0 || frequencyTicks > 0xffff) {\r
-                printf("Invalid frequency [1..65535]%s", CFG_PRINTF_NEWLINE);\r
-                return;\r
-            }\r
-        } else {\r
-            frequencyTicks = 65535;\r
-        }\r
-    } else {\r
-        dutyCycle = CFG_PWM_DEFAULT_DUTYCYCLE;\r
+    getNumber (argv[0], &dutyCycle);\r
+    if(dutyCycle < 1 || dutyCycle > 100) \r
+    {\r
+      printf("Invalid duty cycle [1..65535]%s", CFG_PRINTF_NEWLINE);\r
+      return;\r
     }\r
 \r
     }\r
 \r
-    if(! pwmStarted) {\r
-        printf("Initializing PWM%s", CFG_PRINTF_NEWLINE);\r
-        pwmInit();\r
+    getNumber (argv[1], &frequencyTicks);\r
+    if(frequencyTicks < 0 || frequencyTicks > 0xffff) \r
+    {\r
+      printf("Invalid frequency [1..65535]%s", CFG_PRINTF_NEWLINE);\r
+      return;\r
     }\r
     }\r
-    \r
+\r
     printf("Setting frequency: %u ticks%s", (uint16_t) frequencyTicks, CFG_PRINTF_NEWLINE);\r
     pwmSetFrequencyInTicks(frequencyTicks);\r
     printf("Setting duty cycle: %u%%%s", (uint16_t) dutyCycle, CFG_PRINTF_NEWLINE);\r
     pwmSetDutyCycle(dutyCycle);\r
     printf("Setting frequency: %u ticks%s", (uint16_t) frequencyTicks, CFG_PRINTF_NEWLINE);\r
     pwmSetFrequencyInTicks(frequencyTicks);\r
     printf("Setting duty cycle: %u%%%s", (uint16_t) dutyCycle, CFG_PRINTF_NEWLINE);\r
     pwmSetDutyCycle(dutyCycle);\r
-    if(! pwmStarted) {\r
-        pwmStart();\r
-        pwmStarted = 1;\r
+    if(! pwmStarted) \r
+    {\r
+      printf("Initializing PWM%s", CFG_PRINTF_NEWLINE);\r
+      pwmStart();\r
+      pwmStarted = 1;\r
     }\r
 }\r
 #endif\r
     }\r
 }\r
 #endif\r
index 4bc4aec..d3743ce 100644 (file)
     LM75B                       0x90      1001000x
     MCP24AA                     0xA0      1010000x
     MCP4725                     0xC0      1100000x ***
     LM75B                       0x90      1001000x
     MCP24AA                     0xA0      1010000x
     MCP4725                     0xC0      1100000x ***
-       TEA5767                     0xC0      1100000x ***
+    TEA5767                     0xC0      1100000x ***
     TSL2561                     0x72      0111001x
     TCS3414                     0x72      0111001x
     PN532                       0x48      0100100x
     SSD1306_I2C                 0x78      0111100x  // Assumes SA0 = GND
     TSL2561                     0x72      0111001x
     TCS3414                     0x72      0111001x
     PN532                       0x48      0100100x
     SSD1306_I2C                 0x78      0111100x  // Assumes SA0 = GND
-       INA219                      0xF0      10000000x // Assumes A0+A1 = GND
+    INA219                      0xF0      10000000x // Assumes A0+A1 = GND
 
     [1]  Alternative addresses may exists, but the addresses listed in this
          table are the values used in the code base
 
     [1]  Alternative addresses may exists, but the addresses listed in this
          table are the values used in the code base
This page took 0.042561 seconds and 4 git commands to generate.