==============================================================================
NEW FEATURES
------------------------------------------------------------------------------
+- Cleaned up /tools/testfirmware to include more recent blinky, etc.
- 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 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
==============================================================================
</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">
- <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"/>
<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>
</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>
<Environment EnvVarSetName="<Use Defaults>" DbgSetName="<Use Defaults>">
<![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
<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 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">
<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="" />
</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="-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 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>
- <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>
/**************************************************************************/
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);
====================================
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)
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
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"
uint32_t currentSecond, lastSecond;
currentSecond = lastSecond = 0;
-
+
while (1)
{
// Toggle LED once per second
#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
};
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
- 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
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
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
- 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