X-Git-Url: https://git.rohieb.name/hackover2013-badge-firmware.git/blobdiff_plain/15e15a25d1f49a6be409006506359cab519545fe..f71b7a038ec2ba5eea22b2647b841239eaf93aa8:/ChangeLog.txt diff --git a/ChangeLog.txt b/ChangeLog.txt index b7ab346..830c427 100644 --- a/ChangeLog.txt +++ b/ChangeLog.txt @@ -1,6 +1,193 @@ -v0.9.2 - Ongoing -================ +v1.1.2 - ongoing +============================================================================== +NEW FEATURES +------------------------------------------------------------------------------ +- Added drivers/sensors/ina219/ina219.c (work in progress!) +- Added drivers/displays/tft/hw/hx8347d.C (courtesy tauonteilchen again) +- Added drivers/dac/mcp4901 (courtesy tauonteilchen, thanks!) +- 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) +- Updated all LCD drivers to include the fastHLine and fastVLine flags +- 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 +- Changed I2C default speed to 400kHz (from 100kHz) + +v1.1.1 - 14 April 2012 +============================================================================== +NEW FEATURES +------------------------------------------------------------------------------ +- Added drawRoundedRectangle to drawing.c +- Added ability to select filled or empty rounded rectangles to the 'R' CLI + command +BUG FIXES/OPTIMISATION/ETC. +------------------------------------------------------------------------------ +- Fixed Crossworks Project (missing dependencies) + + +v1.1.0 - 9 April 2012 +============================================================================== +BREAKING CHANGES +------------------------------------------------------------------------------ +- Rewrote corner and rounded rectangle code. Only one corner enum is now used + (drawCorners_t) +- Renamed drawRectangleRounded to drawRoundedRectangleFilled +- Removed drawProgressBar and drawButton from drawing.c, since drawing should + only contain drawing primitives +- Reorganised a lot of the TFT drawing library to support external controls, + and dynamically switch between bitmap and anti-aliased fonts. In the future + everything that isn't a basic drawing primitive will be placed in it's own + control. The main benefit of this is that it's much easier to customize the + look and feel of your UI without having to modify drawing.c and the basic + drawing primitives, and to be able to switch from bitmap to anti-aliased + fonts depending on how much flash space you have free, etc. +- Removed bmp_error_t drawBitmapImage(uint16_t x, uint16_t y, char *filename) + to keep better seperation of primitives and more complex features, and + reduce external dependencies in drawing.c. Call bmpDrawImage (bmp.c) + directly instead. + +NEW FEATURES +------------------------------------------------------------------------------ +- Added drawCorner to drawing.c +- Added new 'controls/' folder to the GFX library, and added a number of + controls that will render correctly with the theme settings, as well as + using bitmap or anti-aliased fonts, depending on projectconfig.h +- New controls: + - button + - hsbchart (Hue/saturation/brightness chart for color pickers) + - huechart (Hue selection gradient for color pickers) + - label + - labelcentered + - progressbar +- Added theme.h to try to define all of the color and font settings used by + the controls in one location to make it easier to update or modify +- Added aafontsCenterString to aafonts.c + +BUG FIXES/OPTIMISATION/ETC. +------------------------------------------------------------------------------ +- Updated Crossworks Project to use LPC1000 Lib 1.19 (uses CMSIS 3.0) +- Some performance improvements to core/gpio/gpio.c (thanks Tom for the + suggestion) +- Fixed alpha blending when alpha = 100% +- Change gpioSetValue to be inline (should optimise to a single operation) + +v1.0.0 - 23 March 2012 +=========================================================== +- Added support for LPCXpresso IDE +- *** Moved '/drivers/chibi' to '/drivers/rf/chibi' *** +- *** Moved '/drivers/sensors/pn532' to '/drivers/rf/pn532' *** +- *** Renamed '/drivers/spiflash' to '/drivers/storage/spiflash' *** +- *** Renamed '/drivers/eeprom' to '/drivers/storage/eeprom' *** +- *** Renamed '/drivers/lcd' to '/drivers/display' *** +- Added I2C support to the SSD1306 driver +- 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 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 (in + case you want to make your own ISR elsewhere) +- Added driver for Samsung VFD displays from Adafruit +- Added ADC average sampling option to projectconfig.h. + This allows you to take several readings from the + 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 to + /tools/examples/sensors/PN532 +- updated touchscreen.h to be a bit clearer during + calibration, though it can still be much better + organised +- Had to add "__asm volatile("nop");" after pin writes + in the ILI9328 driver since some LCDs couldn't + keep up with the high-speed writes with bit-banding +- Fixed I2C clock duty cycle registers +- Changed I2C buffer size from 32 to 64 bytes (i2c.h) +- Added CFG_BRD_LPC1343_OLIMEX_P to board selection + in projectconfig.h (courtesy PHK) +- Added SSD1331_COLORORDER_RGB flag to SSD1331.h to + select between RGB and BGR color order +- Added 128x32 support to ssd1306.c and rewrote + initialize sequence for 128x32 and 128x64 displays +- Added driver for Sharp Memory Display + /drivers/lcd/bitmap/sharpmem +- Added SPI Flash example + /tools/examples/spiflash/* +- Added write function to SPI Flash driver + /drivers/spiflash/* +- Added CFG_BRD_LPC1343_REFDESIGN_MINIMAL as a board + option in projectconfig.h. Tries to keep the flash + use as small as possible by initialising less + peripherals in systemInit(). +- Changed CodeLite project files to support real + debugging with a Segger J-Link and GDB Server. +- Fixed issue with USB CDC instantiation for + FreeBSD (courtesy PHK) +- Added experimental SSD1351 OLED driver to + /drivers/lcd/tft/hw + +v0.9.5 - 3 August 2011 +====================== + +- Redid the font rendering code to use DotFactory + generated fonts, and update to the latest binary + in the /tools folder. All fonts have been + re-rendered to accomodate the updated code. +- Updated clock values in cpu.c for PLL to match FCCO + range of 156-320MHz +- Changed SCB_PLLCTRL_MULT_* to SCB_PLLCTRL_MSEL_* in + lpc111x.h to match usermanual +- Changed SCB_PLLCTRL_DIV_* SCB_PLLCTRL_PSEL_* in + lpc111x.h to match usermanual +- Added inline version of key functions in ili9328.c, + which increases the code size ~1.3KB but more than + doubles the drawing speed for most drawing functions + by avoiding branch operations and pushing and popping + the stack multiple times. Inline methods can be + toggled with 'ILI9238_USE_INLINE_METHODS'. +- Fixed IOCON_SWDIO_PIO1_3_FUNC_CT32B1_MAT2 in lpc134x.h +- Added drawCornerFilled() to drawing.c and LCD CLI +- Fixed a nasty bug with 'gpioInterruptEvent' in the + gpioSetInterrupt function (core/gpio/gpio.c) +- Add drawTriangle() and drawTriangleFilled() to + drawing.c and LCD CLI +- Added cpuReset() to reset the board via AIRCR +- Removed text input dialogue from LCD CLI ('T') to + save a few KB. Command file still exists, just no + longer included in cmd_tbl.h by default. + +v0.9.2 - 14 June 2011 +===================== + +- Added ISL12022M RTC Driver (/drivers/rtc/isl12022m) +- Fixed a bug drawing filled circles with lcdDrawVLine +- Added CLI command to toggle LCD backlight +- Added rounded rectangle command to CLI - Added CFG_INTERFACE_DROPCR to projectconfig.h to ignore CR (\r) characters in incoming data for the CLI