- *** Renamed '/drivers/spiflash' to '/drivers/storage/spiflash' ***
- *** Renamed '/drivers/eeprom' to '/drivers/storage/eeprom' ***
- *** Renamed '/drivers/lcd' to '/drivers/display' ***
+- Moved all color conversion and manipulation functions
+ to '/drivers/displays/tft/colors.c', and added a
+ few new functions: colorsDim(), etc.
+- Added code to render antialiased fonts, based on
+ lookup tables (fast) or alpha-blending (mixed color
+ backgrounds). Support for AA2 (2-bit) and AA4
+ (4-bit) anti-aliased fonts included. Alpha-blending
+ only possible on displays where pixels can be read
+ back.
+- Added drawGradient() to drawing.c
- Removed height parameter from drawButton. It's now
calculated based on the font height, and centered.
- Added bell to CLI when backspace is pressed beyond
the starting position (cosmetic, but still useful)
- Removed dependency on /core/libc files in Crossworks
when redirecting printf (added printf replacement
- to sysinit.c)
+ to sysinit.c instead)
- Added basic AS1115 driver for segment displays
- Added driver for HX8340-B based LCDs
- Added flag to projectconfig.h to disable the default
- GPIO IRQ Handler functions in code/gpio/gpio.c
+ GPIO IRQ Handler functions in code/gpio/gpio.c (in
+ case you want to make your own ISR elsewhere)
- Added driver for Samsung VFD displays from Adafruit
-- Added average sampling option to projectconfig.h.
+- Added ADC 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.
+ ADC and return the average. Helps reduces peaks and
+ valleys in the ADC due to noisen but at the expense
+ of slower reads.
See: "tools/validation/adctest" for more info
- Added I2C driver for PN532
-- Updated and added PN532 examples at
+- Updated and added PN532 examples to
/tools/examples/sensors/PN532
- updated touchscreen.h to be a bit clearer during
calibration, though it can still be much better
OBJS += isl12022m.o
# TFT LCD support
-VPATH += drivers/displays/tft drivers/displays/tft/hw drivers/displays/tft/fonts
+VPATH += drivers/displays/tft drivers/displays/tft/hw
VPATH += drivers/displays/tft/dialogues
-OBJS += drawing.o touchscreen.o bmp.o alphanumeric.o
+OBJS += drawing.o touchscreen.o colors.o bmp.o alphanumeric.o
+
+# Bitmap (non-AA) fonts
+VPATH += drivers/displays/tft/fonts
+OBJS += fonts.o
OBJS += dejavusans9.o dejavusansbold9.o dejavusanscondensed9.o
OBJS += dejavusansmono8.o dejavusansmonobold8.o
OBJS += verdana9.o verdana14.o verdanabold14.o
+# Anti-aliased fonts
+VPATH += drivers/displays/tft/aafonts/aa2 drivers/displays/tft/aafonts/aa4
+OBJS += aafonts.o
+OBJS += DejaVuSansCondensed14_AA2.o DejaVuSansCondensedBold14_AA2.o
+OBJS += DejaVuSansMono10_AA2.o DejaVuSansMono13_AA2.o DejaVuSansMono14_AA2.o
+
# LCD Driver (Only one can be included at a time!)
+# OBJS += hx8340b.o
OBJS += ILI9328.o
# OBJS += ILI9325.o
# OBJS += ssd1331.o
<?xml version="1.0" encoding="UTF-8"?>
<Session Name="C:\Dropbox\microBuilder\Code\LPC1343\LPC1343_CodeBase_GIT\build\codelite\LPC1343 Workspace.workspace">
- <int Value="0" Name="m_selectedTab"/>
+ <int Value="2" Name="m_selectedTab"/>
<wxString Value="C:\Dropbox\microBuilder\Code\LPC1343\LPC1343_CodeBase_GIT\build\codelite\LPC1343 Workspace.workspace" Name="m_workspaceName"/>
<TabInfoArray Name="TabInfoArray">
<TabInfo>
<wxString Value="C:\Dropbox\microBuilder\Code\LPC1343\LPC1343_CodeBase_GIT\Makefile" Name="FileName"/>
- <int Value="93" Name="FirstVisibleLine"/>
- <int Value="104" Name="CurrentLine"/>
+ <int Value="65" Name="FirstVisibleLine"/>
+ <int Value="90" Name="CurrentLine"/>
<wxArrayString Name="Bookmarks"/>
</TabInfo>
<TabInfo>
<wxString Value="C:\Dropbox\microBuilder\Code\LPC1343\LPC1343_CodeBase_GIT\projectconfig.h" Name="FileName"/>
- <int Value="0" Name="FirstVisibleLine"/>
- <int Value="5" Name="CurrentLine"/>
+ <int Value="623" Name="FirstVisibleLine"/>
+ <int Value="646" Name="CurrentLine"/>
<wxArrayString Name="Bookmarks"/>
</TabInfo>
<TabInfo>
<wxString Value="C:\Dropbox\microBuilder\Code\LPC1343\LPC1343_CodeBase_GIT\main.c" Name="FileName"/>
- <int Value="10" Name="FirstVisibleLine"/>
- <int Value="28" Name="CurrentLine"/>
+ <int Value="106" Name="FirstVisibleLine"/>
+ <int Value="129" Name="CurrentLine"/>
<wxArrayString Name="Bookmarks"/>
</TabInfo>
</TabInfoArray>
<File Name="../../drivers/displays/tft/hw/st7783.h"/>
</VirtualDirectory>
<VirtualDirectory Name="fonts">
- <File Name="../../drivers/displays/tft/fonts/bitmapfonts.h"/>
<File Name="../../drivers/displays/tft/fonts/dejavusans9.c"/>
<File Name="../../drivers/displays/tft/fonts/dejavusans9.h"/>
<File Name="../../drivers/displays/tft/fonts/dejavusansbold9.c"/>
<File Name="../../drivers/displays/tft/readme.txt"/>
<File Name="../../drivers/displays/tft/touchscreen.c"/>
<File Name="../../drivers/displays/tft/touchscreen.h"/>
+ <File Name="../../drivers/displays/tft/aafonts.c"/>
+ <File Name="../../drivers/displays/tft/aafonts.h"/>
+ <File Name="../../drivers/displays/tft/fonts.c"/>
+ <File Name="../../drivers/displays/tft/fonts.h"/>
+ <VirtualDirectory Name="aafonts">
+ <VirtualDirectory Name="aa2">
+ <File Name="../../drivers/displays/tft/aafonts/aa2/DejaVuSansCondensed14_AA2.c"/>
+ <File Name="../../drivers/displays/tft/aafonts/aa2/DejaVuSansCondensed14_AA2.h"/>
+ <File Name="../../drivers/displays/tft/aafonts/aa2/DejaVuSansCondensedBold14_AA2.c"/>
+ <File Name="../../drivers/displays/tft/aafonts/aa2/DejaVuSansCondensedBold14_AA2.h"/>
+ <File Name="../../drivers/displays/tft/aafonts/aa2/DejaVuSansMono10_AA2.c"/>
+ <File Name="../../drivers/displays/tft/aafonts/aa2/DejaVuSansMono10_AA2.h"/>
+ <File Name="../../drivers/displays/tft/aafonts/aa2/DejaVuSansMono13_AA2.c"/>
+ <File Name="../../drivers/displays/tft/aafonts/aa2/DejaVuSansMono13_AA2.h"/>
+ <File Name="../../drivers/displays/tft/aafonts/aa2/DejaVuSansMono14_AA2.c"/>
+ <File Name="../../drivers/displays/tft/aafonts/aa2/DejaVuSansMono14_AA2.h"/>
+ </VirtualDirectory>
+ <VirtualDirectory Name="aa4"/>
+ </VirtualDirectory>
+ <File Name="../../drivers/displays/tft/colors.c"/>
</VirtualDirectory>
<VirtualDirectory Name="bitmap">
<VirtualDirectory Name="st7565">
<!DOCTYPE CrossStudio_Project_File>
<solution Name="LPC1343_CodeBase" target="8" version="2">
<project Name="LPC1343_CodeBase">
- <configuration Name="Common" Target="LPC1343" arm_architecture="v7M" arm_core_type="Cortex-M3" arm_gcc_target="arm-unknown-eabi" arm_linker_heap_size="512" arm_linker_process_stack_size="0" arm_linker_stack_size="1024" arm_simulator_memory_simulation_filename="$(TargetsDir)/LPC1000/LPC1000SimulatorMemory.dll" arm_simulator_memory_simulation_parameter="LPC13;0x8000;0x2000;0x0" arm_target_debug_interface_type="ADIv5" arm_target_loader_parameter="12000000" c_additional_options="" c_preprocessor_definitions="USE_PROCESS_STACK" c_user_include_directories="$(TargetsDir)/LPC1000/include;" link_include_standard_libraries="No" link_include_startup_code="No" linker_additional_files="$(TargetsDir)/LPC1000/lib/liblpc1000$(LibExt)$(LIB);$(TargetsDir)/LPC1000/lib/cmsis$(LibExt)$(LIB)" linker_memory_map_file="$(TargetsDir)/LPC1000/LPC1343_MemoryMap.xml" linker_output_format="bin" oscillator_frequency="12MHz" project_directory="" project_type="Executable" property_groups_file_path="$(TargetsDir)/LPC1000/propertyGroups13xx.xml"/>
+ <configuration Name="Common" Target="LPC1343" arm_architecture="v7M" arm_core_type="Cortex-M3" arm_gcc_target="arm-unknown-eabi" arm_library_optimization="Small" arm_linker_heap_size="512" arm_linker_process_stack_size="0" arm_linker_stack_size="1024" arm_simulator_memory_simulation_filename="$(TargetsDir)/LPC1000/LPC1000SimulatorMemory.dll" arm_simulator_memory_simulation_parameter="LPC13;0x8000;0x2000;0x0" arm_target_debug_interface_type="ADIv5" arm_target_loader_parameter="12000000" c_additional_options="" c_preprocessor_definitions="USE_PROCESS_STACK" c_user_include_directories="$(TargetsDir)/LPC1000/include;" link_include_standard_libraries="Yes" link_include_startup_code="No" linker_additional_files="$(TargetsDir)/LPC1000/lib/liblpc1000$(LibExt)$(LIB);$(TargetsDir)/LPC1000/lib/cmsis$(LibExt)$(LIB)" linker_memory_map_file="$(TargetsDir)/LPC1000/LPC1343_MemoryMap.xml" linker_output_format="bin" oscillator_frequency="12MHz" project_directory="" project_type="Executable" property_groups_file_path="$(TargetsDir)/LPC1000/propertyGroups13xx.xml"/>
<configuration Name="Flash" Placement="Flash" arm_target_flash_loader_file_path="$(TargetsDir)/LPC1000/Release/Loader_lpc1300.elf" arm_target_flash_loader_type="LIBMEM RPC Loader" linker_patch_build_command="$(StudioDir)/bin/crossscript "load(\"$(TargetsDir)/LPC1000/LPC1000_LinkPatch.js\");patch(\"$(TargetPath)\");"" linker_section_placement_file="$(StudioDir)/targets/Cortex_M/flash_placement.xml" target_reset_script="FLASHReset()"/>
<configuration Name="RAM" Placement="RAM" linker_section_placement_file="$(StudioDir)/targets/Cortex_M/ram_placement.xml" target_reset_script="SRAMReset()"/>
<folder Name="Source Files" file_name="">
<folder Name="pwm">
<file file_name="../../core/pwm/pwm.c"/>
</folder>
- <folder Name="libc">
- <file file_name="../../core/libc/stdio.c">
- <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/libc/string.c">
- <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/libc/ctype.c">
- <configuration Name="THUMB Flash Release" build_exclude_from_build="No"/>
- </file>
- </folder>
</folder>
<file file_name="../../lpc134x.h"/>
<file file_name="../../projectconfig.h"/>
<file file_name="../../drivers/displays/bitmap/st7565/st7565.c"/>
</folder>
<folder Name="ssd1306">
- <file file_name="../../drivers/displays/bitmap/ssd1306/ssd1306.c"/>
+ <file file_name="../../drivers/displays/bitmap/ssd1306/ssd1306.c">
+ <configuration Name="THUMB Flash Debug" build_exclude_from_build="No"/>
+ </file>
+ <file file_name="../../drivers/displays/bitmap/ssd1306/ssd1306_i2c.c">
+ <configuration Name="THUMB Flash Debug" build_exclude_from_build="Yes"/>
+ </file>
</folder>
<folder Name="sharpmem">
<file file_name="../../drivers/displays/bitmap/sharpmem/sharpmem.c"/>
<configuration Name="THUMB Flash Release" build_exclude_from_build="Yes"/>
<configuration Name="THUMB Flash Debug" build_exclude_from_build="Yes"/>
</file>
- <file file_name="../../drivers/displays/tft/hw/ILI9325.c">
- <configuration Name="THUMB Flash Release" build_exclude_from_build="Yes"/>
- <configuration Name="THUMB Flash Debug" build_exclude_from_build="Yes"/>
- </file>
<file file_name="../../drivers/displays/tft/hw/ILI9328.c">
- <configuration Name="THUMB Flash Release" build_exclude_from_build="Yes"/>
+ <configuration Name="THUMB Flash Release" build_exclude_from_build="No"/>
+ <configuration Name="THUMB Flash Debug" build_exclude_from_build="No"/>
</file>
<file file_name="../../drivers/displays/tft/hw/ssd1331.c">
<configuration Name="THUMB Flash Release" build_exclude_from_build="Yes"/>
<configuration Name="THUMB Flash Debug" build_exclude_from_build="Yes"/>
</file>
<file file_name="../../drivers/displays/tft/hw/ssd1351.c">
- <configuration Name="THUMB Flash Release" build_exclude_from_build="No"/>
+ <configuration Name="THUMB Flash Release" build_exclude_from_build="Yes"/>
<configuration Name="THUMB Flash Debug" build_exclude_from_build="Yes"/>
</file>
<file file_name="../../drivers/displays/tft/hw/st7735.c">
<configuration Name="THUMB Flash Release" build_exclude_from_build="Yes"/>
<configuration Name="THUMB Flash Debug" build_exclude_from_build="Yes"/>
</file>
+ <file file_name="../../drivers/displays/tft/hw/ILI9325.c">
+ <configuration Name="THUMB Flash Debug" build_exclude_from_build="Yes"/>
+ <configuration Name="THUMB Flash Release" build_exclude_from_build="Yes"/>
+ </file>
</folder>
<folder Name="fonts">
<file file_name="../../drivers/displays/tft/fonts/dejavusans9.c"/>
<file file_name="../../drivers/displays/tft/fonts/verdanabold14.c"/>
</folder>
<folder Name="dialogues">
- <file file_name="../../drivers/displays/tft/dialogues/alphanumeric.c"/>
+ <file file_name="../../drivers/displays/tft/dialogues/alphanumeric.c">
+ <configuration Name="THUMB Flash Release" build_exclude_from_build="No"/>
+ </file>
</folder>
<file file_name="../../drivers/displays/tft/bmp.c"/>
- <file file_name="../../drivers/displays/tft/colors.h"/>
<file file_name="../../drivers/displays/tft/drawing.c"/>
<file file_name="../../drivers/displays/tft/lcd.h"/>
<file file_name="../../drivers/displays/tft/touchscreen.c"/>
+ <folder Name="aafonts">
+ <folder Name="aa4">
+ <file file_name="../../drivers/displays/tft/aafonts/aa4/FontCalibri18_AA4.c"/>
+ </folder>
+ <folder Name="aa2">
+ <file file_name="../../drivers/displays/tft/aafonts/aa2/DejaVuSansCondensed14_AA2.c"/>
+ <file file_name="../../drivers/displays/tft/aafonts/aa2/DejaVuSansCondensedBold14_AA2.c"/>
+ <file file_name="../../drivers/displays/tft/aafonts/aa2/DejaVuSansMono13_AA2.c"/>
+ <file file_name="../../drivers/displays/tft/aafonts/aa2/DejaVuSansMono14_AA2.c"/>
+ <file file_name="../../drivers/displays/tft/aafonts/aa2/DejaVuSansMono10_AA2.c"/>
+ </folder>
+ </folder>
+ <file file_name="../../drivers/displays/tft/colors.c"/>
+ <file file_name="../../drivers/displays/tft/aafonts.c">
+ <configuration Name="THUMB Flash Release" build_exclude_from_build="No"/>
+ </file>
+ <file file_name="../../drivers/displays/tft/fonts.c"/>
</folder>
<folder Name="character">
<folder Name="samsung_20T202DA2JA">
</file>
<file file_name="../../project/commands/drawing/cmd_clear.c"/>
<file file_name="../../project/commands/drawing/cmd_bmp.c"/>
- <file file_name="../../project/commands/drawing/cmd_gettext.c"/>
+ <file file_name="../../project/commands/drawing/cmd_gettext.c">
+ <configuration Name="THUMB Flash Release" build_exclude_from_build="Yes"/>
+ </file>
<file file_name="../../project/commands/drawing/cmd_calibrate.c"/>
<file file_name="../../project/commands/drawing/cmd_text.c">
<configuration Name="THUMB Flash Release" build_exclude_from_build="No"/>
</file>
<file file_name="flash_placement.xml"/>
</folder>
- <configuration Name="Release" arm_fp_abi="Soft" gcc_optimization_level="Optimize For Size" link_IOLibraryName="none"/>
+ <configuration Name="Release" arm_fp_abi="Soft" gcc_optimization_level="Optimize For Size"/>
<configuration Name="Debug" build_remove_unused_symbols="Yes"/>
</project>
<configuration Name="THUMB Flash Debug" inherited_configurations="THUMB;Flash;Debug"/>
<!DOCTYPE CrossStudio_for_ARM_Session_File>
<session>
<Bookmarks/>
- <Breakpoints>
- <BreakpointListItem group="CM Exceptions" type="Exception" state="2" counter="0" expression="BusFault" />
- <BreakpointListItem group="CM Exceptions" type="Exception" state="2" counter="0" expression="ExceptionEntryReturnFault" />
- <BreakpointListItem group="CM Exceptions" type="Exception" state="2" counter="0" expression="HardFault" />
- <BreakpointListItem group="CM Exceptions" type="Exception" state="2" counter="0" expression="MemManage" />
- <BreakpointListItem group="CM Exceptions" type="Exception" state="3" counter="0" expression="Reset" />
- <BreakpointListItem group="CM Exceptions" type="Exception" state="2" counter="0" expression="UsageFault_CheckingError" />
- <BreakpointListItem group="CM Exceptions" type="Exception" state="2" counter="0" expression="UsageFault_Coprocessor" />
- <BreakpointListItem group="CM Exceptions" type="Exception" state="2" counter="0" expression="UsageFault_StateError" />
- </Breakpoints>
+ <Breakpoints/>
<ETMWindow>
<ETMRegister number="0" value="800" />
<ETMRegister number="8" value="6f" />
<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;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;dialogues" name="unnamed" />
+ <ProjectSessionItem path="LPC1343_CodeBase;LPC1343_CodeBase;Source Files;project" name="unnamed" />
+ <ProjectSessionItem path="LPC1343_CodeBase;LPC1343_CodeBase;Source Files;project;commands" name="unnamed" />
+ <ProjectSessionItem path="LPC1343_CodeBase;LPC1343_CodeBase;Source Files;project;commands;drawing" name="unnamed" />
</Project>
<Register1>
- <RegisterWindow openNodes="USB;USB/USBRxPLen;USB/USBTxPLen;USB/USBCtrl" binaryNodes="" hiddenNodes="" unsignedNodes="" visibleGroups="CPU;USB" decimalNodes="" octalNodes="" asciiNodes="" />
+ <RegisterWindow openNodes="CPU;CoreDebug" binaryNodes="" hiddenNodes="" unsignedNodes="" visibleGroups="CPU;CoreDebug" decimalNodes="" octalNodes="" asciiNodes="" />
</Register1>
<Register2>
<RegisterWindow openNodes="" binaryNodes="" hiddenNodes="" unsignedNodes="" visibleGroups="" decimalNodes="" octalNodes="" asciiNodes="" />
<Watch4>
<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="67" path="C:\Dropbox\microBuilder\Code\LPC1343\LPC1343_CodeBase_GIT\main.c" left="0" selected="1" name="unnamed" top="19" />
- </Files>
- <ARMCrossStudioWindow activeProject="LPC1343_CodeBase" autoConnectTarget="Segger J-Link" debugSearchFileMap="" fileDialogInitialDirectory="C:\Dropbox\microBuilder\Code\LPC1343\LPC1343_CodeBase_GIT\drivers\rf\pn532\helpers" fileDialogDefaultFilter="" autoConnectCapabilities="388991" debugSearchPath="" buildConfiguration="THUMB Flash Release" />
+ <Files/>
+ <ARMCrossStudioWindow activeProject="LPC1343_CodeBase" autoConnectTarget="SEGGER J-Link" debugSearchFileMap="" fileDialogInitialDirectory="C:\Dropbox\microBuilder\Code\LPC1343\LPC1343_CodeBase_GIT\drivers\displays\tft" fileDialogDefaultFilter="*.c" autoConnectCapabilities="388991" debugSearchPath="" buildConfiguration="THUMB Flash Release" />
</session>